Basic mobs core implementation and cow migration. (#28667)

* Basic mobs core implementation and cow migration.

* fix whitespace

* uncomfortable fix for null weirdness

* update updatepaths script number

* lewc review 1

* fix delta

* Update code/datums/ai/basic_mobs/basic_ai_behaviors/tipped_reaction.dm

Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
Signed-off-by: warriorstar-orion <orion@snowfrost.garden>

---------

Signed-off-by: warriorstar-orion <orion@snowfrost.garden>
Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
This commit is contained in:
warriorstar-orion
2025-04-05 11:35:42 +00:00
committed by GitHub
co-authored by Luc
parent b012f18d9a
commit c820499f90
80 changed files with 1493 additions and 272 deletions
@@ -31,7 +31,7 @@
depotarea.armory_locker_looted()
/obj/structure/closet/secure_closet/depot/attack_animal(mob/M)
if(isanimal(M) && ("syndicate" in M.faction))
if(isanimal_or_basicmob(M) && ("syndicate" in M.faction))
to_chat(M, "<span class='warning'>[src] resists your attack!</span>")
return
return ..()
@@ -47,7 +47,7 @@
/obj/structure/closet/critter/random/populate_contents()
content_mob = pick(/mob/living/simple_animal/pet/dog/corgi,
/mob/living/simple_animal/pet/dog/corgi/lisa,
/mob/living/simple_animal/cow,
/mob/living/basic/cow,
/mob/living/simple_animal/pig,
/mob/living/simple_animal/hostile/retaliate/goat,
/mob/living/simple_animal/turkey,
@@ -68,7 +68,7 @@
/obj/structure/closet/critter/cow
name = "cow crate"
content_mob = /mob/living/simple_animal/cow
content_mob = /mob/living/basic/cow
/obj/structure/closet/critter/pig
name = "pig crate"
@@ -75,7 +75,7 @@
/obj/structure/largecrate/cow/crowbar_act(mob/living/user, obj/item/I)
if(!I.use_tool(src, user, I.tool_volume))
return
new /mob/living/simple_animal/cow(loc)
new /mob/living/basic/cow(loc)
return ..()
/obj/structure/largecrate/goat
@@ -89,7 +89,7 @@
/obj/structure/kitchenspike/MouseDrop_T(mob/living/victim, mob/living/user)
if(!user.Adjacent(src) || !user.Adjacent(victim) || is_ai(user) || !ismob(victim))
return
if(isanimal(user) && victim != user)
if(isanimal_or_basicmob(user) && victim != user)
return // animals cannot put mobs other than themselves onto spikes
add_fingerprint(user)
INVOKE_ASYNC(src, TYPE_PROC_REF(/obj/structure/kitchenspike, start_spike), victim, user)
+1 -1
View File
@@ -360,7 +360,7 @@
/obj/structure/table/proc/get_flip_speed(mob/living/flipper)
if(!istype(flipper))
return 0 SECONDS // sure
if(!issimple_animal(flipper))
if(!isanimal_or_basicmob(flipper))
return 0 SECONDS
if(istype(flipper, /mob/living/simple_animal/revenant))
return 0 SECONDS // funny ghost table