AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
npc_prof_leather Class Reference
Inheritance diagram for npc_prof_leather:
CreatureScript ScriptObject UpdatableScript< Creature >

Public Member Functions

 npc_prof_leather ()
 
bool HasLeatherSpecialty (Player *player)
 
bool OnGossipHello (Player *player, Creature *creature) override
 
bool OnGossipSelect (Player *player, Creature *creature, uint32, uint32 action) override
 
- Public Member Functions inherited from CreatureScript
bool IsDatabaseBound () const override
 
virtual bool OnGossipHello (Player *, Creature *)
 
virtual bool OnGossipSelect (Player *, Creature *, uint32, uint32)
 
virtual bool OnGossipSelectCode (Player *, Creature *, uint32, uint32, const char *)
 
virtual bool OnQuestAccept (Player *, Creature *, Quest const *)
 
virtual bool OnQuestSelect (Player *, Creature *, Quest const *)
 
virtual bool OnQuestComplete (Player *, Creature *, Quest const *)
 
virtual bool OnQuestReward (Player *, Creature *, Quest const *, uint32)
 
virtual uint32 GetDialogStatus (Player *, Creature *)
 
virtual CreatureAIGetAI (Creature *) const
 
virtual void OnFfaPvpStateUpdate (Creature *, bool)
 
- Public Member Functions inherited from ScriptObject
virtual bool IsDatabaseBound () const
 
virtual bool isAfterLoadScript () const
 
virtual void checkValidity ()
 
const std::string & GetName () const
 
- Public Member Functions inherited from UpdatableScript< Creature >
virtual void OnUpdate (Creature *, uint32)
 

Additional Inherited Members

- Protected Member Functions inherited from CreatureScript
 CreatureScript (const char *name)
 
- Protected Member Functions inherited from ScriptObject
 ScriptObject (const char *name)
 
virtual ~ScriptObject ()=default
 
- Protected Member Functions inherited from UpdatableScript< Creature >
 UpdatableScript ()=default
 

Detailed Description

Constructor & Destructor Documentation

◆ npc_prof_leather()

npc_prof_leather::npc_prof_leather ( )
inline
969: CreatureScript("npc_prof_leather") { }
Definition: CreatureScript.h:25

Member Function Documentation

◆ HasLeatherSpecialty()

bool npc_prof_leather::HasLeatherSpecialty ( Player player)
inline
972 {
973 return (player->HasSpell(S_DRAGON) || player->HasSpell(S_ELEMENTAL) || player->HasSpell(S_TRIBAL));
974 }
@ S_TRIBAL
Definition: npc_professions.cpp:140
@ S_DRAGON
Definition: npc_professions.cpp:138
@ S_ELEMENTAL
Definition: npc_professions.cpp:139
bool HasSpell(uint32 spell) const override
Definition: Player.cpp:3831

References Player::HasSpell(), S_DRAGON, S_ELEMENTAL, and S_TRIBAL.

◆ OnGossipHello()

bool npc_prof_leather::OnGossipHello ( Player player,
Creature creature 
)
inlineoverridevirtual

Reimplemented from CreatureScript.

