mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-13 03:33:21 +00: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 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 |
@@ -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
|
||||||
|
|||||||
14
modular_chomp/game/effects/spawner.dm
Normal file
14
modular_chomp/game/effects/spawner.dm
Normal 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"
|
||||||
29
modular_chomp/game/machinery/buttons.dm
Normal file
29
modular_chomp/game/machinery/buttons.dm
Normal 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"
|
||||||
@@ -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"
|
||||||
|
|||||||
Reference in New Issue
Block a user