Bamboo Overhaul (Port of Beestation Hornet #5703) (#64027)

Adds several new bamboo items + sprites
This commit is contained in:
OrionTheFox
2022-01-21 18:53:36 -07:00
committed by GitHub
parent f7ba0400cd
commit 16729429ab
37 changed files with 155 additions and 17 deletions
+15
View File
@@ -186,3 +186,18 @@
/obj/item/spear/bonespear/ComponentInitialize()
. = ..()
AddComponent(/datum/component/two_handed, force_unwielded=12, force_wielded=20, icon_wielded="[icon_prefix]1")
/*
* Bamboo Spear
*/
/obj/item/spear/bamboospear //Blatant imitation of spear, but all natural. Also not valid for explosive modification.
icon_state = "bamboo_spear0"
base_icon_state = "bamboo_spear0"
icon_prefix = "bamboo_spear"
name = "bamboo spear"
desc = "A haphazardly-constructed bamboo stick with a sharpened tip, ready to poke holes into unsuspecting people."
throwforce = 22 //Better to throw
/obj/item/spear/bonespear/ComponentInitialize()
. = ..()
AddComponent(/datum/component/two_handed, force_unwielded=10, force_wielded=18, icon_wielded="[icon_prefix]1")
@@ -313,7 +313,18 @@ GLOBAL_LIST_INIT(wood_recipes, list ( \
GLOBAL_LIST_INIT(bamboo_recipes, list ( \
new/datum/stack_recipe("punji sticks trap", /obj/structure/punji_sticks, 5, time = 30, one_per_turf = TRUE, on_floor = TRUE), \
new/datum/stack_recipe("bamboo spear", /obj/item/spear/bamboospear, 25, time = 90), \
new/datum/stack_recipe("blow gun", /obj/item/gun/syringe/blowgun, 10, time = 70), \
new/datum/stack_recipe("crude syringe", /obj/item/reagent_containers/syringe/crude, 5, time = 10), \
null, \
new/datum/stack_recipe("bamboo stool", /obj/structure/chair/stool/bamboo, 2, time = 10, one_per_turf = TRUE, on_floor = TRUE), \
new/datum/stack_recipe("bamboo mat piece", /obj/item/stack/tile/bamboo, 1, 4, 20), \
null, \
new/datum/stack_recipe_list("bamboo benches", list(
new /datum/stack_recipe("bamboo bench (middle)", /obj/structure/chair/sofa/bamboo, 3, time = 10, one_per_turf = TRUE, on_floor = TRUE),
new /datum/stack_recipe("bamboo bench (left)", /obj/structure/chair/sofa/bamboo/left, 3, time = 10, one_per_turf = TRUE, on_floor = TRUE),
new /datum/stack_recipe("bamboo bench (right)", /obj/structure/chair/sofa/bamboo/right, 3, time = 10, one_per_turf = TRUE, on_floor = TRUE)
)), \
))
/obj/item/stack/sheet/mineral/bamboo
@@ -323,6 +334,7 @@ GLOBAL_LIST_INIT(bamboo_recipes, list ( \
icon_state = "sheet-bamboo"
inhand_icon_state = "sheet-bamboo"
icon = 'icons/obj/stack_objects.dmi'
sheettype = "bamboo"
mats_per_unit = list(/datum/material/bamboo = MINERAL_MATERIAL_AMOUNT)
throwforce = 15
armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 50, ACID = 0)
@@ -330,6 +342,7 @@ GLOBAL_LIST_INIT(bamboo_recipes, list ( \
merge_type = /obj/item/stack/sheet/mineral/bamboo
grind_results = list(/datum/reagent/cellulose = 10)
material_type = /datum/material/bamboo
walltype = /turf/closed/wall/mineral/bamboo
/obj/item/stack/sheet/mineral/bamboo/get_main_recipes()
. = ..()
@@ -124,6 +124,17 @@
turf_type = /turf/open/floor/wood/tile
merge_type = /obj/item/stack/tile/wood/tile
//Bamboo
/obj/item/stack/tile/bamboo
name = "bamboo mat pieces"
singular_name = "bamboo mat piece"
desc = "A piece of a bamboo mat with a decorative trim."
icon_state = "tile_bamboo"
turf_type = /turf/open/floor/bamboo
merge_type = /obj/item/stack/tile/bamboo
resistance_flags = FLAMMABLE
//Basalt
/obj/item/stack/tile/basalt
name = "basalt tile"
@@ -107,7 +107,7 @@
weapon.play_tool_sound(src)
deconstruct(disassembled = TRUE)
return TRUE
/obj/structure/chair/attack_tk(mob/user)
if(!anchored || has_buckled_mobs() || !isturf(user.loc))
return ..()
@@ -297,6 +297,16 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/chair/stool, 0)
MAPPING_DIRECTIONAL_HELPERS(/obj/structure/chair/stool/bar, 0)
/obj/structure/chair/stool/bamboo
name = "bamboo stool"
desc = "A makeshift bamboo stool with a rustic look."
icon_state = "bamboo_stool"
resistance_flags = FLAMMABLE
max_integrity = 60
buildstacktype = /obj/item/stack/sheet/mineral/bamboo
buildstackamount = 2
item_chair = /obj/item/chair/stool/bamboo
/obj/item/chair
name = "chair"
desc = "Bar brawl essential."
@@ -399,6 +409,14 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/chair/stool/bar, 0)
inhand_icon_state = "stool_bar"
origin_type = /obj/structure/chair/stool/bar
/obj/item/chair/stool/bamboo
name = "bamboo stool"
icon_state = "bamboo_stool"
inhand_icon_state = "stool_bamboo"
hitsound = 'sound/weapons/genhit1.ogg'
origin_type = /obj/structure/chair/stool/bamboo
break_chance = 50 //Submissive and breakable unlike the chad iron stool
/obj/item/chair/stool/narsie_act()
return //sturdy enough to ignore a god
@@ -78,3 +78,19 @@
icon_state = "bench_corner"
greyscale_config = /datum/greyscale_config/bench_corner
greyscale_colors = "#af7d28"
// Bamboo benches
/obj/structure/chair/sofa/bamboo
name = "bamboo bench"
desc = "A makeshift bench with a rustic aesthetic."
icon_state = "bamboo_sofamiddle"
resistance_flags = FLAMMABLE
max_integrity = 60
buildstacktype = /obj/item/stack/sheet/mineral/bamboo
buildstackamount = 3
/obj/structure/chair/sofa/bamboo/left
icon_state = "bamboo_sofaend_left"
/obj/structure/chair/sofa/bamboo/right
icon_state = "bamboo_sofaend_right"
@@ -288,6 +288,17 @@
smoothing_groups = list(SMOOTH_GROUP_WALLS, SMOOTH_GROUP_WOOD_WALLS)
canSmoothWith = list(SMOOTH_GROUP_WOOD_WALLS)
/obj/structure/falsewall/bamboo
name = "bamboo wall"
desc = "A wall with bamboo finish. Zen."
icon = 'icons/turf/walls/bamboo_wall.dmi'
icon_state = "bamboo"
mineral = /obj/item/stack/sheet/mineral/bamboo
walltype = /turf/closed/wall/mineral/bamboo
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_BAMBOO_WALLS)
canSmoothWith = list(SMOOTH_GROUP_BAMBOO_WALLS)
/obj/structure/falsewall/iron
name = "rough iron wall"
desc = "A wall with rough metal plating."
+8 -4
View File
@@ -5,13 +5,17 @@
icon_state = "headpike"
density = FALSE
anchored = TRUE
var/bonespear = FALSE
var/obj/item/spear/spear
var/obj/item/spear/speartype
var/obj/item/bodypart/head/victim
/obj/structure/headpike/bone //for bone spears
icon_state = "headpike-bone"
bonespear = TRUE
speartype = /obj/item/spear/bonespear
/obj/structure/headpike/bamboo //for bamboo spears
icon_state = "headpike-bamboo"
speartype = /obj/item/spear/bamboospear
/obj/structure/headpike/Initialize(mapload)
. = ..()
@@ -29,9 +33,9 @@
if(!victim) //likely a mapspawned one
victim = new(src)
victim.real_name = random_unique_name(prob(50))
spear = locate(bonespear ? /obj/item/spear/bonespear : /obj/item/spear) in parts_list
spear = locate(speartype) in parts_list
if(!spear)
spear = bonespear ? new/obj/item/spear/bonespear(src) : new/obj/item/spear(src)
spear = new speartype(src)
update_appearance()
return ..()