mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-25 19:31:59 +01:00
More warning removal (Some code modifications and cleanup when needed)
--HG-- branch : trunk
This commit is contained in:
@@ -635,35 +635,37 @@ enum eJotunheimCage
|
||||
|
||||
bool GOHello_go_jotunheim_cage(Player* pPlayer, GameObject* pGO)
|
||||
{
|
||||
Creature* pPrisoner;
|
||||
pPrisoner = NULL;
|
||||
|
||||
if ((pPrisoner = pGO->FindNearestCreature(NPC_EBON_BLADE_PRISONER_HUMAN, 5.0f, true)) ||
|
||||
(pPrisoner = pGO->FindNearestCreature(NPC_EBON_BLADE_PRISONER_TROLL, 5.0f, true)) ||
|
||||
(pPrisoner = pGO->FindNearestCreature(NPC_EBON_BLADE_PRISONER_ORC, 5.0f, true)) ||
|
||||
(pPrisoner = pGO->FindNearestCreature(NPC_EBON_BLADE_PRISONER_NE, 5.0f, true)))
|
||||
Creature* pPrisoner = pGO->FindNearestCreature(NPC_EBON_BLADE_PRISONER_HUMAN, 5.0f, true);
|
||||
if (!pPrisoner)
|
||||
{
|
||||
if (pPrisoner && pPrisoner->isAlive())
|
||||
pPrisoner = pGO->FindNearestCreature(NPC_EBON_BLADE_PRISONER_TROLL, 5.0f, true);
|
||||
if (!pPrisoner)
|
||||
{
|
||||
pPrisoner->DisappearAndDie();
|
||||
pPlayer->KilledMonsterCredit(NPC_EBON_BLADE_PRISONER_HUMAN, 0);
|
||||
switch(pPrisoner->GetEntry())
|
||||
{
|
||||
case NPC_EBON_BLADE_PRISONER_HUMAN:
|
||||
pPlayer->CastSpell(pPlayer,SPELL_SUMMON_BLADE_KNIGHT_H,true);
|
||||
break;
|
||||
case NPC_EBON_BLADE_PRISONER_NE:
|
||||
pPlayer->CastSpell(pPlayer,SPELL_SUMMON_BLADE_KNIGHT_NE,true);
|
||||
break;
|
||||
case NPC_EBON_BLADE_PRISONER_TROLL:
|
||||
pPlayer->CastSpell(pPlayer,SPELL_SUMMON_BLADE_KNIGHT_TROLL,true);
|
||||
break;
|
||||
case NPC_EBON_BLADE_PRISONER_ORC:
|
||||
pPlayer->CastSpell(pPlayer,SPELL_SUMMON_BLADE_KNIGHT_ORC,true);
|
||||
break;
|
||||
}
|
||||
pPrisoner = pGO->FindNearestCreature(NPC_EBON_BLADE_PRISONER_ORC, 5.0f, true);
|
||||
if (!pPrisoner)
|
||||
pPrisoner = pGO->FindNearestCreature(NPC_EBON_BLADE_PRISONER_NE, 5.0f, true);
|
||||
}
|
||||
}
|
||||
if (!pPrisoner || !pPrisoner->isAlive())
|
||||
return false;
|
||||
|
||||
pPrisoner->DisappearAndDie();
|
||||
pPlayer->KilledMonsterCredit(NPC_EBON_BLADE_PRISONER_HUMAN, 0);
|
||||
switch(pPrisoner->GetEntry())
|
||||
{
|
||||
case NPC_EBON_BLADE_PRISONER_HUMAN:
|
||||
pPlayer->CastSpell(pPlayer,SPELL_SUMMON_BLADE_KNIGHT_H,true);
|
||||
break;
|
||||
case NPC_EBON_BLADE_PRISONER_NE:
|
||||
pPlayer->CastSpell(pPlayer,SPELL_SUMMON_BLADE_KNIGHT_NE,true);
|
||||
break;
|
||||
case NPC_EBON_BLADE_PRISONER_TROLL:
|
||||
pPlayer->CastSpell(pPlayer,SPELL_SUMMON_BLADE_KNIGHT_TROLL,true);
|
||||
break;
|
||||
case NPC_EBON_BLADE_PRISONER_ORC:
|
||||
pPlayer->CastSpell(pPlayer,SPELL_SUMMON_BLADE_KNIGHT_ORC,true);
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
enum eTableTheka
|
||||
@@ -758,14 +760,26 @@ enum ePrisonersOfWyrmskull
|
||||
|
||||
bool GOHello_go_dragonflayer_cage(Player *pPlayer, GameObject *pGO)
|
||||
{
|
||||
Creature *pPrisoner = NULL;
|
||||
Quest const* qInfo = objmgr.GetQuestTemplate(QUEST_PRISONERS_OF_WYRMSKULL);
|
||||
if (pPlayer->GetQuestStatus(QUEST_PRISONERS_OF_WYRMSKULL) != QUEST_STATUS_INCOMPLETE)
|
||||
return true;
|
||||
|
||||
if (pPlayer->GetQuestStatus(QUEST_PRISONERS_OF_WYRMSKULL) == QUEST_STATUS_INCOMPLETE &&
|
||||
((pPrisoner = pGO->FindNearestCreature(NPC_PRISONER_PRIEST,2.0f)) ||
|
||||
(pPrisoner = pGO->FindNearestCreature(NPC_PRISONER_MAGE,2.0f)) ||
|
||||
(pPrisoner = pGO->FindNearestCreature(NPC_PRISONER_WARRIOR,2.0f)) ||
|
||||
(pPrisoner = pGO->FindNearestCreature(NPC_PRISONER_PALADIN,2.0f))) && pPrisoner->isAlive())
|
||||
Creature* pPrisoner = pGO->FindNearestCreature(NPC_PRISONER_PRIEST, 2.0f);
|
||||
if (!pPrisoner)
|
||||
{
|
||||
pPrisoner = pGO->FindNearestCreature(NPC_PRISONER_MAGE, 2.0f);
|
||||
if (!pPrisoner)
|
||||
{
|
||||
pPrisoner = pGO->FindNearestCreature(NPC_PRISONER_WARRIOR, 2.0f);
|
||||
if (!pPrisoner)
|
||||
pPrisoner = pGO->FindNearestCreature(NPC_PRISONER_PALADIN, 2.0f);
|
||||
}
|
||||
}
|
||||
|
||||
if (!pPrisoner || !pPrisoner->isAlive())
|
||||
return true;
|
||||
|
||||
Quest const* qInfo = objmgr.GetQuestTemplate(QUEST_PRISONERS_OF_WYRMSKULL);
|
||||
if (qInfo)
|
||||
{
|
||||
//TODO: prisoner should help player for a short period of time
|
||||
pPlayer->KilledMonsterCredit(qInfo->ReqCreatureOrGOId[0],0);
|
||||
@@ -787,15 +801,17 @@ enum eTadpoles
|
||||
|
||||
bool GOHello_go_tadpole_cage(Player *pPlayer, GameObject *pGO)
|
||||
{
|
||||
Creature *pTadpole;
|
||||
if (pPlayer->GetQuestStatus(QUEST_OH_NOES_THE_TADPOLES) == QUEST_STATUS_INCOMPLETE &&
|
||||
(pTadpole = pGO->FindNearestCreature(NPC_WINTERFIN_TADPOLE,1.0f)))
|
||||
if (pPlayer->GetQuestStatus(QUEST_OH_NOES_THE_TADPOLES) == QUEST_STATUS_INCOMPLETE)
|
||||
{
|
||||
Creature *pTadpole = pGO->FindNearestCreature(NPC_WINTERFIN_TADPOLE,1.0f);
|
||||
if (pTadpole)
|
||||
{
|
||||
pGO->UseDoorOrButton();
|
||||
pTadpole->DisappearAndDie();
|
||||
pPlayer->KilledMonsterCredit(NPC_WINTERFIN_TADPOLE,0);
|
||||
//FIX: Summon minion tadpole
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -814,14 +830,18 @@ enum eReallyDoneItThisTime
|
||||
|
||||
bool GOHello_go_black_cage(Player *pPlayer, GameObject *pGO)
|
||||
{
|
||||
Creature *pPrisoner;
|
||||
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)) &&
|
||||
((pPrisoner = pGO->FindNearestCreature(NPC_CAPTIVE_ASPIRANT,1.0f)) || (pPrisoner = pGO->FindNearestCreature(NPC_KUL,1.0f))))
|
||||
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))
|
||||
{
|
||||
pGO->UseDoorOrButton();
|
||||
pPrisoner->DisappearAndDie();
|
||||
pPlayer->KilledMonsterCredit(pPrisoner->GetEntry(),0);
|
||||
Creature *pPrisoner = pGO->FindNearestCreature(NPC_CAPTIVE_ASPIRANT,1.0f);
|
||||
if (!pPrisoner)
|
||||
pPrisoner = pGO->FindNearestCreature(NPC_KUL,1.0f);
|
||||
if (pPrisoner)
|
||||
{
|
||||
pGO->UseDoorOrButton();
|
||||
pPrisoner->DisappearAndDie();
|
||||
pPlayer->KilledMonsterCredit(pPrisoner->GetEntry(),0);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -893,14 +913,13 @@ enum eProphecy
|
||||
|
||||
bool GOHello_go_stillpine_cage(Player *pPlayer, GameObject *pGO)
|
||||
{
|
||||
Creature *pPrisoner;
|
||||
if (pPlayer->GetQuestStatus(QUEST_PROPHECY_OF_AKIDA) == QUEST_STATUS_INCOMPLETE &&
|
||||
(pPrisoner = pGO->FindNearestCreature(NPC_STILLPINE_CAPTIVE,1.0f)))
|
||||
{
|
||||
pGO->UseDoorOrButton();
|
||||
pPrisoner->DisappearAndDie();
|
||||
pPlayer->KilledMonsterCredit(pPrisoner->GetEntry(),0);
|
||||
}
|
||||
if (pPlayer->GetQuestStatus(QUEST_PROPHECY_OF_AKIDA) == QUEST_STATUS_INCOMPLETE)
|
||||
if (Creature *pPrisoner = pGO->FindNearestCreature(NPC_STILLPINE_CAPTIVE,1.0f))
|
||||
{
|
||||
pGO->UseDoorOrButton();
|
||||
pPrisoner->DisappearAndDie();
|
||||
pPlayer->KilledMonsterCredit(pPrisoner->GetEntry(),0);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -253,36 +253,40 @@ enum ePileFakeFur
|
||||
GO_HIGH_QUALITY_FUR = 187983,
|
||||
NPC_NESINGWARY_TRAPPER = 25835
|
||||
};
|
||||
|
||||
#define CaribouTrapsNum 15
|
||||
const uint32 CaribouTraps[CaribouTrapsNum] =
|
||||
{
|
||||
GO_CARIBOU_TRAP_1, GO_CARIBOU_TRAP_2, GO_CARIBOU_TRAP_3, GO_CARIBOU_TRAP_4, GO_CARIBOU_TRAP_5,
|
||||
GO_CARIBOU_TRAP_6, GO_CARIBOU_TRAP_7, GO_CARIBOU_TRAP_8, GO_CARIBOU_TRAP_9, GO_CARIBOU_TRAP_10,
|
||||
GO_CARIBOU_TRAP_11, GO_CARIBOU_TRAP_12, GO_CARIBOU_TRAP_13, GO_CARIBOU_TRAP_14, GO_CARIBOU_TRAP_15,
|
||||
};
|
||||
|
||||
|
||||
bool ItemUse_item_pile_fake_furs(Player *pPlayer, Item * /*pItem*/, SpellCastTargets const & /*targets*/)
|
||||
{
|
||||
GameObject *pGo;
|
||||
if ((pGo = pPlayer->FindNearestGameObject(GO_CARIBOU_TRAP_1, 5.0f)) ||
|
||||
(pGo = pPlayer->FindNearestGameObject(GO_CARIBOU_TRAP_2, 5.0f)) ||
|
||||
(pGo = pPlayer->FindNearestGameObject(GO_CARIBOU_TRAP_3, 5.0f)) ||
|
||||
(pGo = pPlayer->FindNearestGameObject(GO_CARIBOU_TRAP_4, 5.0f)) ||
|
||||
(pGo = pPlayer->FindNearestGameObject(GO_CARIBOU_TRAP_5, 5.0f)) ||
|
||||
(pGo = pPlayer->FindNearestGameObject(GO_CARIBOU_TRAP_6, 5.0f)) ||
|
||||
(pGo = pPlayer->FindNearestGameObject(GO_CARIBOU_TRAP_7, 5.0f)) ||
|
||||
(pGo = pPlayer->FindNearestGameObject(GO_CARIBOU_TRAP_8, 5.0f)) ||
|
||||
(pGo = pPlayer->FindNearestGameObject(GO_CARIBOU_TRAP_9, 5.0f)) ||
|
||||
(pGo = pPlayer->FindNearestGameObject(GO_CARIBOU_TRAP_10, 5.0f)) ||
|
||||
(pGo = pPlayer->FindNearestGameObject(GO_CARIBOU_TRAP_11, 5.0f)) ||
|
||||
(pGo = pPlayer->FindNearestGameObject(GO_CARIBOU_TRAP_12, 5.0f)) ||
|
||||
(pGo = pPlayer->FindNearestGameObject(GO_CARIBOU_TRAP_13, 5.0f)) ||
|
||||
(pGo = pPlayer->FindNearestGameObject(GO_CARIBOU_TRAP_14, 5.0f)) ||
|
||||
(pGo = pPlayer->FindNearestGameObject(GO_CARIBOU_TRAP_15, 5.0f)))
|
||||
GameObject *pGo = NULL;
|
||||
for (uint8 i = 0; i < CaribouTrapsNum; ++i)
|
||||
{
|
||||
if (pGo->FindNearestCreature(NPC_NESINGWARY_TRAPPER, 10.0f, true) || pGo->FindNearestCreature(NPC_NESINGWARY_TRAPPER, 10.0f, false) || pGo->FindNearestGameObject(GO_HIGH_QUALITY_FUR, 2.0f))
|
||||
return true;
|
||||
float x, y, z;
|
||||
pGo->GetClosePoint(x, y, z, pGo->GetObjectSize() / 3, 7.0f);
|
||||
pGo->SummonGameObject(GO_HIGH_QUALITY_FUR, pGo->GetPositionX(), pGo->GetPositionY(), pGo->GetPositionZ(), 0, 0, 0, 0, 0, 1000);
|
||||
if (TempSummon* summon = pPlayer->SummonCreature(NPC_NESINGWARY_TRAPPER, x, y, z, pGo->GetOrientation(), TEMPSUMMON_DEAD_DESPAWN, 1000))
|
||||
{
|
||||
summon->SetVisibility(VISIBILITY_OFF);
|
||||
summon->SetReactState(REACT_PASSIVE);
|
||||
summon->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
|
||||
}
|
||||
pGo = pPlayer->FindNearestGameObject(CaribouTraps[i], 5.0f);
|
||||
if (pGo)
|
||||
break;
|
||||
}
|
||||
|
||||
if (!pGo)
|
||||
return false;
|
||||
|
||||
if (pGo->FindNearestCreature(NPC_NESINGWARY_TRAPPER, 10.0f, true) || pGo->FindNearestCreature(NPC_NESINGWARY_TRAPPER, 10.0f, false) || pGo->FindNearestGameObject(GO_HIGH_QUALITY_FUR, 2.0f))
|
||||
return true;
|
||||
|
||||
float x, y, z;
|
||||
pGo->GetClosePoint(x, y, z, pGo->GetObjectSize() / 3, 7.0f);
|
||||
pGo->SummonGameObject(GO_HIGH_QUALITY_FUR, pGo->GetPositionX(), pGo->GetPositionY(), pGo->GetPositionZ(), 0, 0, 0, 0, 0, 1000);
|
||||
if (TempSummon* summon = pPlayer->SummonCreature(NPC_NESINGWARY_TRAPPER, x, y, z, pGo->GetOrientation(), TEMPSUMMON_DEAD_DESPAWN, 1000))
|
||||
{
|
||||
summon->SetVisibility(VISIBILITY_OFF);
|
||||
summon->SetReactState(REACT_PASSIVE);
|
||||
summon->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@@ -348,41 +352,38 @@ enum eHelpThemselves
|
||||
GO_MAMMOTH_TRAP_22 = 188044,
|
||||
};
|
||||
|
||||
#define MammothTrapsNum 22
|
||||
const uint32 MammothTraps[MammothTrapsNum] =
|
||||
{
|
||||
GO_MAMMOTH_TRAP_1, GO_MAMMOTH_TRAP_2, GO_MAMMOTH_TRAP_3, GO_MAMMOTH_TRAP_4, GO_MAMMOTH_TRAP_5,
|
||||
GO_MAMMOTH_TRAP_6, GO_MAMMOTH_TRAP_7, GO_MAMMOTH_TRAP_8, GO_MAMMOTH_TRAP_9, GO_MAMMOTH_TRAP_10,
|
||||
GO_MAMMOTH_TRAP_11, GO_MAMMOTH_TRAP_12, GO_MAMMOTH_TRAP_13, GO_MAMMOTH_TRAP_14, GO_MAMMOTH_TRAP_15,
|
||||
GO_MAMMOTH_TRAP_16, GO_MAMMOTH_TRAP_17, GO_MAMMOTH_TRAP_18, GO_MAMMOTH_TRAP_19, GO_MAMMOTH_TRAP_20,
|
||||
GO_MAMMOTH_TRAP_21, GO_MAMMOTH_TRAP_22
|
||||
};
|
||||
|
||||
bool ItemUse_item_dehta_trap_smasher(Player* pPlayer, Item* /*pItem*/, const SpellCastTargets & /*pTargets*/)
|
||||
{
|
||||
if (pPlayer->GetQuestStatus(QUEST_CANNOT_HELP_THEMSELVES) != QUEST_STATUS_INCOMPLETE)
|
||||
return false;
|
||||
|
||||
Creature* pMammoth;
|
||||
pMammoth = pPlayer->FindNearestCreature(NPC_TRAPPED_MAMMOTH_CALF,5.0f);
|
||||
if (!pMammoth)
|
||||
return false;
|
||||
|
||||
GameObject* pTrap;
|
||||
|
||||
if (pPlayer->GetQuestStatus(QUEST_CANNOT_HELP_THEMSELVES) == QUEST_STATUS_INCOMPLETE &&
|
||||
(pMammoth = pPlayer->FindNearestCreature(NPC_TRAPPED_MAMMOTH_CALF,5.0f)) &&
|
||||
((pTrap = pPlayer->FindNearestGameObject(GO_MAMMOTH_TRAP_1,5.0f)) ||
|
||||
(pTrap = pPlayer->FindNearestGameObject(GO_MAMMOTH_TRAP_2,5.0f)) ||
|
||||
(pTrap = pPlayer->FindNearestGameObject(GO_MAMMOTH_TRAP_3,5.0f)) ||
|
||||
(pTrap = pPlayer->FindNearestGameObject(GO_MAMMOTH_TRAP_4,5.0f)) ||
|
||||
(pTrap = pPlayer->FindNearestGameObject(GO_MAMMOTH_TRAP_5,5.0f)) ||
|
||||
(pTrap = pPlayer->FindNearestGameObject(GO_MAMMOTH_TRAP_6,5.0f)) ||
|
||||
(pTrap = pPlayer->FindNearestGameObject(GO_MAMMOTH_TRAP_7,5.0f)) ||
|
||||
(pTrap = pPlayer->FindNearestGameObject(GO_MAMMOTH_TRAP_8,5.0f)) ||
|
||||
(pTrap = pPlayer->FindNearestGameObject(GO_MAMMOTH_TRAP_9,5.0f)) ||
|
||||
(pTrap = pPlayer->FindNearestGameObject(GO_MAMMOTH_TRAP_10,5.0f)) ||
|
||||
(pTrap = pPlayer->FindNearestGameObject(GO_MAMMOTH_TRAP_11,5.0f)) ||
|
||||
(pTrap = pPlayer->FindNearestGameObject(GO_MAMMOTH_TRAP_12,5.0f)) ||
|
||||
(pTrap = pPlayer->FindNearestGameObject(GO_MAMMOTH_TRAP_13,5.0f)) ||
|
||||
(pTrap = pPlayer->FindNearestGameObject(GO_MAMMOTH_TRAP_14,5.0f)) ||
|
||||
(pTrap = pPlayer->FindNearestGameObject(GO_MAMMOTH_TRAP_15,5.0f)) ||
|
||||
(pTrap = pPlayer->FindNearestGameObject(GO_MAMMOTH_TRAP_16,5.0f)) ||
|
||||
(pTrap = pPlayer->FindNearestGameObject(GO_MAMMOTH_TRAP_17,5.0f)) ||
|
||||
(pTrap = pPlayer->FindNearestGameObject(GO_MAMMOTH_TRAP_18,5.0f)) ||
|
||||
(pTrap = pPlayer->FindNearestGameObject(GO_MAMMOTH_TRAP_19,5.0f)) ||
|
||||
(pTrap = pPlayer->FindNearestGameObject(GO_MAMMOTH_TRAP_20,5.0f)) ||
|
||||
(pTrap = pPlayer->FindNearestGameObject(GO_MAMMOTH_TRAP_21,5.0f)) ||
|
||||
(pTrap = pPlayer->FindNearestGameObject(GO_MAMMOTH_TRAP_22,5.0f))))
|
||||
for (uint8 i = 0; i < MammothTrapsNum; ++i)
|
||||
{
|
||||
pMammoth->AI()->DoAction(1);
|
||||
pTrap->SetGoState(GO_STATE_READY);
|
||||
pPlayer->KilledMonsterCredit(NPC_TRAPPED_MAMMOTH_CALF,0);
|
||||
}
|
||||
|
||||
pTrap = pPlayer->FindNearestGameObject(MammothTraps[i],11.0f);
|
||||
if (pTrap)
|
||||
{
|
||||
pMammoth->AI()->DoAction(1);
|
||||
pTrap->SetGoState(GO_STATE_READY);
|
||||
pPlayer->KilledMonsterCredit(NPC_TRAPPED_MAMMOTH_CALF,0);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user