Skip to content

Commit

Permalink
Merge branch 'tgstation:master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
Paxilmaniac authored Jul 25, 2024
2 parents 745e66b + fc92f4b commit 8534c26
Show file tree
Hide file tree
Showing 59 changed files with 962 additions and 16 deletions.
11 changes: 11 additions & 0 deletions code/datums/components/crafting/equipment.dm
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,17 @@
time = 4 SECONDS
category = CAT_EQUIPMENT

/datum/crafting_recipe/improvisedshield
name = "Moonflower Shield"
result = /obj/item/shield/buckler/moonflower
reqs = list(
/obj/item/seeds/sunflower/moonflower = 3,
/obj/item/grown/log/steel = 3,
)
time = 4 SECONDS
category = CAT_EQUIPMENT


/datum/crafting_recipe/radiogloves
name = "Radio Gloves"
result = /obj/item/clothing/gloves/radio
Expand Down
10 changes: 10 additions & 0 deletions code/datums/components/crafting/melee_weapon.dm
Original file line number Diff line number Diff line change
Expand Up @@ -191,3 +191,13 @@
)
time = 10 SECONDS
category = CAT_WEAPON_MELEE

/datum/crafting_recipe/bambostaff
name = "Bamboo Bo Staff"
result = /obj/item/bambostaff
reqs = list(
/obj/item/stack/sheet/mineral/bamboo = 4,
/obj/item/grown/log/steel = 2,
)
time = 8 SECONDS
category = CAT_WEAPON_MELEE
111 changes: 111 additions & 0 deletions code/datums/components/crafting/tailoring.dm
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,61 @@
time = 5 SECONDS
category = CAT_CLOTHING

/datum/crafting_recipe/durathread_robe
name = "Durathread Robe"
result = /obj/item/clothing/suit/wizrobe/durathread
reqs = list(
/obj/item/stack/sheet/durathread = 3,
/obj/item/stack/sheet/leather = 6,
)
time = 5 SECONDS
category = CAT_CLOTHING

/datum/crafting_recipe/durathread_robe_fire
name = "Durathread Pyromancer Robe"
result = /obj/item/clothing/suit/wizrobe/durathread/fire
reqs = list(/obj/item/clothing/suit/wizrobe/durathread = 1,
/obj/item/grown/novaflower = 1,
/obj/item/seeds/chili = 3)
time = 2 SECONDS
category = CAT_CLOTHING

/datum/crafting_recipe/durathread_robe_ice
name = "Durathread Ice-o-mancer Robe"
result = /obj/item/clothing/suit/wizrobe/durathread/ice
reqs = list(/obj/item/clothing/suit/wizrobe/durathread = 1,
/obj/item/seeds/chili/ice = 1,
/obj/item/food/grown/herbs = 3)
time = 2 SECONDS
category = CAT_CLOTHING

/datum/crafting_recipe/durathread_robe_electric
name = "Durathread Electromancer Robe"
result = /obj/item/clothing/suit/wizrobe/durathread/electric
reqs = list(/obj/item/clothing/suit/wizrobe/durathread = 1,
/obj/item/food/grown/mushroom/jupitercup = 1,
/obj/item/food/grown/sunflower = 3)
time = 2 SECONDS
category = CAT_CLOTHING

/datum/crafting_recipe/durathread_robe_earth
name = "Durathread Geomancer Robe"
result = /obj/item/clothing/suit/wizrobe/durathread/earth
reqs = list(/obj/item/clothing/suit/wizrobe/durathread = 1,
/obj/item/food/grown/cahnroot = 1,
/obj/item/food/grown/potato = 3)
time = 2 SECONDS
category = CAT_CLOTHING

/datum/crafting_recipe/durathread_robe_necro
name = "Durathread Necromancer Robe"
result = /obj/item/clothing/suit/wizrobe/durathread/necro
reqs = list(/obj/item/clothing/suit/wizrobe/durathread = 1,
/obj/item/food/grown/cannabis/death = 2,
/obj/item/food/grown/mushroom/angel = 2)
time = 2 SECONDS
category = CAT_CLOTHING

/datum/crafting_recipe/durathread_helmet
name = "Durathread Helmet"
result = /obj/item/clothing/head/helmet/durathread
Expand All @@ -14,6 +69,62 @@
time = 4 SECONDS
category = CAT_CLOTHING

