diff --git a/code/game/gamemodes/changeling/powers/armblade.dm b/code/game/gamemodes/changeling/powers/armblade.dm index f241f41840..139950e900 100644 --- a/code/game/gamemodes/changeling/powers/armblade.dm +++ b/code/game/gamemodes/changeling/powers/armblade.dm @@ -13,48 +13,66 @@ set name = "Arm Blade (20)" if(src.mind.changeling.recursive_enhancement) - if(changeling_generic_weapon(/obj/item/weapon/melee/arm_blade/greater)) + if(changeling_generic_weapon(/obj/item/weapon/melee/changeling/arm_blade/greater)) src << "We prepare an extra sharp blade." return 1 else - if(changeling_generic_weapon(/obj/item/weapon/melee/arm_blade)) + if(changeling_generic_weapon(/obj/item/weapon/melee/changeling/arm_blade)) return 1 return 0 -/obj/item/weapon/melee/arm_blade - name = "arm blade" - desc = "A grotesque blade made out of bone and flesh that cleaves through people as a hot knife through butter." +//Claws +/datum/power/changeling/claw + name = "Claw" + desc = "We reform one of our arms into a deadly claw." + helptext = "We may retract our claw by dropping it." + enhancedtext = "The claw will have armor peneratration." + ability_icon_state = "ling_claw" + genomecost = 1 + verbpath = /mob/proc/changeling_claw + +//Grows a scary, and powerful arm blade. +/mob/proc/changeling_claw() + set category = "Changeling" + set name = "Claw (15)" + + if(src.mind.changeling.recursive_enhancement) + if(changeling_generic_weapon(/obj/item/weapon/melee/changeling/claw/greater, 1, 15)) + src << "We prepare an extra sharp claw." + return 1 + + else + if(changeling_generic_weapon(/obj/item/weapon/melee/changeling/claw, 1, 15)) + return 1 + return 0 + +/obj/item/weapon/melee/changeling + name = "arm weapon" + desc = "A grotesque weapon made out of bone and flesh that cleaves through people as a hot knife through butter." icon = 'icons/obj/weapons.dmi' icon_state = "arm_blade" w_class = ITEMSIZE_HUGE - force = 40 - sharp = 1 - edge = 1 - pry = 1 + force = 5 anchored = 1 throwforce = 0 //Just to be on the safe side throw_range = 0 throw_speed = 0 - attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") var/mob/living/creator //This is just like ninja swords, needed to make sure dumb shit that removes the sword doesn't make it stay around. + var/weapType = "weapon" + var/weapLocation = "arm" -/obj/item/weapon/melee/arm_blade/greater - name = "arm greatblade" - desc = "A grotesque blade made out of bone and flesh that cleaves through people and armor as a hot knife through butter." - armor_penetration = 30 - -/obj/item/weapon/melee/arm_blade/New(location) +/obj/item/weapon/melee/changeling/New(location) ..() processing_objects |= src if(ismob(loc)) - visible_message("A grotesque blade forms around [loc.name]\'s arm!", - "Our arm twists and mutates, transforming it into a deadly blade.", + visible_message("A grotesque weapon forms around [loc.name]\'s arm!", + "Our arm twists and mutates, transforming it into a deadly weapon.", "You hear organic matter ripping and tearing!") src.creator = loc -/obj/item/weapon/melee/arm_blade/dropped(mob/user) - visible_message("With a sickening crunch, [creator] reforms their arm blade into an arm!", +/obj/item/weapon/melee/changeling/dropped(mob/user) + visible_message("With a sickening crunch, [creator] reforms their arm!", "We assimilate the weapon back into our body.", "You hear organic matter ripping and tearing!") playsound(src, 'sound/effects/blobattack.ogg', 30, 1) @@ -62,16 +80,16 @@ if(src) qdel(src) -/obj/item/weapon/melee/arm_blade/Destroy() +/obj/item/weapon/melee/changeling/Destroy() processing_objects -= src creator = null ..() -/obj/item/weapon/melee/arm_blade/suicide_act(mob/user) +/obj/item/weapon/melee/changeling/suicide_act(mob/user) viewers(user) << "[user] is impaling \himself the [src.name]! It looks like \he's trying to commit suicide." return(BRUTELOSS) -/obj/item/weapon/melee/arm_blade/process() //Stolen from ninja swords. +/obj/item/weapon/melee/changeling/process() //Stolen from ninja swords. if(!creator || loc != creator || !creator.item_is_in_hands(src)) // Tidy up a bit. if(istype(loc,/mob/living)) @@ -86,4 +104,34 @@ host.drop_from_inventory(src) spawn(1) if(src) - qdel(src) \ No newline at end of file + qdel(src) + +/obj/item/weapon/melee/changeling/arm_blade + name = "arm blade" + desc = "A grotesque blade made out of bone and flesh that cleaves through people as a hot knife through butter." + icon_state = "arm_blade" + force = 40 + armor_penetration = 15 + sharp = 1 + edge = 1 + pry = 1 + attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") + +/obj/item/weapon/melee/changeling/arm_blade/greater + name = "arm greatblade" + desc = "A grotesque blade made out of bone and flesh that cleaves through people and armor as a hot knife through butter." + armor_penetration = 30 + +/obj/item/weapon/melee/changeling/claw + name = "hand claw" + desc = "A grotesque claw made out of bone and flesh that cleaves through people as a hot knife through butter." + icon_state = "ling_claw" + force = 15 + sharp = 1 + edge = 1 + attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") + +/obj/item/weapon/melee/changeling/claw/greater + name = "hand greatclaw" + force = 20 + armor_penetration = 20 \ No newline at end of file diff --git a/code/modules/tables/interactions.dm b/code/modules/tables/interactions.dm index 35dfdc33b6..1b287294b1 100644 --- a/code/modules/tables/interactions.dm +++ b/code/modules/tables/interactions.dm @@ -130,7 +130,7 @@ break_to_parts() return - if(istype(W, /obj/item/weapon/melee/arm_blade)) + if(istype(W, /obj/item/weapon/melee/changeling/arm_blade)) user.visible_message("\The [src] was sliced apart by [user]!") break_to_parts() return diff --git a/icons/mob/items/lefthand_melee.dmi b/icons/mob/items/lefthand_melee.dmi index 93ac77c655..41f7617c3f 100644 Binary files a/icons/mob/items/lefthand_melee.dmi and b/icons/mob/items/lefthand_melee.dmi differ diff --git a/icons/mob/items/righthand_melee.dmi b/icons/mob/items/righthand_melee.dmi index ce37a0997e..fb7baddc29 100644 Binary files a/icons/mob/items/righthand_melee.dmi and b/icons/mob/items/righthand_melee.dmi differ diff --git a/icons/mob/screen_spells.dmi b/icons/mob/screen_spells.dmi index 908331c31d..c65d50880f 100644 Binary files a/icons/mob/screen_spells.dmi and b/icons/mob/screen_spells.dmi differ diff --git a/icons/obj/weapons.dmi b/icons/obj/weapons.dmi index 22f52ad154..c7fd776592 100644 Binary files a/icons/obj/weapons.dmi and b/icons/obj/weapons.dmi differ