Add a Mob Spawner to VR + fixed squrrel mob (#6750)

This commit is contained in:
UniquaSa
2023-08-08 08:01:39 +02:00
committed by GitHub
parent 8384f27582
commit 5c32d42ff3
6 changed files with 161 additions and 4 deletions

View File

@@ -82,3 +82,99 @@ var/global/list/vr_mob_tf_options = list(
"Xeno hunter" = /mob/living/simple_mob/xeno_ch/hunter, "Xeno hunter" = /mob/living/simple_mob/xeno_ch/hunter,
"Xeno queen" = /mob/living/simple_mob/xeno_ch/queen/maid, "Xeno queen" = /mob/living/simple_mob/xeno_ch/queen/maid,
"Xeno sentinel" = /mob/living/simple_mob/xeno_ch/sentinel) "Xeno sentinel" = /mob/living/simple_mob/xeno_ch/sentinel)
var/global/list/vr_mob_spawner_options = list(
"Parrot" = /mob/living/simple_mob/animal/passive/bird/parrot,
"Rabbit" = /mob/living/simple_mob/vore/rabbit,
"Cat" = /mob/living/simple_mob/animal/passive/cat,
"Fox" = /mob/living/simple_mob/animal/passive/fox,
"Cow" = /mob/living/simple_mob/animal/passive/cow,
"Dog" = /mob/living/simple_mob/vore/woof,
"Horse" = /mob/living/simple_mob/vore/horse/big,
"Hippo" = /mob/living/simple_mob/vore/hippo,
"Sheep" = /mob/living/simple_mob/vore/sheep,
"Squirrel" = /mob/living/simple_mob/vore/squirrel,
"Red panda" = /mob/living/simple_mob/vore/redpanda,
"Fennec" = /mob/living/simple_mob/vore/fennec,
"Corgi" = /mob/living/simple_mob/animal/passive/dog/corgi,
"Armadillo" = /mob/living/simple_mob/animal/passive/armadillo,
"Racoon" = /mob/living/simple_mob/animal/passive/raccoon_ch,
"Goose" = /mob/living/simple_mob/animal/space/goose,
"Frog" = /mob/living/simple_mob/vore/aggressive/frog,
"Dust jumper" = /mob/living/simple_mob/vore/alienanimals/dustjumper,
"Dire wolf" = /mob/living/simple_mob/vore/wolf/direwolf,
"Space bumblebee" = /mob/living/simple_mob/vore/bee,
"Space bear" = /mob/living/simple_mob/animal/space/bear,
"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,
"Giant rat" = /mob/living/simple_mob/vore/aggressive/rat,
"Giant snake" = /mob/living/simple_mob/vore/aggressive/giant_snake,
"Hyena" = /mob/living/simple_mob/animal/hyena,
"Space shark" = /mob/living/simple_mob/animal/space/shark,
"Shantak" = /mob/living/simple_mob/animal/sif/shantak,
"Kururak" = /mob/living/simple_mob/animal/sif/kururak,
"Teppi" = /mob/living/simple_mob/vore/alienanimals/teppi,
"Slug" = /mob/living/simple_mob/vore/slug,
"Catslug" = /mob/living/simple_mob/vore/alienanimals/catslug,
"Dust jumper" = /mob/living/simple_mob/vore/alienanimals/dustjumper,
"Star treader" = /mob/living/simple_mob/vore/alienanimals/startreader,
"Space ghost" = /mob/living/simple_mob/vore/alienanimals/spooky_ghost,
"Space carp" = /mob/living/simple_mob/animal/space/carp,
"Space jelly fish" = /mob/living/simple_mob/vore/alienanimals/space_jellyfish,
"Abyss lurker" = /mob/living/simple_mob/vore/vore_hostile/abyss_lurker,
"Abyss leaper" = /mob/living/simple_mob/vore/vore_hostile/leaper,
"Gelatinous cube" = /mob/living/simple_mob/vore/vore_hostile/gelatinous_cube,
"Panther" = /mob/living/simple_mob/vore/aggressive/panther,
"Lizard man" = /mob/living/simple_mob/vore/aggressive/lizardman,
"Pakkun" = /mob/living/simple_mob/vore/pakkun,
"Synx" = /mob/living/simple_mob/animal/synx,
"Jelly blob" = /mob/living/simple_mob/vore/jelly,
"Voracious lizard" = /mob/living/simple_mob/vore/aggressive/dino,
"Baby metroid" = /mob/living/simple_mob/metroid/juvenile/baby,
"Super metroid" = /mob/living/simple_mob/metroid/juvenile/super,
"Alpha metroid" = /mob/living/simple_mob/metroid/juvenile/alpha,
"Gamma metroid" = /mob/living/simple_mob/metroid/juvenile/gamma,
"Zeta metroid" = /mob/living/simple_mob/metroid/juvenile/zeta,
"Omega metroid" = /mob/living/simple_mob/metroid/juvenile/omega,
"Queen metroid" = /mob/living/simple_mob/metroid/juvenile/queen,
"Xeno hunter" = /mob/living/simple_mob/animal/space/alien,
"Xeno sentinel" = /mob/living/simple_mob/animal/space/alien/sentinel,
"Xeno Praetorian" = /mob/living/simple_mob/animal/space/alien/sentinel/praetorian,
"Xeno queen" = /mob/living/simple_mob/animal/space/alien/queen,
"Xeno Empress" = /mob/living/simple_mob/animal/space/alien/queen/empress,
"Xeno Queen Mother" = /mob/living/simple_mob/animal/space/alien/queen/empress/mother,
"Defanged xeno" = /mob/living/simple_mob/vore/xeno_defanged,
"Sect drone" = /mob/living/simple_mob/vore/sect_drone,
"Sect queen" = /mob/living/simple_mob/vore/sect_queen,
"Deathclaw" = /mob/living/simple_mob/vore/aggressive/deathclaw,
"Great White Wolf" = /mob/living/simple_mob/vore/greatwolf,
"Great Black Wolf" = /mob/living/simple_mob/vore/greatwolf/black,
"Solar grub" = /mob/living/simple_mob/vore/solargrub,
"Pitcher plant" = /mob/living/simple_mob/vore/pitcher_plant,
"Red gummy kobold" = /mob/living/simple_mob/vore/candy/redcabold,
"Blue gummy kobold" = /mob/living/simple_mob/vore/candy/bluecabold,
"Yellow gummy kobold" = /mob/living/simple_mob/vore/candy/yellowcabold,
"Marshmellow serpent" = /mob/living/simple_mob/vore/candy/marshmellowserpent,
"Riftwalker" = /mob/living/simple_mob/vore/demon,
"Wendigo" = /mob/living/simple_mob/vore/demon/wendigo,
"Shadekin" = /mob/living/simple_mob/shadekin,
"Catgirl" = /mob/living/simple_mob/vore/catgirl,
"Wolfgirl" = /mob/living/simple_mob/vore/wolfgirl,
"Lamia" = /mob/living/simple_mob/vore/lamia,
"Corrupt hound" = /mob/living/simple_mob/vore/aggressive/corrupthound,
"Corrupt corrupt hound" = /mob/living/simple_mob/vore/aggressive/corrupthound/prettyboi,
"SWOOPIE XL" = /mob/living/simple_mob/vore/aggressive/corrupthound/swoopie,
"Cultist Teshari" = /mob/living/simple_mob/humanoid/cultist/tesh,
"Burning Mage" = /mob/living/simple_mob/humanoid/cultist/human/bloodjaunt/fireball,
"Converted" = /mob/living/simple_mob/humanoid/cultist/noodle,
"Cultist Teshari Mage" = /mob/living/simple_mob/humanoid/cultist/castertesh,
"Monkey" = /mob/living/carbon/human/monkey,
"Wolpin" = /mob/living/carbon/human/wolpin,
"Sparra" = /mob/living/carbon/human/sparram,
"Saru" = /mob/living/carbon/human/sergallingm,
"Sobaka" = /mob/living/carbon/human/sharkm,
"Farwa" = /mob/living/carbon/human/farwa,
"Neaera" = /mob/living/carbon/human/neaera,
"Stok" = /mob/living/carbon/human/stok
)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 118 KiB

