initial commit - za hando

This commit is contained in:
Hatterhat
2020-08-20 09:14:30 -05:00
parent 428d95b893
commit 02194633b5
4 changed files with 165 additions and 7 deletions
@@ -6,6 +6,10 @@
Shield
Armor
Tentacles
Hatterhat Additions:
claws! (glove slot)
jagged (thieves') claws
bone gauntlets for punching dudes
*/
@@ -89,7 +93,7 @@
return 1
var/mob/living/carbon/human/H = user
if(istype(H.wear_suit, suit_type) || istype(H.head, helmet_type))
H.visible_message("<span class='warning'>[H] casts off [H.p_their()] [suit_name_simple]!</span>", "<span class='warning'>We cast off our [suit_name_simple].</span>", "<span class='italics'>You hear the organic matter ripping and tearing!</span>")
H.visible_message("<span class='warning'>[H] casts off [H.p_their()] [suit_name_simple]!</span>", "<span class='warning'>We cast off our [suit_name_simple].</span>", "<span class='italics'>You hear organic matter ripping and tearing!</span>")
H.temporarilyRemoveItemFromInventory(H.head, TRUE) //The qdel on dropped() takes care of it
H.temporarilyRemoveItemFromInventory(H.wear_suit, TRUE)
H.update_inv_wear_suit()
@@ -570,3 +574,153 @@
/obj/item/clothing/head/helmet/changeling/Initialize()
. = ..()
ADD_TRAIT(src, TRAIT_NODROP, CHANGELING_TRAIT)
/***************************************\
|*****************CLAWS*****************|
\***************************************/
/obj/effect/proc_holder/changeling/gloves
name = "Mangled Claws"
desc = "Go tell a coder if you see this"
helptext = "Yell at Hatterhat, for fucking up Miauw and/or Perakp's work"
chemical_cost = 1000
dna_cost = -1
var/glove_type = /obj/item
var/glove_name_simple = " " // keep these plural bro
var/recharge_slowdown = 0
var/blood_on_castoff = 0
/obj/effect/proc_holder/changeling/gloves/try_to_sting(mob/user, mob/target)
if(check_gloves(user))
return
var/mob/living/carbon/human/H = user
..(H, target)
//checks if we already have claws and casts it off
/obj/effect/proc_holder/changeling/gloves/proc/check_gloves(mob/user)
var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling)
if(!ishuman(user) || !changeling)
return 1
var/mob/living/carbon/human/H = user
if(istype(H.gloves, glove_type))
H.visible_message("<span class='warning'>[H] casts off [H.p_their()] [glove_name_simple]!</span>", "<span class='warning'>We cast off our [glove_name_simple].</span>", "<span class='italics'>You hear organic matter ripping and tearing!</span>")
H.temporarilyRemoveItemFromInventory(H.gloves, TRUE) //The qdel on dropped() takes care of it
H.update_inv_gloves()
if(blood_on_castoff)
H.add_splatter_floor()
playsound(H.loc, 'sound/effects/splat.ogg', 50, 1) //So real sounds
changeling.chem_recharge_slowdown -= recharge_slowdown
return 1
/obj/effect/proc_holder/changeling/gloves/on_refund(mob/user)
if(!ishuman(user))
return
action.Remove(user)
var/mob/living/carbon/human/H = user
check_gloves(H)
/obj/effect/proc_holder/changeling/gloves/sting_action(mob/living/carbon/human/user)
if(!user.canUnEquip(user.gloves))
to_chat(user, "\the [user.gloves] is stuck to your body, you cannot grow [glove_name_simple] over it!")
return
user.dropItemToGround(user.gloves)
user.equip_to_slot_if_possible(new glove_type(user), SLOT_GLOVES, 1, 1, 1)
var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling)
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."
icon_state = "bracers"
item_state = "bracers"
transfer_prints = TRUE
body_parts_covered = HANDS
cold_protection = HANDS
min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT
max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT
armor = list("melee" = 20, "bullet" = 20, "laser" = 20, "energy" = 20, "bomb" = 35, "bio" = 35, "rad" = 35, "fire" = 0, "acid" = 0)
/obj/item/clothing/gloves/claws/Initialize()
. = ..()
ADD_TRAIT(src, TRAIT_NODROP, CHANGELING_TRAIT)
/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
/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
dna_cost = 2
loudness = 2
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/bone_gauntlets // 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/claws/bone_gauntlets/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
/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)
if(ishuman(user))
var/mob/living/carbon/human/H = user
H.dna.species.punchdamagehigh -= enhancement
H.dna.species.punchdamagelow -= enhancement
return ..()
/obj/item/clothing/gloves/claws/bone_gauntlets/Touch(atom/target, proximity = TRUE)
if(!isliving(target))
return
var/mob/living/M = loc
M.SetNextAction(CLICK_CD_RANGE)
return NO_AUTO_CLICKDELAY_HANDLING | ATTACK_IGNORE_ACTION
+2
View File
@@ -65,12 +65,14 @@
heat_protection = HANDS
max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT
resistance_flags = NONE
strip_mod = 1.2 // because apparently black gloves had this
/obj/item/clothing/gloves/tackler/combat/insulated
name = "guerrilla gloves"
desc = "Superior quality combative gloves, good for performing tackle takedowns as well as absorbing electrical shocks."
siemens_coefficient = 0
permeability_coefficient = 0.05
strip_mod = 1.5 // and combat gloves had this??
/obj/item/clothing/gloves/tackler/rocket
name = "rocket gloves"
@@ -1381,8 +1381,8 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
if(user.dna.species.punchdamagelow)
if(atk_verb == ATTACK_EFFECT_KICK) //kicks never miss (provided your species deals more than 0 damage)
miss_chance = 0
else if(HAS_TRAIT(user, TRAIT_PUGILIST)) //pugilists have a flat 10% miss chance
miss_chance = 10
else if(HAS_TRAIT(user, TRAIT_PUGILIST)) //pugilists, being good at Punching People, also never miss
miss_chance = 0
else
miss_chance = min(10 + max(puncherstam * 0.5, puncherbrute * 0.5), 100) //probability of miss has a base of 10, and modified based on half brute total. Capped at max 100 to prevent weirdness in prob()
@@ -1398,10 +1398,12 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
var/armor_block = target.run_armor_check(affecting, "melee")
playsound(target.loc, user.dna.species.attack_sound, 25, 1, -1)
var/initial_atk_verb = atk_verb
if(atk_verb == ATTACK_EFFECT_PUNCH)
atk_verb = "punche" // grammar but done in a really godawful manner honestly i mean fuck
target.visible_message("<span class='danger'>[user] [atk_verb]s [target]!</span>", \
"<span class='userdanger'>[user] [atk_verb]s you!</span>", null, COMBAT_MESSAGE_RANGE, null, \
user, "<span class='danger'>You [atk_verb] [target]!</span>")
user, "<span class='danger'>You [initial_atk_verb] [target]!</span>")
target.lastattacker = user.real_name
target.lastattackerckey = user.ckey
@@ -91,8 +91,8 @@
item = /obj/item/clothing/shoes/wallwalkers
cost = 6
/datum/uplink_item/device_tools/guerillagloves
name = "Guerilla Gloves"
/datum/uplink_item/device_tools/guerrillagloves
name = "Guerrilla Gloves"
desc = "A pair of highly robust combat gripper gloves that excels at performing takedowns at close range, with an added lining of insulation. Careful not to hit a wall!"
item = /obj/item/clothing/gloves/tackler/combat/insulated
include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)