mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-18 18:44:48 +01:00
for-if-I-stand-I-stand-by-his-will-alone
This commit is contained in:
@@ -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,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()
|
||||
..()
|
||||
|
||||
Reference in New Issue
Block a user