After

Width:  |  Height:  |  Size: 122 KiB

View File

@@ -4240,6 +4240,10 @@
temperature = 311 temperature = 311
}, },
/area/vr/outdoors/powered) /area/vr/outdoors/powered)
"eTS" = (
/obj/machinery/button/mob_spawner_button,
/turf/simulated/wall/r_wall,
/area/vr/powered/building2)
"eUa" = ( "eUa" = (
/obj/effect/floor_decal/rust, /obj/effect/floor_decal/rust,
/obj/structure/simple_door/wood, /obj/structure/simple_door/wood,
@@ -8318,6 +8322,10 @@
outdoors = 0 outdoors = 0
}, },
/area/vr/powered/dungeon) /area/vr/powered/dungeon)
"jKl" = (
/obj/effect/landmark/button_mob_spawner_landmark/second,
/turf/simulated/floor/tiled/asteroid_steel,
/area/vr/powered/building2)
"jKA" = ( "jKA" = (
/obj/machinery/door/airlock{ /obj/machinery/door/airlock{
id_tag = "VR1"; id_tag = "VR1";
@@ -9170,6 +9178,10 @@
}, },
/turf/simulated/floor/wood, /turf/simulated/floor/wood,
/area/vr/powered) /area/vr/powered)
"kKK" = (
/obj/effect/landmark/button_mob_spawner_landmark,
/turf/simulated/floor/tiled/asteroid_steel,
/area/vr/powered/building2)
"kLz" = ( "kLz" = (
/obj/machinery/power/emitter/antique, /obj/machinery/power/emitter/antique,
/obj/structure/cable/green, /obj/structure/cable/green,
@@ -16852,6 +16864,10 @@
/mob/living/simple_mob/animal/passive/lizard, /mob/living/simple_mob/animal/passive/lizard,
/turf/simulated/floor/tiled/techfloor/grid, /turf/simulated/floor/tiled/techfloor/grid,
/area/vr/powered/dungeon) /area/vr/powered/dungeon)
"tim" = (
/obj/machinery/button/mob_spawner_button/second,
/turf/simulated/wall/r_wall,
/area/vr/powered/building2)
"tkb" = ( "tkb" = (
/obj/machinery/light{ /obj/machinery/light{
dir = 1 dir = 1
@@ -23787,7 +23803,7 @@ rcK
rcK rcK
rcK rcK
rcK rcK
rcK jKl
rcK rcK
rcK rcK
rcK rcK
@@ -24303,7 +24319,7 @@ rcK
rcK rcK
rcK rcK
rcK rcK
rcK kKK
rcK rcK
rcK rcK
rcK rcK
@@ -25337,8 +25353,8 @@ tgD
rcK rcK
rcK rcK
rcK rcK
tgD eTS
tgD tim
tgD tgD
tgD tgD
cwz cwz

View File

@@ -0,0 +1,14 @@
GLOBAL_LIST_EMPTY(button_mob_spawner_landmark)
/obj/effect/landmark/button_mob_spawner_landmark
name = "Mob Spawner"
icon = 'modular_chomp/icons/obj/storage.dmi'
icon_state = "expirmentalaid"
var/link = "MOBSPAWN"
/obj/effect/landmark/button_mob_spawner_landmark/Initialize()
. = ..()
GLOB.button_mob_spawner_landmark[link] = src
/obj/effect/landmark/button_mob_spawner_landmark/second
link = "MOBSPAWNSECOND"

View File

@@ -0,0 +1,29 @@
/obj/machinery/button/mob_spawner_button
name = "Mob spawner"
var/mob/living/simple_mob/mobspawned
///What spawner is linked with this spawner
var/link = "MOBSPAWN"
/obj/machinery/button/mob_spawner_button/attack_hand(mob/living/user)
var/mob_wanted = tgui_input_list(user, "Which Mob do you want to spawn?", "Mob spawn", vr_mob_spawner_options)
if(!mob_wanted)
return
QDEL_NULL(mobspawned)
var/neutral = FALSE
var/mobtype = vr_mob_spawner_options[mob_wanted]
var/faction = tgui_alert(user, "Do you want the mob's faction to remain the same or be passive?","Faction",list("Normal","Neutral"))
if(faction == "Neutral")
neutral = TRUE
mobspawned = new mobtype(get_turf(GLOB.button_mob_spawner_landmark[link]))
mobspawned.voremob_loaded = TRUE
mobspawned.init_vore()
if(neutral == TRUE)
mobspawned.faction = "neutral"
RegisterSignal(mobspawned, COMSIG_PARENT_QDELETING, .proc/clean_mob)
/obj/machinery/button/mob_spawner_button/proc/clean_mob()
SIGNAL_HANDLER
mobspawned = null
/obj/machinery/button/mob_spawner_button/second
link = "MOBSPAWNSECOND"

View File

@@ -4778,6 +4778,8 @@
#include "modular_chomp\code\modules\vore\resizing\resize.dm" #include "modular_chomp\code\modules\vore\resizing\resize.dm"
#include "modular_chomp\code\modules\weapons\melee.dm" #include "modular_chomp\code\modules\weapons\melee.dm"
#include "modular_chomp\code\modules\xenobio\machinery\monkey_processor.dm" #include "modular_chomp\code\modules\xenobio\machinery\monkey_processor.dm"
#include "modular_chomp\game\effects\spawner.dm"
#include "modular_chomp\game\machinery\buttons.dm"
#include "modular_chomp\game\objects\effects\spiders.dm" #include "modular_chomp\game\objects\effects\spiders.dm"
#include "modular_chomp\maps\overmap\aegis_carrier\aegis_objs.dm" #include "modular_chomp\maps\overmap\aegis_carrier\aegis_objs.dm"
#include "modular_chomp\maps\overmap\space_pois\space_areas.dm" #include "modular_chomp\maps\overmap\space_pois\space_areas.dm"