pandorabox-io / in-game

Random code and stuff for in-game things
MIT License
3 stars 0 forks source link

Support papyrus/cactus/etc. growing while unloaded #211

Open Klaranth opened 3 years ago

Klaranth commented 3 years ago

wsor ; 1hit ; SX

suggestion: support crops growing while unloaded

certain items like mtg furnaces, etc. support working(faking it) while unloaded, so it would make sense to try to unify things

papyrus, bamboo and agave only grow when a player is near due to using a different algorithm than other "crops", like wheat. The request would be to rewrite them to grow like everything else.

If you want to maintain the current submodules updating system, you would want to override them rather than rewrite them.

The request would be to rewrite them to grow like everything else.

also you would not want to rewrite override them like wheat etc, because of the mechanic of chopping down any part drops the rest of the plant

Also if I remember correctly those are ABM based so clean upgrade (removing that ABM) makes reoverwride even more complicated.

Not really, just follow farming with a lbm patrol to start node timers, unless you want to go to the map editing route

Clean upgrade, I think cleanup also would still be reliably doable without too dirty hacks because of ABM labels.

Whole thing would still look like a dirty hack anyway ...but so does everything else so it'll blend nicely..

S-S-X commented 3 years ago

Should most probably be added to https://github.com/pandorabox-io/pandorabox_custom if implemented. I don't see any reasons why this should not be implemented.

Basic things to do:

Timing should be similar to previous ABM timing. Maybe this could also be done with ABM catch_up but actual behavior would be completely different so probably not good idea (but would be a lot simpler).

Klaranth commented 3 years ago

SX Especially #211 seems to be very good in my opinion, small thing in the end but useful for everyone and improves game quality by making things consistent.

Huhhila Regarding #211, remind me when "catch-up" is utilized?

SX If area has been inactive it will attempt to catch up lost time Executing ABM more often than what normal timing parameters would allow. I'm not sure how it exactly works but it is documented as algorithm that takes actual lost time into account so if area has been longer inactive then ABM triggering is also more likely and with higher frequency.