Merge pull request #14958 from WanderingFox95/WanderingFox95-TribalOverhaul

Tribal Crafting Overhauled & Expanded
This commit is contained in:
silicons
2021-10-03 11:20:55 -07:00
committed by GitHub
22 changed files with 140438 additions and 140177 deletions
@@ -93,7 +93,6 @@
/datum/crafting_recipe/quiver
name = "Quiver"
always_availible = FALSE
result = /obj/item/storage/belt/quiver
time = 80
reqs = list(/obj/item/stack/sheet/leather = 3,
@@ -104,19 +103,18 @@
name = "Bone Bow"
result = /obj/item/gun/ballistic/bow/ashen
time = 120 // 80+120 = 200
always_availible = FALSE
reqs = list(/obj/item/stack/sheet/bone = 8,
/obj/item/stack/sheet/sinew = 4)
category = CAT_PRIMAL
/datum/crafting_recipe/bow_tablet
/*/datum/crafting_recipe/bow_tablet
name = "Sandstone Bow Making Manual"
result = /obj/item/book/granter/crafting_recipe/bone_bow
time = 200 //Scribing // don't care
always_availible = FALSE
reqs = list(/obj/item/stack/rods = 1,
/obj/item/stack/sheet/mineral/sandstone = 4)
category = CAT_PRIMAL
category = CAT_PRIMAL*/
/datum/crafting_recipe/rib
name = "Collosal Rib"
@@ -154,3 +152,158 @@
/obj/item/shovel/spade = 1)
result = /obj/item/shovel/serrated
category = CAT_PRIMAL
/datum/crafting_recipe/bone_screwdriver
name = "Bone Screwdriver"
result = /obj/item/screwdriver/ashwalker
time = 80
reqs = list(/obj/item/stack/sheet/bone = 2,
/obj/item/stack/sheet/sinew = 1)
category = CAT_PRIMAL
/datum/crafting_recipe/bone_crowbar
name = "Bone Crowbar"
result = /obj/item/crowbar/ashwalker
time = 80
reqs = list(/obj/item/stack/sheet/bone = 2,
/obj/item/stack/sheet/sinew = 1)
category = CAT_PRIMAL
/datum/crafting_recipe/bone_cutters
name = "Bone Wirecutters"
result = /obj/item/wirecutters/ashwalker
time = 80
reqs = list(/obj/item/stack/sheet/bone = 2,
/obj/item/stack/sheet/sinew = 2)
category = CAT_PRIMAL
/datum/crafting_recipe/bone_wrench
name = "Bone Wrench"
result = /obj/item/wrench/ashwalker
time = 80
reqs = list(/obj/item/stack/sheet/bone = 2,
/obj/item/stack/sheet/sinew = 1)
category = CAT_PRIMAL
/datum/crafting_recipe/necropolis_welding
name = "Necropolis Welding Torch"
result = /obj/item/weldingtool/experimental/ashwalker
time = 120
reqs = list(/obj/item/stack/sheet/bone = 2,
/obj/item/stack/sheet/sinew = 2,
/obj/item/organ/regenerative_core = 1)
category = CAT_PRIMAL
/datum/crafting_recipe/tribalbelt
name = "Hunter's Belt"
result = /obj/item/storage/belt/mining/primitive
time = 80
reqs = list(/obj/item/stack/sheet/sinew = 4)
category = CAT_PRIMAL
/datum/crafting_recipe/goliath_gloves
name = "Goliath Gloves"
result = /obj/item/clothing/gloves/tackler/combat/goliath
time = 80
reqs = list(/obj/item/stack/sheet/sinew = 2,
/obj/item/stack/sheet/animalhide/goliath_hide = 2,
/obj/item/stack/sheet/cloth = 2,
/obj/item/stack/sheet/leather = 2)
category = CAT_PRIMAL
/datum/crafting_recipe/goliath_drapes
name = "Goliath Drapes"
result = /obj/item/surgical_drapes/goliath
time = 80
reqs = list(/obj/item/stack/sheet/sinew = 1,
/obj/item/stack/sheet/animalhide/goliath_hide = 1)
category = CAT_PRIMAL
/datum/crafting_recipe/diamond_scalpel
name = "Diamond Scalpel"
result = /obj/item/scalpel/ashwalker
time = 80
reqs = list(/obj/item/stack/sheet/bone = 2,
/obj/item/stack/sheet/sinew = 1,
/obj/item/stack/sheet/mineral/diamond = 1)
category = CAT_PRIMAL
/datum/crafting_recipe/bone_retractor
name = "Bone Retractor"
result = /obj/item/retractor/ashwalker
time = 80
reqs = list(/obj/item/stack/sheet/bone = 2,
/obj/item/stack/sheet/sinew = 1)
category = CAT_PRIMAL
/datum/crafting_recipe/diamond_bonesaw
name = "Diamond Bonesaw"
result = /obj/item/circular_saw/ashwalker
time = 80
reqs = list(/obj/item/stack/sheet/bone = 2,
/obj/item/stack/sheet/sinew = 1,
/obj/item/organ/regenerative_core = 1,
/obj/item/stack/sheet/mineral/diamond = 2)
category = CAT_PRIMAL
/datum/crafting_recipe/femurstat
name = "Bone Hemostat"
result = /obj/item/hemostat/ashwalker
time = 80
reqs = list(/obj/item/stack/sheet/bone = 2,
/obj/item/stack/sheet/sinew = 1)
category = CAT_PRIMAL
/datum/crafting_recipe/bone_bonesetter
name = "Bone Bonersetter"
result = /obj/item/bonesetter/bone
time = 80
reqs = list(/obj/item/stack/sheet/bone = 2,
/obj/item/stack/sheet/sinew = 1)
category = CAT_PRIMAL
/datum/crafting_recipe/coretery
name = "Necropolis Cautery"
result = /obj/item/cautery/ashwalker
time = 80
reqs = list(/obj/item/stack/sheet/bone = 1,
/obj/item/stack/sheet/animalhide/goliath_hide = 1,
/obj/item/organ/regenerative_core = 1)
category = CAT_PRIMAL
/datum/crafting_recipe/bone_spade
name = "Bone Spade"
result = /obj/item/shovel/spade/bone
time = 80
reqs = list(/obj/item/stack/sheet/bone = 1,
/obj/item/stack/sheet/sinew = 1)
category = CAT_PRIMAL
/datum/crafting_recipe/bone_hatchet
name = "Bone Hatchet"
result = /obj/item/hatchet/bone
time = 80
reqs = list(/obj/item/stack/sheet/bone = 1,
/obj/item/stack/sheet/sinew = 1)
category = CAT_PRIMAL
/datum/crafting_recipe/bone_cultivator
name = "Bone Cultivator"
result = /obj/item/cultivator/bone
time = 80
reqs = list(/obj/item/stack/sheet/bone = 2,
/obj/item/stack/sheet/sinew = 1)
category = CAT_PRIMAL
/datum/crafting_recipe/bone_glaive
name = "Necropolis Glaive"
result = /obj/item/kinetic_crusher/glaive/bone
time = 120
reqs = list(/obj/item/stack/sheet/bone = 2,
/obj/item/stack/sheet/mineral/wood = 4,
/obj/item/stack/sheet/sinew = 4,
/obj/item/organ/regenerative_core = 2,
/obj/item/stack/sheet/mineral/diamond = 2,
/obj/item/stack/sheet/animalhide/goliath_hide = 2,
/obj/item/stack/sheet/leather = 2)
category = CAT_PRIMAL
@@ -335,7 +335,6 @@
name = "Bone Arrow"
result = /obj/item/ammo_casing/caseless/arrow/bone
time = 5
always_availible = FALSE
reqs = list(/obj/item/stack/sheet/bone = 1,
/obj/item/stack/sheet/sinew = 1,
/obj/item/ammo_casing/caseless/arrow/ash = 1)
@@ -347,7 +346,6 @@
result = /obj/item/ammo_casing/caseless/arrow/ash
tools = list(TOOL_WELDER)
time = 10 // 1.5 seconds minimum per actually worthwhile arrow excluding interface lag
always_availible = FALSE
reqs = list(/obj/item/ammo_casing/caseless/arrow/wood = 1)
category = CAT_WEAPONRY
subcategory = CAT_AMMO
+2 -2
View File
@@ -535,13 +535,13 @@
oneuse = FALSE
remarks = list("Looks like these would sell much better in a plasma fire...", "Using glass bowls rather then cones?", "Mixing soda and ice-cream?", "Tall glasses with of liquids and solids...", "Just add a bit of icecream and cherry on top?")
/obj/item/book/granter/crafting_recipe/bone_bow //Bow crafting for non-ashwalkers
/*/obj/item/book/granter/crafting_recipe/bone_bow //Bow crafting for non-ashwalkers
name = "bowyery sandstone slab" // this is an actual word
desc = "A sandstone slab with inscriptions describing the Ash Walkers of Lavaland's bowyery."
crafting_recipe_types = list(/datum/crafting_recipe/bone_arrow, /datum/crafting_recipe/bone_bow, /datum/crafting_recipe/ashen_arrow, /datum/crafting_recipe/quiver, /datum/crafting_recipe/bow_tablet)
icon_state = "stone_tablet"
oneuse = FALSE
remarks = list("Sticking burning arrows into the sand makes them stronger...", "Breaking the bone apart to get shards, not sharpening the bone...", "Sinew is just like rope...")
remarks = list("Sticking burning arrows into the sand makes them stronger...", "Breaking the bone apart to get shards, not sharpening the bone...", "Sinew is just like rope...")*/
/obj/item/book/granter/crafting_recipe/under_the_oven //Illegal cook book
name = "Under The Oven"
+1 -1
View File
@@ -312,7 +312,7 @@
/obj/item/storage/belt/mining/primitive/ComponentInitialize()
. = ..()
var/datum/component/storage/STR = GetComponent(/datum/component/storage)
STR.max_items = 5
STR.max_items = 8
/obj/item/storage/belt/soulstone
name = "soul stone belt"
+7
View File
@@ -41,6 +41,13 @@
/obj/item/crowbar/brass/family
toolspeed = 1
/obj/item/crowbar/ashwalker
name = "bone crowbar"
desc = "A rudimentary crowbar made of bones."
icon = 'icons/obj/mining.dmi'
icon_state = "crowbar_bone"
toolspeed = 0.75
/obj/item/crowbar/bronze
name = "bronze plated crowbar"
desc = "A bronze plated crowbar."
@@ -93,6 +93,14 @@
/obj/item/screwdriver/brass/family
toolspeed = 1
/obj/item/screwdriver/ashwalker
name = "bone screwdriver"
desc = "A rudimentary screwdriver made of carved bones."
icon = 'icons/obj/mining.dmi'
icon_state = "screwdriver_bone"
toolspeed = 0.75
random_color = FALSE
/obj/item/screwdriver/bronze
name = "bronze screwdriver"
desc = "A screwdriver plated with bronze."
@@ -385,6 +385,16 @@
icon_state = "clockwelder"
item_state = "brasswelder"
/obj/item/weldingtool/experimental/ashwalker
name = "necropolis welding torch"
desc = "A mysterious welding tool with its origins in the depths of the necropolis. A mysterious force keeps replenishing its fuel."
resistance_flags = FIRE_PROOF | ACID_PROOF
refueling_interval = 5
toolspeed = 0.75
max_fuel = 20
icon = 'icons/obj/mining.dmi'
icon_state = "ashwelder"
/obj/item/weldingtool/abductor
name = "alien welding tool"
desc = "An alien welding tool. Whatever fuel it uses, it never runs out."
@@ -90,6 +90,14 @@
/obj/item/wirecutters/brass/family
toolspeed = 1
/obj/item/wirecutters/ashwalker
name = "bone wirecutters"
desc = "Rudimentary wirecutters made out of sharpened bones and sinew."
icon = 'icons/obj/mining.dmi'
icon_state = "cutters_bone"
toolspeed = 0.75
random_color = FALSE
/obj/item/wirecutters/bronze
name = "bronze plated wirecutters"
desc = "A pair of wirecutters plated with bronze."
+7
View File
@@ -44,6 +44,13 @@
/obj/item/wrench/brass/family
toolspeed = 1
/obj/item/wrench/ashwalker
name = "bone wrench"
desc = "A shoddy wrench made out of bent bones and sinew."
icon = 'icons/obj/mining.dmi'
icon_state = "wrench_bone"
toolspeed = 0.75
/obj/item/wrench/bronze
name = "bronze plated wrench"
desc = "A bronze plated wrench."
@@ -66,12 +66,6 @@
//Ash walkers on birth understand how to make bone bows, bone arrows and ashen arrows
new_spawn.mind.teach_crafting_recipe(/datum/crafting_recipe/bone_arrow)
new_spawn.mind.teach_crafting_recipe(/datum/crafting_recipe/bone_bow)
new_spawn.mind.teach_crafting_recipe(/datum/crafting_recipe/ashen_arrow)
new_spawn.mind.teach_crafting_recipe(/datum/crafting_recipe/quiver)
new_spawn.mind.teach_crafting_recipe(/datum/crafting_recipe/bow_tablet)
if(ishuman(new_spawn))
var/mob/living/carbon/human/H = new_spawn
H.underwear = "Nude"
@@ -634,9 +628,9 @@
log_game("[key_name(user)] has successfully pried open [src] and disabled a space pirate spawner.")
W.play_tool_sound(src)
playsound(src.loc, 'modular_citadel/sound/voice/scream_skeleton.ogg', 50, 1, 4, 1.2)
if(rank == "Captain")
if(rank == "Captain")
new /obj/effect/mob_spawn/human/pirate/corpse/captain(get_turf(src))
else
else
new /obj/effect/mob_spawn/human/pirate/corpse(get_turf(src))
qdel(src)
else
-5
View File
@@ -211,11 +211,6 @@
unit_name = "arrow"
export_types = list(/obj/item/ammo_casing/caseless/arrow, /obj/item/ammo_casing/caseless/arrow/bone, /obj/item/ammo_casing/caseless/arrow/ash)
/datum/export/weapon/bow_teaching
cost = 500
unit_name = "bowyery tablet"
export_types = list(/obj/item/book/granter/crafting_recipe/bone_bow)
/datum/export/weapon/quiver
cost = 100
unit_name = "quiver"
+14
View File
@@ -67,6 +67,20 @@
resistance_flags = NONE
strip_mod = 1.2 // because apparently black gloves had this
/obj/item/clothing/gloves/tackler/combat/goliath
name = "goliath gloves"
desc = "Rudimentary tackling gloves. The goliath hide makes it great for grappling with targets, while also being fireproof."
icon = 'icons/obj/mining.dmi'
icon_state = "goligloves"
item_state = "goligloves"
tackle_stam_cost = 25
base_knockdown = 1 SECONDS
tackle_range = 5
tackle_speed = 2
min_distance = 2
skill_mod = 1
/obj/item/clothing/gloves/tackler/combat/insulated
name = "guerrilla gloves"
desc = "Superior quality combative gloves, good for performing tackle takedowns as well as absorbing electrical shocks."
@@ -84,6 +84,12 @@
user.visible_message("<span class='suicide'>[user] is scratching [user.p_their()] back as hard as [user.p_they()] can with \the [src]! It looks like [user.p_theyre()] trying to commit suicide!</span>")
return (BRUTELOSS)
/obj/item/cultivator/bone
name = "bone cultivator"
desc = "A handle and a few bones tied together to resemble a hoe. Should work for removing weeds."
icon = 'icons/obj/mining.dmi'
icon_state = "cultivator_bone"
/obj/item/hatchet
name = "hatchet"
desc = "A very sharp axe blade upon a short fibremetal handle. It has a long history of chopping things, but now it is used for chopping wood."
@@ -112,6 +118,12 @@
playsound(src, 'sound/weapons/bladeslice.ogg', 50, 1, -1)
return (BRUTELOSS)
/obj/item/hatchet/bone
name = "bone hatchet"
desc = "A primitive hatchet made out of mostly bone, with some sinew to keep it together. It just might do for cutting logs into planks."
icon = 'icons/obj/mining.dmi'
icon_state = "hatchet_bone"
/obj/item/scythe
icon_state = "scythe0"
lefthand_file = 'icons/mob/inhands/weapons/polearms_lefthand.dmi'
@@ -228,6 +228,13 @@
/obj/item/kinetic_crusher/glaive/update_icon_state()
item_state = "crusher[wielded]-glaive" // this is not icon_state and not supported by 2hcomponent
/obj/item/kinetic_crusher/glaive/bone
name = "necropolis bone glaive"
desc = "Tribals trying to immitate technology have spent a long time to somehow assemble bits and pieces to work together just like the real thing. \
Although it does take a lot of effort and luck to create, it was a success."
icon_state = "crusher-bone"
item_state = "crusher0-bone"
//destablizing force
/obj/item/projectile/destabilizer
name = "destabilizing force"
@@ -179,6 +179,12 @@
custom_materials = list(/datum/material/iron=50)
w_class = WEIGHT_CLASS_SMALL
/obj/item/shovel/spade/bone
name = "bone spade"
desc = "A bone spade, suitable for digging and moving dirt."
icon_state = "spade_bone"
toolspeed = 0.75
/obj/item/shovel/serrated
name = "serrated bone shovel"
desc = "A wicked tool that cleaves through dirt just as easily as it does flesh. The design was styled after ancient lavaland tribal designs."
+52
View File
@@ -48,6 +48,13 @@
w_class = WEIGHT_CLASS_TINY
toolspeed = 0.5
/obj/item/retractor/ashwalker
name = "bontractor"
desc = "Kinda looks like a chicken bone."
icon = 'icons/obj/mining.dmi'
icon_state = "retractor_bone"
toolspeed = 0.85
/obj/item/hemostat
name = "hemostat"
desc = "You think you have seen this before."
@@ -78,6 +85,14 @@
toolspeed = 0.5
attack_verb = list("attacked", "pinched")
/obj/item/hemostat/ashwalker
name = "femurstat"
desc = "Bones that are strapped together with sinews. Used to stop bleeding."
icon = 'icons/obj/mining.dmi'
icon_state = "hemostat_bone"
toolspeed = 0.85
/obj/item/cautery
name = "cautery"
desc = "This stops bleeding."
@@ -108,6 +123,13 @@
toolspeed = 0.5
attack_verb = list("burnt")
/obj/item/cautery/ashwalker
name = "coretery"
desc = "A legion core strapped to a bone. It can close wounds."
icon = 'icons/obj/mining.dmi'
icon_state = "cautery_bone"
toolspeed = 0.85
/obj/item/surgicaldrill
name = "surgical drill"
desc = "You can drill using this item. You dig?"
@@ -257,6 +279,14 @@
user.visible_message("<span class='suicide'>[user] is slitting [user.p_their()] [pick("wrists", "throat", "stomach")] with [src]! It looks like [user.p_theyre()] trying to commit suicide!</span>")
return (BRUTELOSS)
/obj/item/scalpel/ashwalker
name = "diamond scalpel"
desc = "Bones and a Diamond tied together to make a scalpel."
icon = 'icons/obj/mining.dmi'
icon_state = "scalpel_bone"
force = 12
toolspeed = 0.85
/obj/item/circular_saw
name = "circular saw"
desc = "For heavy duty cutting."
@@ -309,6 +339,14 @@
attack_verb = list("attacked", "slashed", "sawed", "cut")
sharpness = SHARP_EDGED
/obj/item/circular_saw/ashwalker
name = "diamond bonesaw"
desc = "Bones designed like a skull, with diamond teeth to cut through bones."
icon = 'icons/obj/mining.dmi'
icon_state = "saw_bone"
force = 12
toolspeed = 0.85
/obj/item/surgical_drapes
name = "surgical drapes"
desc = "Nanotrasen brand surgical drapes provide optimal safety and infection control."
@@ -341,6 +379,13 @@
prototype = SSresearch.techweb_design_by_id(id)
. |= prototype.surgery
/obj/item/surgical_drapes/goliath
name = "goliath drapes"
desc = "Probably not the most hygienic but what the heck else are you gonna use?"
icon = 'icons/obj/mining.dmi'
icon_state = "surgical_drapes_goli"
/obj/item/organ_storage //allows medical cyborgs to manipulate organs without hands
name = "organ storage bag"
desc = "A container for holding body parts."
@@ -433,3 +478,10 @@
to_chat(user, "<span class='warning'>You refrain from hitting [L] with [src], as you are in help intent.</span>")
return
return ..()
/obj/item/bonesetter/bone
name = "bone bonesetter"
desc = "A bonesetter made of bones... for setting bones with... bones?"
icon = 'icons/obj/mining.dmi'
icon_state = "bone setter_bone"
toolspeed = 0.85