fix simple mob bellies on admin spawn (#18036)

* simple mob adnmin spawn

* .

* also fix that

* rid of that sin

* .

* wording

* unfuck

* .

* ...

* cleanup

* .

* .
This commit is contained in:
Kashargul
2025-07-24 14:01:26 +02:00
committed by GitHub
parent 9c78f5b806
commit 873827d5f5
80 changed files with 320 additions and 566 deletions
@@ -15,63 +15,6 @@
invisibility = INVISIBILITY_OBSERVER
spawn_active = TRUE
var/announce_prob = 35
var/list/possible_mobs = list("Rabbit" = /mob/living/simple_mob/vore/rabbit,
"Red Panda" = /mob/living/simple_mob/vore/redpanda,
"Fennec" = /mob/living/simple_mob/vore/fennec,
"Fennix" = /mob/living/simple_mob/vore/fennix,
"Space Bumblebee" = /mob/living/simple_mob/vore/bee,
"Space Bear" = /mob/living/simple_mob/animal/space/bear,
"Voracious Lizard" = /mob/living/simple_mob/vore/aggressive/dino,
"Giant Frog" = /mob/living/simple_mob/vore/aggressive/frog,
"Giant Rat" = /mob/living/simple_mob/vore/aggressive/rat,
"Jelly Blob" = /mob/living/simple_mob/vore/jelly,
"Wolf" = /mob/living/simple_mob/vore/wolf,
"Juvenile Solargrub" = /mob/living/simple_mob/vore/solargrub,
"Sect Queen" = /mob/living/simple_mob/vore/sect_queen,
"Sect Drone" = /mob/living/simple_mob/vore/sect_drone,
"Defanged Xenomorph" = /mob/living/simple_mob/vore/xeno_defanged,
"Panther" = /mob/living/simple_mob/vore/aggressive/panther,
"Giant Snake" = /mob/living/simple_mob/vore/aggressive/giant_snake,
"Deathclaw" = /mob/living/simple_mob/vore/aggressive/deathclaw,
"Otie" = /mob/living/simple_mob/vore/otie,
"Mutated Otie" =/mob/living/simple_mob/vore/otie/feral,
"Red Otie" = /mob/living/simple_mob/vore/otie/red,
"Corrupt Hound" = /mob/living/simple_mob/vore/aggressive/corrupthound,
"Corrupt Corrupt Hound" = /mob/living/simple_mob/vore/aggressive/corrupthound/prettyboi,
"Hunter Giant Spider" = /mob/living/simple_mob/animal/giant_spider/hunter,
"Lurker Giant Spider" = /mob/living/simple_mob/animal/giant_spider/lurker,
"Pepper Giant Spider" = /mob/living/simple_mob/animal/giant_spider/pepper,
"Thermic Giant Spider" = /mob/living/simple_mob/animal/giant_spider/thermic,
"Webslinger Giant Spider" = /mob/living/simple_mob/animal/giant_spider/webslinger,
"Frost Giant Spider" = /mob/living/simple_mob/animal/giant_spider/frost,
"Nurse Giant Spider" = /mob/living/simple_mob/animal/giant_spider/nurse/eggless,
"Giant Spider Queen" = /mob/living/simple_mob/animal/giant_spider/nurse/queen/eggless,
"Red Dragon" = /mob/living/simple_mob/vore/aggressive/dragon,
"Phoron Dragon" = /mob/living/simple_mob/vore/aggressive/dragon/virgo3b,
"Space Dragon" = /mob/living/simple_mob/vore/aggressive/dragon/space,
"Crypt Drake" = /mob/living/simple_mob/vore/cryptdrake,
"Weretiger" = /mob/living/simple_mob/vore/weretiger,
"Catslug" = /mob/living/simple_mob/vore/alienanimals/catslug,
"Squirrel" = /mob/living/simple_mob/vore/squirrel/big,
"Pakkun" =/mob/living/simple_mob/vore/pakkun,
"Snapdragon" =/mob/living/simple_mob/vore/pakkun/snapdragon,
"Sand pakkun" = /mob/living/simple_mob/vore/pakkun/sand,
"Fire pakkun" = /mob/living/simple_mob/vore/pakkun/fire,
"Amethyst pakkun" = /mob/living/simple_mob/vore/pakkun/purple,
"Raptor" = /mob/living/simple_mob/vore/raptor,
"Giant Bat" = /mob/living/simple_mob/vore/bat,
"Scel (Orange)" = /mob/living/simple_mob/vore/scel/orange,
"Scel (Blue)" = /mob/living/simple_mob/vore/scel/blue,
"Scel (Purple)" = /mob/living/simple_mob/vore/scel/purple,
"Scel (Red)" = /mob/living/simple_mob/vore/scel/red,
"Scel (Green)" = /mob/living/simple_mob/vore/scel/green,
"Cave Stalker" = /mob/living/simple_mob/vore/stalker,
"Kelpie" = /mob/living/simple_mob/vore/horse/kelpie,
"Scrubble" = /mob/living/simple_mob/vore/scrubble,
"Sonadile" = /mob/living/simple_mob/vore/sonadile,
"kururak" = /mob/living/simple_mob/animal/sif/kururak,
"Statue of Temptation" = /mob/living/simple_mob/vore/devil
)
/obj/structure/ghost_pod/ghost_activated/maintpred/create_occupant(var/mob/M)
..()
@@ -88,7 +31,7 @@
return
while(finalized != "Yes" && M.client)
choice = tgui_input_list(M, "What type of predator do you want to play as?", "Maintpred Choice", possible_mobs)
choice = tgui_input_list(M, "What type of predator do you want to play as?", "Maintpred Choice", GLOB.maint_mob_pred_options)
if(!choice) //We probably pushed the cancel button on the mob selection. Let's just put the ghost pod back in the list.
to_chat(M, span_notice("No mob selected, cancelling."))
reset_ghostpod()
@@ -101,12 +44,10 @@
reset_ghostpod()
return
var/mobtype = possible_mobs[choice]
var/mobtype = GLOB.maint_mob_pred_options[choice]
var/mob/living/simple_mob/newPred = new mobtype(get_turf(src))
qdel(newPred.ai_holder)
newPred.ai_holder = null
newPred.voremob_loaded = TRUE // On-demand belly loading.
newPred.init_vore() // On-demand belly loading.
//newPred.movement_cooldown = 0 // The "needless artificial speed cap" exists for a reason
if(M.mind)
M.mind.transfer_to(newPred)
@@ -118,6 +59,10 @@
newPred.ckey = M.ckey
newPred.visible_message(span_warning("[newPred] emerges from somewhere!"))
log_and_message_admins("successfully entered \a [src] and became a [newPred].")
if(tgui_alert(newPred, "Do you want to load the vore bellies from your current slot?", "Load Bellies", list("Yes", "No")) == "Yes")
newPred.copy_from_prefs_vr()
if(LAZYLEN(newPred.vore_organs))
newPred.vore_selected = newPred.vore_organs[1]
qdel(src)
/obj/structure/ghost_pod/ghost_activated/maintpred/no_announce
@@ -145,7 +90,6 @@
var/mob/living/simple_mob/vore/morph/newMorph = new /mob/living/simple_mob/vore/morph(get_turf(src))
newMorph.voremob_loaded = TRUE // On-demand belly loading.
newMorph.init_vore() // On-demand belly loading.
if(M.mind)
M.mind.transfer_to(newMorph)
to_chat(M, span_notice("You are a " + span_bold("Morph") + ", somehow having gotten aboard the station in your wandering. \
@@ -160,6 +104,10 @@
newMorph.ckey = M.ckey
newMorph.visible_message(span_warning("A morph appears to crawl out of somewhere."))
log_and_message_admins("successfully entered \a [src] and became a Morph.")
if(tgui_alert(newMorph, "Do you want to load the vore bellies from your current slot?", "Load Bellies", list("Yes", "No")) == "Yes")
newMorph.copy_from_prefs_vr()
if(LAZYLEN(newMorph.vore_organs))
newMorph.vore_selected = newMorph.vore_organs[1]
qdel(src)
/obj/structure/ghost_pod/ghost_activated/morphspawn/no_announce