/datum/crafting_recipe/watermelon_armour
name = "Watermelon Armour"
result = /obj/item/clothing/suit/armor/durability/watermelon
reqs = list(/obj/item/clothing/head/helmet/durability/watermelon = 3,
/obj/item/stack/sheet/durathread = 1)
time = 4 SECONDS
category = CAT_CLOTHING

/datum/crafting_recipe/watermelon_armour_fr
name = "Watermelon Armour"
result = /obj/item/clothing/suit/armor/durability/watermelon/fire_resist
reqs = list(/obj/item/clothing/head/helmet/durability/watermelon/fire_resist = 3,
/obj/item/stack/sheet/durathread = 1)
time = 4 SECONDS
category = CAT_CLOTHING

/datum/crafting_recipe/holymelon_armour
name = "Holymelon Armour"
result = /obj/item/clothing/suit/armor/durability/holymelon
reqs = list(/obj/item/clothing/head/helmet/durability/holymelon = 3,
/obj/item/stack/sheet/durathread = 1)
time = 4 SECONDS
category = CAT_CLOTHING

/datum/crafting_recipe/holymelonmelon_armour_fr
name = "Holymelon Armour"
result = /obj/item/clothing/suit/armor/durability/holymelon/fire_resist
reqs = list(/obj/item/clothing/head/helmet/durability/holymelon/fire_resist = 3,
/obj/item/stack/sheet/durathread = 1)
time = 4 SECONDS
category = CAT_CLOTHING

/datum/crafting_recipe/barrelmelon_armour
name = "Barrelmelon Armour"
result = /obj/item/clothing/suit/armor/durability/barrelmelon
reqs = list(/obj/item/clothing/head/helmet/durability/barrelmelon = 3,
/obj/item/stack/sheet/durathread = 1)
time = 4 SECONDS
category = CAT_CLOTHING

/datum/crafting_recipe/barrelmelon_armour_fr
name = "Barrelmelon Armour"
result = /obj/item/clothing/suit/armor/durability/barrelmelon/fire_resist
reqs = list(/obj/item/clothing/head/helmet/durability/barrelmelon/fire_resist = 3,
/obj/item/stack/sheet/durathread = 1)
time = 4 SECONDS
category = CAT_CLOTHING

/datum/crafting_recipe/grass_sheath
name = "Grass Sabre Sheath"
result = /obj/item/storage/belt/grass_sabre
reqs = list(/obj/item/food/grown/grass = 4,
/obj/item/food/grown/grass/fairy = 2)
time = 4 SECONDS
category = CAT_CONTAINERS

/datum/crafting_recipe/fannypack
name = "Fannypack"
result = /obj/item/storage/belt/fannypack
Expand Down
22 changes: 22 additions & 0 deletions code/datums/components/crafting/weapon_ammo.dm
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,28 @@
category = CAT_WEAPON_AMMO
crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_MUST_BE_LEARNED

/datum/crafting_recipe/sticky_arrow
name = "Sticky arrow"
result = /obj/item/ammo_casing/arrow/sticky
reqs = list(
/obj/item/ammo_casing/arrow = 1,
/obj/item/food/honeycomb = 3,
)
time = 5 SECONDS
category = CAT_WEAPON_AMMO
crafting_flags = CRAFT_CHECK_DENSITY

/datum/crafting_recipe/poison_arrow
name = "Poison arrow"
result = /obj/item/ammo_casing/arrow/poison
reqs = list(
/obj/item/ammo_casing/arrow = 1,
/obj/item/food/grown/berries/poison = 5,
)
time = 5 SECONDS
category = CAT_WEAPON_AMMO
crafting_flags = CRAFT_CHECK_DENSITY

/datum/crafting_recipe/plastic_arrow
name = "Plastic Arrow"
result = /obj/item/ammo_casing/arrow/plastic
Expand Down
15 changes: 15 additions & 0 deletions code/datums/dog_fashion.dm
Original file line number Diff line number Diff line change
Expand Up @@ -243,3 +243,18 @@
obj_icon_state = "eyepatch"
emote_hear = list("sighs gruffly.", "groans.")
emote_see = list("considers their own mortality.", "stares bleakly into the middle distance.", "ponders the horrors of warfare.")

