mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-27 22:17:32 +01:00
Merge remote-tracking branch 'upstream/master' into universal-damage
# Conflicts: # code/modules/clothing/suits/labcoat.dm # code/modules/clothing/under/miscellaneous.dm # code/modules/mob/living/carbon/human/species/golem.dm # code/modules/mob/living/simple_animal/bot/ed209bot.dm
This commit is contained in:
@@ -20,8 +20,11 @@
|
||||
#define LOC_GAMBLING_DEN 19
|
||||
|
||||
#define HEADCRAB_NORMAL 0
|
||||
/*#define HEADCRAB_SPECIAL 1
|
||||
#define HEADCRAB_CLOWN 2 */ //Planned for the future
|
||||
#define HEADCRAB_FASTMIX 1
|
||||
#define HEADCRAB_FAST 2
|
||||
#define HEADCRAB_POISONMIX 3
|
||||
#define HEADCRAB_POISON 4
|
||||
/*#define HEADCRAB_CLOWN 5 */ //Planned for the future. maybe
|
||||
|
||||
/datum/event/headcrabs
|
||||
announceWhen = 10
|
||||
@@ -104,11 +107,24 @@
|
||||
|
||||
var/list/spawn_types = list()
|
||||
var/max_number
|
||||
headcrab = 0 //rand(0,x) for the future
|
||||
headcrab = rand(0, 4) //rand(0,x) for the future
|
||||
switch(headcrab) //Switch is for the future
|
||||
if(HEADCRAB_NORMAL)
|
||||
spawn_types = list(/mob/living/simple_animal/hostile/headcrab)
|
||||
max_number = 6
|
||||
if(HEADCRAB_FASTMIX)
|
||||
spawn_types = list(/mob/living/simple_animal/hostile/headcrab, /mob/living/simple_animal/hostile/headcrab/fast)
|
||||
max_number = 8
|
||||
if(HEADCRAB_FAST)
|
||||
spawn_types = list(/mob/living/simple_animal/hostile/headcrab/fast)
|
||||
max_number = 6
|
||||
if(HEADCRAB_POISONMIX)
|
||||
spawn_types = list(/mob/living/simple_animal/hostile/headcrab, /mob/living/simple_animal/hostile/headcrab/poison)
|
||||
max_number = 4
|
||||
if(HEADCRAB_POISON)
|
||||
spawn_types = list(/mob/living/simple_animal/hostile/headcrab/poison)
|
||||
max_number = 3
|
||||
|
||||
|
||||
var/num = rand(2,max_number)
|
||||
while(turfs.len > 0 && num > 0)
|
||||
@@ -144,3 +160,7 @@
|
||||
#undef LOC_GAMBLING_DEN
|
||||
|
||||
#undef HEADCRAB_NORMAL
|
||||
#undef HEADCRAB_FASTMIX
|
||||
#undef HEADCRAB_FAST
|
||||
#undef HEADCRAB_POISONMIX
|
||||
#undef HEADCRAB_POISON
|
||||
@@ -137,7 +137,7 @@
|
||||
if(prob(50))
|
||||
ChangeTurf(baseturf)
|
||||
|
||||
/turf/simulated/floor/vines/ChangeTurf(turf/simulated/floor/T)
|
||||
/turf/simulated/floor/vines/ChangeTurf(turf/simulated/floor/T, defer_change = FALSE, keep_icon = TRUE, ignore_air = FALSE)
|
||||
. = ..()
|
||||
//Do this *after* the turf has changed as qdel in spacevines will call changeturf again if it hasn't
|
||||
for(var/obj/structure/spacevine/SV in src)
|
||||
|
||||
+13
-20
@@ -26,32 +26,25 @@
|
||||
icon_state="tear"
|
||||
density = 0
|
||||
anchored = 1
|
||||
luminosity = 3
|
||||
var/list/tear_critters = list()
|
||||
light_range = 3
|
||||
|
||||
/obj/effect/tear/New()
|
||||
..()
|
||||
var/atom/movable/overlay/animation = null
|
||||
animation = new(loc)
|
||||
/obj/effect/tear/Initialize(mapload)
|
||||
. = ..()
|
||||
var/atom/movable/overlay/animation = new(loc)
|
||||
animation.icon_state = "newtear"
|
||||
animation.icon = 'icons/effects/tear.dmi'
|
||||
animation.master = src
|
||||
// flick("newtear",usr)
|
||||
spawn(15)
|
||||
if(animation)
|
||||
qdel(animation)
|
||||
|
||||
spawn(rand(30,120))
|
||||
for(var/T in typesof(/mob/living/simple_animal))
|
||||
var/mob/living/simple_animal/SA = T
|
||||
if(initial(SA.gold_core_spawnable) == CHEM_MOB_SPAWN_HOSTILE)
|
||||
tear_critters += T
|
||||
addtimer(CALLBACK(src, .proc/spew_critters), rand(30, 120))
|
||||
|
||||
for(var/i in 1 to 5)
|
||||
var/chosen = pick(tear_critters)
|
||||
var/mob/living/simple_animal/C = new chosen
|
||||
C.faction |= "chemicalsummon"
|
||||
C.forceMove(get_turf(src))
|
||||
if(prob(50))
|
||||
for(var/j = 1, j <= rand(1, 3), j++)
|
||||
step(C, pick(NORTH,SOUTH,EAST,WEST))
|
||||
/obj/effect/tear/proc/spew_critters()
|
||||
for(var/i in 1 to 5)
|
||||
var/mob/living/simple_animal/S
|
||||
S = create_random_mob(get_turf(src), HOSTILE_SPAWN)
|
||||
S.faction |= "chemicalsummon"
|
||||
if(prob(50))
|
||||
for(var/j = 1, j <= rand(1, 3), j++)
|
||||
step(S, pick(NORTH, SOUTH, EAST, WEST))
|
||||
@@ -14,28 +14,12 @@
|
||||
qdel(HE)
|
||||
|
||||
/obj/effect/tear/honk
|
||||
name="Honkmensional Tear"
|
||||
desc="A tear in the dimensional fabric of sanity."
|
||||
icon='icons/effects/tear.dmi'
|
||||
icon_state="tear"
|
||||
tear_critters = list(/mob/living/simple_animal/hostile/retaliate/clown/goblin)
|
||||
name = "Honkmensional Tear"
|
||||
desc = "A tear in the dimensional fabric of sanity."
|
||||
|
||||
/obj/effect/tear/honk/New()
|
||||
var/atom/movable/overlay/animation = null
|
||||
animation = new(loc)
|
||||
animation.icon_state = "newtear"
|
||||
animation.icon = 'icons/effects/tear.dmi'
|
||||
animation.master = src
|
||||
spawn(15)
|
||||
if(animation)
|
||||
qdel(animation)
|
||||
|
||||
spawn(rand(30,120))
|
||||
|
||||
for(var/i in 1 to 6)
|
||||
var/chosen = pick(tear_critters)
|
||||
var/mob/living/simple_animal/C = new chosen
|
||||
C.forceMove(get_turf(src))
|
||||
if(prob(50))
|
||||
for(var/j = 1, j <= rand(1, 3), j++)
|
||||
step(C, pick(NORTH,SOUTH,EAST,WEST))
|
||||
/obj/effect/tear/honk/spew_critters()
|
||||
for(var/i in 1 to 6)
|
||||
var/mob/living/simple_animal/hostile/retaliate/clown/goblin/G = new(get_turf(src))
|
||||
if(prob(50))
|
||||
for(var/j = 1, j <= rand(1, 3), j++)
|
||||
step(G, pick(NORTH, SOUTH, EAST, WEST))
|
||||
Reference in New Issue
Block a user