Index: scripts/world/areatrigger_scripts.cpp =================================================================== --- scripts/world/areatrigger_scripts.cpp (revision 1637) +++ scripts/world/areatrigger_scripts.cpp (working copy) @@ -17,7 +17,7 @@ /* ScriptData SDName: Areatrigger_Scripts SD%Complete: 100 -SDComment: Quest support: 6681, 11686, 10589/10604, 13315/13351 +SDComment: Quest support: 6681, 11686, 10589/10604, 13315/13351, 11633, 12003 SDCategory: Areatrigger EndScriptData */ @@ -29,6 +29,12 @@ at_warsong_slaughterhouse at_warsong_grainery at_torp_farm +at_spire_of_decay +at_spire_of_blood +at_spire_of_pain +at_south_building +at_north_building +at_east_building EndContentData */ #include "precompiled.h" @@ -171,6 +177,79 @@ return true; } +/*###### +## Quest 11633 +######*/ + +enum +{ + QUEST_BLENDING_IN = 11633, + SPELL_SPIRE_OF_DECAY_CREDIT = 45627, + SPELL_SPIRE_OF_BLOOD_CREDIT = 45628, + SPELL_SPIRE_OF_PAIN_CREDIT = 45629, + AURA_SHROUD_OF_THE_SCOURGE = 45614 +}; + +bool AreaTrigger_at_spire_of_decay(Player* pPlayer, AreaTriggerEntry *pAt) +{ + if (pPlayer->HasAura(AURA_SHROUD_OF_THE_SCOURGE) && !pPlayer->isDead() && pPlayer->GetQuestStatus(QUEST_BLENDING_IN) == QUEST_STATUS_INCOMPLETE) + pPlayer->CastSpell(pPlayer,SPELL_SPIRE_OF_DECAY_CREDIT,false); + + return true; +} + +bool AreaTrigger_at_spire_of_blood(Player* pPlayer, AreaTriggerEntry *pAt) +{ + if (pPlayer->HasAura(AURA_SHROUD_OF_THE_SCOURGE) && !pPlayer->isDead() && pPlayer->GetQuestStatus(QUEST_BLENDING_IN) == QUEST_STATUS_INCOMPLETE) + pPlayer->CastSpell(pPlayer,SPELL_SPIRE_OF_BLOOD_CREDIT,false); + + return true; +} + +bool AreaTrigger_at_spire_of_pain(Player* pPlayer, AreaTriggerEntry *pAt) +{ + if (pPlayer->HasAura(AURA_SHROUD_OF_THE_SCOURGE) && !pPlayer->isDead() && pPlayer->GetQuestStatus(QUEST_BLENDING_IN) == QUEST_STATUS_INCOMPLETE) + pPlayer->CastSpell(pPlayer,SPELL_SPIRE_OF_PAIN_CREDIT,false); + + return true; +} + +/*###### +## Quest 12003 +######*/ + +enum +{ + QUEST_UNCOVERING_THE_TUNNELS = 12003, + NPC_CREDIT_NORTH_BUILDING = 26468, + NPC_CREDIT_SOUTH_BUILDING = 26469, + NPC_CREDIT_EAST_BUILDING = 26470 +}; + +bool AreaTrigger_at_south_building(Player* pPlayer, AreaTriggerEntry *pAt) +{ + if (!pPlayer->isDead() && pPlayer->GetQuestStatus(QUEST_UNCOVERING_THE_TUNNELS) == QUEST_STATUS_INCOMPLETE) + pPlayer->KilledMonsterCredit(NPC_CREDIT_SOUTH_BUILDING, 0); + + return true; +} + +bool AreaTrigger_at_north_building(Player* pPlayer, AreaTriggerEntry *pAt) +{ + if (!pPlayer->isDead() && pPlayer->GetQuestStatus(QUEST_UNCOVERING_THE_TUNNELS) == QUEST_STATUS_INCOMPLETE) + pPlayer->KilledMonsterCredit(NPC_CREDIT_NORTH_BUILDING, 0); + + return true; +} + +bool AreaTrigger_at_east_building(Player* pPlayer, AreaTriggerEntry *pAt) +{ + if (!pPlayer->isDead() && pPlayer->GetQuestStatus(QUEST_UNCOVERING_THE_TUNNELS) == QUEST_STATUS_INCOMPLETE) + pPlayer->KilledMonsterCredit(NPC_CREDIT_EAST_BUILDING, 0); + + return true; +} + void AddSC_areatrigger_scripts() { Script *newscript; @@ -209,4 +288,34 @@ newscript->Name = "at_torp_farm"; newscript->pAreaTrigger = &AreaTrigger_at_torp_farm; newscript->RegisterSelf(); + + newscript = new Script; + newscript->Name = "at_spire_of_decay"; + newscript->pAreaTrigger = &AreaTrigger_at_spire_of_decay; + newscript->RegisterSelf(); + + newscript = new Script; + newscript->Name = "at_spire_of_blood"; + newscript->pAreaTrigger = &AreaTrigger_at_spire_of_blood; + newscript->RegisterSelf(); + + newscript = new Script; + newscript->Name = "at_spire_of_pain"; + newscript->pAreaTrigger = &AreaTrigger_at_spire_of_pain; + newscript->RegisterSelf(); + + newscript = new Script; + newscript->Name = "at_south_building"; + newscript->pAreaTrigger = &AreaTrigger_at_south_building; + newscript->RegisterSelf(); + + newscript = new Script; + newscript->Name = "at_north_building"; + newscript->pAreaTrigger = &AreaTrigger_at_north_building; + newscript->RegisterSelf(); + + newscript = new Script; + newscript->Name = "at_east_building"; + newscript->pAreaTrigger = &AreaTrigger_at_east_building; + newscript->RegisterSelf(); }