Makes some mobs that are retaliate or vore hostile stop fighting whilst inside a belly. Specifically: Squirrels, bats, peasants, sheep, succubi, vampires, wolfgirls and wolftaurs.
Also adds this to passive mobs, which won't change anything normally as they don't fight when eaten. However, it will mean that catgirls and lamia, which are normally passive, will stop fighting in a belly if spawned via the semirandom mob spawner.
Adds a var for AI holders called: bell_fight
This var defaults to true, while true the mob will attempt to fight you while it is in a belly.
Prospective mob designers can make AIs that have this disabled though, in cases where you want a mob to give up fighting once it's been eaten.
Added a new redgate islands map. This consists of two Z-levels: An ocean with a few islands to visit, many with vore mobs on them. An underwater Z-level with lots of things to find hidden around the ocean floor, a little more sparse on vore mobs.
Added a new underwater turf. Standing on this turf feeds you CO2 instead of air, suffocating you. It is a subset of water turfs, and therefore interacts with aquatic, which also allows you to breathe on these turfs. This does mean that you can use the "dive" ability of aquatic under the water too, but it can be treated as though you are swimming up above the sea floor.
Added a "diving" subset of the ocean turf, which allows you to dive down to the turf beneath it, or to swim up from below. Uses normal move up/down verbs.
Added a bunch of underwater flora.
Added a collapsed ships mast prop.
Added a new variation of Fake_Sun that applies a new underwater weather effect and has only one option for the colour and brightness.
Added a new "vorny" variation of the great white carp. This one is very hard to escape from and digests quickly, but is stunned if you manage to do so to give you a chance to flee.
Added a new water resistant and friendly hiveless hivebot called Harry.
Added a couple of creative commons 0 sound effects for the ocean and underwater areas.
- In mob/living init, makes sure there is no pre-existing ai_holder before calling its init
- In the initialize_ai_holder, double checks if we got a pre-existing ai_holder and properly GCs it if so
- Furthermore, checks if the ai_holder_type was valid by checking if ai_holder is null, if so - logs a debug message and returns.
Moves the logic for initializing an ai_holder from mob/living/Initialize() into its own proc, replacing the original code with a call of this proc.
Functionally, nothing has been changed. However, this enables ai reinitialization for gms
Makes it so that if you rest while being attacked by a retaliate mob, they may decide to stop attacking you.
They will forgive you if their health is full, if they cannot eat you, and if they are otherwise not hostile. If they CAN eat you, then their behavior will be as normal, they will proceed to eat you.
At the moment this applies to all retaliate mobs, but a variable `forgive_resting` is in place for in case we want some mobs to not be so forgiving, be it normally or through adminbus.
While I was working on kobs I fixed and tweaked a whole bunch of little things. I figured even then that I should separate the fixes, but I never got around to it
Now I have~
-Only if it's enabled on the mob's AI holder
-Only if your settings are configured to allow it.
Otherwise it acts normal, doesn't bother SSD people, doesn't maul you while unconscious (unless it is set to do that, since that's an option that exists)
Important for a mob I will be adding soon.
Now they ONLY respond to psps, rather than everything except psps except when they are kicking your ass.
Also makes it so simplemobs get up to kick your ass if you attack them when they are resting.