Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

megamad black crab claws #36565

Merged
merged 1 commit into from
May 30, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
24 changes: 16 additions & 8 deletions code/datums/helper_datums/butchering.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion code/game/objects/structures/kitchen_spike.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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))
Expand Down
2 changes: 1 addition & 1 deletion code/modules/mob/living/carbon/alien/humanoid/humanoid.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
2 changes: 1 addition & 1 deletion code/modules/mob/living/simple_animal/friendly/crab.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
2 changes: 1 addition & 1 deletion code/modules/mob/living/simple_animal/hostile/alien.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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()
. = ..()
Expand Down
3 changes: 3 additions & 0 deletions code/modules/mob/living/simple_animal/hostile/crab.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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)
9 changes: 9 additions & 0 deletions code/modules/organs/organ_external.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down
Binary file modified icons/mob/human_races/crab_claws.dmi
Binary file not shown.