/datum/dog_fashion/head/watermelon
name = "Watermelon Warrior %REAL_NAME%"
desc = "5% safer than normal and ready to take on advantage!"
obj_icon_state = "watermelon"

/datum/dog_fashion/head/holymelon
name = "Holymelon Paladin %REAL_NAME%"
desc = "Extraterrestial powers beware, %NAME% is here to smite you down!"
obj_icon_state = "holymelon"

/datum/dog_fashion/head/barrelmelon
name = "Barrelmelon Berserk %REAL_NAME%"
desc = "Either the sturdiness of the helmet gave %REAL_NAME% a confidence boost, or its bit tight on their head..."
obj_icon_state = "barrelmelon"
81 changes: 81 additions & 0 deletions code/game/objects/items/food/misc.dm
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,87 @@
juice_typepath = /datum/reagent/consumable/watermelonjuice
w_class = WEIGHT_CLASS_SMALL

/obj/item/food/watermelonmush
name = "watermelon mush"
desc = "A plop of watery goodness."
icon = 'icons/obj/service/hydroponics/harvest.dmi'
icon_state = "watermelonpulp"
food_reagents = list(
/datum/reagent/water = 2,
/datum/reagent/consumable/nutriment/vitamin = 0.1,
/datum/reagent/consumable/nutriment = 0.5,
)
tastes = list("watermelon" = 1)
foodtypes = FRUIT
food_flags = FOOD_FINGER_FOOD
juice_typepath = /datum/reagent/consumable/watermelonjuice
w_class = WEIGHT_CLASS_SMALL

/obj/item/food/holymelonslice
name = "holymelon slice"
desc = "A slice of holy goodness."
icon = 'icons/obj/service/hydroponics/harvest.dmi'
icon_state = "holymelonslice"
food_reagents = list(
/datum/reagent/water/holywater = 0.5,
/datum/reagent/consumable/nutriment/vitamin = 0.2,
/datum/reagent/consumable/nutriment = 1,
)
tastes = list("holymelon" = 1)
foodtypes = FRUIT
food_flags = FOOD_FINGER_FOOD
juice_typepath = /datum/reagent/water/holywater
w_class = WEIGHT_CLASS_SMALL

/obj/item/food/holymelonmush
name = "holymelon mush"
desc = "A plop of holy goodness."
icon = 'icons/obj/service/hydroponics/harvest.dmi'
icon_state = "holymelonpulp"
food_reagents = list(
/datum/reagent/water/holywater = 1,
/datum/reagent/consumable/nutriment/vitamin = 0.1,
/datum/reagent/consumable/nutriment = 0.5,
)
tastes = list("holymelon" = 1)
foodtypes = FRUIT
food_flags = FOOD_FINGER_FOOD
juice_typepath = /datum/reagent/water/holywater
w_class = WEIGHT_CLASS_SMALL

/obj/item/food/barrelmelonslice
name = "barrelmelon slice"
desc = "A slice of beery goodness."
icon = 'icons/obj/service/hydroponics/harvest.dmi'
icon_state = "barrelmelonslice"
food_reagents = list(
/datum/reagent/consumable/ethanol/beer = 1,
/datum/reagent/consumable/nutriment/vitamin = 0.2,
/datum/reagent/consumable/nutriment = 1,
)
tastes = list("beer" = 1)
foodtypes = FRUIT
food_flags = FOOD_FINGER_FOOD
juice_typepath = /datum/reagent/consumable/ethanol/beer
w_class = WEIGHT_CLASS_SMALL

/obj/item/food/barrelmelonmush
name = "barrelmelon mush"
desc = "A plop of beery goodness."
icon = 'icons/obj/service/hydroponics/harvest.dmi'
icon_state = "barrelmelonpulp"
food_reagents = list(
/datum/reagent/consumable/ethanol/beer = 2,
/datum/reagent/consumable/nutriment/vitamin = 0.1,
/datum/reagent/consumable/nutriment = 0.5,
)
tastes = list("beer" = 1)
foodtypes = FRUIT
food_flags = FOOD_FINGER_FOOD
juice_typepath = /datum/reagent/consumable/ethanol/beer
w_class = WEIGHT_CLASS_SMALL


/obj/item/food/appleslice
name = "apple slice"
desc = "The perfect after-school snack."
Expand Down
28 changes: 28 additions & 0 deletions code/game/objects/items/knives.dm
Original file line number Diff line number Diff line change
Expand Up @@ -166,6 +166,19 @@
force = 15
throwforce = 15

