mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2026-08-28 23:59:40 +01:00
Add a Mob Spawner to VR + fixed squrrel mob (#6750)
This commit is contained in:
@@ -82,3 +82,99 @@ var/global/list/vr_mob_tf_options = list(
|
||||
"Xeno hunter" = /mob/living/simple_mob/xeno_ch/hunter,
|
||||
"Xeno queen" = /mob/living/simple_mob/xeno_ch/queen/maid,
|
||||
"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 |
@@ -4240,6 +4240,10 @@
|
||||
temperature = 311
|
||||
},
|
||||
/area/vr/outdoors/powered)
|
||||
"eTS" = (
|
||||
/obj/machinery/button/mob_spawner_button,
|
||||
/turf/simulated/wall/r_wall,
|
||||
/area/vr/powered/building2)
|
||||
"eUa" = (
|
||||
/obj/effect/floor_decal/rust,
|
||||
/obj/structure/simple_door/wood,
|
||||
@@ -8318,6 +8322,10 @@
|
||||
outdoors = 0
|
||||
},
|
||||
/area/vr/powered/dungeon)
|
||||
"jKl" = (
|
||||
/obj/effect/landmark/button_mob_spawner_landmark/second,
|
||||
/turf/simulated/floor/tiled/asteroid_steel,
|
||||
/area/vr/powered/building2)
|
||||
"jKA" = (
|
||||
/obj/machinery/door/airlock{
|
||||
id_tag = "VR1";
|
||||
@@ -9170,6 +9178,10 @@
|
||||
},
|
||||
/turf/simulated/floor/wood,
|
||||
/area/vr/powered)
|
||||
"kKK" = (
|
||||
/obj/effect/landmark/button_mob_spawner_landmark,
|
||||
/turf/simulated/floor/tiled/asteroid_steel,
|
||||
/area/vr/powered/building2)
|
||||
"kLz" = (
|
||||
/obj/machinery/power/emitter/antique,
|
||||
/obj/structure/cable/green,
|
||||
@@ -16852,6 +16864,10 @@
|
||||
/mob/living/simple_mob/animal/passive/lizard,
|
||||
/turf/simulated/floor/tiled/techfloor/grid,
|
||||
/area/vr/powered/dungeon)
|
||||
"tim" = (
|
||||
/obj/machinery/button/mob_spawner_button/second,
|
||||
/turf/simulated/wall/r_wall,
|
||||
/area/vr/powered/building2)
|
||||
"tkb" = (
|
||||
/obj/machinery/light{
|
||||
dir = 1
|
||||
@@ -23787,7 +23803,7 @@ rcK
|
||||
rcK
|
||||
rcK
|
||||
rcK
|
||||
rcK
|
||||
jKl
|
||||
rcK
|
||||
rcK
|
||||
rcK
|
||||
@@ -24303,7 +24319,7 @@ rcK
|
||||
rcK
|
||||
rcK
|
||||
rcK
|
||||
rcK
|
||||
kKK
|
||||
rcK
|
||||
rcK
|
||||
rcK
|
||||
@@ -25337,8 +25353,8 @@ tgD
|
||||
rcK
|
||||
rcK
|
||||
rcK
|
||||
tgD
|
||||
tgD
|
||||
eTS
|
||||
tim
|
||||
tgD
|
||||
tgD
|
||||
cwz
|
||||
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
@@ -4778,6 +4778,8 @@
|
||||
#include "modular_chomp\code\modules\vore\resizing\resize.dm"
|
||||
#include "modular_chomp\code\modules\weapons\melee.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\maps\overmap\aegis_carrier\aegis_objs.dm"
|
||||
#include "modular_chomp\maps\overmap\space_pois\space_areas.dm"
|
||||
|
||||
Reference in New Issue
Block a user