Merge pull request #921 from Kabramen/trees

Lavaland trees and some cargo stuff
This commit is contained in:
Dahlular
2021-01-23 03:06:23 -07:00
committed by GitHub
10 changed files with 276 additions and 3 deletions
+206
View File
@@ -450,3 +450,209 @@
/obj/structure/flora/redgrass/redg/Initialize()
icon_state = "tallgrass[rand(1, 4)]bb"
. = ..()
//lavaland trees
/obj/structure/flora/ashtree
name = "Ashtree"
desc = "A small native lavaland tree."
max_integrity = 80
density = TRUE
pixel_x = -16
layer = FLY_LAYER
var/log_amount = 10
/obj/structure/flora/ashtree/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/ashtree(get_turf(src))
var/obj/structure/ashtree/ashstump/S = new(loc)
S.name = "[name] stump"
qdel(src)
else
return ..()
/obj/structure/ashtree/ashstump
name = "Ashtree stump"
desc = "Return to ashes."
icon = '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 = '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/gmushroom(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 = '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 = '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."
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/shadowtree(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 = '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 = '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/plasmatree(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 = '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 = '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)
@@ -169,7 +169,7 @@
if (!megafauna_spawn_list)
megafauna_spawn_list = list(/mob/living/simple_animal/hostile/megafauna/dragon = 4, /mob/living/simple_animal/hostile/megafauna/colossus = 2, /mob/living/simple_animal/hostile/megafauna/bubblegum = SPAWN_BUBBLEGUM)
if (!flora_spawn_list)
flora_spawn_list = list(/obj/structure/flora/ash/leaf_shroom = 2 , /obj/structure/flora/ash/cap_shroom = 2 , /obj/structure/flora/ash/stem_shroom = 2 , /obj/structure/flora/ash/cacti = 1, /obj/structure/flora/ash/tall_shroom = 2, /obj/structure/flora/redgrass/redg = 1)
flora_spawn_list = list(/obj/structure/flora/ash/leaf_shroom = 2 , /obj/structure/flora/ash/cap_shroom = 2 , /obj/structure/flora/ash/stem_shroom = 2 , /obj/structure/flora/ash/cacti = 1, /obj/structure/flora/ash/tall_shroom = 2, /obj/structure/flora/redgrass/redg = 2, /obj/structure/flora/ashtree/ashtreee = 2, /obj/structure/flora/gmushroom/gggmushroom = 2, /obj/structure/flora/shadowtree/shadowtreee = 2, /obj/structure/flora/plasmatree/plasmatreee = 2)
. = ..()
+7
View File
@@ -63,3 +63,10 @@
reward = 1000
required_count = 1
wanted_types = list(/obj/item/seeds/lavaland/cactus)
datum/bounty/item/mining/plaswood
name = "Plaswood Planks"
description = "Central Command's carpentry department needs more exotic wood, send us some plaswood planks!"
reward = 5500
required_count = 50
wanted_types = list(/obj/item/stack/sheet/mineral/plaswood)
+22 -1
View File
@@ -30,6 +30,13 @@
contains = list(/obj/item/stack/sheet/metal/fifty)
crate_name = "metal sheets crate"
/datum/supply_pack/materials/gmushroom50
name = "50 Mushroom Planks"
desc = "Looks like wood AND is fire proof? Of course you need fifty mushroom planks!"
cost = 1700
contains = list(/obj/item/stack/sheet/mineral/gmushroom/fifty)
crate_name = "mushroom planks crate"
/datum/supply_pack/materials/plasteel20
name = "20 Plasteel Sheets"
desc = "Reinforce the station's integrity with twenty plasteel sheets!"
@@ -51,6 +58,13 @@
contains = list(/obj/item/stack/sheet/plastic/fifty)
crate_name = "plastic sheets crate"
/datum/supply_pack/materials/plaswood50
name = "50 Plaswood Planks"
desc = "Who need metal when you can have fifty plaswood planks?"
cost = 9000
contains = list(/obj/item/stack/sheet/mineral/plaswood/fifty)
crate_name = "Plaswood crate"
/datum/supply_pack/materials/sandstone30
name = "30 Sandstone Blocks"
desc = "Neither sandy nor stoney, these thirty blocks will still get the job done."
@@ -58,6 +72,13 @@
contains = list(/obj/item/stack/sheet/mineral/sandstone/thirty)
crate_name = "sandstone blocks crate"
/datum/supply_pack/materials/shadoww50
name = "50 Shadow Wood Planks"
desc = "Time to bring the dark side with fifty shadow wooden planks!"
cost = 1450
contains = list(/obj/item/stack/sheet/mineral/shadoww/fifty)
crate_name = "Shadown wood planks crate"
/datum/supply_pack/materials/wood50
name = "50 Wood Planks"
desc = "Turn cargo's boring metal groundwork into beautiful panelled flooring and much more with fifty wooden planks!"
@@ -79,7 +100,7 @@
name = "Bulk Raw Cotton Crate"
desc = "Plushies are more down in the market than ever before; bulk cotton now for use! Contains 100 raw cotton sheets."
cost = 1700 //Same math as before, but since it's bulk, you get a 100 credit discount to encourage bulk buys. Welcome to space Costco.
contains = list(/obj/item/stack/sheet/cotton/thirty,
contains = list(/obj/item/stack/sheet/cotton/thirty,
/obj/item/stack/sheet/cotton/thirty,
/obj/item/stack/sheet/cotton/thirty,
/obj/item/stack/sheet/cotton/ten
+40 -1
View File
@@ -98,6 +98,45 @@
/obj/item/grown/log/steel/CheckAccepted(obj/item/I)
return FALSE
/obj/item/grown/log/ashtree
seed = null
name = "ashtree log"
desc = "A piece of log."
icon_state = "ashtree_log"
/obj/item/grown/log/gmushroom
seed = null
name = "mushroom log"
desc = "Looks like candy! Do not eat it."
icon_state = "mushroom_log"
plank_type = /obj/item/stack/sheet/mineral/gmushroom
plank_name = "mushroom planks"
/obj/item/grown/log/gmushroom/CheckAccepted(obj/item/I)
return FALSE
/obj/item/grown/log/shadowtree
seed = null
name = "shadow log"
desc = "A piece of dark log."
icon_state = "shadow_log"
plank_type = /obj/item/stack/sheet/mineral/shadoww
plank_name = "shadow planks"
/obj/item/grown/log/gmushroom/CheckAccepted(obj/item/I)
return FALSE
/obj/item/grown/log/plasmatree
seed = null
name = "plasma tree log"
desc = "A heavy piece log."
icon_state = "plasmatree_log"
plank_type = /obj/item/stack/sheet/mineral/plaswood
plank_name = "plaswood planks"
/obj/item/grown/log/plasmatree/CheckAccepted(obj/item/I)
return FALSE
/obj/item/seeds/bamboo
name = "pack of bamboo seeds"
desc = "A plant known for its flexible and resistant logs."
@@ -163,7 +202,7 @@
/obj/structure/bonfire/prelit/Initialize()
. = ..()
StartBurning()
/obj/structure/bonfire/CanPass(atom/movable/mover, turf/target)
if(istype(mover) && (mover.pass_flags & PASSTABLE))
return TRUE
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 85 KiB

After

Width:  |  Height:  |  Size: 88 KiB