Files
2024-09-18 20:14:31 -04:00

258 lines
8.3 KiB
Plaintext

/obj/structure/ashtree/ashstump
name = "Ashtree stump"
desc = "Return to ashes."
icon = 'GainStation13/icons/obj/flora/ashtree.dmi'
icon_state = "ashtree_stump"
density = FALSE
pixel_x = -16
/obj/structure/flora/ashtree/ashtreee
name = "Ashtree"
desc = "A small native lavaland tree."
icon = 'GainStation13/icons/obj/flora/ashtree.dmi'
icon_state = "ashtree_1"
var/list/icon_states = list("ashtree_1", "ashtree_2")
/obj/structure/flora/ashtree/ashtreee/Initialize()
. = ..()
if(islist(icon_states && icon_states.len))
icon_state = pick(icon_states)
//
/obj/structure/flora/gmushroom
name = "Giant mushroom"
desc = "An impressive overgrown mushroom."
max_integrity = 80
density = TRUE
pixel_x = -16
layer = FLY_LAYER
var/log_amount = 10
/obj/structure/flora/gmushroom/attackby(obj/item/W, mob/user, params)
if(log_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("<span class='notice'>[user] begins to cut down [src] with [W].</span>","<span class='notice'>You begin to cut down [src] with [W].</span>", "You hear the sound of sawing.")
if(do_after(user, 1000/W.force, target = src)) //5 seconds with 20 force, 8 seconds with a hatchet, 20 seconds with a shard.
user.visible_message("<span class='notice'>[user] fells [src] with the [W].</span>","<span class='notice'>You fell [src] with the [W].</span>", "You hear the sound of a tree falling.")
playsound(get_turf(src), 'sound/effects/meteorimpact.ogg', 100 , 0, 0)
for(var/i=1 to log_amount)
new /obj/item/grown/log(get_turf(src))
var/obj/structure/gmushroom/gmushroomstump/S = new(loc)
S.name = "[name] stump"
qdel(src)
else
return ..()
/obj/structure/gmushroom/gmushroomstump
name = "Giant mushroom stump"
desc = "It will grow back. Maybe. One day."
icon = 'GainStation13/icons/obj/flora/gmushroom.dmi'
icon_state = "gmushroom_stump"
density = FALSE
pixel_x = -16
/obj/structure/flora/gmushroom/gggmushroom
name = "Giant mushroom"
desc = "An impressive overgrown mushroom."
icon = 'GainStation13/icons/obj/flora/gmushroom.dmi'
icon_state = "gmushroom_1"
var/list/icon_states = list("gmushroom_1", "gmushroom_2")
/obj/structure/flora/gmushroom/gggmushroom/Initialize()
. = ..()
if(islist(icon_states && icon_states.len))
icon_state = pick(icon_states)
/obj/structure/flora/shadowtree
name = "Shadow tree"
desc = "A native lavaland tree, with a remarkable purple color."
icon = 'GainStation13/icons/obj/flora/shadowtree.dmi'
max_integrity = 80
density = TRUE
pixel_x = -16
layer = FLY_LAYER
var/log_amount = 10
/obj/structure/flora/shadowtree/attackby(obj/item/W, mob/user, params)
if(log_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("<span class='notice'>[user] begins to cut down [src] with [W].</span>","<span class='notice'>You begin to cut down [src] with [W].</span>", "You hear the sound of sawing.")
if(do_after(user, 1000/W.force, target = src)) //5 seconds with 20 force, 8 seconds with a hatchet, 20 seconds with a shard.
user.visible_message("<span class='notice'>[user] fells [src] with the [W].</span>","<span class='notice'>You fell [src] with the [W].</span>", "You hear the sound of a tree falling.")
playsound(get_turf(src), 'sound/effects/meteorimpact.ogg', 100 , 0, 0)
for(var/i=1 to log_amount)
new /obj/item/grown/log(get_turf(src))
var/obj/structure/shadowtree/shadowtreestump/S = new(loc)
S.name = "[name] stump"
qdel(src)
else
return ..()
/obj/structure/shadowtree/shadowtreestump
name = "Shadow tree stump"
desc = "Hidden in the shadowns."
icon = 'GainStation13/icons/obj/flora/shadowtree.dmi'
icon_state = "shadowtree_stump"
density = FALSE
pixel_x = -16
/obj/structure/flora/shadowtree/shadowtreee
name = "Shadow tree"
desc = "A native Lavaland tree, with a remarkable purple color."
icon = 'GainStation13/icons/obj/flora/shadowtree.dmi'
icon_state = "shadowtree_1"
var/list/icon_states = list("shadowtree_1", "shadowtree_2")
/obj/structure/flora/shadowtree/shadowtreee/Initialize()
. = ..()
if(islist(icon_states && icon_states.len))
icon_state = pick(icon_states)
//
/obj/structure/flora/plasmatree
name = "Plasma tree"
desc = "A tree that has absorved plasma from the ground, making its wood strong like metal."
max_integrity = 100
density = TRUE
pixel_x = -16
layer = FLY_LAYER
var/log_amount = 10
/obj/structure/flora/plasmatree/attackby(obj/item/W, mob/user, params)
if(log_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("<span class='notice'>[user] begins to cut down [src] with [W].</span>","<span class='notice'>You begin to cut down [src] with [W].</span>", "You hear the sound of sawing.")
if(do_after(user, 1000/W.force, target = src)) //5 seconds with 20 force, 8 seconds with a hatchet, 20 seconds with a shard.
user.visible_message("<span class='notice'>[user] fells [src] with the [W].</span>","<span class='notice'>You fell [src] with the [W].</span>", "You hear the sound of a tree falling.")
playsound(get_turf(src), 'sound/effects/meteorimpact.ogg', 100 , 0, 0)
for(var/i=1 to log_amount)
new /obj/item/grown/log(get_turf(src))
var/obj/structure/plasmatree/plasmatreestump/S = new(loc)
S.name = "[name] stump"
qdel(src)
else
return ..()
/obj/structure/plasmatree/plasmatreestump
name = "Plasma tree stump"
desc = "Pointy and sharp."
icon = 'GainStation13/icons/obj/flora/plasmatree.dmi'
icon_state = "plasmatree_stump"
density = FALSE
pixel_x = -16
/obj/structure/flora/plasmatree/plasmatreee
name = "Plasma tree"
desc = "A tree that has absorved plasma from the ground, making its wood strong like metal."
icon = 'GainStation13/icons/obj/flora/plasmatree.dmi'
icon_state = "plasmatree_1"
var/list/icon_states = list("plasmatree_1", "plasmatree_2")
/obj/structure/flora/plasmatree/plasmatreee/Initialize()
. = ..()
if(islist(icon_states && icon_states.len))
icon_state = pick(icon_states)
/obj/structure/flora/crystal
name = "crystal"
desc = "You shouldnt see this!"
gender = PLURAL //trans rights
max_integrity = 30
/obj/structure/flora/crystal/small
name = "small crystals"
icon = 'GainStation13/icons/obj/flora/layeniasmall.dmi'
light_range = 2
light_power = 0.25
light_color = LIGHT_COLOR_BLUE
//Small crystal clusters
/obj/structure/flora/crystal/small/pile
name = "small crystals"
desc = "A pile of small crystals"
icon_state = "crystals"
/obj/structure/flora/crystal/small/pile/Initialize()
if(icon_state == "crystals")
icon_state = "crystals[rand(1, 4)]"
. = ..()
//Small crystal growths
/obj/structure/flora/crystal/small/growth
name = "small crystals"
desc = "A growth of small crystals"
icon_state = "crystalgrowth"
/obj/structure/flora/crystal/small/growth/Initialize()
if(icon_state == "crystalgrowth")
icon_state = "crystalgrowth[rand(1, 4)]"
. = ..()
/obj/structure/flora/crystal/medium
name = "medium crystals"
icon = 'GainStation13/icons/obj/flora/layeniamedium.dmi'
pixel_x = -16
pixel_y = -3
layer = ABOVE_ALL_MOB_LAYER
light_range = 4
light_power = 0.75
light_color = LIGHT_COLOR_BLUE
//Medium crystal growths
/obj/structure/flora/crystal/medium/growth
name = "medium crystals"
desc = "A growth of medium crystals"
icon_state = "crystalgrowth"
/obj/structure/flora/crystal/medium/growth/Initialize()
if(icon_state == "crystalgrowth")
icon_state = "crystalgrowth[rand(1, 3)]"
. = ..()
//lavaland grass
/obj/structure/flora/redgrass
name = "tall grass"
desc = "A patch of overgrown red grass."
icon = 'GainStation13/icons/obj/lavaland/redgrass.dmi'
gender = PLURAL //"this is grass" not "this is a grass"
/obj/structure/flora/redgrass/redg
icon_state = "tallgrass1bb"
/obj/structure/flora/redgrass/redg/Initialize()
icon_state = "tallgrass[rand(1, 4)]bb"
. = ..()
/obj/structure/flora/tree/desertdead
icon = 'GainStation13/icons/obj/flora/desertdead.dmi'
desc = "A dead tree in the middle of the desert."
icon_state = "desertdead_1"
var/list/icon_states = list ("desertdead_1", "desertdead_2", "desertdead_3")
/obj/structure/flora/tree/desertdead/Initialize()
. = ..()
if(islist(icon_states && icon_states.len))
icon_state = pick(icon_states)