* Reverts Entered() passing dir instead of old loc (#59910)
* Reverts Entered() passing dir instead of old loc
Co-authored-by: Rohesie <rohesie@gmail.com>
* Makes turfs persist their signals, uses this to optimize connect_loc (#59608)
* Makes turfs persist signals
* Splits connect_loc up into two elements, one for stuff that wishes to connect on behalf of something, and one for stuff that just wants to connect normally. Connecting on behalf of someone has a significant amount of overhead, so let's do this to keep things clear
* Converts all uses of connect_loc over to the new patterns
* Adds some comments, actually makes turfs persist signals
* There's no need to detach connect loc anymore, since all it does is unregister signals. Unregisters a signal from formorly decal'd turfs, and makes the changeturf signal persistance stuff actually work
* bro fuck documentation
* Changes from a var to a proc, prevents admemems and idiots
* Extra detail on why we do the copy post qdel
* Makes turfs persist their signals, uses this to optimize connect_loc
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* (code bounty) refactors all uses of Crossed() and Uncrossed() into signals sent to loc, tracked by connect_loc
* WHEW THAT WAS EASY
* Update ammo.dm
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
* Adds new wrinkles to monkey brains (#58631)
This does a variety of improvements to monkey ai that I got drawn into after fixing a relatively simple bug with monkeys and guns. This pr is in support of #58565 so that in the rare chance pun pun gets a gun, they know how to use it. Previously #16630 made it so monkeys could use guns but semi-recently that was broken. Now that's fixed and in addition some other monkey ai capabilities were enhanced, read the changelog for the full list.
* Adds new wrinkles to monkey brains
Co-authored-by: Emmett Gaines <ninjanomnom@gmail.com>
* Adds a subsystem for ai movement (#57111)
* done
* straight walk
* movement
* yep
* removes unused macro
* done
* Update ai_movement.dm
* Adds a subsystem for ai movement
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
* Monkeys drop forced two handed items (#56329)
Monkeys cannot wield twohanded items.
But are not forced to drop items that must be wielded two handed.
This forces monkeys to drop items if they need to be two handed.
(Also makes monkey ais not try and pick up 2 handed weapons)
* Monkeys drop forced two handed items
Co-authored-by: NightRed <nightred@gmail.com>
* Makes it so player-controller monkeyized humans dont also keep AI control + extra AI controller fixes (#55515)
AI controllers now properly check if a mob is client-controlled and dont start processing if its the case.
AI controllers now handle deletion on unpossesion if that's filled in as an argument
Dead monkeys stop attacking things
* Makes it so player-controller monkeyized humans dont also keep AI control + extra AI controller fixes
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
* [READY] Creates Datumized AI and applies it to monkeys (#55238)
New AI system, implemented for monkeys.
* [READY] Creates Datumized AI and applies it to monkeys
Co-authored-by: Qustinnus <Floydje123@hotmail.com>