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
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -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
Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.3 KiB

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 65 KiB

After

Width:  |  Height:  |  Size: 69 KiB