/obj/item/knife/combat/root
name = "cahn'root dagger"
icon = 'icons/obj/weapons/stabby.dmi'
icon_state = "rootdagger"
worn_icon_state = "root_dagger"
lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
inhand_icon_state = "rootshiv"
embed_type = /datum/embed_data/combat_knife/weak
desc = "A root dagger, deceptively sharp. Perfect to hide and stab someone with, or make a couple and throw them at enemies."
force = 15
throwforce = 15

/obj/item/knife/combat/bone
name = "bone dagger"
inhand_icon_state = "bone_dagger"
Expand Down Expand Up @@ -279,3 +292,18 @@
/obj/item/knife/shiv/carrot/suicide_act(mob/living/carbon/user)
user.visible_message(span_suicide("[user] forcefully drives \the [src] into [user.p_their()] eye! It looks like [user.p_theyre()] trying to commit suicide!"))
return BRUTELOSS

/obj/item/knife/shiv/parsnip
name = "parsnip shiv"
icon_state = "parsnipshiv"
inhand_icon_state = "parsnipshiv"
desc = "Truly putting 'snip' in the 'parsnip', and it's not sub-par either!"
custom_materials = null

/obj/item/knife/shiv/root
name = "cahn'root shiv"
icon_state = "rootshiv"
inhand_icon_state = "rootshiv"
desc = "A root sharpened into a shiv. A root source of someone's stab wounds soon, most likely."
custom_materials = null

41 changes: 41 additions & 0 deletions code/game/objects/items/melee/misc.dm
Original file line number Diff line number Diff line change
Expand Up @@ -164,6 +164,47 @@
user.death(FALSE)
REMOVE_TRAIT(src, TRAIT_NODROP, SABRE_SUICIDE_TRAIT)


/obj/item/melee/parsnip_sabre
name = "parsnip sabre"
desc = "An elegant weapon, if weird weapon. Suprisingly sharp for being made from a parsnip."
icon = 'icons/obj/weapons/sword.dmi'
icon_state = "parsnip_sabre"
inhand_icon_state = "parsnip_sabre"
lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
force = 15
throwforce = 10
demolition_mod = 0.3
w_class = WEIGHT_CLASS_BULKY
block_chance = 40
armour_penetration = 40
sharpness = SHARP_EDGED
attack_verb_continuous = list("slashes", "cuts")
attack_verb_simple = list("slash", "cut")
block_sound = 'sound/weapons/parry.ogg'
hitsound = 'sound/weapons/rapierhit.ogg'
custom_materials = null
wound_bonus = 5
bare_wound_bonus = 15

/obj/item/melee/sabre/Initialize(mapload)
. = ..()
AddComponent(/datum/component/jousting)

/obj/item/melee/parsnip_sabre/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK, damage_type = BRUTE)
if(attack_type == PROJECTILE_ATTACK || attack_type == LEAP_ATTACK)
final_block_chance = 0 //Don't bring a sword to a gunfight, and also you aren't going to really block someone full body tackling you with a sword
return ..()

/obj/item/melee/parsnip_sabre/on_exit_storage(datum/storage/container)
. = ..()
playsound(container.parent, 'sound/items/unsheath.ogg', 25, TRUE)

/obj/item/melee/parsnip_sabre/on_enter_storage(datum/storage/container)
. = ..()
playsound(container.parent, 'sound/items/sheath.ogg', 25, TRUE)

/obj/item/melee/beesword
name = "The Stinger"
desc = "Taken from a giant bee and folded over one thousand times in pure honey. Can sting through anything."
Expand Down
9 changes: 9 additions & 0 deletions code/game/objects/items/shields.dm
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,15 @@
max_integrity = 55
w_class = WEIGHT_CLASS_NORMAL

/obj/item/shield/buckler/moonflower
name = "moonflower buckler"
desc = "A buckler made from a steel-cap reinforced moonflower."
icon_state = "moonflower_buckler"
inhand_icon_state = "moonflower_buckler"
block_chance = 40
max_integrity = 40
w_class = WEIGHT_CLASS_NORMAL

/obj/item/shield/kite
name = "kite shield"
desc = "Protect your internal organs with this almond shaped shield."
Expand Down
Loading

0 comments on commit 8534c26

Please sign in to comment.