mirror of
https://github.com/mod-playerbots/mod-playerbots.git
synced 2026-01-30 17:03:48 +00:00
Fix triggers bug
This commit is contained in:
@@ -470,7 +470,7 @@ bool Engine::HasStrategy(std::string const name)
|
|||||||
|
|
||||||
void Engine::ProcessTriggers(bool minimal)
|
void Engine::ProcessTriggers(bool minimal)
|
||||||
{
|
{
|
||||||
// std::unordered_map<Trigger*, Event> fires;
|
std::unordered_map<Trigger*, Event> fires;
|
||||||
for (std::vector<TriggerNode*>::iterator i = triggers.begin(); i != triggers.end(); i++)
|
for (std::vector<TriggerNode*>::iterator i = triggers.begin(); i != triggers.end(); i++)
|
||||||
{
|
{
|
||||||
TriggerNode* node = *i;
|
TriggerNode* node = *i;
|
||||||
@@ -487,6 +487,9 @@ void Engine::ProcessTriggers(bool minimal)
|
|||||||
if (!trigger)
|
if (!trigger)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
if (fires.find(trigger) != fires.end())
|
||||||
|
continue;
|
||||||
|
|
||||||
if (testMode || trigger->needCheck())
|
if (testMode || trigger->needCheck())
|
||||||
{
|
{
|
||||||
if (minimal && node->getFirstRelevance() < 100)
|
if (minimal && node->getFirstRelevance() < 100)
|
||||||
@@ -500,22 +503,21 @@ void Engine::ProcessTriggers(bool minimal)
|
|||||||
if (!event)
|
if (!event)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
// fires[trigger] = event;
|
fires[trigger] = event;
|
||||||
LogAction("T:%s", trigger->getName().c_str());
|
LogAction("T:%s", trigger->getName().c_str());
|
||||||
MultiplyAndPush(node->getHandlers(), 0.0f, false, event, "trigger");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// for (std::vector<TriggerNode*>::iterator i = triggers.begin(); i != triggers.end(); i++)
|
for (std::vector<TriggerNode*>::iterator i = triggers.begin(); i != triggers.end(); i++)
|
||||||
// {
|
{
|
||||||
// TriggerNode* node = *i;
|
TriggerNode* node = *i;
|
||||||
// Trigger* trigger = node->getTrigger();
|
Trigger* trigger = node->getTrigger();
|
||||||
// if (fires.find(trigger) == fires.end())
|
if (fires.find(trigger) == fires.end())
|
||||||
// continue;
|
continue;
|
||||||
|
|
||||||
// Event event = fires[trigger];
|
Event event = fires[trigger];
|
||||||
|
MultiplyAndPush(node->getHandlers(), 0.0f, false, event, "trigger");
|
||||||
// }
|
}
|
||||||
|
|
||||||
for (std::vector<TriggerNode*>::iterator i = triggers.begin(); i != triggers.end(); i++)
|
for (std::vector<TriggerNode*>::iterator i = triggers.begin(); i != triggers.end(); i++)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user