diff --git a/code/datums/components/storage/storage_grid_types.dm b/code/datums/components/storage/storage_grid_types.dm index fc1bb5b5ce3..04c3306fc13 100644 --- a/code/datums/components/storage/storage_grid_types.dm +++ b/code/datums/components/storage/storage_grid_types.dm @@ -109,7 +109,7 @@ /datum/component/storage/concrete/grid/sack max_w_class = WEIGHT_CLASS_NORMAL - screen_max_rows = 5 + screen_max_rows = 6 screen_max_columns = 4 click_gather = TRUE collection_mode = COLLECT_EVERYTHING @@ -122,7 +122,7 @@ /datum/component/storage/concrete/grid/handbasket max_w_class = WEIGHT_CLASS_NORMAL screen_max_rows = 3 - screen_max_columns = 3 + screen_max_columns = 4 click_gather = TRUE collection_mode = COLLECT_EVERYTHING dump_time = 0 @@ -205,6 +205,18 @@ /obj/item/bodypart/head) ) +/datum/component/storage/concrete/grid/headhook/wood + max_w_class = WEIGHT_CLASS_NORMAL + screen_max_rows = 6 + screen_max_columns = 2 + click_gather = TRUE + collection_mode = COLLECT_EVERYTHING + dump_time = 0 + allow_quick_gather = TRUE + allow_quick_empty = TRUE + allow_dump_out = TRUE + insert_preposition = "in" + /datum/component/storage/concrete/grid/headhook/bronze max_w_class = WEIGHT_CLASS_NORMAL screen_max_rows = 8 diff --git a/code/game/objects/structures/fake_machines/headeater.dm b/code/game/objects/structures/fake_machines/headeater.dm index 96561b412b5..dbd65716720 100644 --- a/code/game/objects/structures/fake_machines/headeater.dm +++ b/code/game/objects/structures/fake_machines/headeater.dm @@ -1,11 +1,9 @@ - /obj/structure/fake_machine/headeater name = "\improper HEADEATER" desc = "A machine that feeds on certain heads for coin. Worth more than selling to the merchantry." icon = 'icons/roguetown/misc/machines.dmi' icon_state = "headeater" density = FALSE - lock = /datum/lock/key/hailer blade_dulling = DULLING_BASH SET_BASE_PIXEL(0, 32) @@ -18,16 +16,16 @@ /obj/structure/fake_machine/headeater/attackby(obj/item/I, mob/user, list/modifiers) if(!is_type_in_list(I, list(/obj/item/natural/head, /obj/item/bodypart/head))) return ..() - if(locked()) - to_chat(user, span_warning("It's locked. Of course.")) - return if(I.sellprice <= 0) to_chat(user, span_warning("[I] isn't worth selling.")) return + else if(I.sellprice * 1.3 > 10) + playsound(src, 'sound/gore/organ2.ogg', 100) + + var/reward = ceil(I.sellprice * 1.3) + playsound(src, 'sound/gore/flesh_eat_03.ogg', 100) + visible_message(span_notice("[src] consumes [I], spitting out [reward] mammons as reward!"), vision_distance = COMBAT_MESSAGE_RANGE) - visible_message(span_notice("[src] consumes [I], spitting out a reward!"), vision_distance = COMBAT_MESSAGE_RANGE) - playsound(src, 'sound/gore/flesh_eat_03.ogg', 100,) - var/reward = round(I.sellprice * 1.25) budget2change(reward, user) record_round_statistic(STATS_HEADEATER_EXPORTS, reward) qdel(I) diff --git a/code/modules/clothing/belt/misc.dm b/code/modules/clothing/belt/misc.dm index fdeca51a72c..b1257014514 100644 --- a/code/modules/clothing/belt/misc.dm +++ b/code/modules/clothing/belt/misc.dm @@ -535,15 +535,36 @@ //mob_overlay_icon = 'icons/roguetown/clothing/onmob/belts.dmi' //N/A uncomment when a mob_overlay icon is made and added icon_state = "ironheadhook" item_state = "ironheadhook" + w_class = WEIGHT_CLASS_NORMAL slot_flags = ITEM_SLOT_HIP w_class = WEIGHT_CLASS_NORMAL max_integrity = 300 equip_sound = 'sound/blank.ogg' bloody_icon_state = "bodyblood" + + grid_width = 64 + grid_height = 64 + anvilrepair = /datum/attribute/skill/craft/blacksmithing smeltresult = /obj/item/ingot/iron component_type = /datum/component/storage/concrete/grid/headhook +/obj/item/storage/hip/headhook/wood + name = "head hook" + desc = "an iron hook for storing 3 heads" + icon = 'icons/roguetown/clothing/belts.dmi' + //mob_overlay_icon = 'icons/roguetown/clothing/onmob/belts.dmi' //N/A uncomment when a mob_overlay icon is made and added + icon_state = "woodheadhook" + item_state = "woodheadhook" + slot_flags = ITEM_SLOT_HIP + w_class = WEIGHT_CLASS_NORMAL + max_integrity = 300 + equip_sound = 'sound/blank.ogg' + bloody_icon_state = "bodyblood" + anvilrepair = /datum/attribute/skill/craft/blacksmithing + smeltresult = /obj/item/ingot/iron + component_type = /datum/component/storage/concrete/grid/headhook/wood + /obj/item/storage/hip/headhook/bronze name = "bronze head hook" desc = "a bronze hook for storing 12 heads" diff --git a/code/modules/crafting/quality_of_crafting/crafting.dm b/code/modules/crafting/quality_of_crafting/crafting.dm index 6c5e664c0ed..9d2483befe6 100644 --- a/code/modules/crafting/quality_of_crafting/crafting.dm +++ b/code/modules/crafting/quality_of_crafting/crafting.dm @@ -99,6 +99,23 @@ output = /obj/item/clothing/head/antlerhood craftdiff = 0 +/datum/repeatable_crafting_recipe/crafting/headhookwood + name = "head hook (wood)" + requirements = list( + /obj/item/grown/log/tree/small = 1, + /obj/item/grown/log/tree/stick = 2, + /obj/item/natural/fibers = 3, + ) + + tool_usage = list( + /obj/item/weapon/knife = list(span_notice("starts to whittle"), span_notice("start to whittle"), 'sound/items/wood_sharpen.ogg'), + ) + + attacked_atom = /obj/item/grown/log/tree + starting_atom = /obj/item/weapon/knife + output = /obj/item/storage/hip/headhook/wood + craftdiff = 0 + /datum/repeatable_crafting_recipe/crafting/antlerhood/create_blacklisted_paths() blacklisted_paths = subtypesof(/obj/item/natural/hide) diff --git a/code/modules/mob/living/carbon/human/npc/goblin.dm b/code/modules/mob/living/carbon/human/npc/goblin.dm index 0f7ca49482b..2b175000dfe 100644 --- a/code/modules/mob/living/carbon/human/npc/goblin.dm +++ b/code/modules/mob/living/carbon/human/npc/goblin.dm @@ -123,7 +123,7 @@ dismemberable = 0 /obj/item/bodypart/head/goblin - sellprice = 5 + sellprice = 4 /obj/item/bodypart/head/goblin/update_icon_dropped() return diff --git a/code/modules/mob/living/carbon/human/npc/human_soldiers/bog_deserters.dm b/code/modules/mob/living/carbon/human/npc/human_soldiers/bog_deserters.dm index 88f384938e6..87d95684ff9 100644 --- a/code/modules/mob/living/carbon/human/npc/human_soldiers/bog_deserters.dm +++ b/code/modules/mob/living/carbon/human/npc/human_soldiers/bog_deserters.dm @@ -94,7 +94,7 @@ d_intent = INTENT_PARRY possible_mmb_intents = list(INTENT_BITE, INTENT_JUMP, INTENT_KICK) - headprice = 16 + headprice = 12 var/is_silent = FALSE /// Determines whether or not we will scream our funny lines at people. @@ -188,7 +188,7 @@ a_intent = INTENT_HELP d_intent = INTENT_PARRY possible_mmb_intents = list(INTENT_BITE, INTENT_JUMP, INTENT_KICK) - headprice = 20 + headprice = 15 /mob/living/carbon/human/species/human/northern/bog_deserters/better_gear/ambush wander = TRUE diff --git a/code/modules/mob/living/carbon/human/npc/human_soldiers/deranged.dm b/code/modules/mob/living/carbon/human/npc/human_soldiers/deranged.dm index a4eb2aac053..8ade7b3e3a4 100644 --- a/code/modules/mob/living/carbon/human/npc/human_soldiers/deranged.dm +++ b/code/modules/mob/living/carbon/human/npc/human_soldiers/deranged.dm @@ -18,7 +18,7 @@ GLOBAL_LIST_INIT(hedgeknight_aggro, file2list("strings/rt/hedgeknightaggrolines. var/is_silent = FALSE /// Determines whether or not we will scream our funny lines at people. var/preset = "matthios" var/forced_preset = "" // If set, force a specific preset instead of randomizing. - headprice = 36 + headprice = 25 /mob/living/carbon/human/species/human/northern/deranged_knight/Initialize() . = ..() diff --git a/code/modules/mob/living/carbon/human/npc/human_soldiers/drow_raiders.dm b/code/modules/mob/living/carbon/human/npc/human_soldiers/drow_raiders.dm index c075b58791b..aac36e704d8 100644 --- a/code/modules/mob/living/carbon/human/npc/human_soldiers/drow_raiders.dm +++ b/code/modules/mob/living/carbon/human/npc/human_soldiers/drow_raiders.dm @@ -8,7 +8,7 @@ GLOBAL_LIST_INIT(drowraider_aggro, file2list("strings/rt/drowaggrolines.txt")) flee_in_pain = TRUE d_intent = INTENT_DODGE var/is_silent = FALSE /// Determines whether or not we will scream our funny lines at people. - headprice = 15 + headprice = 13 /mob/living/carbon/human/species/elf/dark/drowraider/ambush wander = TRUE diff --git a/code/modules/mob/living/carbon/human/npc/human_soldiers/highwaymen.dm b/code/modules/mob/living/carbon/human/npc/human_soldiers/highwaymen.dm index 5d1c72a7aee..fb2c4d742dc 100644 --- a/code/modules/mob/living/carbon/human/npc/human_soldiers/highwaymen.dm +++ b/code/modules/mob/living/carbon/human/npc/human_soldiers/highwaymen.dm @@ -8,7 +8,7 @@ GLOBAL_LIST_INIT(highwayman_aggro, file2list("strings/rt/highwaymanaggrolines.tx flee_in_pain = TRUE d_intent = INTENT_PARRY var/is_silent = FALSE /// Determines whether or not we will scream our funny lines at people. - headprice = 12 + headprice = 9 /mob/living/carbon/human/species/human/northern/highwayman/ambush diff --git a/code/modules/mob/living/carbon/human/npc/rousman.dm b/code/modules/mob/living/carbon/human/npc/rousman.dm index 9af6be47ff3..aab6c3428ff 100644 --- a/code/modules/mob/living/carbon/human/npc/rousman.dm +++ b/code/modules/mob/living/carbon/human/npc/rousman.dm @@ -112,7 +112,7 @@ GLOBAL_LIST_EMPTY(rousman_ambush_objects) ///////////////////////////////////////////////////////////////////////////// /obj/item/bodypart/head/rousman - sellprice = 5 + sellprice = 3 /obj/item/bodypart/head/rousman/update_icon_dropped() return diff --git a/code/modules/mob/living/carbon/human/npc/skeleton/_skeleton.dm b/code/modules/mob/living/carbon/human/npc/skeleton/_skeleton.dm index 82d4fb5ef63..f9282a421ba 100644 --- a/code/modules/mob/living/carbon/human/npc/skeleton/_skeleton.dm +++ b/code/modules/mob/living/carbon/human/npc/skeleton/_skeleton.dm @@ -16,7 +16,7 @@ stand_attempts = 4 cmode_music = 'sound/music/cmode/antag/combatskeleton.ogg' var/should_have_aggro = TRUE - headprice = 7 + headprice = 5 /mob/living/carbon/human/species/skeleton/npc/no_equipment skel_outfit = null diff --git a/code/modules/surgery/bodyparts/head.dm b/code/modules/surgery/bodyparts/head.dm index 24282a0cca3..9b36548806e 100644 --- a/code/modules/surgery/bodyparts/head.dm +++ b/code/modules/surgery/bodyparts/head.dm @@ -12,7 +12,7 @@ px_x = 0 px_y = -8 dismember_wound = /datum/wound/dismemberment/head - sellprice = 8 + sellprice = 7 grid_width = 64 grid_height = 64 diff --git a/icons/roguetown/clothing/belts.dmi b/icons/roguetown/clothing/belts.dmi index 770803928ad..e3be310c965 100644 Binary files a/icons/roguetown/clothing/belts.dmi and b/icons/roguetown/clothing/belts.dmi differ