Scripts/Icecrown Citadel:

Corrected wing sigil visuals
Fixed saving Blood Quickening quest state to db
Remove Blood Quickening timer on completion

DB/Instances: Added some missing spawns to Frostwing Halls
This commit is contained in:
Shauren
2011-03-18 19:39:19 +01:00
parent ca02708564
commit 368eaf7f2f
4 changed files with 24 additions and 11 deletions
@@ -193,15 +193,17 @@ class boss_blood_queen_lana_thel : public CreatureScript
// Blah, credit the quest
if (creditBloodQuickening)
{
instance->SetData(DATA_BLOOD_QUICKENING_STATE, DONE);
if (Player* plr = killer->ToPlayer())
plr->RewardPlayerAndGroupAtEvent(NPC_INFILTRATOR_MINCHAR_BQ, plr);
if (Creature* minchar = me->FindNearestCreature(NPC_INFILTRATOR_MINCHAR_BQ, 200.0f))
{
minchar->SetUInt32Value(UNIT_NPC_EMOTESTATE, 0);
minchar->RemoveByteFlag(UNIT_FIELD_BYTES_1, 3, 0x01);
minchar->SetFlying(false);
minchar->SendMovementFlagUpdate();
minchar->RemoveAllAuras();
minchar->GetMotionMaster()->MoveCharge(4629.3711f, 2782.6089f, 401.5301f, SPEED_CHARGE/2.0f);
minchar->GetMotionMaster()->MoveCharge(4629.3711f, 2782.6089f, 401.5301f, SPEED_CHARGE/3.0f);
}
}
}
@@ -15,8 +15,8 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef DEF_ICECROWN_CITADEL_H
#define DEF_ICECROWN_CITADEL_H
#ifndef ICECROWN_CITADEL_H_
#define ICECROWN_CITADEL_H_
#define ICCScriptName "instance_icecrown_citadel"
uint32 const EncounterCount = 12;
@@ -326,4 +326,4 @@ enum WorldStatesICC
WORLDSTATE_ATTEMPTS_MAX = 4942,
};
#endif // DEF_ICECROWN_CITADEL_H
#endif // ICECROWN_CITADEL_H_
@@ -320,18 +320,18 @@ class instance_icecrown_citadel : public InstanceMapScript
break;
case GO_PLAGUE_SIGIL:
plagueSigil = go->GetGUID();
if (GetBossState(DATA_PROFESSOR_PUTRICIDE))
HandleGameObject(plagueSigil, true, go);
if (GetBossState(DATA_PROFESSOR_PUTRICIDE) == DONE)
HandleGameObject(plagueSigil, false, go);
break;
case GO_BLOODWING_SIGIL:
bloodwingSigil = go->GetGUID();
if (GetBossState(DATA_PROFESSOR_PUTRICIDE))
HandleGameObject(bloodwingSigil, true, go);
if (GetBossState(DATA_BLOOD_QUEEN_LANA_THEL) == DONE)
HandleGameObject(bloodwingSigil, false, go);
break;
case GO_SIGIL_OF_THE_FROSTWING:
frostwingSigil = go->GetGUID();
if (GetBossState(DATA_PROFESSOR_PUTRICIDE))
HandleGameObject(frostwingSigil, true, go);
if (GetBossState(DATA_SINDRAGOSA) == DONE)
HandleGameObject(frostwingSigil, false, go);
break;
case GO_SCIENTIST_AIRLOCK_DOOR_COLLISION:
putricideCollision = go->GetGUID();
@@ -414,6 +414,8 @@ class instance_icecrown_citadel : public InstanceMapScript
return coldflameJetsState;
case DATA_TEAM_IN_INSTANCE:
return teamInInstance;
case DATA_BLOOD_QUICKENING_STATE:
return bloodQuickeningState;
case DATA_HEROIC_ATTEMPTS:
return heroicAttempts;
default:
@@ -667,6 +669,7 @@ class instance_icecrown_citadel : public InstanceMapScript
break;
}
bloodQuickeningState = data;
SaveToDB();
break;
}
default:
@@ -901,7 +904,7 @@ class instance_icecrown_citadel : public InstanceMapScript
void Update(uint32 diff)
{
if (bloodQuickeningMinutes)
if (bloodQuickeningState == IN_PROGRESS)
{
if (bloodQuickeningTimer <= diff)
{