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:
Fox McCloud
2019-09-21 12:40:07 -04:00
280 changed files with 2015 additions and 77150 deletions
+23 -3
View File
@@ -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
+1 -1
View File
@@ -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
View File
@@ -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))
+8 -24
View File
@@ -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))