diff --git a/code/modules/mining/lavaland/ash_tree.dm b/code/modules/mining/lavaland/ash_tree.dm
index 2ae5bffe7b..5dca7a8e2f 100644
--- a/code/modules/mining/lavaland/ash_tree.dm
+++ b/code/modules/mining/lavaland/ash_tree.dm
@@ -1,40 +1,49 @@
//Houses the ash tree, a lava land tree that has been burning for quite some time making a maple like sweetener.
/obj/structure/flora/ashtree
- gender = PLURAL //same as other tree
- icon = 'icons/obj/lavaland/ash_tree.dmi'
- icon_state = "ashtree"
- var/sap_icon_state = "ashtree_maple" //Are icon when we are full of honey or other sap
- var/tabbed_icon_state = "ashtree_maple" //What we look like when tapping
name = "ashed tree"
desc = "A once large tree now burnt like the lands around it."
+ layer = FLY_LAYER
+ gender = PLURAL //same as other tree
density = TRUE
pixel_x = -16
- layer = FLY_LAYER
- var/coal_amount = 5 //amout of coal in are tree, simular to logs
- var/sap = FALSE //Do we have sap?
- var/are_sap = /datum/reagent/consumable/honey //What reagent we have
- //var/tapping_items = list(/obj/item/reagent_containers/glass) - current dosnt work commiting it out
- var/harvest_sap_time = 60 //This is in seconds, and now long we wait till are tree is tapped
+ icon = 'icons/obj/lavaland/ash_tree.dmi'
+ icon_state = "ashtree"
+ //Are icon when we are full of honey or other sap
+ var/sap_icon_state = "ashtree_maple"
+ //What we look like when tapping
+ var/tabbed_icon_state = "ashtree_maple"
+ //amout of coal in are tree, simular to logs
+ var/coal_amount = 5
+ //Do we have sap?
+ var/sap = FALSE
+ //What reagent we have
+ var/sap_type = /datum/reagent/consumable/honey
+ //This is in seconds, and now long we wait till are tree is tapped
+ var/harvest_sap_time = 60
var/container_used
var/sap_amount
-/obj/structure/flora/ashtree/New()
+/obj/structure/flora/ashtree/Initialize(mapload)
..()
if(prob(50))
sap = TRUE
icon_state = sap_icon_state
desc = "A once large tree now burnt like the lands around it. This one seems to have a sap still inside."
- sap_amount = rand(5,15) //good amout of honey
- coal_amount = rand(5,15) //We give a random amout
- SSblackbox.record_feedback("tally", "Honey Tree", 1, "Trees Spawned") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
+ //If we have sap, we can generate a bit of it
+ sap_amount = rand(5,15)
+ //Random coal or wood amount, so its not bog standered.
+ coal_amount = rand(5,15)
+ //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
+ SSblackbox.record_feedback("tally", "Honey Tree", 1, "Trees Spawned")
//So we dont lose are bowls, stolen form closet code
/obj/structure/flora/ashtree/Destroy()
dump_contents(override = FALSE)
return ..()
-/obj/structure/flora/ashtree/proc/dump_contents(override = TRUE) //Override is for not revealing the locker electronics when you open the locker, for example
+//Override is for not revealing the locker electronics when you open the locker, for example
+/obj/structure/flora/ashtree/proc/dump_contents(override = TRUE)
var/atom/L = drop_location()
for(var/atom/movable/AM in src)
AM.forceMove(L)
@@ -43,10 +52,13 @@
desc = "A once large tree now burnt like the lands around it."
icon_state = "ashtree"
var/obj/item/reagent_containers/RG = container_used
- if(RG.is_refillable()) //Incase someone was a dumb and used a lidded container
- if(!RG.reagents.holder_full()) //Make sure that its not filling something thats full
- RG.reagents.add_reagent(are_sap, min(RG.volume - RG.reagents.total_volume, sap_amount))
- RG.forceMove(drop_location()) //We drop are used beaker and try to fill it with sap
+ //Incase someone was a dumb and used a lidded container
+ if(RG.is_refillable())
+ //Make sure that its not filling something thats full
+ if(!RG.reagents.holder_full())
+ RG.reagents.add_reagent(sap_type, min(RG.volume - RG.reagents.total_volume, sap_amount))
+ //We drop are used beaker and try to fill it with sap
+ RG.forceMove(drop_location())
SSblackbox.record_feedback("tally", "Honey Tree", 1, "Harvested Honey") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
//Proc stolen from Trees
@@ -59,24 +71,26 @@
icon_state = tabbed_icon_state
sap = FALSE
container_used = W
- W.forceMove(src) //So we dont lose are bowl when cutting it down + needed for the harvest sap proc
+ //So we dont lose are bowl when cutting it down + needed for the harvest sap proc
+ user.transferItemToLoc(W, src)
addtimer(CALLBACK(src, .proc/harvest_sap), harvest_sap_time SECONDS)
else
to_chat(user, "There is no sap to collect.")
if(coal_amount && (!(flags_1 & NODECONSTRUCT_1)))
- if(W.sharpness && W.force > 0)
- if(W.hitsound)
- playsound(get_turf(src), W.hitsound, 100, 0, 0)
- user.visible_message("[user] begins to cut down [src] with [W].","You begin to cut down [src] with [W].", "You hear the sound of brittle sawing.")
- if(do_after(user, 500/W.force, target = src)) //2.5 seconds with 20 force, 4 seconds with a hatchet, 10 seconds with a shard.
- user.visible_message("[user] fells [src] with the [W].","You fell [src] with the [W].", "You hear the sound of a crumbling tree.")
- playsound(get_turf(src), 'sound/effects/meteorimpact.ogg', 100 , 0, 0)
- for(var/i=1 to coal_amount)
- new /obj/item/stack/sheet/mineral/coal(get_turf(src))
- qdel(src)
- SSblackbox.record_feedback("tally", "Honey Tree", 1, "Cutted Tree") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
+ if(!W.sharpness || !W.force)
+ return
+ if(W.hitsound)
+ playsound(get_turf(src), W.hitsound, 100, 0, 0)
+ user.visible_message("[user] begins to cut down [src] with [W].","You begin to cut down [src] with [W].", "You hear the sound of brittle sawing.")
+ //2.5 seconds with 20 force, 4 seconds with a hatchet, 10 seconds with a shard.
+ if(do_after(user, 500/W.force, target = src))
+ user.visible_message("[user] fells [src] with the [W].","You fell [src] with the [W].", "You hear the sound of a crumbling tree.")
+ playsound(get_turf(src), 'sound/effects/meteorimpact.ogg', 100 , 0, 0)
+ for(var/i=1 to coal_amount)
+ new /obj/item/stack/sheet/mineral/coal(get_turf(src))
+ qdel(src)//If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
+ SSblackbox.record_feedback("tally", "Honey Tree", 1, "Cutted Tree")
- else
return ..()