the one where i make it work

This commit is contained in:
Hatterhat
2020-08-28 20:20:19 -05:00
parent 5fcf537f57
commit 5dd09c2402
7 changed files with 58 additions and 43 deletions
@@ -637,23 +637,6 @@
changeling.chem_recharge_slowdown += recharge_slowdown
return TRUE
/obj/effect/proc_holder/changeling/gloves/vulture
name = "Jagged Claws"
desc = "We turn our hands into grotesque claws, which are better at prying things off our victims."
helptext = "These grotesque, bird-like claws are better at stealing things off of people, and cannot be used in lesser form. This ability is somewhat loud, and carries a small risk of our blood gaining violent sensitivity to heat."
chemical_cost = 15
dna_cost = 1
loudness = 1
req_human = 1
action_icon = 'icons/mob/actions/actions_changeling.dmi'
action_icon_state = "ling_armor"
action_background_icon_state = "bg_ling"
glove_type = /obj/item/clothing/gloves/claws/vulture // prying shit off dead/soon to be dead dudes!
glove_name_simple = "jagged claws"
/obj/item/clothing/gloves/claws
name = "claws of doing nothing"
desc = "These shouldn't be here."
@@ -673,54 +656,84 @@
/obj/item/clothing/gloves/claws/vulture // prying shit off dead/soon to be dead dudes!
name = "jagged claws"
desc = "Good for prying things off of people and looking incredibly creepy."
strip_mod = 3
strip_mod = 2
/obj/effect/proc_holder/changeling/gloves/gauntlets
name = "Bone Gauntlets"
desc = "We turn our hands into solid bone and chitin, sacrificing dexterity for raw strength."
helptext = "These grotesque, bone-and-chitin gauntlets are remarkably good at beating victims senseless, and cannot be used in lesser form. This ability is loud, and might cause our blood to react violently to heat."
chemical_cost = 20
chemical_cost = 10 // same cost as armblade because its a sidegrade (sacrifice utility for punching people violently)
dna_cost = 2
loudness = 2
req_human = 1
action_icon = 'icons/mob/actions/actions_changeling.dmi'
action_icon_state = "ling_armor"
action_icon_state = "ling_gauntlets"
action_background_icon_state = "bg_ling"
glove_type = /obj/item/clothing/gloves/claws/bone_gauntlets // just punch his head off dude
glove_type = /obj/item/clothing/gloves/fingerless/pugilist/bone // just punch his head off dude
glove_name_simple = "bone gauntlets"
/obj/item/clothing/gloves/claws/bone_gauntlets // should i have just made these a subtype of armwraps?
name = "hewn bone gauntlets"
desc = "Rough bone and chitin, pulsing with an abomination barely called \"life\". Good for punching the shit out of people, not so much for wielding firearms."
var/enhancement = 15 // it's not an armblade but it's Violence, alright
var/inherited_trait = TRAIT_NOGUNS // how do you expect to shove your fingers into a trigger guard with BONE HANDS
var/secondary_trait = TRAIT_STRONG_GRABBER // if you're beating the shit out of dudes u might as well grab em too man...
/obj/item/clothing/gloves/fingerless/pugilist/bone
name = "hewn bone claws"
icon_state = "ling_gauntlets"
item_state = "ling_gauntlets"
desc = "Rough bone and chitin, pulsing with an abomination barely called \"life\". Good for punching the shit out of people, but perhaps not so much for firearms."
transfer_prints = TRUE
body_parts_covered = ARMS|HANDS
cold_protection = ARMS|HANDS
min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT
max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT
enhancement = 15 // it's not an armblade but it's Violence, alright
var/wound_enhancement = 20
inherited_trait = TRAIT_CHUNKYFINGERS // dummy thicc bone hands
secondary_trait = TRAIT_STRONG_GRABBER // grab them and then punch their head off
var/fasthands = TRUE
/obj/item/clothing/gloves/claws/bone_gauntlets/equipped(mob/user, slot)
/obj/item/clothing/gloves/fingerless/pugilist/bone/examine(mob/user)
. = ..()
. += " [src] are throwing [fasthands ? "fast, precise strikes" : "crippling, damaging blows"]."
. += " Alt-click them to change between rapid strikes and strong blows."
/obj/item/clothing/gloves/fingerless/pugilist/bone/AltClick(mob/user)
. = ..()
fasthands = !fasthands
if(fasthands)
enhancement = initial(enhancement)
wound_enhancement = initial(enhancement)
else
enhancement = initial(enhancement) * 3 // punch the head off a man
wound_enhancement = initial(enhancement) * 3 // do it do it do it do it
if(ishuman(user))
var/mob/living/carbon/human/H = user
if(locate(src) in H.gloves)
src.dropped(H)
src.equipped(H, SLOT_GLOVES)
to_chat(user, "<span class='notice'>With [src], you are now throwing [fasthands ? "fast, precise strikes" : "crippling, damaging blows"].</span>")
/obj/item/clothing/gloves/fingerless/pugilist/bone/Initialize()
. = ..()
ADD_TRAIT(src, TRAIT_NODROP, CHANGELING_TRAIT)
/obj/item/clothing/gloves/fingerless/pugilist/bone/equipped(mob/user, slot)
. = ..()
if(slot == SLOT_GLOVES)
if(ishuman(user))
var/mob/living/carbon/human/H = user
ADD_TRAIT(H, TRAIT_PUGILIST, GLOVE_TRAIT)
ADD_TRAIT(H, inherited_trait, GLOVE_TRAIT)
ADD_TRAIT(H, secondary_trait, GLOVE_TRAIT)
H.dna.species.punchdamagehigh += enhancement
H.dna.species.punchdamagelow += enhancement
H.dna.species.punchwoundbonus += wound_enhancement
/obj/item/clothing/gloves/claws/bone_gauntlets/dropped(mob/user)
REMOVE_TRAIT(user, TRAIT_PUGILIST, GLOVE_TRAIT)
REMOVE_TRAIT(user, inherited_trait, GLOVE_TRAIT)
REMOVE_TRAIT(user, secondary_trait, GLOVE_TRAIT)
/obj/item/clothing/gloves/fingerless/pugilist/bone/dropped(mob/user)
. = ..()
if(ishuman(user))
var/mob/living/carbon/human/H = user
H.dna.species.punchdamagehigh -= enhancement
H.dna.species.punchdamagelow -= enhancement
H.dna.species.punchwoundbonus -= wound_enhancement
return ..()
/obj/item/clothing/gloves/claws/bone_gauntlets/Touch(atom/target, proximity = TRUE)
/obj/item/clothing/gloves/fingerless/pugilist/bone/Touch(atom/target, proximity = TRUE)
if(!isliving(target))
return
var/mob/living/M = loc
M.SetNextAction(CLICK_CD_RANGE) // fast punches
if(fasthands)
M.SetNextAction(CLICK_CD_RANGE) // fast punches
else
M.SetNextAction(CLICK_CD_GRABBING) // strong punches
return NO_AUTO_CLICKDELAY_HANDLING | ATTACK_IGNORE_ACTION
@@ -1359,7 +1359,7 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
user.do_attack_animation(target, ATTACK_EFFECT_PUNCH)
var/damage = rand(user.dna.species.punchdamagelow, user.dna.species.punchdamagehigh)
var/woundbonus = user.dna.species.woundbonus
var/punchwoundbonus = user.dna.species.punchwoundbonus
var/puncherstam = user.getStaminaLoss()
var/puncherbrute = user.getBruteLoss()
var/punchedstam = target.getStaminaLoss()
@@ -1375,6 +1375,8 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
//END OF CITADEL CHANGES
var/obj/item/bodypart/affecting = target.get_bodypart(ran_zone(user.zone_selected))
if(HAS_TRAIT(user, TRAIT_PUGILIST))
affecting = target.get_bodypart(check_zone(user.zone_selected)) // if you're going the based unarmed route you won't miss
var/miss_chance = 100//calculate the odds that a punch misses entirely. considers stamina and brute damage of the puncher. punches miss by default to prevent weird cases
if(attackchain_flags & ATTACK_IS_PARRY_COUNTERATTACK)
@@ -1412,7 +1414,7 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
target.dismembering_strike(user, affecting.body_zone)
if(atk_verb == ATTACK_EFFECT_KICK)//kicks deal 1.5x raw damage + 0.5x stamina damage
target.apply_damage(damage*1.5, attack_type, affecting, armor_block, wound_bonus = woundbonus)
target.apply_damage(damage*1.5, attack_type, affecting, armor_block, wound_bonus = punchwoundbonus)
target.apply_damage(damage*0.5, STAMINA, affecting, armor_block)
log_combat(user, target, "kicked")
else//other attacks deal full raw damage + 2x in stamina damage