NebulaSS13 / Nebula

A general purpose SS13/Baystation12 fork.
https://discord.gg/Ddw58yF
GNU Affero General Public License v3.0
48 stars 208 forks source link

Converting existing automated movement to use a subsystem. #4137

Closed MistakeNot4892 closed 1 week ago

MistakeNot4892 commented 2 weeks ago

Description of changes

TODO

Why and what will this PR improve

Condenses various movement values for simple animals and makes them use movement intents properly.

Authorship

Myself, with some reference to how /tg/ handles their automovement for ideas.

Changelog

Nothing player-facing.

MistakeNot4892 commented 2 weeks ago

Got walk_to() and walk() functionally replaced, will work on walk_away() in the morning.

MistakeNot4892 commented 2 weeks ago

Current big issue, automove ends after one step. No runtimes, just stops moving and sits there like a lemon.

MistakeNot4892 commented 1 week ago

Main thing missing from this implementation versus walk() is that the mob will only ever move in the direction away from you, they won't try to skirt around obstacles at all. I have logic in place that should also try diagonal moves if the cardinal move fails, but it does not work for reasons that escape me. :(

MistakeNot4892 commented 1 week ago

Added a movement delay reset function that has resolved the issue, all seems more or less equivalent now.