Convert go_scripts to the new format.
--HG-- branch : trunk
This commit is contained in:
@@ -60,17 +60,27 @@ enum eCatFigurine
|
|||||||
SPELL_SUMMON_GHOST_SABER = 5968,
|
SPELL_SUMMON_GHOST_SABER = 5968,
|
||||||
};
|
};
|
||||||
|
|
||||||
bool GOHello_go_cat_figurine(Player *pPlayer, GameObject * /*pGO*/)
|
class go_cat_figurine : public GameObjectScript
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
go_cat_figurine() : GameObjectScript("go_cat_figurine") { }
|
||||||
|
|
||||||
|
bool OnGossipHello(Player *pPlayer, GameObject * /*pGO*/)
|
||||||
{
|
{
|
||||||
pPlayer->CastSpell(pPlayer,SPELL_SUMMON_GHOST_SABER,true);
|
pPlayer->CastSpell(pPlayer,SPELL_SUMMON_GHOST_SABER,true);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
/*######
|
/*######
|
||||||
## go_crystal_pylons (3x)
|
## go_crystal_pylons (3x)
|
||||||
######*/
|
######*/
|
||||||
|
class go_northern_crystal_pylon : public GameObjectScript
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
go_northern_crystal_pylon() : GameObjectScript("go_northern_crystal_pylon") { }
|
||||||
|
|
||||||
bool GOHello_go_northern_crystal_pylon(Player *pPlayer, GameObject *pGO)
|
bool OnGossipHello(Player *pPlayer, GameObject *pGO)
|
||||||
{
|
{
|
||||||
if (pGO->GetGoType() == GAMEOBJECT_TYPE_QUESTGIVER)
|
if (pGO->GetGoType() == GAMEOBJECT_TYPE_QUESTGIVER)
|
||||||
{
|
{
|
||||||
@@ -83,8 +93,14 @@ bool GOHello_go_northern_crystal_pylon(Player *pPlayer, GameObject *pGO)
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
bool GOHello_go_eastern_crystal_pylon(Player *pPlayer, GameObject *pGO)
|
class go_eastern_crystal_pylon : public GameObjectScript
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
go_eastern_crystal_pylon() : GameObjectScript("go_eastern_crystal_pylon") { }
|
||||||
|
|
||||||
|
bool OnGossipHello(Player *pPlayer, GameObject *pGO)
|
||||||
{
|
{
|
||||||
if (pGO->GetGoType() == GAMEOBJECT_TYPE_QUESTGIVER)
|
if (pGO->GetGoType() == GAMEOBJECT_TYPE_QUESTGIVER)
|
||||||
{
|
{
|
||||||
@@ -97,8 +113,14 @@ bool GOHello_go_eastern_crystal_pylon(Player *pPlayer, GameObject *pGO)
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
bool GOHello_go_western_crystal_pylon(Player *pPlayer, GameObject *pGO)
|
class go_western_crystal_pylon : public GameObjectScript
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
go_western_crystal_pylon() : GameObjectScript("go_western_crystal_pylon") { }
|
||||||
|
|
||||||
|
bool OnGossipHello(Player *pPlayer, GameObject *pGO)
|
||||||
{
|
{
|
||||||
if (pGO->GetGoType() == GAMEOBJECT_TYPE_QUESTGIVER)
|
if (pGO->GetGoType() == GAMEOBJECT_TYPE_QUESTGIVER)
|
||||||
{
|
{
|
||||||
@@ -111,12 +133,18 @@ bool GOHello_go_western_crystal_pylon(Player *pPlayer, GameObject *pGO)
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
/*######
|
/*######
|
||||||
## go_barov_journal
|
## go_barov_journal
|
||||||
######*/
|
######*/
|
||||||
|
|
||||||
bool GOHello_go_barov_journal(Player *pPlayer, GameObject * /*pGO*/)
|
class go_barov_journal : public GameObjectScript
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
go_barov_journal() : GameObjectScript("go_barov_journal") { }
|
||||||
|
|
||||||
|
bool OnGossipHello(Player *pPlayer, GameObject * /*pGO*/)
|
||||||
{
|
{
|
||||||
if (pPlayer->HasSkill(SKILL_TAILORING) && pPlayer->GetBaseSkillValue(SKILL_TAILORING) >= 280 && !pPlayer->HasSpell(26086))
|
if (pPlayer->HasSkill(SKILL_TAILORING) && pPlayer->GetBaseSkillValue(SKILL_TAILORING) >= 280 && !pPlayer->HasSpell(26086))
|
||||||
{
|
{
|
||||||
@@ -124,12 +152,18 @@ bool GOHello_go_barov_journal(Player *pPlayer, GameObject * /*pGO*/)
|
|||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
/*######
|
/*######
|
||||||
## go_field_repair_bot_74A
|
## go_field_repair_bot_74A
|
||||||
######*/
|
######*/
|
||||||
|
|
||||||
bool GOHello_go_field_repair_bot_74A(Player *pPlayer, GameObject * /*pGO*/)
|
class go_field_repair_bot_74A : public GameObjectScript
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
go_field_repair_bot_74A() : GameObjectScript("go_field_repair_bot_74A") { }
|
||||||
|
|
||||||
|
bool OnGossipHello(Player *pPlayer, GameObject * /*pGO*/)
|
||||||
{
|
{
|
||||||
if (pPlayer->HasSkill(SKILL_ENGINERING) && pPlayer->GetBaseSkillValue(SKILL_ENGINERING) >= 300 && !pPlayer->HasSpell(22704))
|
if (pPlayer->HasSkill(SKILL_ENGINERING) && pPlayer->GetBaseSkillValue(SKILL_ENGINERING) >= 300 && !pPlayer->HasSpell(22704))
|
||||||
{
|
{
|
||||||
@@ -137,6 +171,7 @@ bool GOHello_go_field_repair_bot_74A(Player *pPlayer, GameObject * /*pGO*/)
|
|||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
/*######
|
/*######
|
||||||
## go_gilded_brazier (Paladin First Trail quest (9678))
|
## go_gilded_brazier (Paladin First Trail quest (9678))
|
||||||
@@ -147,7 +182,12 @@ enum eGildedBrazier
|
|||||||
NPC_STILLBLADE = 17716,
|
NPC_STILLBLADE = 17716,
|
||||||
};
|
};
|
||||||
|
|
||||||
bool GOHello_go_gilded_brazier(Player *pPlayer, GameObject *pGO)
|
class go_gilded_brazier : public GameObjectScript
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
go_gilded_brazier() : GameObjectScript("go_gilded_brazier") { }
|
||||||
|
|
||||||
|
bool OnGossipHello(Player *pPlayer, GameObject *pGO)
|
||||||
{
|
{
|
||||||
if (pGO->GetGoType() == GAMEOBJECT_TYPE_GOOBER)
|
if (pGO->GetGoType() == GAMEOBJECT_TYPE_GOOBER)
|
||||||
{
|
{
|
||||||
@@ -159,24 +199,36 @@ bool GOHello_go_gilded_brazier(Player *pPlayer, GameObject *pGO)
|
|||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
/*######
|
/*######
|
||||||
## go_orb_of_command
|
## go_orb_of_command
|
||||||
######*/
|
######*/
|
||||||
|
|
||||||
bool GOHello_go_orb_of_command(Player *pPlayer, GameObject * /*pGO*/)
|
class go_orb_of_command : public GameObjectScript
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
go_orb_of_command() : GameObjectScript("go_orb_of_command") { }
|
||||||
|
|
||||||
|
bool OnGossipHello(Player *pPlayer, GameObject * /*pGO*/)
|
||||||
{
|
{
|
||||||
if (pPlayer->GetQuestRewardStatus(7761))
|
if (pPlayer->GetQuestRewardStatus(7761))
|
||||||
pPlayer->CastSpell(pPlayer,23460,true);
|
pPlayer->CastSpell(pPlayer,23460,true);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
/*######
|
/*######
|
||||||
## go_tablet_of_madness
|
## go_tablet_of_madness
|
||||||
######*/
|
######*/
|
||||||
|
|
||||||
bool GOHello_go_tablet_of_madness(Player *pPlayer, GameObject * /*pGO*/)
|
class go_tablet_of_madness : public GameObjectScript
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
go_tablet_of_madness() : GameObjectScript("go_tablet_of_madness") { }
|
||||||
|
|
||||||
|
bool OnGossipHello(Player *pPlayer, GameObject * /*pGO*/)
|
||||||
{
|
{
|
||||||
if (pPlayer->HasSkill(SKILL_ALCHEMY) && pPlayer->GetSkillValue(SKILL_ALCHEMY) >= 300 && !pPlayer->HasSpell(24266))
|
if (pPlayer->HasSkill(SKILL_ALCHEMY) && pPlayer->GetSkillValue(SKILL_ALCHEMY) >= 300 && !pPlayer->HasSpell(24266))
|
||||||
{
|
{
|
||||||
@@ -184,13 +236,19 @@ bool GOHello_go_tablet_of_madness(Player *pPlayer, GameObject * /*pGO*/)
|
|||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
/*######
|
/*######
|
||||||
## go_tablet_of_the_seven
|
## go_tablet_of_the_seven
|
||||||
######*/
|
######*/
|
||||||
|
|
||||||
|
class go_tablet_of_the_seven : public GameObjectScript
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
go_tablet_of_the_seven() : GameObjectScript("go_tablet_of_the_seven") { }
|
||||||
|
|
||||||
//TODO: use gossip option ("Transcript the Tablet") instead, if Trinity adds support.
|
//TODO: use gossip option ("Transcript the Tablet") instead, if Trinity adds support.
|
||||||
bool GOHello_go_tablet_of_the_seven(Player *pPlayer, GameObject *pGO)
|
bool OnGossipHello(Player *pPlayer, GameObject *pGO)
|
||||||
{
|
{
|
||||||
if (pGO->GetGoType() != GAMEOBJECT_TYPE_QUESTGIVER)
|
if (pGO->GetGoType() != GAMEOBJECT_TYPE_QUESTGIVER)
|
||||||
return true;
|
return true;
|
||||||
@@ -200,18 +258,25 @@ bool GOHello_go_tablet_of_the_seven(Player *pPlayer, GameObject *pGO)
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
/*#####
|
/*#####
|
||||||
## go_jump_a_tron
|
## go_jump_a_tron
|
||||||
######*/
|
######*/
|
||||||
|
|
||||||
bool GOHello_go_jump_a_tron(Player *pPlayer, GameObject * /*pGO*/)
|
class go_jump_a_tron : public GameObjectScript
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
go_jump_a_tron() : GameObjectScript("go_jump_a_tron") { }
|
||||||
|
|
||||||
|
bool OnGossipHello(Player *pPlayer, GameObject * /*pGO*/)
|
||||||
{
|
{
|
||||||
if (pPlayer->GetQuestStatus(10111) == QUEST_STATUS_INCOMPLETE)
|
if (pPlayer->GetQuestStatus(10111) == QUEST_STATUS_INCOMPLETE)
|
||||||
pPlayer->CastSpell(pPlayer,33382,true);
|
pPlayer->CastSpell(pPlayer,33382,true);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
/*######
|
/*######
|
||||||
## go_ethereum_prison
|
## go_ethereum_prison
|
||||||
@@ -233,7 +298,12 @@ const uint32 NpcPrisonEntry[] =
|
|||||||
20783, 20784, 20785, 20786, 20788, 20789, 20790 //bad guys
|
20783, 20784, 20785, 20786, 20788, 20789, 20790 //bad guys
|
||||||
};
|
};
|
||||||
|
|
||||||
bool GOHello_go_ethereum_prison(Player *pPlayer, GameObject *pGO)
|
class go_ethereum_prison : public GameObjectScript
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
go_ethereum_prison() : GameObjectScript("go_ethereum_prison") { }
|
||||||
|
|
||||||
|
bool OnGossipHello(Player *pPlayer, GameObject *pGO)
|
||||||
{
|
{
|
||||||
int Random = rand() % (sizeof(NpcPrisonEntry) / sizeof(uint32));
|
int Random = rand() % (sizeof(NpcPrisonEntry) / sizeof(uint32));
|
||||||
|
|
||||||
@@ -267,6 +337,7 @@ bool GOHello_go_ethereum_prison(Player *pPlayer, GameObject *pGO)
|
|||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
/*######
|
/*######
|
||||||
## go_ethereum_stasis
|
## go_ethereum_stasis
|
||||||
@@ -277,7 +348,12 @@ const uint32 NpcStasisEntry[] =
|
|||||||
22825, 20888, 22827, 22826, 22828
|
22825, 20888, 22827, 22826, 22828
|
||||||
};
|
};
|
||||||
|
|
||||||
bool GOHello_go_ethereum_stasis(Player *pPlayer, GameObject *pGO)
|
class go_ethereum_stasis : public GameObjectScript
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
go_ethereum_stasis() : GameObjectScript("go_ethereum_stasis") { }
|
||||||
|
|
||||||
|
bool OnGossipHello(Player *pPlayer, GameObject *pGO)
|
||||||
{
|
{
|
||||||
int Random = rand() % (sizeof(NpcStasisEntry) / sizeof(uint32));
|
int Random = rand() % (sizeof(NpcStasisEntry) / sizeof(uint32));
|
||||||
|
|
||||||
@@ -287,6 +363,7 @@ bool GOHello_go_ethereum_stasis(Player *pPlayer, GameObject *pGO)
|
|||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
/*######
|
/*######
|
||||||
## go_resonite_cask
|
## go_resonite_cask
|
||||||
@@ -297,13 +374,19 @@ enum eResoniteCask
|
|||||||
NPC_GOGGEROC = 11920
|
NPC_GOGGEROC = 11920
|
||||||
};
|
};
|
||||||
|
|
||||||
bool GOHello_go_resonite_cask(Player * /*pPlayer*/, GameObject *pGO)
|
class go_resonite_cask : public GameObjectScript
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
go_resonite_cask() : GameObjectScript("go_resonite_cask") { }
|
||||||
|
|
||||||
|
bool OnGossipHello(Player * /*pPlayer*/, GameObject *pGO)
|
||||||
{
|
{
|
||||||
if (pGO->GetGoType() == GAMEOBJECT_TYPE_GOOBER)
|
if (pGO->GetGoType() == GAMEOBJECT_TYPE_GOOBER)
|
||||||
pGO->SummonCreature(NPC_GOGGEROC, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 300000);
|
pGO->SummonCreature(NPC_GOGGEROC, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 300000);
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
/*######
|
/*######
|
||||||
## go_sacred_fire_of_life
|
## go_sacred_fire_of_life
|
||||||
@@ -311,13 +394,19 @@ bool GOHello_go_resonite_cask(Player * /*pPlayer*/, GameObject *pGO)
|
|||||||
|
|
||||||
#define NPC_ARIKARA 10882
|
#define NPC_ARIKARA 10882
|
||||||
|
|
||||||
bool GOHello_go_sacred_fire_of_life(Player *pPlayer, GameObject *pGO)
|
class go_sacred_fire_of_life : public GameObjectScript
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
go_sacred_fire_of_life() : GameObjectScript("go_sacred_fire_of_life") { }
|
||||||
|
|
||||||
|
bool OnGossipHello(Player *pPlayer, GameObject *pGO)
|
||||||
{
|
{
|
||||||
if (pGO->GetGoType() == GAMEOBJECT_TYPE_GOOBER)
|
if (pGO->GetGoType() == GAMEOBJECT_TYPE_GOOBER)
|
||||||
pPlayer->SummonCreature(NPC_ARIKARA, -5008.338, -2118.894, 83.657, 0.874, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000);
|
pPlayer->SummonCreature(NPC_ARIKARA, -5008.338, -2118.894, 83.657, 0.874, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
/*######
|
/*######
|
||||||
## go_shrine_of_the_birds
|
## go_shrine_of_the_birds
|
||||||
@@ -333,7 +422,12 @@ enum eShrineOfTheBirds
|
|||||||
GO_SHRINE_FALCON = 185553
|
GO_SHRINE_FALCON = 185553
|
||||||
};
|
};
|
||||||
|
|
||||||
bool GOHello_go_shrine_of_the_birds(Player *pPlayer, GameObject *pGO)
|
class go_shrine_of_the_birds : public GameObjectScript
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
go_shrine_of_the_birds() : GameObjectScript("go_shrine_of_the_birds") { }
|
||||||
|
|
||||||
|
bool OnGossipHello(Player *pPlayer, GameObject *pGO)
|
||||||
{
|
{
|
||||||
uint32 BirdEntry = 0;
|
uint32 BirdEntry = 0;
|
||||||
|
|
||||||
@@ -358,6 +452,7 @@ bool GOHello_go_shrine_of_the_birds(Player *pPlayer, GameObject *pGO)
|
|||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
/*######
|
/*######
|
||||||
## go_southfury_moonstone
|
## go_southfury_moonstone
|
||||||
@@ -368,10 +463,14 @@ enum eSouthfury
|
|||||||
NPC_RIZZLE = 23002,
|
NPC_RIZZLE = 23002,
|
||||||
SPELL_BLACKJACK = 39865, //stuns player
|
SPELL_BLACKJACK = 39865, //stuns player
|
||||||
SPELL_SUMMON_RIZZLE = 39866
|
SPELL_SUMMON_RIZZLE = 39866
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
bool GOHello_go_southfury_moonstone(Player *pPlayer, GameObject * /*pGO*/)
|
class go_southfury_moonstone : public GameObjectScript
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
go_southfury_moonstone() : GameObjectScript("go_southfury_moonstone") { }
|
||||||
|
|
||||||
|
bool OnGossipHello(Player *pPlayer, GameObject * /*pGO*/)
|
||||||
{
|
{
|
||||||
//implicitTarget=48 not implemented as of writing this code, and manual summon may be just ok for our purpose
|
//implicitTarget=48 not implemented as of writing this code, and manual summon may be just ok for our purpose
|
||||||
//pPlayer->CastSpell(pPlayer,SPELL_SUMMON_RIZZLE,false);
|
//pPlayer->CastSpell(pPlayer,SPELL_SUMMON_RIZZLE,false);
|
||||||
@@ -381,6 +480,7 @@ bool GOHello_go_southfury_moonstone(Player *pPlayer, GameObject * /*pGO*/)
|
|||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
/*######
|
/*######
|
||||||
## go_tele_to_dalaran_crystal
|
## go_tele_to_dalaran_crystal
|
||||||
@@ -393,8 +493,12 @@ enum eDalaranCrystal
|
|||||||
};
|
};
|
||||||
|
|
||||||
#define GO_TELE_TO_DALARAN_CRYSTAL_FAILED "This teleport crystal cannot be used until the teleport crystal in Dalaran has been used at least once."
|
#define GO_TELE_TO_DALARAN_CRYSTAL_FAILED "This teleport crystal cannot be used until the teleport crystal in Dalaran has been used at least once."
|
||||||
|
class go_tele_to_dalaran_crystal : public GameObjectScript
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
go_tele_to_dalaran_crystal() : GameObjectScript("go_tele_to_dalaran_crystal") { }
|
||||||
|
|
||||||
bool GOHello_go_tele_to_dalaran_crystal(Player *pPlayer, GameObject * /*pGO*/)
|
bool OnGossipHello(Player *pPlayer, GameObject * /*pGO*/)
|
||||||
{
|
{
|
||||||
if (pPlayer->GetQuestRewardStatus(QUEST_TELE_CRYSTAL_FLAG))
|
if (pPlayer->GetQuestRewardStatus(QUEST_TELE_CRYSTAL_FLAG))
|
||||||
{
|
{
|
||||||
@@ -405,18 +509,25 @@ bool GOHello_go_tele_to_dalaran_crystal(Player *pPlayer, GameObject * /*pGO*/)
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
/*######
|
/*######
|
||||||
## go_tele_to_violet_stand
|
## go_tele_to_violet_stand
|
||||||
######*/
|
######*/
|
||||||
|
|
||||||
bool GOHello_go_tele_to_violet_stand(Player *pPlayer, GameObject * /*pGO*/)
|
class go_tele_to_violet_stand : public GameObjectScript
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
go_tele_to_violet_stand() : GameObjectScript("go_tele_to_violet_stand") { }
|
||||||
|
|
||||||
|
bool OnGossipHello(Player *pPlayer, GameObject * /*pGO*/)
|
||||||
{
|
{
|
||||||
if (pPlayer->GetQuestRewardStatus(QUEST_LEARN_LEAVE_RETURN) || pPlayer->GetQuestStatus(QUEST_LEARN_LEAVE_RETURN) == QUEST_STATUS_INCOMPLETE)
|
if (pPlayer->GetQuestRewardStatus(QUEST_LEARN_LEAVE_RETURN) || pPlayer->GetQuestStatus(QUEST_LEARN_LEAVE_RETURN) == QUEST_STATUS_INCOMPLETE)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
/*######
|
/*######
|
||||||
## go_fel_crystalforge
|
## go_fel_crystalforge
|
||||||
@@ -434,7 +545,12 @@ enum eFelCrystalforge
|
|||||||
SPELL_CREATE_5_FLASK_OF_BEAST = 40965,
|
SPELL_CREATE_5_FLASK_OF_BEAST = 40965,
|
||||||
};
|
};
|
||||||
|
|
||||||
bool GOHello_go_fel_crystalforge(Player *pPlayer, GameObject *pGO)
|
class go_fel_crystalforge : public GameObjectScript
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
go_fel_crystalforge() : GameObjectScript("go_fel_crystalforge") { }
|
||||||
|
|
||||||
|
bool OnGossipHello(Player *pPlayer, GameObject *pGO)
|
||||||
{
|
{
|
||||||
if (pGO->GetGoType() == GAMEOBJECT_TYPE_QUESTGIVER) /* != GAMEOBJECT_TYPE_QUESTGIVER) */
|
if (pGO->GetGoType() == GAMEOBJECT_TYPE_QUESTGIVER) /* != GAMEOBJECT_TYPE_QUESTGIVER) */
|
||||||
pPlayer->PrepareQuestMenu(pGO->GetGUID()); /* return true*/
|
pPlayer->PrepareQuestMenu(pGO->GetGUID()); /* return true*/
|
||||||
@@ -447,7 +563,7 @@ bool GOHello_go_fel_crystalforge(Player *pPlayer, GameObject *pGO)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool GOSelect_go_fel_crystalforge(Player *pPlayer, GameObject *pGO, uint32 /*uiSender*/, uint32 uiAction)
|
bool OnGossipSelect(Player *pPlayer, GameObject *pGO, uint32 /*uiSender*/, uint32 uiAction)
|
||||||
{
|
{
|
||||||
switch(uiAction)
|
switch(uiAction)
|
||||||
{
|
{
|
||||||
@@ -469,6 +585,7 @@ bool GOSelect_go_fel_crystalforge(Player *pPlayer, GameObject *pGO, uint32 /*uiS
|
|||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
/*######
|
/*######
|
||||||
## go_bashir_crystalforge
|
## go_bashir_crystalforge
|
||||||
@@ -486,7 +603,12 @@ enum eBashirCrystalforge
|
|||||||
SPELL_CREATE_5_FLASK_OF_SORCERER = 40970,
|
SPELL_CREATE_5_FLASK_OF_SORCERER = 40970,
|
||||||
};
|
};
|
||||||
|
|
||||||
bool GOHello_go_bashir_crystalforge(Player *pPlayer, GameObject *pGO)
|
class go_bashir_crystalforge : public GameObjectScript
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
go_bashir_crystalforge() : GameObjectScript("go_bashir_crystalforge") { }
|
||||||
|
|
||||||
|
bool OnGossipHello(Player *pPlayer, GameObject *pGO)
|
||||||
{
|
{
|
||||||
if (pGO->GetGoType() == GAMEOBJECT_TYPE_QUESTGIVER) /* != GAMEOBJECT_TYPE_QUESTGIVER) */
|
if (pGO->GetGoType() == GAMEOBJECT_TYPE_QUESTGIVER) /* != GAMEOBJECT_TYPE_QUESTGIVER) */
|
||||||
pPlayer->PrepareQuestMenu(pGO->GetGUID()); /* return true*/
|
pPlayer->PrepareQuestMenu(pGO->GetGUID()); /* return true*/
|
||||||
@@ -499,7 +621,7 @@ bool GOHello_go_bashir_crystalforge(Player *pPlayer, GameObject *pGO)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool GOSelect_go_bashir_crystalforge(Player *pPlayer, GameObject *pGO, uint32 /*uiSender*/, uint32 uiAction)
|
bool OnGossipSelect(Player *pPlayer, GameObject *pGO, uint32 /*uiSender*/, uint32 uiAction)
|
||||||
{
|
{
|
||||||
switch(uiAction)
|
switch(uiAction)
|
||||||
{
|
{
|
||||||
@@ -521,6 +643,7 @@ bool GOSelect_go_bashir_crystalforge(Player *pPlayer, GameObject *pGO, uint32 /*
|
|||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
/*######
|
/*######
|
||||||
## matrix_punchograph
|
## matrix_punchograph
|
||||||
@@ -543,7 +666,12 @@ enum eMatrixPunchograph
|
|||||||
MATRIX_PUNCHOGRAPH_3005_D = 142696,
|
MATRIX_PUNCHOGRAPH_3005_D = 142696,
|
||||||
};
|
};
|
||||||
|
|
||||||
bool GOHello_go_matrix_punchograph(Player *pPlayer, GameObject *pGO)
|
class go_matrix_punchograph : public GameObjectScript
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
go_matrix_punchograph() : GameObjectScript("go_matrix_punchograph") { }
|
||||||
|
|
||||||
|
bool OnGossipHello(Player *pPlayer, GameObject *pGO)
|
||||||
{
|
{
|
||||||
switch(pGO->GetEntry())
|
switch(pGO->GetEntry())
|
||||||
{
|
{
|
||||||
@@ -580,6 +708,7 @@ bool GOHello_go_matrix_punchograph(Player *pPlayer, GameObject *pGO)
|
|||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
/*######
|
/*######
|
||||||
## go_rusty_cage
|
## go_rusty_cage
|
||||||
@@ -590,7 +719,12 @@ enum eRustyCage
|
|||||||
NPC_GOBLIN_PRISIONER = 29466
|
NPC_GOBLIN_PRISIONER = 29466
|
||||||
};
|
};
|
||||||
|
|
||||||
bool GOHello_go_rusty_cage(Player *pPlayer, GameObject *pGO)
|
class go_rusty_cage : public GameObjectScript
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
go_rusty_cage() : GameObjectScript("go_rusty_cage") { }
|
||||||
|
|
||||||
|
bool OnGossipHello(Player *pPlayer, GameObject *pGO)
|
||||||
{
|
{
|
||||||
if (Creature *pGoblinPrisoner = pGO->FindNearestCreature(NPC_GOBLIN_PRISIONER, 5.0f, true))
|
if (Creature *pGoblinPrisoner = pGO->FindNearestCreature(NPC_GOBLIN_PRISIONER, 5.0f, true))
|
||||||
{
|
{
|
||||||
@@ -601,6 +735,7 @@ bool GOHello_go_rusty_cage(Player *pPlayer, GameObject *pGO)
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
/*######
|
/*######
|
||||||
## go_scourge_cage
|
## go_scourge_cage
|
||||||
@@ -611,7 +746,12 @@ enum eScourgeCage
|
|||||||
NPC_SCOURGE_PRISONER = 25610
|
NPC_SCOURGE_PRISONER = 25610
|
||||||
};
|
};
|
||||||
|
|
||||||
bool GOHello_go_scourge_cage(Player *pPlayer, GameObject *pGO)
|
class go_scourge_cage : public GameObjectScript
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
go_scourge_cage() : GameObjectScript("go_scourge_cage") { }
|
||||||
|
|
||||||
|
bool OnGossipHello(Player *pPlayer, GameObject *pGO)
|
||||||
{
|
{
|
||||||
if (Creature *pNearestPrisoner = pGO->FindNearestCreature(NPC_SCOURGE_PRISONER, 5.0f, true))
|
if (Creature *pNearestPrisoner = pGO->FindNearestCreature(NPC_SCOURGE_PRISONER, 5.0f, true))
|
||||||
{
|
{
|
||||||
@@ -622,6 +762,7 @@ bool GOHello_go_scourge_cage(Player *pPlayer, GameObject *pGO)
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
/*######
|
/*######
|
||||||
## go_arcane_prison
|
## go_arcane_prison
|
||||||
@@ -633,7 +774,12 @@ enum eArcanePrison
|
|||||||
SPELL_ARCANE_PRISONER_KILL_CREDIT = 45456
|
SPELL_ARCANE_PRISONER_KILL_CREDIT = 45456
|
||||||
};
|
};
|
||||||
|
|
||||||
bool GOHello_go_arcane_prison(Player *pPlayer, GameObject *pGO)
|
class go_arcane_prison : public GameObjectScript
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
go_arcane_prison() : GameObjectScript("go_arcane_prison") { }
|
||||||
|
|
||||||
|
bool OnGossipHello(Player *pPlayer, GameObject *pGO)
|
||||||
{
|
{
|
||||||
if (pPlayer->GetQuestStatus(QUEST_PRISON_BREAK) == QUEST_STATUS_INCOMPLETE)
|
if (pPlayer->GetQuestStatus(QUEST_PRISON_BREAK) == QUEST_STATUS_INCOMPLETE)
|
||||||
{
|
{
|
||||||
@@ -643,6 +789,7 @@ bool GOHello_go_arcane_prison(Player *pPlayer, GameObject *pGO)
|
|||||||
} else
|
} else
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
/*######
|
/*######
|
||||||
## go_blood_filled_orb
|
## go_blood_filled_orb
|
||||||
@@ -650,13 +797,19 @@ bool GOHello_go_arcane_prison(Player *pPlayer, GameObject *pGO)
|
|||||||
|
|
||||||
#define NPC_ZELEMAR 17830
|
#define NPC_ZELEMAR 17830
|
||||||
|
|
||||||
bool GOHello_go_blood_filled_orb(Player *pPlayer, GameObject *pGO)
|
class go_blood_filled_orb : public GameObjectScript
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
go_blood_filled_orb() : GameObjectScript("go_blood_filled_orb") { }
|
||||||
|
|
||||||
|
bool OnGossipHello(Player *pPlayer, GameObject *pGO)
|
||||||
{
|
{
|
||||||
if (pGO->GetGoType() == GAMEOBJECT_TYPE_GOOBER)
|
if (pGO->GetGoType() == GAMEOBJECT_TYPE_GOOBER)
|
||||||
pPlayer->SummonCreature(NPC_ZELEMAR, -369.746, 166.759, -21.50, 5.235, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000);
|
pPlayer->SummonCreature(NPC_ZELEMAR, -369.746, 166.759, -21.50, 5.235, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
/*######
|
/*######
|
||||||
## go_jotunheim_cage
|
## go_jotunheim_cage
|
||||||
@@ -675,7 +828,12 @@ enum eJotunheimCage
|
|||||||
SPELL_SUMMON_BLADE_KNIGHT_TROLL = 56214
|
SPELL_SUMMON_BLADE_KNIGHT_TROLL = 56214
|
||||||
};
|
};
|
||||||
|
|
||||||
bool GOHello_go_jotunheim_cage(Player* pPlayer, GameObject* pGO)
|
class go_jotunheim_cage : public GameObjectScript
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
go_jotunheim_cage() : GameObjectScript("go_jotunheim_cage") { }
|
||||||
|
|
||||||
|
bool OnGossipHello(Player* pPlayer, GameObject* pGO)
|
||||||
{
|
{
|
||||||
Creature* pPrisoner = pGO->FindNearestCreature(NPC_EBON_BLADE_PRISONER_HUMAN, 5.0f, true);
|
Creature* pPrisoner = pGO->FindNearestCreature(NPC_EBON_BLADE_PRISONER_HUMAN, 5.0f, true);
|
||||||
if (!pPrisoner)
|
if (!pPrisoner)
|
||||||
@@ -710,6 +868,8 @@ bool GOHello_go_jotunheim_cage(Player* pPlayer, GameObject* pGO)
|
|||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
enum eTableTheka
|
enum eTableTheka
|
||||||
{
|
{
|
||||||
GOSSIP_TABLE_THEKA = 1653,
|
GOSSIP_TABLE_THEKA = 1653,
|
||||||
@@ -717,7 +877,12 @@ enum eTableTheka
|
|||||||
QUEST_SPIDER_GOLD = 2936
|
QUEST_SPIDER_GOLD = 2936
|
||||||
};
|
};
|
||||||
|
|
||||||
bool GOHello_go_table_theka(Player* pPlayer, GameObject* pGO)
|
class go_table_theka : public GameObjectScript
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
go_table_theka() : GameObjectScript("go_table_theka") { }
|
||||||
|
|
||||||
|
bool OnGossipHello(Player* pPlayer, GameObject* pGO)
|
||||||
{
|
{
|
||||||
if (pPlayer->GetQuestStatus(QUEST_SPIDER_GOLD) == QUEST_STATUS_INCOMPLETE)
|
if (pPlayer->GetQuestStatus(QUEST_SPIDER_GOLD) == QUEST_STATUS_INCOMPLETE)
|
||||||
pPlayer->AreaExploredOrEventHappens(QUEST_SPIDER_GOLD);
|
pPlayer->AreaExploredOrEventHappens(QUEST_SPIDER_GOLD);
|
||||||
@@ -726,6 +891,7 @@ bool GOHello_go_table_theka(Player* pPlayer, GameObject* pGO)
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
/*######
|
/*######
|
||||||
## go_inconspicuous_landmark
|
## go_inconspicuous_landmark
|
||||||
@@ -737,7 +903,12 @@ enum eInconspicuousLandmark
|
|||||||
ITEM_CUERGOS_KEY = 9275,
|
ITEM_CUERGOS_KEY = 9275,
|
||||||
};
|
};
|
||||||
|
|
||||||
bool GOHello_go_inconspicuous_landmark(Player *pPlayer, GameObject* /*pGO*/)
|
class go_inconspicuous_landmark : public GameObjectScript
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
go_inconspicuous_landmark() : GameObjectScript("go_inconspicuous_landmark") { }
|
||||||
|
|
||||||
|
bool OnGossipHello(Player *pPlayer, GameObject* /*pGO*/)
|
||||||
{
|
{
|
||||||
if (pPlayer->HasItemCount(ITEM_CUERGOS_KEY,1))
|
if (pPlayer->HasItemCount(ITEM_CUERGOS_KEY,1))
|
||||||
return false;
|
return false;
|
||||||
@@ -746,12 +917,18 @@ bool GOHello_go_inconspicuous_landmark(Player *pPlayer, GameObject* /*pGO*/)
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
/*######
|
/*######
|
||||||
## go_soulwell
|
## go_soulwell
|
||||||
######*/
|
######*/
|
||||||
|
|
||||||
bool GOHello_go_soulwell(Player *pPlayer, GameObject* pGO)
|
class go_soulwell : public GameObjectScript
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
go_soulwell() : GameObjectScript("go_soulwell") { }
|
||||||
|
|
||||||
|
bool OnGossipHello(Player *pPlayer, GameObject* pGO)
|
||||||
{
|
{
|
||||||
Unit *caster = pGO->GetOwner();
|
Unit *caster = pGO->GetOwner();
|
||||||
if (!caster || caster->GetTypeId() != TYPEID_PLAYER)
|
if (!caster || caster->GetTypeId() != TYPEID_PLAYER)
|
||||||
@@ -785,6 +962,7 @@ bool GOHello_go_soulwell(Player *pPlayer, GameObject* pGO)
|
|||||||
pPlayer->CastSpell(pPlayer, newSpell, true);
|
pPlayer->CastSpell(pPlayer, newSpell, true);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
/*######
|
/*######
|
||||||
## Quest 11255: Prisoners of Wyrmskull
|
## Quest 11255: Prisoners of Wyrmskull
|
||||||
@@ -800,7 +978,12 @@ enum ePrisonersOfWyrmskull
|
|||||||
NPC_PRISONER_PALADIN = 24090
|
NPC_PRISONER_PALADIN = 24090
|
||||||
};
|
};
|
||||||
|
|
||||||
bool GOHello_go_dragonflayer_cage(Player *pPlayer, GameObject *pGO)
|
class go_dragonflayer_cage : public GameObjectScript
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
go_dragonflayer_cage() : GameObjectScript("go_dragonflayer_cage") { }
|
||||||
|
|
||||||
|
bool OnGossipHello(Player *pPlayer, GameObject *pGO)
|
||||||
{
|
{
|
||||||
if (pPlayer->GetQuestStatus(QUEST_PRISONERS_OF_WYRMSKULL) != QUEST_STATUS_INCOMPLETE)
|
if (pPlayer->GetQuestStatus(QUEST_PRISONERS_OF_WYRMSKULL) != QUEST_STATUS_INCOMPLETE)
|
||||||
return true;
|
return true;
|
||||||
@@ -829,6 +1012,7 @@ bool GOHello_go_dragonflayer_cage(Player *pPlayer, GameObject *pGO)
|
|||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
/*######
|
/*######
|
||||||
## Quest 11560: Oh Noes, the Tadpoles!
|
## Quest 11560: Oh Noes, the Tadpoles!
|
||||||
@@ -841,7 +1025,12 @@ enum eTadpoles
|
|||||||
NPC_WINTERFIN_TADPOLE = 25201
|
NPC_WINTERFIN_TADPOLE = 25201
|
||||||
};
|
};
|
||||||
|
|
||||||
bool GOHello_go_tadpole_cage(Player *pPlayer, GameObject *pGO)
|
class go_tadpole_cage : public GameObjectScript
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
go_tadpole_cage() : GameObjectScript("go_tadpole_cage") { }
|
||||||
|
|
||||||
|
bool OnGossipHello(Player *pPlayer, GameObject *pGO)
|
||||||
{
|
{
|
||||||
if (pPlayer->GetQuestStatus(QUEST_OH_NOES_THE_TADPOLES) == QUEST_STATUS_INCOMPLETE)
|
if (pPlayer->GetQuestStatus(QUEST_OH_NOES_THE_TADPOLES) == QUEST_STATUS_INCOMPLETE)
|
||||||
{
|
{
|
||||||
@@ -856,6 +1045,7 @@ bool GOHello_go_tadpole_cage(Player *pPlayer, GameObject *pGO)
|
|||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
/*######
|
/*######
|
||||||
## Quest 14096 & 14142: You've Really Done It This Time, Kul
|
## Quest 14096 & 14142: You've Really Done It This Time, Kul
|
||||||
@@ -870,7 +1060,12 @@ enum eReallyDoneItThisTime
|
|||||||
NPC_KUL = 34956
|
NPC_KUL = 34956
|
||||||
};
|
};
|
||||||
|
|
||||||
bool GOHello_go_black_cage(Player *pPlayer, GameObject *pGO)
|
class go_black_cage : public GameObjectScript
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
go_black_cage() : GameObjectScript("go_black_cage") { }
|
||||||
|
|
||||||
|
bool OnGossipHello(Player *pPlayer, GameObject *pGO)
|
||||||
{
|
{
|
||||||
if ((pPlayer->GetTeamId() == TEAM_ALLIANCE && pPlayer->GetQuestStatus(QUEST_ALLIANCE_YOU_VE_REALLY_DONE_IT_THIS_TIME_KUL) == QUEST_STATUS_INCOMPLETE) ||
|
if ((pPlayer->GetTeamId() == TEAM_ALLIANCE && pPlayer->GetQuestStatus(QUEST_ALLIANCE_YOU_VE_REALLY_DONE_IT_THIS_TIME_KUL) == QUEST_STATUS_INCOMPLETE) ||
|
||||||
(pPlayer->GetTeamId() == TEAM_HORDE && pPlayer->GetQuestStatus(QUEST_HORDE_YOU_VE_REALLY_DONE_IT_THIS_TIME_KUL) == QUEST_STATUS_INCOMPLETE))
|
(pPlayer->GetTeamId() == TEAM_HORDE && pPlayer->GetQuestStatus(QUEST_HORDE_YOU_VE_REALLY_DONE_IT_THIS_TIME_KUL) == QUEST_STATUS_INCOMPLETE))
|
||||||
@@ -887,6 +1082,7 @@ bool GOHello_go_black_cage(Player *pPlayer, GameObject *pGO)
|
|||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
/*######
|
/*######
|
||||||
## go_amberpine_outhouse
|
## go_amberpine_outhouse
|
||||||
@@ -907,7 +1103,12 @@ enum eAmberpineOuthouse
|
|||||||
GOSSIP_OUTHOUSE_VACANT = 12779
|
GOSSIP_OUTHOUSE_VACANT = 12779
|
||||||
};
|
};
|
||||||
|
|
||||||
bool GOHello_go_amberpine_outhouse(Player *pPlayer, GameObject *pGO)
|
class go_amberpine_outhouse : public GameObjectScript
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
go_amberpine_outhouse() : GameObjectScript("go_amberpine_outhouse") { }
|
||||||
|
|
||||||
|
bool OnGossipHello(Player *pPlayer, GameObject *pGO)
|
||||||
{
|
{
|
||||||
if (pPlayer->GetQuestStatus(QUEST_DOING_YOUR_DUTY) == QUEST_STATUS_INCOMPLETE ||
|
if (pPlayer->GetQuestStatus(QUEST_DOING_YOUR_DUTY) == QUEST_STATUS_INCOMPLETE ||
|
||||||
(pPlayer->GetQuestStatus(QUEST_DOING_YOUR_DUTY) == QUEST_STATUS_COMPLETE))
|
(pPlayer->GetQuestStatus(QUEST_DOING_YOUR_DUTY) == QUEST_STATUS_COMPLETE))
|
||||||
@@ -921,7 +1122,7 @@ bool GOHello_go_amberpine_outhouse(Player *pPlayer, GameObject *pGO)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool GOSelect_go_amberpine_outhouse(Player *pPlayer, GameObject *pGO, uint32 /*uiSender*/, uint32 uiAction)
|
bool OnGossipSelect(Player *pPlayer, GameObject *pGO, uint32 /*uiSender*/, uint32 uiAction)
|
||||||
{
|
{
|
||||||
if (uiAction == GOSSIP_ACTION_INFO_DEF +1)
|
if (uiAction == GOSSIP_ACTION_INFO_DEF +1)
|
||||||
{
|
{
|
||||||
@@ -938,10 +1139,13 @@ bool GOSelect_go_amberpine_outhouse(Player *pPlayer, GameObject *pGO, uint32 /*u
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
pPlayer->CLOSE_GOSSIP_MENU();
|
pPlayer->CLOSE_GOSSIP_MENU();
|
||||||
pPlayer->GetSession()->SendNotification(GO_ANDERHOLS_SLIDER_CIDER_NOT_FOUND);
|
pPlayer->GetSession()->SendNotification(GO_ANDERHOLS_SLIDER_CIDER_NOT_FOUND);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
/*######
|
/*######
|
||||||
## Quest 1126: Hive in the Tower
|
## Quest 1126: Hive in the Tower
|
||||||
@@ -953,204 +1157,68 @@ enum eHives
|
|||||||
NPC_HIVE_AMBUSHER = 13301
|
NPC_HIVE_AMBUSHER = 13301
|
||||||
};
|
};
|
||||||
|
|
||||||
bool GOHello_go_hive_pod(Player *pPlayer, GameObject *pGO)
|
class go_hive_pod : public GameObjectScript
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
go_hive_pod() : GameObjectScript("go_hive_pod") { }
|
||||||
|
|
||||||
|
bool OnGossipHello(Player *pPlayer, GameObject *pGO)
|
||||||
{
|
{
|
||||||
pPlayer->SendLoot(pGO->GetGUID(), LOOT_CORPSE);
|
pPlayer->SendLoot(pGO->GetGUID(), LOOT_CORPSE);
|
||||||
pGO->SummonCreature(NPC_HIVE_AMBUSHER,pGO->GetPositionX()+1,pGO->GetPositionY(),pGO->GetPositionZ(),pGO->GetAngle(pPlayer),TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 60000);
|
pGO->SummonCreature(NPC_HIVE_AMBUSHER,pGO->GetPositionX()+1,pGO->GetPositionY(),pGO->GetPositionZ(),pGO->GetAngle(pPlayer),TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 60000);
|
||||||
pGO->SummonCreature(NPC_HIVE_AMBUSHER,pGO->GetPositionX(),pGO->GetPositionY()+1,pGO->GetPositionZ(),pGO->GetAngle(pPlayer),TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 60000);
|
pGO->SummonCreature(NPC_HIVE_AMBUSHER,pGO->GetPositionX(),pGO->GetPositionY()+1,pGO->GetPositionZ(),pGO->GetAngle(pPlayer),TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 60000);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
bool GOHello_go_massive_seaforium_charge(Player* pPlayer, GameObject *pGo)
|
class go_massive_seaforium_charge : public GameObjectScript
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
go_massive_seaforium_charge() : GameObjectScript("go_massive_seaforium_charge") { }
|
||||||
|
|
||||||
|
bool OnGossipHello(Player* pPlayer, GameObject *pGo)
|
||||||
{
|
{
|
||||||
pGo->SetLootState(GO_JUST_DEACTIVATED);
|
pGo->SetLootState(GO_JUST_DEACTIVATED);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
void AddSC_go_scripts()
|
void AddSC_go_scripts()
|
||||||
{
|
{
|
||||||
Script *newscript;
|
new go_cat_figurine;
|
||||||
|
new go_northern_crystal_pylon;
|
||||||
newscript = new Script;
|
new go_eastern_crystal_pylon;
|
||||||
newscript->Name = "go_cat_figurine";
|
new go_western_crystal_pylon;
|
||||||
newscript->pGOHello = &GOHello_go_cat_figurine;
|
new go_barov_journal;
|
||||||
newscript->RegisterSelf();
|
new go_field_repair_bot_74A;
|
||||||
|
new go_gilded_brazier;
|
||||||
newscript = new Script;
|
new go_orb_of_command;
|
||||||
newscript->Name = "go_northern_crystal_pylon";
|
new go_shrine_of_the_birds;
|
||||||
newscript->pGOHello = &GOHello_go_northern_crystal_pylon;
|
new go_southfury_moonstone;
|
||||||
newscript->RegisterSelf();
|
new go_tablet_of_madness;
|
||||||
|
new go_tablet_of_the_seven;
|
||||||
newscript = new Script;
|
new go_jump_a_tron;
|
||||||
newscript->Name = "go_eastern_crystal_pylon";
|
new go_ethereum_prison;
|
||||||
newscript->pGOHello = &GOHello_go_eastern_crystal_pylon;
|
new go_ethereum_stasis;
|
||||||
newscript->RegisterSelf();
|
new go_resonite_cask;
|
||||||
|
new go_sacred_fire_of_life;
|
||||||
newscript = new Script;
|
new go_tele_to_dalaran_crystal;
|
||||||
newscript->Name = "go_western_crystal_pylon";
|
new go_tele_to_violet_stand;
|
||||||
newscript->pGOHello = &GOHello_go_western_crystal_pylon;
|
new go_fel_crystalforge;
|
||||||
newscript->RegisterSelf();
|
new go_bashir_crystalforge;
|
||||||
|
new go_matrix_punchograph;
|
||||||
newscript = new Script;
|
new go_rusty_cage;
|
||||||
newscript->Name = "go_barov_journal";
|
new go_scourge_cage;
|
||||||
newscript->pGOHello = &GOHello_go_barov_journal;
|
new go_arcane_prison;
|
||||||
newscript->RegisterSelf();
|
new go_blood_filled_orb;
|
||||||
|
new go_jotunheim_cage;
|
||||||
newscript = new Script;
|
new go_table_theka;
|
||||||
newscript->Name = "go_field_repair_bot_74A";
|
new go_inconspicuous_landmark;
|
||||||
newscript->pGOHello = &GOHello_go_field_repair_bot_74A;
|
new go_soulwell;
|
||||||
newscript->RegisterSelf();
|
new go_tadpole_cage;
|
||||||
|
new go_dragonflayer_cage;
|
||||||
newscript = new Script;
|
new go_black_cage;
|
||||||
newscript->Name = "go_gilded_brazier";
|
new go_amberpine_outhouse;
|
||||||
newscript->pGOHello = &GOHello_go_gilded_brazier;
|
new go_hive_pod;
|
||||||
newscript->RegisterSelf();
|
new go_massive_seaforium_charge;
|
||||||
|
|
||||||
newscript = new Script;
|
|
||||||
newscript->Name = "go_orb_of_command";
|
|
||||||
newscript->pGOHello = &GOHello_go_orb_of_command;
|
|
||||||
newscript->RegisterSelf();
|
|
||||||
|
|
||||||
newscript = new Script;
|
|
||||||
newscript->Name = "go_shrine_of_the_birds";
|
|
||||||
newscript->pGOHello = &GOHello_go_shrine_of_the_birds;
|
|
||||||
newscript->RegisterSelf();
|
|
||||||
|
|
||||||
newscript = new Script;
|
|
||||||
newscript->Name = "go_southfury_moonstone";
|
|
||||||
newscript->pGOHello = &GOHello_go_southfury_moonstone;
|
|
||||||
newscript->RegisterSelf();
|
|
||||||
|
|
||||||
newscript = new Script;
|
|
||||||
newscript->Name = "go_tablet_of_madness";
|
|
||||||
newscript->pGOHello = &GOHello_go_tablet_of_madness;
|
|
||||||
newscript->RegisterSelf();
|
|
||||||
|
|
||||||
newscript = new Script;
|
|
||||||
newscript->Name = "go_tablet_of_the_seven";
|
|
||||||
newscript->pGOHello = &GOHello_go_tablet_of_the_seven;
|
|
||||||
newscript->RegisterSelf();
|
|
||||||
|
|
||||||
newscript = new Script;
|
|
||||||
newscript->Name = "go_jump_a_tron";
|
|
||||||
newscript->pGOHello = &GOHello_go_jump_a_tron;
|
|
||||||
newscript->RegisterSelf();
|
|
||||||
|
|
||||||
newscript = new Script;
|
|
||||||
newscript->Name = "go_ethereum_prison";
|
|
||||||
newscript->pGOHello = &GOHello_go_ethereum_prison;
|
|
||||||
newscript->RegisterSelf();
|
|
||||||
|
|
||||||
newscript = new Script;
|
|
||||||
newscript->Name = "go_ethereum_stasis";
|
|
||||||
newscript->pGOHello = &GOHello_go_ethereum_stasis;
|
|
||||||
newscript->RegisterSelf();
|
|
||||||
|
|
||||||
newscript = new Script;
|
|
||||||
newscript->Name = "go_resonite_cask";
|
|
||||||
newscript->pGOHello = &GOHello_go_resonite_cask;
|
|
||||||
newscript->RegisterSelf();
|
|
||||||
|
|
||||||
newscript = new Script;
|
|
||||||
newscript->Name = "go_sacred_fire_of_life";
|
|
||||||
newscript->pGOHello = &GOHello_go_sacred_fire_of_life;
|
|
||||||
newscript->RegisterSelf();
|
|
||||||
|
|
||||||
newscript = new Script;
|
|
||||||
newscript->Name = "go_tele_to_dalaran_crystal";
|
|
||||||
newscript->pGOHello = &GOHello_go_tele_to_dalaran_crystal;
|
|
||||||
newscript->RegisterSelf();
|
|
||||||
|
|
||||||
newscript = new Script;
|
|
||||||
newscript->Name = "go_tele_to_violet_stand";
|
|
||||||
newscript->pGOHello = &GOHello_go_tele_to_violet_stand;
|
|
||||||
newscript->RegisterSelf();
|
|
||||||
|
|
||||||
newscript = new Script;
|
|
||||||
newscript->Name = "go_fel_crystalforge";
|
|
||||||
newscript->pGOHello = &GOHello_go_fel_crystalforge;
|
|
||||||
newscript->pGOSelect = &GOSelect_go_fel_crystalforge;
|
|
||||||
newscript->RegisterSelf();
|
|
||||||
|
|
||||||
newscript = new Script;
|
|
||||||
newscript->Name = "go_bashir_crystalforge";
|
|
||||||
newscript->pGOHello = &GOHello_go_bashir_crystalforge;
|
|
||||||
newscript->pGOSelect = &GOSelect_go_bashir_crystalforge;
|
|
||||||
newscript->RegisterSelf();
|
|
||||||
|
|
||||||
newscript = new Script;
|
|
||||||
newscript->Name = "go_matrix_punchograph";
|
|
||||||
newscript->pGOHello = &GOHello_go_matrix_punchograph;
|
|
||||||
newscript->RegisterSelf();
|
|
||||||
|
|
||||||
newscript = new Script;
|
|
||||||
newscript->Name = "go_rusty_cage";
|
|
||||||
newscript->pGOHello = &GOHello_go_rusty_cage;
|
|
||||||
newscript->RegisterSelf();
|
|
||||||
|
|
||||||
newscript = new Script;
|
|
||||||
newscript->Name = "go_scourge_cage";
|
|
||||||
newscript->pGOHello = &GOHello_go_scourge_cage;
|
|
||||||
newscript->RegisterSelf();
|
|
||||||
|
|
||||||
newscript = new Script;
|
|
||||||
newscript->Name = "go_arcane_prison";
|
|
||||||
newscript->pGOHello = &GOHello_go_arcane_prison;
|
|
||||||
newscript->RegisterSelf();
|
|
||||||
|
|
||||||
newscript = new Script;
|
|
||||||
newscript->Name = "go_blood_filled_orb";
|
|
||||||
newscript->pGOHello = &GOHello_go_blood_filled_orb;
|
|
||||||
newscript->RegisterSelf();
|
|
||||||
|
|
||||||
newscript = new Script;
|
|
||||||
newscript->Name = "go_jotunheim_cage";
|
|
||||||
newscript->pGOHello = &GOHello_go_jotunheim_cage;
|
|
||||||
newscript->RegisterSelf();
|
|
||||||
|
|
||||||
newscript = new Script;
|
|
||||||
newscript->Name = "go_table_theka";
|
|
||||||
newscript->pGOHello = &GOHello_go_table_theka;
|
|
||||||
newscript->RegisterSelf();
|
|
||||||
|
|
||||||
newscript = new Script;
|
|
||||||
newscript->Name = "go_inconspicuous_landmark";
|
|
||||||
newscript->pGOHello = &GOHello_go_inconspicuous_landmark;
|
|
||||||
newscript->RegisterSelf();
|
|
||||||
|
|
||||||
newscript = new Script;
|
|
||||||
newscript->Name = "go_soulwell";
|
|
||||||
newscript->pGOHello = &GOHello_go_soulwell;
|
|
||||||
newscript->RegisterSelf();
|
|
||||||
|
|
||||||
newscript = new Script;
|
|
||||||
newscript->Name = "go_tadpole_cage";
|
|
||||||
newscript->pGOHello = &GOHello_go_tadpole_cage;
|
|
||||||
newscript->RegisterSelf();
|
|
||||||
|
|
||||||
newscript = new Script;
|
|
||||||
newscript->Name = "go_dragonflayer_cage";
|
|
||||||
newscript->pGOHello = &GOHello_go_dragonflayer_cage;
|
|
||||||
newscript->RegisterSelf();
|
|
||||||
|
|
||||||
newscript = new Script;
|
|
||||||
newscript->Name = "go_black_cage";
|
|
||||||
newscript->pGOHello = &GOHello_go_black_cage;
|
|
||||||
newscript->RegisterSelf();
|
|
||||||
|
|
||||||
newscript = new Script;
|
|
||||||
newscript->Name = "go_amberpine_outhouse";
|
|
||||||
newscript->pGOHello = &GOHello_go_amberpine_outhouse;
|
|
||||||
newscript->pGOSelect = &GOSelect_go_amberpine_outhouse;
|
|
||||||
newscript->RegisterSelf();
|
|
||||||
|
|
||||||
newscript = new Script;
|
|
||||||
newscript->Name = "go_hive_pod";
|
|
||||||
newscript->pGOHello = &GOHello_go_hive_pod;
|
|
||||||
newscript->RegisterSelf();
|
|
||||||
|
|
||||||
newscript = new Script;
|
|
||||||
newscript->Name = "go_massive_seaforium_charge";
|
|
||||||
newscript->pGOHello = &GOHello_go_massive_seaforium_charge;
|
|
||||||
newscript->RegisterSelf();
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user