mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-22 10:05:32 +01:00
Script/Creature: Scarshield Infiltrator/Vaelan.
(cherry picked from commit fdc4ab4ab4)
This commit is contained in:
@@ -50,7 +50,8 @@ enum BRSDataTypes
|
||||
DATA_HALL_RUNE_4 = 19,
|
||||
DATA_HALL_RUNE_5 = 20,
|
||||
DATA_HALL_RUNE_6 = 21,
|
||||
DATA_HALL_RUNE_7 = 22
|
||||
DATA_HALL_RUNE_7 = 22,
|
||||
DATA_SCARSHIELD_INFILTRATOR = 23
|
||||
};
|
||||
|
||||
enum BRSCreaturesIds
|
||||
@@ -73,7 +74,8 @@ enum BRSCreaturesIds
|
||||
NPC_BLACKHAND_SUMMONER = 9818,
|
||||
NPC_BLACKHAND_VETERAN = 9819,
|
||||
NPC_BLACKHAND_INCARCERATOR = 10316,
|
||||
NPC_LORD_VICTOR_NEFARIUS = 10162
|
||||
NPC_LORD_VICTOR_NEFARIUS = 10162,
|
||||
NPC_SCARSHIELD_INFILTRATOR = 10299
|
||||
};
|
||||
|
||||
enum BRSAdditionalData
|
||||
|
||||
@@ -107,6 +107,9 @@ public:
|
||||
if (GetBossState(DATA_GYTH) == DONE)
|
||||
creature->DisappearAndDie();
|
||||
break;
|
||||
case NPC_SCARSHIELD_INFILTRATOR:
|
||||
ScarshieldInfiltrator = creature->GetGUID();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -316,6 +319,8 @@ public:
|
||||
return TheBeast;
|
||||
case DATA_GENERAL_DRAKKISATH:
|
||||
return GeneralDrakkisath;
|
||||
case DATA_SCARSHIELD_INFILTRATOR:
|
||||
return ScarshieldInfiltrator;
|
||||
case GO_EMBERSEER_IN:
|
||||
return go_emberseerin;
|
||||
case GO_DOORS:
|
||||
@@ -494,6 +499,7 @@ public:
|
||||
ObjectGuid LordVictorNefarius;
|
||||
ObjectGuid TheBeast;
|
||||
ObjectGuid GeneralDrakkisath;
|
||||
ObjectGuid ScarshieldInfiltrator;
|
||||
ObjectGuid go_emberseerin;
|
||||
ObjectGuid go_doors;
|
||||
ObjectGuid go_emberseerout;
|
||||
@@ -563,9 +569,33 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
class at_nearby_scarshield_infiltrator : public AreaTriggerScript
|
||||
{
|
||||
public:
|
||||
at_nearby_scarshield_infiltrator() : AreaTriggerScript("at_nearby_scarshield_infiltrator") { }
|
||||
|
||||
bool OnTrigger(Player* player, const AreaTriggerEntry* /*at*/, bool /*entered*/) override
|
||||
{
|
||||
if (player && player->IsAlive())
|
||||
if (InstanceScript* instance = player->GetInstanceScript())
|
||||
if (Creature* infiltrator = ObjectAccessor::GetCreature(*player, instance->GetGuidData(DATA_SCARSHIELD_INFILTRATOR)))
|
||||
{
|
||||
if (player->getLevel() >= 57)
|
||||
infiltrator->AI()->SetData(1, 1);
|
||||
else if (infiltrator->GetEntry() == NPC_SCARSHIELD_INFILTRATOR)
|
||||
infiltrator->AI()->Talk(0, player);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_instance_blackrock_spire()
|
||||
{
|
||||
new instance_blackrock_spire();
|
||||
new at_dragonspire_hall();
|
||||
new at_blackrock_stadium();
|
||||
new at_nearby_scarshield_infiltrator();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user