Diona and Lumber Tweaks and Fixes (#9975)

This commit is contained in:
Geeves
2020-09-17 11:30:46 +02:00
committed by GitHub
parent cf6c3485de
commit e2413ab9bd
6 changed files with 94 additions and 64 deletions
+1 -1
View File
@@ -400,7 +400,7 @@
return
/material/diona/place_dismantled_girder(var/turf/target)
target.spawn_diona_nymph(target)
new /obj/structure/diona/vines(target)
/material/steel/holographic
name = "holo" + DEFAULT_WALL_MATERIAL
+2 -2
View File
@@ -414,8 +414,8 @@ var/list/diona_banned_languages = list(
if(E_old)
qdel(E_old)
visible_message("<span class='danger'>With a shower of sticky sap, a new mass of tendrils bursts forth from [src]'s trunk, forming a new [E]</span>",
"<span class='danger'>With a shower of sticky sap, a new mass of tendrils bursts forth from your trunk, forming a new [E]</span>")
visible_message("<span class='danger'>With a shower of sticky sap, a new mass of tendrils bursts forth from [src]'s trunk, forming a new [E].</span>",
"<span class='danger'>With a shower of sticky sap, a new mass of tendrils bursts forth from your trunk, forming a new [E].</span>")
var/datum/reagents/vessel = get_vessel(0)
var/datum/reagent/B = vessel.get_master_reagent()
B.touch_turf(get_turf(src))
+52 -27
View File
@@ -3,16 +3,59 @@
/obj/structure/diona
icon = 'icons/obj/diona.dmi'
anchored = 1
density = 1
opacity = 0
anchored = TRUE
density = TRUE
opacity = FALSE
layer = TURF_LAYER + 0.01
var/max_health = 50
var/health
var/destroy_spawntype = /mob/living/carbon/alien/diona
/obj/structure/diona/Initialize(mapload)
. = ..()
health = max_health
/obj/structure/diona/attackby(obj/item/W, mob/user)
user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN)
if(W.iswelder())
var/obj/item/weldingtool/WT = W
if (!WT.welding)
to_chat(user, SPAN_WARNING("\The [WT] must be turned on!"))
return
else if (WT.remove_fuel(0,user))
user.visible_message("<b>[user]</b> begins slicing through the skin of \the [src].", SPAN_NOTICE("You begin slicing through the skin of \the [src]."))
if(!do_after(user, 20/W.toolspeed, act_target = src))
return
if(QDELETED(src) || !WT.isOn())
return
playsound(loc, 'sound/items/welder_pry.ogg', 50, 1)
user.visible_message("<b>[user]</b> slices through the skin of \the [src].", SPAN_NOTICE("You slice through \the [src]."))
qdel(src)
else
user.do_attack_animation(src)
if(W.force)
user.visible_message(SPAN_DANGER("\The [user] [pick(W.attack_verb)] \the [src] with \the [W]!"), SPAN_NOTICE("You [pick(W.attack_verb)] \the [src] with \the [W]!"))
playsound(loc, W.hitsound, 60, TRUE)
playsound(loc, /decl/sound_category/wood_break_sound, 50, TRUE)
health -= W.force
if(health <= 0)
qdel(src)
/obj/structure/diona/Destroy()
if(destroy_spawntype)
if(ispath(destroy_spawntype, /mob/living/carbon/alien/diona))
var/turf/T = get_turf(src)
T.spawn_diona_nymph()
else
new destroy_spawntype(get_turf(src))
return ..()
/obj/structure/diona/vines
name = "alien vines"
desc = "Thick, heavy vines of some sort."
name = "biomass vines"
desc = "Thick, heavy vines made of some sort of biomass."
icon_state = "vines3"
density = 0
density = FALSE
destroy_spawntype = null
var/growth = 0
/obj/structure/diona/vines/proc/spread()
@@ -42,27 +85,8 @@
light_power = 3
light_range = 3
light_color = "#557733"
density = 0
/obj/structure/diona/bulb/attackby(obj/item/W, mob/user)
if(W.iswelder())
var/obj/item/weldingtool/WT = W
if (!WT.welding)
to_chat(user, "<span class='danger'>\The [WT] must be turned on!</span>")
return
else if (WT.remove_fuel(0,user))
to_chat(user, "<span class='notice'>You begin slicing through the skin of \the [src].</span>")
if(do_after(user, 20/W.toolspeed, act_target = src))
if(QDELETED(src) || !WT.isOn())
return
playsound(src.loc, 'sound/items/welder_pry.ogg', 50, 1)
user.visible_message("<span class='notice'>\ [user] slices through the skin of \the [src], revealing a confused diona nymph.</span>")
else
return
if(isturf(loc))
var/turf/T = loc
T.spawn_diona_nymph()
qdel(src)
density = FALSE
destroy_spawntype = /mob/living/carbon/alien/diona
/obj/structure/diona/bulb/unpowered
name = "unpowered glow bulb"
@@ -75,6 +99,7 @@
if(istype(W, /obj/item/cell))
to_chat(user, SPAN_NOTICE("You jack the power cell into the glow bulb."))
new /obj/structure/diona/bulb(get_turf(src))
destroy_spawntype = null
qdel(W)
qdel(src)
..()
@@ -366,6 +366,11 @@
for(var/obj/effect/overlay/wallrot/E in W)
qdel(E)
W.visible_message(SPAN_NOTICE("The fungi are completely dissolved by the solution!"))
if(istype(T, /turf/simulated/floor/diona))
T.visible_message(SPAN_WARNING("\The [T] squirms as it's hit by the solution, before dissolving."))
var/turf/simulated/floor/F = T
F.make_plating()
playsound(F, 'sound/species/diona/gestalt_grow.ogg', 30, TRUE)
/datum/reagent/toxin/plantbgone/touch_obj(var/obj/O, var/volume)
if(istype(O, /obj/structure/alien/weeds))