977 {
978 ClearGossipMenuFor(player);
979
980 if (creature->IsQuestGiver())
981 {
982 player->PrepareQuestMenu(creature->GetGUID());
983 }
984
985 switch (creature->GetEntry())
986 {
987 case N_TRAINER_DRAGON1: //Peter Galen
988 case N_TRAINER_DRAGON2: //Thorkaf Dragoneye
990 break;
991 case N_TRAINER_ELEMENTAL1: //Sarah Tanner
992 case N_TRAINER_ELEMENTAL2: //Brumn Winterhoof
994 break;
995 case N_TRAINER_TRIBAL1: //Caryssia Moonhunter
996 case N_TRAINER_TRIBAL2: //Se'Jib
998 break;
999 }
1000
1001 if (player->HasSkill(SKILL_LEATHERWORKING) && player->GetBaseSkillValue(SKILL_LEATHERWORKING) >= 225 && player->GetLevel() > 40)
1002 {
1003 switch (creature->GetEntry())
1004 {
1005 case N_TRAINER_DRAGON1: //Peter Galen
1006 case N_TRAINER_DRAGON2: //Thorkaf Dragoneye
1007 if (player->HasSpell(S_DRAGON))
1009 break;
1010 case N_TRAINER_ELEMENTAL1: //Sarah Tanner
1011 case N_TRAINER_ELEMENTAL2: //Brumn Winterhoof
1012 if (player->HasSpell(S_ELEMENTAL))
1014 break;
1015 case N_TRAINER_TRIBAL1: //Caryssia Moonhunter
1016 case N_TRAINER_TRIBAL2: //Se'Jib
1017 if (player->HasSpell(S_TRIBAL))
1019 break;
1020 }
1021 }
1022
1023 SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID());
1024 return true;
1025 }
void SendGossipMenuFor(Player *player, uint32 npcTextID, ObjectGuid const guid)
Definition: ScriptedGossip.cpp:45
void AddGossipItemFor(Player *player, uint32 icon, std::string const &text, uint32 sender, uint32 action)
Definition: ScriptedGossip.cpp:28
void ClearGossipMenuFor(Player *player)
Definition: ScriptedGossip.cpp:22
@ GOSSIP_SENDER_MAIN
Definition: ScriptedGossip.h:70
@ GOSSIP_ACTION_TRAIN
Definition: ScriptedGossip.h:57
@ GOSSIP_MENU_PETER_GALEN
Definition: npc_professions.cpp:233
@ GOSSIP_MENU_UNLEARN_CONFIRM_ELEMENTAL
Definition: npc_professions.cpp:241
@ GOSSIP_MENU_SARAH_TANNER
Definition: npc_professions.cpp:236
@ GOSSIP_MENU_UNLEARN_CONFIRM_TRIBAL
Definition: npc_professions.cpp:242
@ GOSSIP_MENU_OPTION_TRAIN
Definition: npc_professions.cpp:244
@ GOSSIP_MENU_THORKAF_DRAGONEYE
Definition: npc_professions.cpp:234
@ GOSSIP_MENU_OPTION_CONFIRM_UNLEARN_TRIBAL
Definition: npc_professions.cpp:247
@ GOSSIP_MENU_UNLEARN_CONFIRM_DRAGONSCALE
Definition: npc_professions.cpp:240
@ GOSSIP_MENU_OPTION_CONFIRM_UNLEARN_ELEMENTAL
Definition: npc_professions.cpp:246
@ GOSSIP_MENU_OPTION_CONFIRM_UNLEARN_DRAGONSCALE
Definition: npc_professions.cpp:245
@ GOSSIP_MENU_BRUMN_WINTERHOOF
Definition: npc_professions.cpp:235
@ GOSSIP_MENU_SEJIB
Definition: npc_professions.cpp:238
@ GOSSIP_MENU_CARYSSIA_MOONHUNTER
Definition: npc_professions.cpp:237
@ N_TRAINER_ELEMENTAL1
Definition: npc_professions.cpp:207
@ N_TRAINER_TRIBAL1
Definition: npc_professions.cpp:209
@ N_TRAINER_DRAGON1
Definition: npc_professions.cpp:205
@ N_TRAINER_DRAGON2
Definition: npc_professions.cpp:206
@ N_TRAINER_ELEMENTAL2
Definition: npc_professions.cpp:208
@ N_TRAINER_TRIBAL2
Definition: npc_professions.cpp:210
@ SKILL_LEATHERWORKING
Definition: SharedDefines.h:2910
uint32 GetEntry() const
Definition: Object.h:109
static ObjectGuid GetGUID(Object const *o)
Definition: Object.h:106
bool HasSkill(uint32 skill) const
Definition: Player.cpp:5346
uint16 GetBaseSkillValue(uint32 skill) const
Definition: Player.cpp:5418
void PrepareQuestMenu(ObjectGuid guid)
Definition: PlayerQuest.cpp:39
uint32 GetGossipTextId(uint32 menuId, WorldObject *source)
Definition: PlayerGossip.cpp:403
bool IsQuestGiver() const
Definition: Unit.h:1667
uint8 GetLevel() const
Definition: Unit.h:1432

