diff --git a/code/game/objects/items/melee/misc.dm b/code/game/objects/items/melee/misc.dm index f11ea7e0b4..0d45960767 100644 --- a/code/game/objects/items/melee/misc.dm +++ b/code/game/objects/items/melee/misc.dm @@ -42,7 +42,7 @@ force = 20 throwforce = 10 hitsound = 'sound/weapons/bladeslice.ogg' - attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") + attack_verb = list("attacked", "impaled", "stabbed", "sliced", "torn", "ripped", "diced", "cut") sharpness = IS_SHARP /obj/item/melee/synthetic_arm_blade/Initialize() @@ -132,6 +132,28 @@ user.death(FALSE) REMOVE_TRAIT(src, TRAIT_NODROP, SABRE_SUICIDE_TRAIT) +/obj/item/melee/rapier + name = "plastitanium rapier" + desc = "A impossibly thin blade made of plastitanium with a tip made of diamond. It looks to be able to cut through any armor." + icon = 'icons/obj/items_and_weapons.dmi' + icon_state = "rapier" + item_state = "rapier" + lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' + force = 25 + throwforce = 35 + block_chance = 0 + armour_penetration = 100 + flags_1 = CONDUCT_1 + obj_flags = UNIQUE_RENAME + w_class = WEIGHT_CLASS_BULKY + sharpness = IS_SHARP_ACCURATE //It cant be sharpend cook -_- + attack_verb = list("slashed", "cut", "pierces", "pokes") + +/obj/item/melee/rapier/Initialize() + . = ..() + AddComponent(/datum/component/butchering, 20, 65, 0) + /obj/item/melee/classic_baton name = "police baton" desc = "A wooden truncheon for beating criminal scum." diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index e2d7fdf9d7..e3494e36cf 100755 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -664,6 +664,32 @@ /obj/item/melee/sabre )) +/obj/item/storage/belt/sabre/rapier + name = "rapier sheath" + desc = "A black, thin sheath that looks to house only a long thin blade. Feels like its made of metal." + icon_state = "rsheath" + item_state = "rsheath" + force = 5 + throwforce = 15 + block_chance = 30 + w_class = WEIGHT_CLASS_BULKY + attack_verb = list("bashed", "slashes", "prods", "pokes") + +/obj/item/storage/belt/sabre/rapier/ComponentInitialize() + . = ..() + GET_COMPONENT(STR, /datum/component/storage) + STR.max_items = 1 + STR.rustle_sound = FALSE + STR.max_w_class = WEIGHT_CLASS_BULKY + STR.can_hold = typecacheof(list( + /obj/item/melee/rapier + )) + +/obj/item/storage/belt/sabre/rapier/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) + if(attack_type == PROJECTILE_ATTACK) + final_block_chance = 0 //To thin to block bullets + return ..() + /obj/item/storage/belt/sabre/examine(mob/user) ..() if(length(contents)) @@ -681,8 +707,8 @@ to_chat(user, "[src] is empty.") /obj/item/storage/belt/sabre/update_icon() - icon_state = "sheath" - item_state = "sheath" + icon_state = initial(icon_state) + item_state = initial(item_state) if(contents.len) icon_state += "-sabre" item_state += "-sabre" @@ -694,3 +720,7 @@ /obj/item/storage/belt/sabre/PopulateContents() new /obj/item/melee/sabre(src) update_icon() + +/obj/item/storage/belt/sabre/rapier/PopulateContents() + new /obj/item/melee/rapier(src) + update_icon() diff --git a/code/modules/uplink/uplink_items.dm b/code/modules/uplink/uplink_items.dm index 905c710e6a..13dcf5a12b 100644 --- a/code/modules/uplink/uplink_items.dm +++ b/code/modules/uplink/uplink_items.dm @@ -411,6 +411,15 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) surplus = 20 include_modes = list(/datum/game_mode/nuclear) +/datum/uplink_item/dangerous/rapier + name = "Rapier" + desc = "A fancy rapier with a diamond tip piercing anything that it comes into contack with. \ + The rapier comes with its own shielf, this is rather noticeable as only the captain is known to carry a shielf. \ + The shielf itself can be used to block melee attacks only. Its also jet black colours." + item = /obj/item/storage/belt/sabre/rapier + cost = 8 + exclude_modes = list(/datum/game_mode/nuclear/clown_ops) + /datum/uplink_item/dangerous/flamethrower name = "Flamethrower" desc = "A flamethrower, fueled by a portion of highly flammable biotoxins stolen previously from Nanotrasen \ diff --git a/icons/mob/belt.dmi b/icons/mob/belt.dmi index 1ae0b0a2b5..02fdc52b45 100644 Binary files a/icons/mob/belt.dmi and b/icons/mob/belt.dmi differ diff --git a/icons/mob/inhands/weapons/swords_lefthand.dmi b/icons/mob/inhands/weapons/swords_lefthand.dmi index d6950f4e1e..d306e22892 100644 Binary files a/icons/mob/inhands/weapons/swords_lefthand.dmi and b/icons/mob/inhands/weapons/swords_lefthand.dmi differ diff --git a/icons/mob/inhands/weapons/swords_righthand.dmi b/icons/mob/inhands/weapons/swords_righthand.dmi index 9655829113..3e0c3424d3 100644 Binary files a/icons/mob/inhands/weapons/swords_righthand.dmi and b/icons/mob/inhands/weapons/swords_righthand.dmi differ diff --git a/icons/obj/clothing/belts.dm b/icons/obj/clothing/belts.dm new file mode 100644 index 0000000000..34c716f5d8 Binary files /dev/null and b/icons/obj/clothing/belts.dm differ diff --git a/icons/obj/clothing/belts.dmi b/icons/obj/clothing/belts.dmi index 3e56574fbf..34c716f5d8 100644 Binary files a/icons/obj/clothing/belts.dmi and b/icons/obj/clothing/belts.dmi differ diff --git a/icons/obj/items_and_weapons.dmi b/icons/obj/items_and_weapons.dmi index 655d37d4a6..0d68f00c8b 100644 Binary files a/icons/obj/items_and_weapons.dmi and b/icons/obj/items_and_weapons.dmi differ