Changeset 1145

Show
Ignore:
Timestamp:
02/03/2010 04:53:55 PM (5 weeks ago)
Author:
azolex
Message:

* Added 2 new gossips to handle/help with quests in borean thundra quest: 11708 and gossip for free flight to colidarra, data taken from TrinityScript?

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • Trunk/src/QuestScripts/Quest_BoreanTundra.cpp

    r962 r1145  
    327327        return true; 
    328328} 
     329 
     330 
     331enum eFizzcrank 
     332{ 
     333    NPC_FIZZCRANK               = 25590, 
     334 
     335    GOSSIP_TEXTID_FIZZCRANK1    = 12456, 
     336    GOSSIP_TEXTID_FIZZCRANK2    = 12457, 
     337    GOSSIP_TEXTID_FIZZCRANK3    = 12458, 
     338    GOSSIP_TEXTID_FIZZCRANK4    = 12459, 
     339    GOSSIP_TEXTID_FIZZCRANK5    = 12460, 
     340    GOSSIP_TEXTID_FIZZCRANK6    = 12461, 
     341    GOSSIP_TEXTID_FIZZCRANK7    = 12462, 
     342    GOSSIP_TEXTID_FIZZCRANK8    = 12463, 
     343    GOSSIP_TEXTID_FIZZCRANK9    = 12464, 
     344 
     345    QUEST_THE_MECHAGNOMES       = 11708 
     346}; 
     347 
     348#define GOSSIP_ITEM_GO_ON   "Go on." 
     349#define GOSSIP_ITEM_TELL_ME "Tell me what's going on out here, Fizzcrank." 
     350 
     351class FizzcrankGossip : public GossipScript 
     352{ 
     353public: 
     354        void GossipHello(Object* pObject, Player*  pPlayer, bool AutoSend) 
     355        { 
     356                GossipMenu *Menu; 
     357         
     358        objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, pPlayer); 
     359 
     360        if( sEAS.GetQuest( pPlayer, QUEST_THE_MECHAGNOMES ) ) 
     361                    Menu->AddItem( 0, GOSSIP_ITEM_TELL_ME, 1 ); 
     362 
     363                if(AutoSend) 
     364                        Menu->SendTo(pPlayer); 
     365        } 
     366 
     367        void GossipSelectOption(Object* pObject, Player*  pPlayer, uint32 Id, uint32 IntId, const char * Code) 
     368        { 
     369        GossipMenu *Menu; 
     370                switch (IntId) 
     371                { 
     372                        case 1: 
     373                objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), GOSSIP_TEXTID_FIZZCRANK1, pPlayer); 
     374                Menu->AddItem( 0, GOSSIP_ITEM_GO_ON, 2 ); 
     375                Menu->SendTo(pPlayer); 
     376                break; 
     377            case 2: 
     378                objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), GOSSIP_TEXTID_FIZZCRANK2, pPlayer); 
     379                Menu->AddItem( 0, GOSSIP_ITEM_GO_ON, 3 ); 
     380                Menu->SendTo(pPlayer); 
     381                break; 
     382            case 3: 
     383                objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), GOSSIP_TEXTID_FIZZCRANK3, pPlayer); 
     384                Menu->AddItem( 0, GOSSIP_ITEM_GO_ON, 4 ); 
     385                Menu->SendTo(pPlayer); 
     386                break; 
     387            case 4: 
     388                objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), GOSSIP_TEXTID_FIZZCRANK4, pPlayer); 
     389                Menu->AddItem( 0, GOSSIP_ITEM_GO_ON, 5 ); 
     390                Menu->SendTo(pPlayer); 
     391                break; 
     392            case 5: 
     393                objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), GOSSIP_TEXTID_FIZZCRANK5, pPlayer); 
     394                Menu->AddItem( 0, GOSSIP_ITEM_GO_ON, 6 ); 
     395                Menu->SendTo(pPlayer); 
     396                break; 
     397            case 6: 
     398                objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), GOSSIP_TEXTID_FIZZCRANK6, pPlayer); 
     399                Menu->AddItem( 0, GOSSIP_ITEM_GO_ON, 7 ); 
     400                Menu->SendTo(pPlayer); 
     401                break; 
     402            case 7: 
     403                objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), GOSSIP_TEXTID_FIZZCRANK7, pPlayer); 
     404                Menu->AddItem( 0, GOSSIP_ITEM_GO_ON, 8 ); 
     405                Menu->SendTo(pPlayer); 
     406                break; 
     407            case 8: 
     408                objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), GOSSIP_TEXTID_FIZZCRANK8, pPlayer); 
     409                Menu->AddItem( 0, GOSSIP_ITEM_GO_ON, 9 ); 
     410                Menu->SendTo(pPlayer); 
     411                break; 
     412            case 9: 
     413                objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), GOSSIP_TEXTID_FIZZCRANK9, pPlayer); 
     414                Menu->SendTo(pPlayer); 
     415                break; 
     416                } 
     417        } 
     418 
     419        void Destroy() 
     420        { 
     421                delete this; 
     422        }; 
     423}; 
     424 
     425#define GOSSIP_ITEM_FREE_FLIGHT "I'd like passage to the Transitus Shield." 
     426#define GOSSIP_ITEM_FLIGHT      "May I use a drake to fly elsewhere?" 
     427 
     428enum eSurristrasz 
     429{ 
     430    NPC_SURRISTRASZ             = 24795, 
     431 
     432    SPELL_ABMER_TO_COLDARRA     = 46064 
     433}; 
     434 
     435class SurristraszGossip : public GossipScript 
     436{ 
     437public: 
     438        void GossipHello(Object* pObject, Player*  pPlayer, bool AutoSend) 
     439        { 
     440                GossipMenu *Menu; 
     441         
     442        objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, pPlayer); 
     443 
     444            Menu->AddItem( 0, GOSSIP_ITEM_FREE_FLIGHT, 1 );  
     445        Menu->AddItem( 3, GOSSIP_ITEM_FLIGHT, 2 ); 
     446 
     447                if(AutoSend) 
     448                        Menu->SendTo(pPlayer); 
     449        }; 
     450 
     451    void GossipSelectOption(Object* pObject, Player*  pPlayer, uint32 Id, uint32 IntId, const char * Code) 
     452        { 
     453        GossipMenu *Menu; 
     454 
     455        if( !pObject->IsCreature() ) 
     456            return; 
     457 
     458                switch (IntId) 
     459                { 
     460        case 1: 
     461            pPlayer->Gossip_Complete(); 
     462            pPlayer->CastSpell( pPlayer, SPELL_ABMER_TO_COLDARRA, true ); 
     463            break; 
     464        case 2: 
     465            pPlayer->GetSession()->SendTaxiList( TO_CREATURE( pObject ) ); 
     466            break; 
     467        }; 
     468    }; 
     469}; 
    329470 
    330471void SetupBoreanTundra(ScriptMgr * mgr) 
     
    353494        // Leading the Ancestors Home 
    354495        mgr->register_dummy_spell(45536, &CompleteAncestorRitual); 
     496    // Mechagnomes 
     497    // Fizzcrank Fullthrottle 
     498    GossipScript * fGossip = (GossipScript*) new FizzcrankGossip; 
     499    mgr->register_gossip_script( NPC_FIZZCRANK, fGossip ); 
     500     
     501    // Surristrasz  
     502    GossipScript * sGossip = (GossipScript*) new SurristraszGossip; 
     503    mgr->register_gossip_script( NPC_SURRISTRASZ, sGossip ); 
    355504}