diff --git a/code/datums/helper_datums/butchering.dm b/code/datums/helper_datums/butchering.dm index 130352da7daa..b52b2c984dd0 100644 --- a/code/datums/helper_datums/butchering.dm +++ b/code/datums/helper_datums/butchering.dm @@ -249,26 +249,34 @@ //=============Claws======== -/datum/butchering_product/xeno_claw - result = /obj/item/xenos_claw +/datum/butchering_product/claws verb_name = "declaw" verb_gerund = "declawing" radial_icon = "radial_xclaw" -/datum/butchering_product/xeno_claw/desc_modifier() +/datum/butchering_product/claws/desc_modifier() if(!amount) return "Its claws have been cut off. " -/datum/butchering_product/xeno_claw/crab_claw +/datum/butchering_product/claws/xeno + result = /obj/item/xenos_claw + +/datum/butchering_product/claws/crab product_name = "claws" - result = null + /// The path for subtypes + var/claw_path -/datum/butchering_product/xeno_claw/crab_claw/spawn_result(location, mob/parent) +/datum/butchering_product/claws/crab/spawn_result(location, mob/parent) while(amount > 0) - new /obj/item/organ/external/r_hand/crab(location) - new /obj/item/organ/external/l_hand/crab(location) + var/left_claw = text2path("/obj/item/organ/external/l_hand/crab[claw_path]") + var/right_claw = text2path("/obj/item/organ/external/r_hand/crab[claw_path]") + new left_claw(location) + new right_claw(location) amount-- +/datum/butchering_product/claws/crab/megamad + claw_path = "/megamad" + //======frog legs /datum/butchering_product/frog_leg diff --git a/code/game/objects/structures/kitchen_spike.dm b/code/game/objects/structures/kitchen_spike.dm index 557b815cc414..4ae5fa106de5 100644 --- a/code/game/objects/structures/kitchen_spike.dm +++ b/code/game/objects/structures/kitchen_spike.dm @@ -45,7 +45,7 @@ if(occupant && W.is_wirecutter(user)) for(var/datum/butchering_product/teeth/T in occupant.butchering_drops) harvest_product(T,user,W) - for(var/datum/butchering_product/xeno_claw/X in occupant.butchering_drops) + for(var/datum/butchering_product/claws/X in occupant.butchering_drops) harvest_product(X,user,W) if(istype(W,/obj/item/weapon/grab)) diff --git a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm index 743d3ca8ffc3..fa9d60acda0e 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm @@ -28,7 +28,7 @@ add_spell(new /spell/targeted/alientransferplasma, "alien_spell_ready", /obj/abstract/screen/movable/spell_master/alien) /mob/living/carbon/alien/humanoid/get_butchering_products() - return list(/datum/butchering_product/xeno_claw, /datum/butchering_product/skin/xeno, /datum/butchering_product/teeth/bunch) + return list(/datum/butchering_product/claws/xeno, /datum/butchering_product/skin/xeno, /datum/butchering_product/teeth/bunch) /mob/living/carbon/alien/humanoid/emp_act(severity) if(flags & INVULNERABLE) diff --git a/code/modules/mob/living/simple_animal/friendly/crab.dm b/code/modules/mob/living/simple_animal/friendly/crab.dm index 161c7fcc8adc..5bdd028ff37c 100644 --- a/code/modules/mob/living/simple_animal/friendly/crab.dm +++ b/code/modules/mob/living/simple_animal/friendly/crab.dm @@ -23,7 +23,7 @@ held_items = list() /mob/living/simple_animal/crab/get_butchering_products() - return list(/datum/butchering_product/xeno_claw/crab_claw) + return list(/datum/butchering_product/claws/crab) /mob/living/simple_animal/crab/Life() if(timestopped) diff --git a/code/modules/mob/living/simple_animal/hostile/alien.dm b/code/modules/mob/living/simple_animal/hostile/alien.dm index 4423092225ca..0bfb2247c9cd 100644 --- a/code/modules/mob/living/simple_animal/hostile/alien.dm +++ b/code/modules/mob/living/simple_animal/hostile/alien.dm @@ -43,7 +43,7 @@ var/list/nest_locations = list() var/acid = 200 /mob/living/simple_animal/hostile/alien/get_butchering_products() - return list(/datum/butchering_product/xeno_claw, /datum/butchering_product/skin/xeno, /datum/butchering_product/teeth/bunch) + return list(/datum/butchering_product/claws/xeno, /datum/butchering_product/skin/xeno, /datum/butchering_product/teeth/bunch) /mob/living/simple_animal/hostile/alien/Life() . = ..() diff --git a/code/modules/mob/living/simple_animal/hostile/crab.dm b/code/modules/mob/living/simple_animal/hostile/crab.dm index 2e072cf22f52..c530086a7e92 100644 --- a/code/modules/mob/living/simple_animal/hostile/crab.dm +++ b/code/modules/mob/living/simple_animal/hostile/crab.dm @@ -22,3 +22,6 @@ melee_damage_upper = 15 attacktext = "snips" attack_sound = 'sound/weapons/toolhit.ogg' + +/mob/living/simple_animal/hostile/crab/get_butchering_products() + return list(/datum/butchering_product/claws/crab/megamad) diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm index af73c586cfe1..22fa06bcac6a 100644 --- a/code/modules/organs/organ_external.dm +++ b/code/modules/organs/organ_external.dm @@ -1563,6 +1563,7 @@ Note that amputating the affected organ does in fact remove the infection from t /datum/organ/external/hand/on_attach(obj/item/organ/external/hand_item) display_name = hand_item.name generic_type = hand_item.type + icon_name = hand_item.icon_state /datum/organ/external/hand/r_hand name = LIMB_RIGHT_HAND @@ -1922,6 +1923,10 @@ Note that amputating the affected organ does in fact remove the infection from t forced_icon_file = 'icons/mob/human_races/crab_claws.dmi' forbid_gloves = TRUE +/obj/item/organ/external/l_hand/crab/megamad + icon_state = "left_claw_megamad" + attack_punch_damage = 10 + /obj/item/organ/external/l_leg name = "left leg" icon_state = LIMB_LEFT_LEG @@ -1970,6 +1975,10 @@ Note that amputating the affected organ does in fact remove the infection from t forced_icon_file = 'icons/mob/human_races/crab_claws.dmi' forbid_gloves = TRUE +/obj/item/organ/external/r_hand/crab/megamad + icon_state = "right_claw_megamad" + attack_punch_damage = 10 + /obj/item/organ/external/r_leg name = "right leg" icon_state = LIMB_RIGHT_LEG diff --git a/icons/mob/human_races/crab_claws.dmi b/icons/mob/human_races/crab_claws.dmi index b40f31259a76..405099758da3 100644 Binary files a/icons/mob/human_races/crab_claws.dmi and b/icons/mob/human_races/crab_claws.dmi differ