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 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 isAfterLoadScript () const
 
virtual void checkValidity ()
 
const std::string & GetName () const
 
uint16 GetTotalAvailableHooks ()
 
- 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, uint16 totalAvailableHooks=0)
 
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
957: CreatureScript("npc_prof_leather") { }
Definition CreatureScript.h:25

Member Function Documentation

◆ HasLeatherSpecialty()

bool npc_prof_leather::HasLeatherSpecialty ( Player player)
inline
960 {
961 return (player->HasSpell(S_DRAGON) || player->HasSpell(S_ELEMENTAL) || player->HasSpell(S_TRIBAL));
962 }
bool HasSpell(uint32 spell) const override
Definition Player.cpp:3878
@ S_TRIBAL
Definition npc_professions.cpp:128
@ S_DRAGON
Definition npc_professions.cpp:126
@ S_ELEMENTAL
Definition npc_professions.cpp:127

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

◆ OnGossipHello()

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

Reimplemented from CreatureScript.

965 {
966 ClearGossipMenuFor(player);
967
968 if (creature->IsQuestGiver())
969 {
970 player->PrepareQuestMenu(creature->GetGUID());
971 }
972
973 switch (creature->GetEntry())
974 {
975 case N_TRAINER_DRAGON1: //Peter Galen
976 case N_TRAINER_DRAGON2: //Thorkaf Dragoneye
978 break;
979 case N_TRAINER_ELEMENTAL1: //Sarah Tanner
980 case N_TRAINER_ELEMENTAL2: //Brumn Winterhoof
982 break;
983 case N_TRAINER_TRIBAL1: //Caryssia Moonhunter
984 case N_TRAINER_TRIBAL2: //Se'Jib
986 break;
987 }
988
989 if (player->HasSkill(SKILL_LEATHERWORKING) && player->GetBaseSkillValue(SKILL_LEATHERWORKING) >= 225 && player->GetLevel() > 40)
990 {
991 switch (creature->GetEntry())
992 {
993 case N_TRAINER_DRAGON1: //Peter Galen
994 case N_TRAINER_DRAGON2: //Thorkaf Dragoneye
995 if (player->HasSpell(S_DRAGON))
997 break;
998 case N_TRAINER_ELEMENTAL1: //Sarah Tanner
999 case N_TRAINER_ELEMENTAL2: //Brumn Winterhoof
1000 if (player->HasSpell(S_ELEMENTAL))
1002 break;
1003 case N_TRAINER_TRIBAL1: //Caryssia Moonhunter
1004 case N_TRAINER_TRIBAL2: //Se'Jib
1005 if (player->HasSpell(S_TRIBAL))
1007 break;
1008 }
1009 }
1010
1011 SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID());
1012 return true;
1013 }
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
@ SKILL_LEATHERWORKING
Definition SharedDefines.h:2910
uint32 GetEntry() const
Definition Object.h:116
static ObjectGuid GetGUID(Object const *o)
Definition Object.h:113
bool HasSkill(uint32 skill) const
Definition Player.cpp:5436
uint16 GetBaseSkillValue(uint32 skill) const
Definition Player.cpp:5508
void PrepareQuestMenu(ObjectGuid guid)
Definition PlayerQuest.cpp:39
uint32 GetGossipTextId(uint32 menuId, WorldObject *source)
Definition PlayerGossip.cpp:404
bool IsQuestGiver() const
Definition Unit.h:755
uint8 GetLevel() const
Definition Unit.h:1024
@ GOSSIP_MENU_PETER_GALEN
Definition npc_professions.cpp:221
@ GOSSIP_MENU_UNLEARN_CONFIRM_ELEMENTAL
Definition npc_professions.cpp:229
@ GOSSIP_MENU_SARAH_TANNER
Definition npc_professions.cpp:224
@ GOSSIP_MENU_UNLEARN_CONFIRM_TRIBAL
Definition npc_professions.cpp:230
@ GOSSIP_MENU_OPTION_TRAIN
Definition npc_professions.cpp:232
@ GOSSIP_MENU_THORKAF_DRAGONEYE
Definition npc_professions.cpp:222
@ GOSSIP_MENU_OPTION_CONFIRM_UNLEARN_TRIBAL
Definition npc_professions.cpp:235
@ GOSSIP_MENU_UNLEARN_CONFIRM_DRAGONSCALE
Definition npc_professions.cpp:228
@ GOSSIP_MENU_OPTION_CONFIRM_UNLEARN_ELEMENTAL
Definition npc_professions.cpp:234
@ GOSSIP_MENU_OPTION_CONFIRM_UNLEARN_DRAGONSCALE
Definition npc_professions.cpp:233
@ GOSSIP_MENU_BRUMN_WINTERHOOF
Definition npc_professions.cpp:223
@ GOSSIP_MENU_SEJIB
Definition npc_professions.cpp:226
@ GOSSIP_MENU_CARYSSIA_MOONHUNTER
Definition npc_professions.cpp:225
@ N_TRAINER_ELEMENTAL1
Definition npc_professions.cpp:195
@ N_TRAINER_TRIBAL1
Definition npc_professions.cpp:197
@ N_TRAINER_DRAGON1
Definition npc_professions.cpp:193
@ N_TRAINER_DRAGON2
Definition npc_professions.cpp:194
@ N_TRAINER_ELEMENTAL2
Definition npc_professions.cpp:196
@ N_TRAINER_TRIBAL2
Definition npc_professions.cpp:198

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.

1016 {
1017 ClearGossipMenuFor(player);
1018
1019 switch (action)
1020 {
1022 player->GetSession()->SendTrainerList(creature->GetGUID());
1023 break;
1027 break;
1031 break;
1035 break;
1036 case GOSSIP_ACTION_INFO_DEF + 1:
1037 ProcessUnlearnAction(player, creature, S_UNLEARN_DRAGON, 0, DoMedUnlearnCost(player));
1038 break;
1039 case GOSSIP_ACTION_INFO_DEF + 2:
1040 ProcessUnlearnAction(player, creature, S_UNLEARN_ELEMENTAL, 0, DoMedUnlearnCost(player));
1041 break;
1042 case GOSSIP_ACTION_INFO_DEF + 3:
1043 ProcessUnlearnAction(player, creature, S_UNLEARN_TRIBAL, 0, DoMedUnlearnCost(player));
1044 break;
1045 }
1046 return true;
1047 }
@ GOSSIP_ACTION_INFO_DEF
Definition ScriptedGossip.h:68
WorldSession * GetSession() const
Definition Player.h:2007
void SendTrainerList(ObjectGuid guid)
Definition NPCHandler.cpp:87
@ S_UNLEARN_TRIBAL
Definition npc_professions.cpp:136
@ S_UNLEARN_DRAGON
Definition npc_professions.cpp:134
@ S_UNLEARN_ELEMENTAL
Definition npc_professions.cpp:135
@ GOSSIP_TEXT_UNLEARN_CONFIRM_TRIBAL
Definition npc_professions.cpp:239
@ GOSSIP_TEXT_UNLEARN_CONFIRM_DRAGONSCALE
Definition npc_professions.cpp:237
@ GOSSIP_TEXT_UNLEARN_CONFIRM_ELEMENTAL
Definition npc_professions.cpp:238
int32 DoMedUnlearnCost(Player *player)
Definition npc_professions.cpp:262
void ProcessUnlearnAction(Player *player, Creature *creature, uint32 spellId, uint32 alternativeSpellId, int32 cost)
Definition npc_professions.cpp:429

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().


The documentation for this class was generated from the following file: