taltamir
Member
There are no guesses involved, it is just tracking.It's not worth trying to guess what hagnk will say the fire level is when he displays the location in his dropdown
And without accounting for these issues mafia is simply not tracking it correctly
The biggest issue is that whenever an area disappears from hangk, mafia resets that zone to 5.
so let us say the scenario is thus:
you wore continuum transfunctioner.
visited hangk and hosed down the 8 bit door to fire level 3.
you take off the continuum transfunctioner.
visit hangk and mafia will reset the value back to 5.
mafia thus "corrected" your fire level to make it forget the number of times you hosed it down.
and if your script then tries to go back, well now you lowered it to 1 instead of 3, then it will get rest to 5 again.
mafia is not tracking fire level or even things that fire level can be calculated from. it only caches the hangk value of fire last time you visited hangk. and incorrectly assumes all nonavailable zones are at 5
another issue is all zones are assumed to be fire level 5 when first unlocked. even if they should be lower due to mass watering. and only get updated on hangk visit.
For example let us say you have used cropduster.
you just unlock a new outdoor zone.
a script checks the firelevel and sees fire level is 5 because hangk has not been visited since the zone was unlocked. had we visited him we would see it was at 2.
because fire level is 5 it asks hangk to hose down the area. lowering it to... 1. or 0 if it was batched.
The workaround is to spam hangk with visits to check current fire level. but that is just spamming kol servers. And also requites everyone who writes wildfire related scripts to know that mafia is not correctly tracking fire levels
To correctly track fire levels mafia should use have a tracker "wildfire_last_initialized" that tracks the last ascension in which wildfire was initialized.
if(my_ascension() != wildfire_initialized) initialize_wildfire();
and initialize_wildfire() should be
1. set all zones to fire level 5.
2. check dusting, fracking, and sprinkling and adjusting all zones that apply to it down to 2.
3. visit hangk once to correct values. and change the way hangk corrects values to make it not touch unavailable zones instead of the current method of setting them to fire level 5.
alternatively mafia can track the number of hangk hosing done this ascension.
in that case for each zone the $location[place].fire_level could return a value of 5 - (3 if mass watered, 0 otherwise) - hosing.
with the hangk visit update function being changed to only check if(hangk_displayed_level != $location[place].fire_level) {adjust hosing done this ascension}
Last edited: