diff --git a/code/game/objects/effects/semirandom_mobs_vr.dm b/code/game/objects/effects/semirandom_mobs_vr.dm index 608b333604f..52fa826d4c2 100644 --- a/code/game/objects/effects/semirandom_mobs_vr.dm +++ b/code/game/objects/effects/semirandom_mobs_vr.dm @@ -1018,6 +1018,7 @@ var/global/list/semirandom_mob_spawner_decisions = list() overwrite_hostility = 1 mob_hostile = 0 mob_retaliate = 0 + mob_ghostjoin = 25 //25% chance to be ghost joinable /obj/random/mob/semirandom_mob_spawner/vore/passive/b mob_faction = "pasvoreb" @@ -1030,6 +1031,7 @@ var/global/list/semirandom_mob_spawner_decisions = list() overwrite_hostility = 1 mob_hostile = 0 mob_retaliate = 1 + mob_ghostjoin = 25 //25% chance to be ghost joinable /obj/random/mob/semirandom_mob_spawner/vore/retaliate/b mob_faction = "retvoreb" diff --git a/code/game/objects/random/mob.dm b/code/game/objects/random/mob.dm index 82d828535ad..e00c10a6db9 100644 --- a/code/game/objects/random/mob.dm +++ b/code/game/objects/random/mob.dm @@ -15,6 +15,7 @@ var/mob_wander_distance = 3 var/mob_hostile = 0 var/mob_retaliate = 0 + var/mob_ghostjoin = 0 //Should be a number between 0 and 100, dictates the probability of that mob being ghost joinable. /obj/random/mob/item_to_spawn() return pick(prob(10);/mob/living/simple_mob/animal/passive/lizard, @@ -62,7 +63,9 @@ if(mob_faction) M.faction = mob_faction - + if(mob_ghostjoin) + if(prob(mob_ghostjoin)) + M.ghostjoin = 1 /obj/random/mob/sif name = "Random Sif Animal" diff --git a/code/game/objects/structures/ghost_pods/event_vr.dm b/code/game/objects/structures/ghost_pods/event_vr.dm index b6d97762dca..6f378d92a07 100644 --- a/code/game/objects/structures/ghost_pods/event_vr.dm +++ b/code/game/objects/structures/ghost_pods/event_vr.dm @@ -160,3 +160,15 @@ /obj/structure/ghost_pod/ghost_activated/morphspawn/no_announce announce_prob = 0 + +/obj/structure/ghost_pod/ghost_activated/maintpred/redgate //For ghostpods placed in the redgate that aren't spawned via an event + name = "creature hole" + desc = "Looks like some creature dug is hiding in the redgate..." + announce_prob = 0 + icon_state = "redgate_hole" + icon_state_opened = "redgate_hole" + +/obj/structure/ghost_pod/ghost_activated/maintpred/redgate/Initialize() + ..() + if(!(src in active_ghost_pods)) + active_ghost_pods += src diff --git a/icons/effects/effects.dmi b/icons/effects/effects.dmi index 5defea72425..4df86b72fff 100644 Binary files a/icons/effects/effects.dmi and b/icons/effects/effects.dmi differ diff --git a/maps/redgate/cybercity.dmm b/maps/redgate/cybercity.dmm index 4b18a09a8d3..9399c0f93cd 100644 --- a/maps/redgate/cybercity.dmm +++ b/maps/redgate/cybercity.dmm @@ -2321,6 +2321,10 @@ }, /turf/simulated/floor/carpet/blue, /area/redgate/city/theatre) +"dly" = ( +/obj/structure/ghost_pod/ghost_activated/maintpred/redgate, +/turf/simulated/floor/outdoors/sidewalk/slab/city, +/area/redgate/city/streets) "dlH" = ( /obj/structure/simple_door/wood, /turf/simulated/floor/wood, @@ -8158,6 +8162,7 @@ "kPJ" = ( /mob/living/simple_mob/vore/fennec/huge{ autodoom = 0; + ghostjoin = 1; vore_bump_chance = 25; vore_pounce_chance = 50 }, @@ -9545,7 +9550,9 @@ /turf/simulated/floor/tiled/white, /area/redgate/city/science) "mCK" = ( -/mob/living/simple_mob/vore/pakkun, +/mob/living/simple_mob/vore/pakkun{ + ghostjoin = 1 + }, /turf/simulated/floor/tiled/steel_ridged, /area/redgate/city/waterworks) "mEd" = ( @@ -12512,7 +12519,9 @@ /turf/simulated/floor/tiled/eris/techmaint_cargo, /area/redgate/city/altevian) "qoV" = ( -/mob/living/simple_mob/vore/weretiger, +/mob/living/simple_mob/vore/weretiger{ + ghostjoin = 1 + }, /turf/simulated/floor/wood, /area/redgate/city/weretiger) "qpj" = ( @@ -13972,7 +13981,9 @@ /obj/machinery/conveyor{ dir = 8 }, -/mob/living/simple_mob/vore/aggressive/deathclaw, +/mob/living/simple_mob/vore/aggressive/deathclaw{ + ghostjoin = 1 + }, /turf/simulated/floor/concrete, /area/redgate/city/conveyors) "snw" = ( @@ -14614,7 +14625,9 @@ /turf/simulated/floor/tiled/eris/white/gray_perforated, /area/redgate/city/warehouse) "tbc" = ( -/mob/living/simple_mob/vore/vore_hostile/leaper, +/mob/living/simple_mob/vore/vore_hostile/leaper{ + ghostjoin = 1 + }, /obj/machinery/light{ dir = 1 }, @@ -18605,7 +18618,7 @@ nqa nqa nqa nqa -nqa +dly bMg dex mgj @@ -29951,7 +29964,7 @@ ktL hVY xGA nqa -nqa +dly nqa aAP vZW diff --git a/maps/redgate/fantasy.dmm b/maps/redgate/fantasy.dmm index 5547cc4264f..789fa791626 100644 --- a/maps/redgate/fantasy.dmm +++ b/maps/redgate/fantasy.dmm @@ -1841,7 +1841,9 @@ /turf/simulated/floor/wood/alt/parquet, /area/redgate/fantasy/grocery) "lP" = ( -/mob/living/simple_mob/vore/alienanimals/catslug/custom/royalslug, +/mob/living/simple_mob/vore/alienanimals/catslug/custom/royalslug{ + ghostjoin = 1 + }, /turf/simulated/floor/carpet/gaycarpet, /area/redgate/fantasy/castle) "lR" = ( @@ -4956,6 +4958,10 @@ "EK" = ( /turf/simulated/floor/outdoors/grass/seasonal, /area/redgate/fantasy/paladinhouse) +"EL" = ( +/obj/structure/ghost_pod/ghost_activated/maintpred/redgate, +/turf/simulated/floor/outdoors/mud, +/area/redgate/fantasy/streets) "EO" = ( /obj/structure/closet/walllocker/wooden/east, /obj/item/weapon/potion_base/alkahest, @@ -5562,7 +5568,9 @@ /turf/simulated/floor/concrete, /area/redgate/fantasy/walls) "IL" = ( -/mob/living/simple_mob/vore/pakkun/fire, +/mob/living/simple_mob/vore/pakkun/fire{ + ghostjoin = 1 + }, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/house) "IM" = ( @@ -6071,7 +6079,9 @@ /turf/simulated/floor/wood, /area/redgate/fantasy/blacksmith) "LZ" = ( -/mob/living/simple_mob/vore/alienanimals/teppi, +/mob/living/simple_mob/vore/alienanimals/teppi{ + ghostjoin = 1 + }, /turf/simulated/floor/outdoors/grass/seasonal, /area/redgate/fantasy/streets) "Ma" = ( @@ -11050,7 +11060,7 @@ Wt Gl Gl Gl -Gl +EL Wt QZ Js diff --git a/maps/redgate/fantasy_dungeon.dmm b/maps/redgate/fantasy_dungeon.dmm index 6659eaa6761..02cbdea6c88 100644 --- a/maps/redgate/fantasy_dungeon.dmm +++ b/maps/redgate/fantasy_dungeon.dmm @@ -227,6 +227,12 @@ /obj/item/instrument/violin/golden, /turf/simulated/mineral/floor/dirt, /area/redgate/fantasy/caves) +"ft" = ( +/mob/living/simple_mob/vore/bat{ + ghostjoin = 1 + }, +/turf/simulated/floor/wmarble, +/area/redgate/fantasy/dungeon) "fB" = ( /obj/item/weapon/bluespace_crystal, /turf/simulated/mineral/floor/ignore_cavegen/cave, @@ -820,6 +826,10 @@ "rS" = ( /turf/simulated/mineral/floor/ignore_cavegen/cave, /area/redgate/fantasy/castle) +"rW" = ( +/obj/structure/ghost_pod/ghost_activated/maintpred/redgate, +/turf/simulated/mineral/floor/ignore_cavegen/cave, +/area/redgate/fantasy/caves) "sa" = ( /obj/structure/table/marble, /obj/item/weapon/pen/crayon/red{ @@ -1409,7 +1419,8 @@ "CY" = ( /obj/effect/decal/cleanable/dirt, /mob/living/simple_mob/vore/alienanimals/catslug/custom/cryptslug{ - faction = "vampire" + faction = "vampire"; + ghostjoin = 1 }, /turf/simulated/floor/bmarble, /area/redgate/fantasy/dungeon) @@ -1629,7 +1640,9 @@ /turf/simulated/floor/cult, /area/redgate/fantasy/dungeon) "Hz" = ( -/mob/living/simple_mob/vore/bigdragon/friendly, +/mob/living/simple_mob/vore/bigdragon/friendly{ + ghostjoin = 1 + }, /turf/simulated/mineral/floor/dirt, /area/redgate/fantasy/caves) "HB" = ( @@ -1759,6 +1772,12 @@ /obj/random/multiple/ore_pile, /turf/simulated/floor/wmarble, /area/redgate/fantasy/dungeon) +"JS" = ( +/mob/living/simple_mob/vore/vore_hostile/leaper{ + ghostjoin = 1 + }, +/turf/simulated/floor/flesh, +/area/redgate/fantasy/dungeon) "Ka" = ( /obj/structure/reagent_dispensers/beerkeg/wood, /turf/simulated/floor/concrete, @@ -2099,7 +2118,9 @@ /turf/simulated/floor/wmarble, /area/redgate/fantasy/dungeon) "Rk" = ( -/mob/living/simple_mob/vore/cryptdrake, +/mob/living/simple_mob/vore/cryptdrake{ + ghostjoin = 1 + }, /turf/simulated/floor/wmarble, /area/redgate/fantasy/dungeon) "Ry" = ( @@ -9597,7 +9618,7 @@ ac tV qY tV -tV +rW tV TD tV @@ -16145,7 +16166,7 @@ cK cK cK cK -uT +ft cK cK cK @@ -19005,7 +19026,7 @@ lK Ux Ux Ux -oT +JS Ux Zp kn diff --git a/maps/redgate/hotsprings.dmm b/maps/redgate/hotsprings.dmm index 38bc146b74a..415cba972c6 100644 --- a/maps/redgate/hotsprings.dmm +++ b/maps/redgate/hotsprings.dmm @@ -510,6 +510,15 @@ }, /turf/simulated/floor/tiled/steel, /area/redgate/hotsprings/redgate) +"nb" = ( +/obj/structure/ghost_pod/ghost_activated/maintpred/redgate, +/turf/simulated/floor/outdoors/dirt{ + nitrogen = 93.7835; + outdoors = -1; + oxygen = 20.7263; + temperature = 243.15 + }, +/area/redgate/hotsprings/eastcave) "nd" = ( /obj/structure/filingcabinet/chestdrawer, /turf/simulated/floor/tiled/steel, @@ -680,6 +689,15 @@ "rs" = ( /turf/simulated/floor/carpet/sblucarpet, /area/redgate/hotsprings/house/dorm1) +"rU" = ( +/obj/structure/ghost_pod/ghost_activated/maintpred/redgate, +/turf/simulated/floor/outdoors/dirt{ + nitrogen = 93.7835; + outdoors = -1; + oxygen = 20.7263; + temperature = 243.15 + }, +/area/redgate/hotsprings/westcave) "sd" = ( /obj/structure/prop/rock/crystal_dust, /turf/simulated/floor/outdoors/ice{ @@ -922,6 +940,16 @@ temperature = 243.15 }, /area/redgate/hotsprings/outdoors) +"wE" = ( +/mob/living/simple_mob/vore/greatwolf{ + ghostjoin = 1 + }, +/turf/simulated/floor/outdoors/snow{ + nitrogen = 93.7835; + oxygen = 20.7263; + temperature = 243.15 + }, +/area/redgate/hotsprings/outdoors) "wL" = ( /obj/structure/bed/double, /obj/item/weapon/bedsheet/hopdouble, @@ -4496,7 +4524,7 @@ Ya Ya Ya Ya -Td +wE Ya Ya Ya @@ -10206,7 +10234,7 @@ zv ea ea tg -tg +rU tg ea ea @@ -15895,7 +15923,7 @@ qQ qQ qQ un -Jq +nb Jq qQ qQ diff --git a/maps/redgate/islands.dmm b/maps/redgate/islands.dmm index c166b0e0a1d..3255403fed2 100644 --- a/maps/redgate/islands.dmm +++ b/maps/redgate/islands.dmm @@ -520,6 +520,12 @@ "ok" = ( /turf/unsimulated/wall/planetary/normal/virgo4, /area/redgate/islands/ocean) +"oC" = ( +/mob/living/simple_mob/vore/alienanimals/teppi{ + ghostjoin = 1 + }, +/turf/simulated/floor/outdoors/grass, +/area/redgate/islands/ocean) "oF" = ( /obj/machinery/telecomms/server, /turf/simulated/floor/tiled/dark, @@ -925,6 +931,11 @@ /obj/structure/flora/tree/palm, /turf/simulated/floor/beach/sand/desert/outdoors, /area/redgate/islands/ocean) +"Bw" = ( +/obj/structure/flora/ausbushes/fullgrass, +/obj/structure/ghost_pod/ghost_activated/maintpred/redgate, +/turf/simulated/floor/outdoors/grass/heavy, +/area/redgate/islands/ocean) "By" = ( /obj/structure/ladder/updown, /turf/simulated/floor/wood/alt, @@ -1678,7 +1689,9 @@ /turf/simulated/floor/wood/alt, /area/redgate/islands/fishing) "Yv" = ( -/mob/living/simple_mob/vore/pakkun/fire, +/mob/living/simple_mob/vore/pakkun/fire{ + ghostjoin = 1 + }, /turf/simulated/floor/beach/sand/desert/outdoors, /area/redgate/islands/ocean) "YD" = ( @@ -4015,7 +4028,7 @@ sB sB Ch BV -yi +Bw wy wy MJ @@ -15337,7 +15350,7 @@ nx nb nb nb -VU +oC nb nb nb diff --git a/maps/redgate/islands_underwater.dmm b/maps/redgate/islands_underwater.dmm index 97c36df611a..e76e10957f1 100644 --- a/maps/redgate/islands_underwater.dmm +++ b/maps/redgate/islands_underwater.dmm @@ -2299,6 +2299,10 @@ }, /turf/simulated/floor/tiled/milspec, /area/redgate/islands/divingbay) +"TC" = ( +/obj/structure/ghost_pod/ghost_activated/maintpred/redgate, +/turf/simulated/floor/outdoors/rocks/caves, +/area/redgate/islands/piratecave) "TH" = ( /obj/structure/table/rack/steel, /obj/random/projectile/scrapped_ionrifle, @@ -18879,7 +18883,7 @@ aS aS RT Vu -Vu +TC Vu OA Fe diff --git a/maps/redgate/jungle.dmm b/maps/redgate/jungle.dmm index 9403e518a55..4c5e0f0f1e3 100644 --- a/maps/redgate/jungle.dmm +++ b/maps/redgate/jungle.dmm @@ -2815,6 +2815,10 @@ /obj/item/clothing/shoes/sandal, /turf/simulated/floor/wood/alt, /area/redgate/jungle/aboveground) +"Ih" = ( +/obj/structure/ghost_pod/ghost_activated/maintpred/redgate, +/turf/simulated/floor/outdoors/grass/forest, +/area/redgate/jungle/aboveground) "Ii" = ( /turf/simulated/floor/bmarble, /area/redgate/jungle/temple) @@ -3359,7 +3363,9 @@ }, /area/redgate/jungle/temple) "Om" = ( -/mob/living/simple_mob/vore/alienanimals/catslug/custom/exploslug, +/mob/living/simple_mob/vore/alienanimals/catslug/custom/exploslug{ + ghostjoin = 1 + }, /turf/simulated/mineral/floor/light{ nitrogen = 82.1472; oxygen = 21.8366; @@ -10703,7 +10709,7 @@ zU zU vQ Yi -zU +Ih zU zU Yi diff --git a/maps/redgate/jungle_underground.dmm b/maps/redgate/jungle_underground.dmm index 62dc70f1d47..730ec1ffde6 100644 --- a/maps/redgate/jungle_underground.dmm +++ b/maps/redgate/jungle_underground.dmm @@ -16,10 +16,7 @@ /turf/simulated/floor, /area/redgate/jungle/facilityse) "am" = ( -/obj/structure/ghost_pod/ghost_activated/maintpred/no_announce, -/obj/machinery/light/small{ - dir = 1 - }, +/obj/structure/ghost_pod/ghost_activated/maintpred/redgate, /turf/simulated/floor, /area/redgate/jungle/facilitynw) "ax" = ( @@ -271,10 +268,6 @@ /obj/machinery/light/floortube, /turf/simulated/floor/redgrid/animated, /area/redgate/jungle/facilitybar) -"de" = ( -/obj/structure/ghost_pod/ghost_activated/maintpred/no_announce, -/turf/simulated/floor, -/area/redgate/jungle/facilitynw) "df" = ( /obj/structure/mirror{ dir = 1; @@ -531,10 +524,6 @@ }, /turf/simulated/floor, /area/redgate/jungle/facilityse) -"fF" = ( -/obj/structure/ghost_pod/ghost_activated/maintpred/no_announce, -/turf/simulated/floor, -/area/redgate/jungle/facilityne) "fN" = ( /obj/structure/casino_table/blackjack_l{ dir = 1 @@ -1777,10 +1766,6 @@ }, /turf/simulated/floor, /area/redgate/jungle/facilityne) -"vj" = ( -/obj/structure/ghost_pod/ghost_activated/maintpred/no_announce, -/turf/simulated/floor, -/area/redgate/jungle/facilityse) "vq" = ( /obj/item/weapon/folder, /turf/simulated/floor, @@ -8635,7 +8620,7 @@ cq CE Pi CE -de +cq cq hx VG @@ -9899,7 +9884,7 @@ hx hx hx Mx -cq +am cq cq cq @@ -10441,7 +10426,7 @@ Pe hx hx hx -am +dI cq ov ov @@ -15489,7 +15474,7 @@ Bh Bh Bh ux -vj +yd yd yd yd @@ -22815,7 +22800,7 @@ Nb iE iE iE -fF +iE iE hv iE diff --git a/maps/redgate/train.dmm b/maps/redgate/train.dmm index 6b9de52d452..d68554155e5 100644 --- a/maps/redgate/train.dmm +++ b/maps/redgate/train.dmm @@ -286,7 +286,9 @@ /turf/simulated/shuttle/floor/black, /area/redgate/train/viewing) "fM" = ( -/mob/living/simple_mob/vore/alienanimals/teppi, +/mob/living/simple_mob/vore/alienanimals/teppi{ + ghostjoin = 1 + }, /turf/simulated/floor/outdoors/newdirt, /area/redgate/train/teppi) "fN" = ( @@ -1044,6 +1046,10 @@ "sY" = ( /turf/simulated/shuttle/floor/black, /area/redgate/train/seating) +"td" = ( +/obj/structure/ghost_pod/ghost_activated/maintpred/redgate, +/turf/simulated/shuttle/floor/black, +/area/redgate/train/storage) "tg" = ( /obj/structure/table/marble, /obj/item/weapon/reagent_containers/glass/rag, @@ -1796,6 +1802,7 @@ "EL" = ( /mob/living/simple_mob/vore/alienanimals/catslug{ color = "#6b0024"; + ghostjoin = 1; name = "stowaway" }, /turf/simulated/shuttle/floor/skipjack{ @@ -17456,7 +17463,7 @@ yz AX AX dz -lH +td yz yz lH diff --git a/maps/redgate/train_upper.dmm b/maps/redgate/train_upper.dmm index 64dd4e5fc31..375fbe99ecb 100644 --- a/maps/redgate/train_upper.dmm +++ b/maps/redgate/train_upper.dmm @@ -1965,7 +1965,9 @@ /turf/simulated/shuttle/floor/white, /area/redgate/train/medbay) "DB" = ( -/mob/living/simple_mob/vore/wolftaur, +/mob/living/simple_mob/vore/wolftaur{ + ghostjoin = 1 + }, /turf/simulated/shuttle/floor/black, /area/redgate/train/dining) "DF" = ( @@ -2177,6 +2179,12 @@ outdoors = 1 }, /area/redgate/train/helipad) +"Gu" = ( +/obj/structure/ghost_pod/ghost_activated/maintpred/redgate, +/turf/simulated/floor/hull{ + outdoors = 1 + }, +/area/redgate/train/roof) "Gv" = ( /turf/simulated/shuttle/wall/voidcraft/hard_corner, /area/redgate/train/seclobby) @@ -8013,7 +8021,7 @@ LU LU LU LU -LU +Gu LU Uz LU diff --git a/maps/stellar_delight/stellar_delight_defines.dm b/maps/stellar_delight/stellar_delight_defines.dm index 61a88f155a3..6393c600ff1 100644 --- a/maps/stellar_delight/stellar_delight_defines.dm +++ b/maps/stellar_delight/stellar_delight_defines.dm @@ -168,7 +168,7 @@ ) lateload_redgate = list( -/* list("Redgate - Teppi Ranch"), + list("Redgate - Teppi Ranch"), list("Redgate - Innland"), // list("Redgate - Abandoned Island"), //This will come back later list("Redgate - Dark Adventure"), @@ -180,7 +180,7 @@ list("Redgate - Moving Train", "Redgate - Moving Train Upper Level"), list("Redgate - Fantasy Dungeon", "Redgate - Fantasy Town"), list("Redgate - Laserdome"), - list("Redgate - Cascading Falls"),*/ + list("Redgate - Cascading Falls"), list("Redgate - Jungle Underground", "Redgate - Jungle") )