References AddGossipItemFor(), ClearGossipMenuFor(), Player::GetBaseSkillValue(), Object::GetEntry(), Player::GetGossipTextId(), Object::GetGUID(), Unit::GetLevel(), GOSSIP_ACTION_TRAIN, GOSSIP_MENU_BRUMN_WINTERHOOF, GOSSIP_MENU_CARYSSIA_MOONHUNTER, GOSSIP_MENU_OPTION_CONFIRM_UNLEARN_DRAGONSCALE, GOSSIP_MENU_OPTION_CONFIRM_UNLEARN_ELEMENTAL, GOSSIP_MENU_OPTION_CONFIRM_UNLEARN_TRIBAL, GOSSIP_MENU_OPTION_TRAIN, GOSSIP_MENU_PETER_GALEN, GOSSIP_MENU_SARAH_TANNER, GOSSIP_MENU_SEJIB, GOSSIP_MENU_THORKAF_DRAGONEYE, GOSSIP_MENU_UNLEARN_CONFIRM_DRAGONSCALE, GOSSIP_MENU_UNLEARN_CONFIRM_ELEMENTAL, GOSSIP_MENU_UNLEARN_CONFIRM_TRIBAL, GOSSIP_SENDER_MAIN, Player::HasSkill(), Player::HasSpell(), Unit::IsQuestGiver(), N_TRAINER_DRAGON1, N_TRAINER_DRAGON2, N_TRAINER_ELEMENTAL1, N_TRAINER_ELEMENTAL2, N_TRAINER_TRIBAL1, N_TRAINER_TRIBAL2, Player::PrepareQuestMenu(), S_DRAGON, S_ELEMENTAL, S_TRIBAL, SendGossipMenuFor(), and SKILL_LEATHERWORKING.

◆ OnGossipSelect()

bool npc_prof_leather::OnGossipSelect ( Player player,
Creature creature,
uint32  ,
uint32  action 
)
inlineoverridevirtual

Reimplemented from CreatureScript.

1028 {
1029 ClearGossipMenuFor(player);
1030
1031 switch (action)
1032 {
1034 player->GetSession()->SendTrainerList(creature->GetGUID());
1035 break;
1039 break;
1043 break;
1047 break;
1048 case GOSSIP_ACTION_INFO_DEF + 1:
1049 ProcessUnlearnAction(player, creature, S_UNLEARN_DRAGON, 0, DoMedUnlearnCost(player));
1050 break;
1051 case GOSSIP_ACTION_INFO_DEF + 2:
1052 ProcessUnlearnAction(player, creature, S_UNLEARN_ELEMENTAL, 0, DoMedUnlearnCost(player));
1053 break;
1054 case GOSSIP_ACTION_INFO_DEF + 3:
1055 ProcessUnlearnAction(player, creature, S_UNLEARN_TRIBAL, 0, DoMedUnlearnCost(player));
1056 break;
1057 }
1058 return true;
1059 }
@ GOSSIP_ACTION_INFO_DEF
Definition: ScriptedGossip.h:68
@ S_UNLEARN_TRIBAL
Definition: npc_professions.cpp:148
@ S_UNLEARN_DRAGON
Definition: npc_professions.cpp:146
@ S_UNLEARN_ELEMENTAL
Definition: npc_professions.cpp:147
@ GOSSIP_TEXT_UNLEARN_CONFIRM_TRIBAL
Definition: npc_professions.cpp:251
@ GOSSIP_TEXT_UNLEARN_CONFIRM_DRAGONSCALE
Definition: npc_professions.cpp:249
@ GOSSIP_TEXT_UNLEARN_CONFIRM_ELEMENTAL
Definition: npc_professions.cpp:250
int32 DoMedUnlearnCost(Player *player)
Definition: npc_professions.cpp:274
void ProcessUnlearnAction(Player *player, Creature *creature, uint32 spellId, uint32 alternativeSpellId, int32 cost)
Definition: npc_professions.cpp:441
WorldSession * GetSession() const
Definition: Player.h:1961
void SendTrainerList(ObjectGuid guid)
Definition: NPCHandler.cpp:87

References AddGossipItemFor(), ClearGossipMenuFor(), DoMedUnlearnCost(), Object::GetGUID(), Player::GetSession(), GOSSIP_ACTION_INFO_DEF, GOSSIP_ACTION_TRAIN, GOSSIP_MENU_OPTION_CONFIRM_UNLEARN_DRAGONSCALE, GOSSIP_MENU_OPTION_CONFIRM_UNLEARN_ELEMENTAL, GOSSIP_MENU_OPTION_CONFIRM_UNLEARN_TRIBAL, GOSSIP_MENU_UNLEARN_CONFIRM_DRAGONSCALE, GOSSIP_MENU_UNLEARN_CONFIRM_ELEMENTAL, GOSSIP_MENU_UNLEARN_CONFIRM_TRIBAL, GOSSIP_SENDER_MAIN, GOSSIP_TEXT_UNLEARN_CONFIRM_DRAGONSCALE, GOSSIP_TEXT_UNLEARN_CONFIRM_ELEMENTAL, GOSSIP_TEXT_UNLEARN_CONFIRM_TRIBAL, ProcessUnlearnAction(), S_UNLEARN_DRAGON, S_UNLEARN_ELEMENTAL, S_UNLEARN_TRIBAL, SendGossipMenuFor(), and WorldSession::SendTrainerList().