for-if-I-stand-I-stand-by-his-will-alone

This commit is contained in:
Fox McCloud
2019-10-03 19:52:03 -04:00
parent 99a6ee7827
commit 20c4cf0a08
123 changed files with 336 additions and 267 deletions
+7 -28
View File
@@ -3,13 +3,13 @@
/obj/structure/glowshroom
name = "glowshroom"
desc = "Mycena Bregprox, a species of mushroom that glows in the dark."
anchored = 1
anchored = TRUE
opacity = 0
density = 0
density = FALSE
icon = 'icons/obj/lighting.dmi'
icon_state = "glowshroom" //replaced in New
layer = 2.1
var/endurance = 30
layer = ABOVE_NORMAL_TURF_LAYER
max_integrity = 30
var/delay = 1200
var/floor = 0
var/generation = 1
@@ -52,7 +52,8 @@
myseed.adjust_production(rand(-3,6))
myseed.adjust_endurance(rand(-3,6))
delay = delay - myseed.production * 100 //So the delay goes DOWN with better stats instead of up. :I
endurance = myseed.endurance
obj_integrity = myseed.endurance
max_integrity = myseed.endurance
if(myseed.get_gene(/datum/plant_gene/trait/glow))
var/datum/plant_gene/trait/glow/G = myseed.get_gene(/datum/plant_gene/trait/glow)
set_light(G.glow_range(myseed), G.glow_power(myseed), G.glow_color)
@@ -151,23 +152,6 @@
floor = 1
return 1
/obj/structure/glowshroom/attackby(obj/item/I, mob/user)
..()
var/damage_to_do = I.force
if(istype(I, /obj/item/scythe))
var/obj/item/scythe/S = I
if(S.extend) //so folded telescythes won't get damage boosts / insta-clears (they instead will instead be treated like non-scythes)
damage_to_do *= 4
for(var/obj/structure/glowshroom/G in range(1,src))
G.endurance -= damage_to_do
G.CheckEndurance()
return
else if(I.sharp)
damage_to_do = I.force * 3 // wirecutter: 6->18, knife 10->30, hatchet 12->36
if(I.damtype != STAMINA)
endurance -= damage_to_do
CheckEndurance()
/obj/structure/glowshroom/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0)
if(damage_type == BURN && damage_amount)
playsound(src.loc, 'sound/items/welder.ogg', 100, TRUE)
@@ -175,12 +159,7 @@
/obj/structure/glowshroom/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
..()
if(exposed_temperature > 300)
endurance -= 5
CheckEndurance()
/obj/structure/glowshroom/proc/CheckEndurance()
if(endurance <= 0)
qdel(src)
take_damage(5, BURN, 0, 0)
/obj/structure/glowshroom/acid_act(acidpwr, acid_volume)
. = 1
+5 -34
View File
@@ -5,7 +5,7 @@
icon = 'icons/effects/effects.dmi'
anchored = TRUE
density = FALSE
var/health = 15
max_integrity = 15
var/mob/living/carbon/human/master_commander = null
/obj/structure/spider/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0)
@@ -26,31 +26,10 @@
master_commander = null
return ..()
/obj/structure/spider/attackby(obj/item/W, mob/user, params)
if(W.attack_verb.len)
visible_message("<span class='danger'>[user] has [pick(W.attack_verb)] [src] with [W]!</span>")
else
visible_message("<span class='danger'>[user] has attacked [src] with [W]!</span>")
var/damage = W.force / 4
if(iswelder(W))
var/obj/item/weldingtool/WT = W
if(WT.remove_fuel(0, user))
damage = 15
playsound(loc, WT.usesound, 100, 1)
user.changeNext_move(CLICK_CD_MELEE)
user.do_attack_animation(src)
health -= damage
healthcheck()
/obj/structure/spider/proc/healthcheck()
if(health <= 0)
qdel(src)
/obj/structure/spider/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
..()
if(exposed_temperature > 300)
health -= 5
healthcheck()
take_damage(5, BURN, 0, 0)
/obj/structure/spider/stickyweb
icon_state = "stickyweb1"
@@ -105,7 +84,7 @@
icon_state = "spiderling"
anchored = 0
layer = 2.75
health = 3
max_integrity = 3
var/amount_grown = 0
var/grow_as = null
var/obj/machinery/atmospherics/unary/vent_pump/entry_vent
@@ -123,6 +102,7 @@
/obj/structure/spider/spiderling/Destroy()
STOP_PROCESSING(SSobj, src)
entry_vent = null
new /obj/effect/decal/cleanable/spiderling_remains(get_turf(src))
return ..()
/obj/structure/spider/spiderling/Bump(atom/user)
@@ -131,15 +111,6 @@
else
..()
/obj/structure/spider/spiderling/proc/die()
visible_message("<span class='alert'>[src] dies!</span>")
new /obj/effect/decal/cleanable/spiderling_remains(loc)
qdel(src)
/obj/structure/spider/spiderling/healthcheck()
if(health <= 0)
die()
/obj/structure/spider/spiderling/process()
if(travelling_in_vent)
if(istype(loc, /turf))
@@ -229,7 +200,7 @@
name = "cocoon"
desc = "Something wrapped in silky spider web"
icon_state = "cocoon1"
health = 60
max_integrity = 60
/obj/structure/spider/cocoon/New()
..()