From bb67c45e64a23779f9678bb1ca687dce651f8470 Mon Sep 17 00:00:00 2001 From: Yunfan Li Date: Mon, 5 Aug 2024 12:12:00 +0800 Subject: [PATCH] Code style --- src/strategy/actions/FollowActions.cpp | 3 +- src/strategy/actions/MovementActions.cpp | 7 +- src/strategy/triggers/TriggerContext.h | 374 +++++++++++------------ 3 files changed, 183 insertions(+), 201 deletions(-) diff --git a/src/strategy/actions/FollowActions.cpp b/src/strategy/actions/FollowActions.cpp index d0e6fb6b..81be99a6 100644 --- a/src/strategy/actions/FollowActions.cpp +++ b/src/strategy/actions/FollowActions.cpp @@ -29,7 +29,8 @@ bool FollowAction::Execute(Event event) if (Formation::IsNullLocation(loc) || loc.GetMapId() == -1) return false; - moved = MoveTo(loc.GetMapId(), loc.GetPositionX(), loc.GetPositionY(), loc.GetPositionZ(), false, false, false, true); + moved = MoveTo(loc.GetMapId(), loc.GetPositionX(), loc.GetPositionY(), loc.GetPositionZ(), false, false, false, + true); } if (Pet* pet = bot->GetPet()) diff --git a/src/strategy/actions/MovementActions.cpp b/src/strategy/actions/MovementActions.cpp index 38ac44a1..3bc458af 100644 --- a/src/strategy/actions/MovementActions.cpp +++ b/src/strategy/actions/MovementActions.cpp @@ -161,7 +161,8 @@ bool MovementAction::MoveToLOS(WorldObject* target, bool ranged) return false; } -bool MovementAction::MoveTo(uint32 mapId, float x, float y, float z, bool idle, bool react, bool normal_only, bool exact_waypoint) +bool MovementAction::MoveTo(uint32 mapId, float x, float y, float z, bool idle, bool react, bool normal_only, + bool exact_waypoint) { UpdateMovementState(); if (!IsMovingAllowed(mapId, x, y, z)) @@ -796,8 +797,8 @@ bool MovementAction::ReachCombatTo(Unit* target, float distance) targetMoveDist = std::min(5.0f, targetMoveDist); tx += targetMoveDist * cos(target->GetOrientation()); ty += targetMoveDist * sin(target->GetOrientation()); - if (!target->GetMap()->CheckCollisionAndGetValidCoords(target, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), - tx, ty, tz)) + if (!target->GetMap()->CheckCollisionAndGetValidCoords(target, target->GetPositionX(), target->GetPositionY(), + target->GetPositionZ(), tx, ty, tz)) { // disable prediction if position is invalid tx = target->GetPositionX(); diff --git a/src/strategy/triggers/TriggerContext.h b/src/strategy/triggers/TriggerContext.h index 2b5cbd06..d7853110 100644 --- a/src/strategy/triggers/TriggerContext.h +++ b/src/strategy/triggers/TriggerContext.h @@ -184,202 +184,182 @@ public: creators["buy tabard"] = &TriggerContext::buy_tabard; creators["leave large guild"] = &TriggerContext::leave_large_guild; } - private: - static Trigger* give_food(PlayerbotAI * botAI) { return new GiveFoodTrigger(botAI); } - static Trigger* give_water(PlayerbotAI * botAI) { return new GiveWaterTrigger(botAI); } - static Trigger* no_rti(PlayerbotAI * botAI) { return new NoRtiTrigger(botAI); } - static Trigger* _return(PlayerbotAI * botAI) { return new ReturnTrigger(botAI); } - static Trigger* sit(PlayerbotAI * botAI) { return new SitTrigger(botAI); } - static Trigger* far_from_rpg_target(PlayerbotAI * botAI) { return new FarFromRpgTargetTrigger(botAI); } - static Trigger* near_rpg_target(PlayerbotAI * botAI) { return new NearRpgTargetTrigger(botAI); } - static Trigger* far_from_travel_target(PlayerbotAI * botAI) { return new FarFromTravelTargetTrigger(botAI); } - static Trigger* no_travel_target(PlayerbotAI * botAI) { return new NoTravelTargetTrigger(botAI); } - static Trigger* no_rpg_target(PlayerbotAI * botAI) { return new NoRpgTargetTrigger(botAI); } - static Trigger* has_rpg_target(PlayerbotAI * botAI) { return new HasRpgTargetTrigger(botAI); } - static Trigger* collision(PlayerbotAI * botAI) { return new CollisionTrigger(botAI); } - static Trigger* lfg_proposal_active(PlayerbotAI * botAI) { return new LfgProposalActiveTrigger(botAI); } - static Trigger* unknown_dungeon(PlayerbotAI * botAI) { return new UnknownDungeonTrigger(botAI); } - static Trigger* invalid_target(PlayerbotAI * botAI) { return new InvalidTargetTrigger(botAI); } - static Trigger* critical_aoe_heal(PlayerbotAI * botAI) - { - return new AoeHealTrigger(botAI, "critical aoe heal", "critical", 2); - } - static Trigger* low_aoe_heal(PlayerbotAI * botAI) - { - return new AoeHealTrigger(botAI, "low aoe heal", "low", 2); - } - static Trigger* medium_aoe_heal(PlayerbotAI * botAI) - { - return new AoeHealTrigger(botAI, "medium aoe heal", "medium", 2); - } - static Trigger* almost_full_aoe_heal(PlayerbotAI * botAI) - { - return new AoeHealTrigger(botAI, "almost full aoe heal", "almost full", 2); - } - static Trigger* group_heal_occasion(PlayerbotAI * ai) - { - return new AoeInGroupTrigger(ai, "group heal occasion", "almost full", 0.6); - } - static Trigger* medium_group_heal_occasion(PlayerbotAI * ai) - { - return new AoeInGroupTrigger(ai, "group heal occasion", "medium", 0.6); - } - static Trigger* target_changed(PlayerbotAI * botAI) { return new TargetChangedTrigger(botAI); } - static Trigger* swimming(PlayerbotAI * botAI) { return new IsSwimmingTrigger(botAI); } - static Trigger* no_possible_targets(PlayerbotAI * botAI) { return new NoPossibleTargetsTrigger(botAI); } - static Trigger* possible_adds(PlayerbotAI * botAI) { return new PossibleAddsTrigger(botAI); } - static Trigger* can_loot(PlayerbotAI * botAI) { return new CanLootTrigger(botAI); } - static Trigger* far_from_loot_target(PlayerbotAI * botAI) { return new FarFromCurrentLootTrigger(botAI); } - static Trigger* far_from_master(PlayerbotAI * botAI) { return new FarFromMasterTrigger(botAI); } - static Trigger* behind_target(PlayerbotAI * botAI) { return new IsBehindTargetTrigger(botAI); } - static Trigger* not_behind_target(PlayerbotAI * botAI) { return new IsNotBehindTargetTrigger(botAI); } - static Trigger* not_facing_target(PlayerbotAI * botAI) { return new IsNotFacingTargetTrigger(botAI); } - static Trigger* panic(PlayerbotAI * botAI) { return new PanicTrigger(botAI); } - static Trigger* outnumbered(PlayerbotAI * botAI) { return new OutNumberedTrigger(botAI); } - static Trigger* no_drink(PlayerbotAI * botAI) { return new NoDrinkTrigger(botAI); } - static Trigger* no_food(PlayerbotAI * botAI) { return new NoFoodTrigger(botAI); } - static Trigger* LightAoe(PlayerbotAI * botAI) { return new LightAoeTrigger(botAI); } - static Trigger* MediumAoe(PlayerbotAI * botAI) { return new MediumAoeTrigger(botAI); } - static Trigger* HighAoe(PlayerbotAI * botAI) { return new HighAoeTrigger(botAI); } - static Trigger* HasAreaDebuff(PlayerbotAI * botAI) { return new HasAreaDebuffTrigger(botAI); } - static Trigger* LoseAggro(PlayerbotAI * botAI) { return new LoseAggroTrigger(botAI); } - static Trigger* HasAggro(PlayerbotAI * botAI) { return new HasAggroTrigger(botAI); } - static Trigger* LowHealth(PlayerbotAI * botAI) { return new LowHealthTrigger(botAI); } - static Trigger* MediumHealth(PlayerbotAI * botAI) { return new MediumHealthTrigger(botAI); } - static Trigger* AlmostFullHealth(PlayerbotAI * botAI) { return new AlmostFullHealthTrigger(botAI); } - static Trigger* CriticalHealth(PlayerbotAI * botAI) { return new CriticalHealthTrigger(botAI); } - static Trigger* TargetCriticalHealth(PlayerbotAI * botAI) { return new TargetCriticalHealthTrigger(botAI); } - static Trigger* LowMana(PlayerbotAI * botAI) { return new LowManaTrigger(botAI); } - static Trigger* MediumMana(PlayerbotAI * botAI) { return new MediumManaTrigger(botAI); } - static Trigger* HighMana(PlayerbotAI * botAI) { return new HighManaTrigger(botAI); } - static Trigger* AlmostFullMana(PlayerbotAI * botAI) { return new AlmostFullManaTrigger(botAI); } - static Trigger* EnoughMana(PlayerbotAI * botAI) { return new EnoughManaTrigger(botAI); } - static Trigger* LightRageAvailable(PlayerbotAI * botAI) { return new LightRageAvailableTrigger(botAI); } - static Trigger* MediumRageAvailable(PlayerbotAI * botAI) { return new MediumRageAvailableTrigger(botAI); } - static Trigger* HighRageAvailable(PlayerbotAI * botAI) { return new HighRageAvailableTrigger(botAI); } - static Trigger* LightEnergyAvailable(PlayerbotAI * botAI) { return new LightEnergyAvailableTrigger(botAI); } - static Trigger* MediumEnergyAvailable(PlayerbotAI * botAI) { return new MediumEnergyAvailableTrigger(botAI); } - static Trigger* HighEnergyAvailable(PlayerbotAI * botAI) { return new HighEnergyAvailableTrigger(botAI); } - static Trigger* LootAvailable(PlayerbotAI * botAI) { return new LootAvailableTrigger(botAI); } - static Trigger* NoAttackers(PlayerbotAI * botAI) { return new NoAttackersTrigger(botAI); } - static Trigger* TankAssist(PlayerbotAI * botAI) { return new TankAssistTrigger(botAI); } - static Trigger* Timer(PlayerbotAI * botAI) { return new TimerTrigger(botAI); } - static Trigger* NoTarget(PlayerbotAI * botAI) { return new NoTargetTrigger(botAI); } - static Trigger* TargetInSight(PlayerbotAI * botAI) { return new TargetInSightTrigger(botAI); } - static Trigger* not_dps_target_active(PlayerbotAI * botAI) { return new NotDpsTargetActiveTrigger(botAI); } - static Trigger* not_dps_aoe_target_active(PlayerbotAI * botAI) - { - return new NotDpsAoeTargetActiveTrigger(botAI); - } - static Trigger* has_nearest_adds(PlayerbotAI * botAI) { return new HasNearestAddsTrigger(botAI); } - static Trigger* enemy_player_near(PlayerbotAI * botAI) { return new EnemyPlayerNear(botAI); } - static Trigger* Random(PlayerbotAI * botAI) { return new RandomTrigger(botAI, "random", 20); } - static Trigger* seldom(PlayerbotAI * botAI) { return new RandomTrigger(botAI, "seldom", 300); } - static Trigger* often(PlayerbotAI * botAI) { return new RandomTrigger(botAI, "often", 5); } - static Trigger* EnemyOutOfMelee(PlayerbotAI * botAI) { return new EnemyOutOfMeleeTrigger(botAI); } - static Trigger* EnemyOutOfSpell(PlayerbotAI * botAI) { return new EnemyOutOfSpellRangeTrigger(botAI); } - static Trigger* enemy_too_close_for_spell(PlayerbotAI * botAI) - { - return new EnemyTooCloseForSpellTrigger(botAI); - } - static Trigger* enemy_too_close_for_auto_shot(PlayerbotAI * botAI) - { - return new EnemyTooCloseForAutoShotTrigger(botAI); - } - static Trigger* enemy_too_close_for_shoot(PlayerbotAI * botAI) - { - return new EnemyTooCloseForShootTrigger(botAI); - } - static Trigger* enemy_too_close_for_melee(PlayerbotAI * botAI) - { - return new EnemyTooCloseForMeleeTrigger(botAI); - } - static Trigger* enemy_is_close(PlayerbotAI * botAI) { return new EnemyIsCloseTrigger(botAI); } - static Trigger* enemy_within_melee(PlayerbotAI * botAI) { return new EnemyWithinMeleeTrigger(botAI); } - static Trigger* party_member_to_heal_out_of_spell_range(PlayerbotAI * botAI) - { - return new PartyMemberToHealOutOfSpellRangeTrigger(botAI); - } - static Trigger* ComboPointsAvailable(PlayerbotAI * botAI) { return new ComboPointsAvailableTrigger(botAI); } - static Trigger* ComboPoints3Available(PlayerbotAI * botAI) { return new ComboPointsAvailableTrigger(botAI, 3); } - static Trigger* MediumThreat(PlayerbotAI * botAI) { return new MediumThreatTrigger(botAI); } - static Trigger* Dead(PlayerbotAI * botAI) { return new DeadTrigger(botAI); } - static Trigger* corpse_near(PlayerbotAI * botAI) { return new CorpseNearTrigger(botAI); } - static Trigger* PartyMemberDead(PlayerbotAI * botAI) { return new PartyMemberDeadTrigger(botAI); } - static Trigger* CombatPartyMemberDead(PlayerbotAI * botAI) { return new CombatPartyMemberDeadTrigger(botAI); } - static Trigger* PartyMemberLowHealth(PlayerbotAI * botAI) { return new PartyMemberLowHealthTrigger(botAI); } - static Trigger* PartyMemberMediumHealth(PlayerbotAI * botAI) - { - return new PartyMemberMediumHealthTrigger(botAI); - } - static Trigger* PartyMemberAlmostFullHealth(PlayerbotAI * botAI) - { - return new PartyMemberAlmostFullHealthTrigger(botAI); - } - static Trigger* PartyMemberCriticalHealth(PlayerbotAI * botAI) - { - return new PartyMemberCriticalHealthTrigger(botAI); - } - static Trigger* protect_party_member(PlayerbotAI * botAI) { return new ProtectPartyMemberTrigger(botAI); } - static Trigger* no_pet(PlayerbotAI * botAI) { return new NoPetTrigger(botAI); } - static Trigger* has_pet(PlayerbotAI * botAI) { return new HasPetTrigger(botAI); } - static Trigger* pet_attack(PlayerbotAI * botAI) { return new PetAttackTrigger(botAI); } - static Trigger* has_attackers(PlayerbotAI * botAI) { return new HasAttackersTrigger(botAI); } - static Trigger* random_bot_update_trigger(PlayerbotAI * botAI) { return new RandomBotUpdateTrigger(botAI); } - static Trigger* no_non_bot_players_around(PlayerbotAI * botAI) - { - return new NoNonBotPlayersAroundTrigger(botAI); - } - static Trigger* new_player_nearby(PlayerbotAI * botAI) { return new NewPlayerNearbyTrigger(botAI); } - static Trigger* bg_waiting(PlayerbotAI * botAI) { return new BgWaitingTrigger(botAI); } - static Trigger* bg_active(PlayerbotAI * botAI) { return new BgActiveTrigger(botAI); } - static Trigger* bg_invite_active(PlayerbotAI * botAI) { return new BgInviteActiveTrigger(botAI); } - static Trigger* inside_bg(PlayerbotAI * botAI) { return new InsideBGTrigger(botAI); } - static Trigger* player_has_no_flag(PlayerbotAI * botAI) { return new PlayerHasNoFlag(botAI); } - static Trigger* player_has_flag(PlayerbotAI * botAI) { return new PlayerHasFlag(botAI); } - static Trigger* team_has_flag(PlayerbotAI * botAI) { return new TeamHasFlag(botAI); } - static Trigger* enemy_team_has_flag(PlayerbotAI * botAI) { return new EnemyTeamHasFlag(botAI); } - static Trigger* enemy_flagcarrier_near(PlayerbotAI * botAI) { return new EnemyFlagCarrierNear(botAI); } - static Trigger* player_is_in_BATTLEGROUND(PlayerbotAI * botAI) { return new PlayerIsInBattleground(botAI); } - static Trigger* player_is_in_BATTLEGROUND_no_flag(PlayerbotAI * botAI) - { - return new PlayerIsInBattlegroundWithoutFlag(botAI); - } - static Trigger* mounted(PlayerbotAI * botAI) { return new IsMountedTrigger(botAI); } - static Trigger* at_dark_portal_outland(PlayerbotAI * botAI) { return new AtDarkPortalOutlandTrigger(botAI); } - static Trigger* at_dark_portal_azeroth(PlayerbotAI * botAI) { return new AtDarkPortalAzerothTrigger(botAI); } - static Trigger* in_vehicle(PlayerbotAI * botAI) { return new InVehicleTrigger(botAI); } - static Trigger* vehicle_near(PlayerbotAI * botAI) { return new VehicleNearTrigger(botAI); } - static Trigger* near_dark_portal(PlayerbotAI * botAI) { return new NearDarkPortalTrigger(botAI); } - static Trigger* need_world_buff(PlayerbotAI * botAI) { return new NeedWorldBuffTrigger(botAI); } - static Trigger* falling(PlayerbotAI * botAI) { return new IsFallingTrigger(botAI); } - static Trigger* falling_far(PlayerbotAI * botAI) { return new IsFallingFarTrigger(botAI); } - static Trigger* move_stuck(PlayerbotAI * botAI) { return new MoveStuckTrigger(botAI); } - static Trigger* move_long_stuck(PlayerbotAI * botAI) { return new MoveLongStuckTrigger(botAI); } - static Trigger* combat_stuck(PlayerbotAI * botAI) { return new CombatStuckTrigger(botAI); } - static Trigger* combat_long_stuck(PlayerbotAI * botAI) { return new CombatLongStuckTrigger(botAI); } - static Trigger* player_wants_in_bg(PlayerbotAI * botAI) { return new PlayerWantsInBattlegroundTrigger(botAI); } - static Trigger* petition_signed(PlayerbotAI * botAI) { return new PetitionTurnInTrigger(botAI); } - static Trigger* buy_tabard(PlayerbotAI * botAI) { return new BuyTabardTrigger(botAI); } - static Trigger* leave_large_guild(PlayerbotAI * botAI) { return new LeaveLargeGuildTrigger(botAI); } - static Trigger* rpg(PlayerbotAI * botAI) { return new RpgTrigger(botAI); } - static Trigger* rpg_taxi(PlayerbotAI * botAI) { return new RpgTaxiTrigger(botAI); } - static Trigger* rpg_discover(PlayerbotAI * botAI) { return new RpgDiscoverTrigger(botAI); } - static Trigger* rpg_start_quest(PlayerbotAI * botAI) { return new RpgStartQuestTrigger(botAI); } - static Trigger* rpg_end_quest(PlayerbotAI * botAI) { return new RpgEndQuestTrigger(botAI); } - static Trigger* rpg_buy(PlayerbotAI * botAI) { return new RpgBuyTrigger(botAI); } - static Trigger* rpg_sell(PlayerbotAI * botAI) { return new RpgSellTrigger(botAI); } - static Trigger* rpg_repair(PlayerbotAI * botAI) { return new RpgRepairTrigger(botAI); } - static Trigger* rpg_train(PlayerbotAI * botAI) { return new RpgTrainTrigger(botAI); } - static Trigger* rpg_heal(PlayerbotAI * botAI) { return new RpgHealTrigger(botAI); } - static Trigger* rpg_home_bind(PlayerbotAI * botAI) { return new RpgHomeBindTrigger(botAI); } - static Trigger* rpg_queue_bg(PlayerbotAI * botAI) { return new RpgQueueBGTrigger(botAI); } - static Trigger* rpg_buy_petition(PlayerbotAI * botAI) { return new RpgBuyPetitionTrigger(botAI); } - static Trigger* rpg_use(PlayerbotAI * botAI) { return new RpgUseTrigger(botAI); } - static Trigger* rpg_spell(PlayerbotAI * botAI) { return new RpgUseTrigger(botAI); } - static Trigger* rpg_craft(PlayerbotAI * botAI) { return new RpgCraftTrigger(botAI); } - static Trigger* rpg_trade_useful(PlayerbotAI * botAI) { return new RpgTradeUsefulTrigger(botAI); } - static Trigger* rpg_duel(PlayerbotAI * botAI) { return new RpgDuelTrigger(botAI); } - }; + +private: + static Trigger* give_food(PlayerbotAI* botAI) { return new GiveFoodTrigger(botAI); } + static Trigger* give_water(PlayerbotAI* botAI) { return new GiveWaterTrigger(botAI); } + static Trigger* no_rti(PlayerbotAI* botAI) { return new NoRtiTrigger(botAI); } + static Trigger* _return(PlayerbotAI* botAI) { return new ReturnTrigger(botAI); } + static Trigger* sit(PlayerbotAI* botAI) { return new SitTrigger(botAI); } + static Trigger* far_from_rpg_target(PlayerbotAI* botAI) { return new FarFromRpgTargetTrigger(botAI); } + static Trigger* near_rpg_target(PlayerbotAI* botAI) { return new NearRpgTargetTrigger(botAI); } + static Trigger* far_from_travel_target(PlayerbotAI* botAI) { return new FarFromTravelTargetTrigger(botAI); } + static Trigger* no_travel_target(PlayerbotAI* botAI) { return new NoTravelTargetTrigger(botAI); } + static Trigger* no_rpg_target(PlayerbotAI* botAI) { return new NoRpgTargetTrigger(botAI); } + static Trigger* has_rpg_target(PlayerbotAI* botAI) { return new HasRpgTargetTrigger(botAI); } + static Trigger* collision(PlayerbotAI* botAI) { return new CollisionTrigger(botAI); } + static Trigger* lfg_proposal_active(PlayerbotAI* botAI) { return new LfgProposalActiveTrigger(botAI); } + static Trigger* unknown_dungeon(PlayerbotAI* botAI) { return new UnknownDungeonTrigger(botAI); } + static Trigger* invalid_target(PlayerbotAI* botAI) { return new InvalidTargetTrigger(botAI); } + static Trigger* critical_aoe_heal(PlayerbotAI* botAI) + { + return new AoeHealTrigger(botAI, "critical aoe heal", "critical", 2); + } + static Trigger* low_aoe_heal(PlayerbotAI* botAI) { return new AoeHealTrigger(botAI, "low aoe heal", "low", 2); } + static Trigger* medium_aoe_heal(PlayerbotAI* botAI) + { + return new AoeHealTrigger(botAI, "medium aoe heal", "medium", 2); + } + static Trigger* almost_full_aoe_heal(PlayerbotAI* botAI) + { + return new AoeHealTrigger(botAI, "almost full aoe heal", "almost full", 2); + } + static Trigger* group_heal_occasion(PlayerbotAI* ai) + { + return new AoeInGroupTrigger(ai, "group heal occasion", "almost full", 0.6); + } + static Trigger* medium_group_heal_occasion(PlayerbotAI* ai) + { + return new AoeInGroupTrigger(ai, "group heal occasion", "medium", 0.6); + } + static Trigger* target_changed(PlayerbotAI* botAI) { return new TargetChangedTrigger(botAI); } + static Trigger* swimming(PlayerbotAI* botAI) { return new IsSwimmingTrigger(botAI); } + static Trigger* no_possible_targets(PlayerbotAI* botAI) { return new NoPossibleTargetsTrigger(botAI); } + static Trigger* possible_adds(PlayerbotAI* botAI) { return new PossibleAddsTrigger(botAI); } + static Trigger* can_loot(PlayerbotAI* botAI) { return new CanLootTrigger(botAI); } + static Trigger* far_from_loot_target(PlayerbotAI* botAI) { return new FarFromCurrentLootTrigger(botAI); } + static Trigger* far_from_master(PlayerbotAI* botAI) { return new FarFromMasterTrigger(botAI); } + static Trigger* behind_target(PlayerbotAI* botAI) { return new IsBehindTargetTrigger(botAI); } + static Trigger* not_behind_target(PlayerbotAI* botAI) { return new IsNotBehindTargetTrigger(botAI); } + static Trigger* not_facing_target(PlayerbotAI* botAI) { return new IsNotFacingTargetTrigger(botAI); } + static Trigger* panic(PlayerbotAI* botAI) { return new PanicTrigger(botAI); } + static Trigger* outnumbered(PlayerbotAI* botAI) { return new OutNumberedTrigger(botAI); } + static Trigger* no_drink(PlayerbotAI* botAI) { return new NoDrinkTrigger(botAI); } + static Trigger* no_food(PlayerbotAI* botAI) { return new NoFoodTrigger(botAI); } + static Trigger* LightAoe(PlayerbotAI* botAI) { return new LightAoeTrigger(botAI); } + static Trigger* MediumAoe(PlayerbotAI* botAI) { return new MediumAoeTrigger(botAI); } + static Trigger* HighAoe(PlayerbotAI* botAI) { return new HighAoeTrigger(botAI); } + static Trigger* HasAreaDebuff(PlayerbotAI* botAI) { return new HasAreaDebuffTrigger(botAI); } + static Trigger* LoseAggro(PlayerbotAI* botAI) { return new LoseAggroTrigger(botAI); } + static Trigger* HasAggro(PlayerbotAI* botAI) { return new HasAggroTrigger(botAI); } + static Trigger* LowHealth(PlayerbotAI* botAI) { return new LowHealthTrigger(botAI); } + static Trigger* MediumHealth(PlayerbotAI* botAI) { return new MediumHealthTrigger(botAI); } + static Trigger* AlmostFullHealth(PlayerbotAI* botAI) { return new AlmostFullHealthTrigger(botAI); } + static Trigger* CriticalHealth(PlayerbotAI* botAI) { return new CriticalHealthTrigger(botAI); } + static Trigger* TargetCriticalHealth(PlayerbotAI* botAI) { return new TargetCriticalHealthTrigger(botAI); } + static Trigger* LowMana(PlayerbotAI* botAI) { return new LowManaTrigger(botAI); } + static Trigger* MediumMana(PlayerbotAI* botAI) { return new MediumManaTrigger(botAI); } + static Trigger* HighMana(PlayerbotAI* botAI) { return new HighManaTrigger(botAI); } + static Trigger* AlmostFullMana(PlayerbotAI* botAI) { return new AlmostFullManaTrigger(botAI); } + static Trigger* EnoughMana(PlayerbotAI* botAI) { return new EnoughManaTrigger(botAI); } + static Trigger* LightRageAvailable(PlayerbotAI* botAI) { return new LightRageAvailableTrigger(botAI); } + static Trigger* MediumRageAvailable(PlayerbotAI* botAI) { return new MediumRageAvailableTrigger(botAI); } + static Trigger* HighRageAvailable(PlayerbotAI* botAI) { return new HighRageAvailableTrigger(botAI); } + static Trigger* LightEnergyAvailable(PlayerbotAI* botAI) { return new LightEnergyAvailableTrigger(botAI); } + static Trigger* MediumEnergyAvailable(PlayerbotAI* botAI) { return new MediumEnergyAvailableTrigger(botAI); } + static Trigger* HighEnergyAvailable(PlayerbotAI* botAI) { return new HighEnergyAvailableTrigger(botAI); } + static Trigger* LootAvailable(PlayerbotAI* botAI) { return new LootAvailableTrigger(botAI); } + static Trigger* NoAttackers(PlayerbotAI* botAI) { return new NoAttackersTrigger(botAI); } + static Trigger* TankAssist(PlayerbotAI* botAI) { return new TankAssistTrigger(botAI); } + static Trigger* Timer(PlayerbotAI* botAI) { return new TimerTrigger(botAI); } + static Trigger* NoTarget(PlayerbotAI* botAI) { return new NoTargetTrigger(botAI); } + static Trigger* TargetInSight(PlayerbotAI* botAI) { return new TargetInSightTrigger(botAI); } + static Trigger* not_dps_target_active(PlayerbotAI* botAI) { return new NotDpsTargetActiveTrigger(botAI); } + static Trigger* not_dps_aoe_target_active(PlayerbotAI* botAI) { return new NotDpsAoeTargetActiveTrigger(botAI); } + static Trigger* has_nearest_adds(PlayerbotAI* botAI) { return new HasNearestAddsTrigger(botAI); } + static Trigger* enemy_player_near(PlayerbotAI* botAI) { return new EnemyPlayerNear(botAI); } + static Trigger* Random(PlayerbotAI* botAI) { return new RandomTrigger(botAI, "random", 20); } + static Trigger* seldom(PlayerbotAI* botAI) { return new RandomTrigger(botAI, "seldom", 300); } + static Trigger* often(PlayerbotAI* botAI) { return new RandomTrigger(botAI, "often", 5); } + static Trigger* EnemyOutOfMelee(PlayerbotAI* botAI) { return new EnemyOutOfMeleeTrigger(botAI); } + static Trigger* EnemyOutOfSpell(PlayerbotAI* botAI) { return new EnemyOutOfSpellRangeTrigger(botAI); } + static Trigger* enemy_too_close_for_spell(PlayerbotAI* botAI) { return new EnemyTooCloseForSpellTrigger(botAI); } + static Trigger* enemy_too_close_for_auto_shot(PlayerbotAI* botAI) + { + return new EnemyTooCloseForAutoShotTrigger(botAI); + } + static Trigger* enemy_too_close_for_shoot(PlayerbotAI* botAI) { return new EnemyTooCloseForShootTrigger(botAI); } + static Trigger* enemy_too_close_for_melee(PlayerbotAI* botAI) { return new EnemyTooCloseForMeleeTrigger(botAI); } + static Trigger* enemy_is_close(PlayerbotAI* botAI) { return new EnemyIsCloseTrigger(botAI); } + static Trigger* enemy_within_melee(PlayerbotAI* botAI) { return new EnemyWithinMeleeTrigger(botAI); } + static Trigger* party_member_to_heal_out_of_spell_range(PlayerbotAI* botAI) + { + return new PartyMemberToHealOutOfSpellRangeTrigger(botAI); + } + static Trigger* ComboPointsAvailable(PlayerbotAI* botAI) { return new ComboPointsAvailableTrigger(botAI); } + static Trigger* ComboPoints3Available(PlayerbotAI* botAI) { return new ComboPointsAvailableTrigger(botAI, 3); } + static Trigger* MediumThreat(PlayerbotAI* botAI) { return new MediumThreatTrigger(botAI); } + static Trigger* Dead(PlayerbotAI* botAI) { return new DeadTrigger(botAI); } + static Trigger* corpse_near(PlayerbotAI* botAI) { return new CorpseNearTrigger(botAI); } + static Trigger* PartyMemberDead(PlayerbotAI* botAI) { return new PartyMemberDeadTrigger(botAI); } + static Trigger* CombatPartyMemberDead(PlayerbotAI* botAI) { return new CombatPartyMemberDeadTrigger(botAI); } + static Trigger* PartyMemberLowHealth(PlayerbotAI* botAI) { return new PartyMemberLowHealthTrigger(botAI); } + static Trigger* PartyMemberMediumHealth(PlayerbotAI* botAI) { return new PartyMemberMediumHealthTrigger(botAI); } + static Trigger* PartyMemberAlmostFullHealth(PlayerbotAI* botAI) + { + return new PartyMemberAlmostFullHealthTrigger(botAI); + } + static Trigger* PartyMemberCriticalHealth(PlayerbotAI* botAI) + { + return new PartyMemberCriticalHealthTrigger(botAI); + } + static Trigger* protect_party_member(PlayerbotAI* botAI) { return new ProtectPartyMemberTrigger(botAI); } + static Trigger* no_pet(PlayerbotAI* botAI) { return new NoPetTrigger(botAI); } + static Trigger* has_pet(PlayerbotAI* botAI) { return new HasPetTrigger(botAI); } + static Trigger* pet_attack(PlayerbotAI* botAI) { return new PetAttackTrigger(botAI); } + static Trigger* has_attackers(PlayerbotAI* botAI) { return new HasAttackersTrigger(botAI); } + static Trigger* random_bot_update_trigger(PlayerbotAI* botAI) { return new RandomBotUpdateTrigger(botAI); } + static Trigger* no_non_bot_players_around(PlayerbotAI* botAI) { return new NoNonBotPlayersAroundTrigger(botAI); } + static Trigger* new_player_nearby(PlayerbotAI* botAI) { return new NewPlayerNearbyTrigger(botAI); } + static Trigger* bg_waiting(PlayerbotAI* botAI) { return new BgWaitingTrigger(botAI); } + static Trigger* bg_active(PlayerbotAI* botAI) { return new BgActiveTrigger(botAI); } + static Trigger* bg_invite_active(PlayerbotAI* botAI) { return new BgInviteActiveTrigger(botAI); } + static Trigger* inside_bg(PlayerbotAI* botAI) { return new InsideBGTrigger(botAI); } + static Trigger* player_has_no_flag(PlayerbotAI* botAI) { return new PlayerHasNoFlag(botAI); } + static Trigger* player_has_flag(PlayerbotAI* botAI) { return new PlayerHasFlag(botAI); } + static Trigger* team_has_flag(PlayerbotAI* botAI) { return new TeamHasFlag(botAI); } + static Trigger* enemy_team_has_flag(PlayerbotAI* botAI) { return new EnemyTeamHasFlag(botAI); } + static Trigger* enemy_flagcarrier_near(PlayerbotAI* botAI) { return new EnemyFlagCarrierNear(botAI); } + static Trigger* player_is_in_BATTLEGROUND(PlayerbotAI* botAI) { return new PlayerIsInBattleground(botAI); } + static Trigger* player_is_in_BATTLEGROUND_no_flag(PlayerbotAI* botAI) + { + return new PlayerIsInBattlegroundWithoutFlag(botAI); + } + static Trigger* mounted(PlayerbotAI* botAI) { return new IsMountedTrigger(botAI); } + static Trigger* at_dark_portal_outland(PlayerbotAI* botAI) { return new AtDarkPortalOutlandTrigger(botAI); } + static Trigger* at_dark_portal_azeroth(PlayerbotAI* botAI) { return new AtDarkPortalAzerothTrigger(botAI); } + static Trigger* in_vehicle(PlayerbotAI* botAI) { return new InVehicleTrigger(botAI); } + static Trigger* vehicle_near(PlayerbotAI* botAI) { return new VehicleNearTrigger(botAI); } + static Trigger* near_dark_portal(PlayerbotAI* botAI) { return new NearDarkPortalTrigger(botAI); } + static Trigger* need_world_buff(PlayerbotAI* botAI) { return new NeedWorldBuffTrigger(botAI); } + static Trigger* falling(PlayerbotAI* botAI) { return new IsFallingTrigger(botAI); } + static Trigger* falling_far(PlayerbotAI* botAI) { return new IsFallingFarTrigger(botAI); } + static Trigger* move_stuck(PlayerbotAI* botAI) { return new MoveStuckTrigger(botAI); } + static Trigger* move_long_stuck(PlayerbotAI* botAI) { return new MoveLongStuckTrigger(botAI); } + static Trigger* combat_stuck(PlayerbotAI* botAI) { return new CombatStuckTrigger(botAI); } + static Trigger* combat_long_stuck(PlayerbotAI* botAI) { return new CombatLongStuckTrigger(botAI); } + static Trigger* player_wants_in_bg(PlayerbotAI* botAI) { return new PlayerWantsInBattlegroundTrigger(botAI); } + static Trigger* petition_signed(PlayerbotAI* botAI) { return new PetitionTurnInTrigger(botAI); } + static Trigger* buy_tabard(PlayerbotAI* botAI) { return new BuyTabardTrigger(botAI); } + static Trigger* leave_large_guild(PlayerbotAI* botAI) { return new LeaveLargeGuildTrigger(botAI); } + static Trigger* rpg(PlayerbotAI* botAI) { return new RpgTrigger(botAI); } + static Trigger* rpg_taxi(PlayerbotAI* botAI) { return new RpgTaxiTrigger(botAI); } + static Trigger* rpg_discover(PlayerbotAI* botAI) { return new RpgDiscoverTrigger(botAI); } + static Trigger* rpg_start_quest(PlayerbotAI* botAI) { return new RpgStartQuestTrigger(botAI); } + static Trigger* rpg_end_quest(PlayerbotAI* botAI) { return new RpgEndQuestTrigger(botAI); } + static Trigger* rpg_buy(PlayerbotAI* botAI) { return new RpgBuyTrigger(botAI); } + static Trigger* rpg_sell(PlayerbotAI* botAI) { return new RpgSellTrigger(botAI); } + static Trigger* rpg_repair(PlayerbotAI* botAI) { return new RpgRepairTrigger(botAI); } + static Trigger* rpg_train(PlayerbotAI* botAI) { return new RpgTrainTrigger(botAI); } + static Trigger* rpg_heal(PlayerbotAI* botAI) { return new RpgHealTrigger(botAI); } + static Trigger* rpg_home_bind(PlayerbotAI* botAI) { return new RpgHomeBindTrigger(botAI); } + static Trigger* rpg_queue_bg(PlayerbotAI* botAI) { return new RpgQueueBGTrigger(botAI); } + static Trigger* rpg_buy_petition(PlayerbotAI* botAI) { return new RpgBuyPetitionTrigger(botAI); } + static Trigger* rpg_use(PlayerbotAI* botAI) { return new RpgUseTrigger(botAI); } + static Trigger* rpg_spell(PlayerbotAI* botAI) { return new RpgUseTrigger(botAI); } + static Trigger* rpg_craft(PlayerbotAI* botAI) { return new RpgCraftTrigger(botAI); } + static Trigger* rpg_trade_useful(PlayerbotAI* botAI) { return new RpgTradeUsefulTrigger(botAI); } + static Trigger* rpg_duel(PlayerbotAI* botAI) { return new RpgDuelTrigger(botAI); } +}; #endif