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

Classes

struct  npc_fairbanksAI
 

Public Member Functions

 npc_fairbanks ()
 
bool OnGossipHello (Player *player, Creature *creature) override
 
bool OnGossipSelect (Player *player, Creature *creature, uint32, uint32 uiAction) override
 
CreatureAIGetAI (Creature *creature) const 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_fairbanks()

npc_fairbanks::npc_fairbanks ( )
inline
696: CreatureScript("npc_fairbanks") { }
Definition: ScriptMgr.h:719

Member Function Documentation

◆ GetAI()

CreatureAI * npc_fairbanks::GetAI ( Creature creature) const
inlineoverridevirtual

Reimplemented from CreatureScript.

829 {
830 return GetScarletMonasteryAI<npc_fairbanksAI>(creature);
831 }

◆ OnGossipHello()

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

Reimplemented from CreatureScript.

699 {
700 AddGossipItemFor(player, 0, "Curse? What's going on here, Fairbanks?", GOSSIP_SENDER_MAIN, 1);
701 SendGossipMenuFor(player, 100100, creature->GetGUID());
702 return true;
703 }
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
@ GOSSIP_SENDER_MAIN
Definition: ScriptedGossip.h:70
static ObjectGuid GetGUID(Object const *o)
Definition: Object.h:106

References AddGossipItemFor(), Object::GetGUID(), GOSSIP_SENDER_MAIN, and SendGossipMenuFor().

◆ OnGossipSelect()

bool npc_fairbanks::OnGossipSelect ( Player player,
Creature creature,
uint32  ,
uint32  uiAction 
)
inlineoverridevirtual
Todo:
: we need to play these 3 emote in sequence, we play only the last one right now.

Reimplemented from CreatureScript.

706 {
707 ClearGossipMenuFor(player);
708
709 switch (uiAction)
710 {
711 case 1:
712 creature->HandleEmoteCommand(1);
713 AddGossipItemFor(player, 0, "Mograine?", GOSSIP_SENDER_MAIN, 2);
714 SendGossipMenuFor(player, 100101, creature->GetGUID());
715 return true;
716 case 2:
717 creature->HandleEmoteCommand(1);
718 AddGossipItemFor(player, 0, "What do you mean?", GOSSIP_SENDER_MAIN, 3);
719 SendGossipMenuFor(player, 100102, creature->GetGUID());
720 return true;
721 case 3:
722 creature->HandleEmoteCommand(1);
723 AddGossipItemFor(player, 0, "I still do not fully understand.", GOSSIP_SENDER_MAIN, 4);
724 SendGossipMenuFor(player, 100103, creature->GetGUID());
725 return true;
726 case 4:
727 creature->HandleEmoteCommand(1);
728 AddGossipItemFor(player, 0, "Incredible story. So how did he die?", GOSSIP_SENDER_MAIN, 5);
729 SendGossipMenuFor(player, 100104, creature->GetGUID());
730 return true;
731 case 5:
732 creature->HandleEmoteCommand(1);
733 AddGossipItemFor(player, 0, "You mean...", GOSSIP_SENDER_MAIN, 6);
734 SendGossipMenuFor(player, 100105, creature->GetGUID());
735 return true;
736 case 6:
737 creature->HandleEmoteCommand(1);
738 AddGossipItemFor(player, 0, "How do you know all of this?", GOSSIP_SENDER_MAIN, 7);
739 SendGossipMenuFor(player, 100106, creature->GetGUID());
740 return true;
741 case 7:
742 creature->HandleEmoteCommand(1);
743 AddGossipItemFor(player, 0, "A thousand? For one man?", GOSSIP_SENDER_MAIN, 8);
744 SendGossipMenuFor(player, 100107, creature->GetGUID());
745 return true;
746 case 8:
747 creature->HandleEmoteCommand(5);
748 AddGossipItemFor(player, 0, "Yet? Yet what?", GOSSIP_SENDER_MAIN, 9);
749 SendGossipMenuFor(player, 100108, creature->GetGUID());
750 return true;
751 case 9:
752 creature->HandleEmoteCommand(1);
753 AddGossipItemFor(player, 0, "And did he?", GOSSIP_SENDER_MAIN, 10);
754 SendGossipMenuFor(player, 100109, creature->GetGUID());
755 return true;
756 case 10:
757 creature->HandleEmoteCommand(274);
758 AddGossipItemFor(player, 0, "Continue please, Fairbanks.", GOSSIP_SENDER_MAIN, 11);
759 SendGossipMenuFor(player, 100110, creature->GetGUID());
760 return true;
761 case 11:
762 creature->HandleEmoteCommand(1);
763 AddGossipItemFor(player, 0, "You mean...", GOSSIP_SENDER_MAIN, 12);
764 SendGossipMenuFor(player, 100111, creature->GetGUID());
765 return true;
766 case 12:
767 creature->HandleEmoteCommand(1);
768 AddGossipItemFor(player, 0, "You were right, Fairbanks. That is tragic.", GOSSIP_SENDER_MAIN, 13);
769 SendGossipMenuFor(player, 100112, creature->GetGUID());
770 return true;
771 case 13:
772 creature->HandleEmoteCommand(1);
773 AddGossipItemFor(player, 0, "And you did...", GOSSIP_SENDER_MAIN, 14);
774 SendGossipMenuFor(player, 100113, creature->GetGUID());
775 return true;
776 case 14:
777 creature->HandleEmoteCommand(1);
778 AddGossipItemFor(player, 0, "You tell an incredible tale, Fairbanks. What of the blade? Is it beyond redemption?", GOSSIP_SENDER_MAIN, 15);
779 SendGossipMenuFor(player, 100114, creature->GetGUID());
780 return true;
781 case 15:
782 creature->HandleEmoteCommand(1);
783 AddGossipItemFor(player, 0, "But his son is dead.", GOSSIP_SENDER_MAIN, 16);
784 SendGossipMenuFor(player, 100115, creature->GetGUID());
785 return true;
786 case 16:
787 SendGossipMenuFor(player, 100116, creature->GetGUID());
789 creature->HandleEmoteCommand(274);
790 creature->HandleEmoteCommand(1);
791 creature->HandleEmoteCommand(397);
792 return true;
793 }
794
795 return true;
796 }
void ClearGossipMenuFor(Player *player)
Definition: ScriptedGossip.cpp:22
void HandleEmoteCommand(uint32 emoteId)
Definition: Unit.cpp:1970

References AddGossipItemFor(), ClearGossipMenuFor(), Object::GetGUID(), GOSSIP_SENDER_MAIN, Unit::HandleEmoteCommand(), and SendGossipMenuFor().