Core/WorldStates: Migrate battleground worldstates to new system

Port From (https://github.com/TrinityCore/TrinityCore/commit/5dbfaecd5c020fd4c3b3dfc235580849c39ce7db)
This commit is contained in:
hondacrx
2022-07-10 14:59:20 -04:00
parent d0cc9645b9
commit ae9308c1cb
17 changed files with 693 additions and 1128 deletions
-192
View File
@@ -49,119 +49,6 @@ namespace Scripts.World.Achievements
public const uint AntiPersonnalCannon = 27894;
}
[Script]
class achievement_resilient_victory : AchievementCriteriaScript
{
public achievement_resilient_victory() : base("achievement_resilient_victory") { }
public override bool OnCheck(Player source, Unit target)
{
Battleground bg = source.GetBattleground();
if (bg)
return bg.CheckAchievementCriteriaMeet((uint)BattlegroundCriteriaId.ResilientVictory, source, target);
return false;
}
}
[Script]
class achievement_bg_control_all_nodes : AchievementCriteriaScript
{
public achievement_bg_control_all_nodes() : base("achievement_bg_control_all_nodes") { }
public override bool OnCheck(Player source, Unit target)
{
Battleground bg = source.GetBattleground();
if (bg)
return bg.IsAllNodesControlledByTeam(bg.GetPlayerTeam(source.GetGUID()));
return false;
}
}
[Script]
class achievement_save_the_day : AchievementCriteriaScript
{
public achievement_save_the_day() : base("achievement_save_the_day") { }
public override bool OnCheck(Player source, Unit target)
{
Battleground bg = source.GetBattleground();
if (bg)
return bg.CheckAchievementCriteriaMeet((uint)BattlegroundCriteriaId.SaveTheDay, source, target);
return false;
}
}
[Script]
class achievement_bg_ic_resource_glut : AchievementCriteriaScript
{
public achievement_bg_ic_resource_glut() : base("achievement_bg_ic_resource_glut") { }
public override bool OnCheck(Player source, Unit target)
{
if (source.HasAura(ICSpells.OilRefinery) && source.HasAura(ICSpells.Quarry))
return true;
return false;
}
}
[Script]
class achievement_bg_ic_glaive_grave : AchievementCriteriaScript
{
public achievement_bg_ic_glaive_grave() : base("achievement_bg_ic_glaive_grave") { }
public override bool OnCheck(Player source, Unit target)
{
Creature vehicle = source.GetVehicleCreatureBase();
if (vehicle)
{
if (vehicle.GetEntry() == ICCreatures.GlaiveThrowerH || vehicle.GetEntry() == ICCreatures.GlaiveThrowerA)
return true;
}
return false;
}
}
[Script]
class achievement_bg_ic_mowed_down : AchievementCriteriaScript
{
public achievement_bg_ic_mowed_down() : base("achievement_bg_ic_mowed_down") { }
public override bool OnCheck(Player source, Unit target)
{
Creature vehicle = source.GetVehicleCreatureBase();
if (vehicle)
{
if (vehicle.GetEntry() == ICCreatures.KeepCannon)
return true;
}
return false;
}
}
[Script]
class achievement_bg_sa_artillery : AchievementCriteriaScript
{
public achievement_bg_sa_artillery() : base("achievement_bg_sa_artillery") { }
public override bool OnCheck(Player source, Unit target)
{
Creature vehicle = source.GetVehicleCreatureBase();
if (vehicle)
{
if (vehicle.GetEntry() == VehicleIds.AntiPersonnalCannon)
return true;
}
return false;
}
}
[Script("achievement_arena_2v2_kills", ArenaTypes.Team2v2)]
[Script("achievement_arena_3v3_kills", ArenaTypes.Team3v3)]
[Script("achievement_arena_5v5_kills", ArenaTypes.Team5v5)]
@@ -184,70 +71,6 @@ namespace Scripts.World.Achievements
}
}
[Script]
class achievement_sickly_gazelle : AchievementCriteriaScript
{
public achievement_sickly_gazelle() : base("achievement_sickly_gazelle") { }
public override bool OnCheck(Player source, Unit target)
{
if (!target)
return false;
Player victim = target.ToPlayer();
if (victim)
if (victim.IsMounted())
return true;
return false;
}
}
[Script]
class achievement_everything_counts : AchievementCriteriaScript
{
public achievement_everything_counts() : base("achievement_everything_counts") { }
public override bool OnCheck(Player source, Unit target)
{
Battleground bg = source.GetBattleground();
if (bg)
return bg.CheckAchievementCriteriaMeet((uint)BattlegroundCriteriaId.EverythingCounts, source, target);
return false;
}
}
[Script]
class achievement_bg_av_perfection : AchievementCriteriaScript
{
public achievement_bg_av_perfection() : base("achievement_bg_av_perfection") { }
public override bool OnCheck(Player source, Unit target)
{
Battleground bg = source.GetBattleground();
if (bg)
return bg.CheckAchievementCriteriaMeet((uint)BattlegroundCriteriaId.AvPerfection, source, target);
return false;
}
}
[Script]
class achievement_bg_sa_defense_of_ancients : AchievementCriteriaScript
{
public achievement_bg_sa_defense_of_ancients() : base("achievement_bg_sa_defense_of_ancients") { }
public override bool OnCheck(Player source, Unit target)
{
Battleground bg = source.GetBattleground();
if (bg)
return bg.CheckAchievementCriteriaMeet((uint)BattlegroundCriteriaId.DefenseOfTheAncients, source, target);
return false;
}
}
[Script]
class achievement_tilted : AchievementCriteriaScript
{
@@ -269,21 +92,6 @@ namespace Scripts.World.Achievements
}
}
[Script]
class achievement_not_even_a_scratch : AchievementCriteriaScript
{
public achievement_not_even_a_scratch() : base("achievement_not_even_a_scratch") { }
public override bool OnCheck(Player source, Unit target)
{
Battleground bg = source.GetBattleground();
if (bg)
return bg.CheckAchievementCriteriaMeet((uint)BattlegroundCriteriaId.NotEvenAScratch, source, target);
return false;
}
}
[Script]
class achievement_flirt_with_disaster_perf_check : AchievementCriteriaScript
{