1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-06-27 16:36:03 +00:00

ABMs: Make catch-up behaviour optional

Default is true for backwards compatibility
Update lua_api.txt
This commit is contained in:
paramat 2015-10-13 05:17:33 +01:00
parent 2364449d7a
commit 3b9f99e0d6
5 changed files with 33 additions and 14 deletions

View file

@ -577,17 +577,21 @@ public:
i->timer -= trigger_interval;
actual_interval = trigger_interval;
}
float intervals = actual_interval / trigger_interval;
if(intervals == 0)
continue;
float chance = abm->getTriggerChance();
if(chance == 0)
chance = 1;
ActiveABM aabm;
aabm.abm = abm;
aabm.chance = chance / intervals;
if(aabm.chance == 0)
aabm.chance = 1;
if(abm->getSimpleCatchUp()) {
float intervals = actual_interval / trigger_interval;
if(intervals == 0)
continue;
aabm.chance = chance / intervals;
if(aabm.chance == 0)
aabm.chance = 1;
} else {
aabm.chance = chance;
}
// Trigger neighbors
std::set<std::string> required_neighbors_s
= abm->getRequiredNeighbors();