| | 329 | |
| | 330 | |
| | 331 | enum 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 | |
| | 351 | class FizzcrankGossip : public GossipScript |
| | 352 | { |
| | 353 | public: |
| | 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 | |
| | 428 | enum eSurristrasz |
| | 429 | { |
| | 430 | NPC_SURRISTRASZ = 24795, |
| | 431 | |
| | 432 | SPELL_ABMER_TO_COLDARRA = 46064 |
| | 433 | }; |
| | 434 | |
| | 435 | class SurristraszGossip : public GossipScript |
| | 436 | { |
| | 437 | public: |
| | 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 | }; |