/* * Copyright (C) 2016+ AzerothCore , released under GNU GPL v2 license, you may redistribute it and/or modify it under version 2 of the License, or (at your option), any later version. */ #include "ThreatStrategy.h" #include "GenericSpellActions.h" #include "Playerbots.h" float ThreatMultiplier::GetValue(Action* action) { if (AI_VALUE(bool, "neglect threat")) { return 1.0f; } if (!action || action->getThreatType() == Action::ActionThreatType::None) return 1.0f; if (!AI_VALUE(bool, "group")) return 1.0f; if (action->getThreatType() == Action::ActionThreatType::Aoe) { uint8 threat = AI_VALUE2(uint8, "threat", "aoe"); if (threat >= 50) return 0.0f; } uint8 threat = AI_VALUE2(uint8, "threat", "current target"); if (threat >= 80) return 0.0f; return 1.0f; } void ThreatStrategy::InitMultipliers(std::vector& multipliers) { multipliers.push_back(new ThreatMultiplier(botAI)); }