diff --git a/code/game/objects/items/mantis.dm b/code/game/objects/items/mantis.dm new file mode 100644 index 000000000000..550be904b2dd --- /dev/null +++ b/code/game/objects/items/mantis.dm @@ -0,0 +1,41 @@ +/obj/item/mantis/blade + name = "mantis blade" + desc = "Powerful inbuilt blade, hidden just beneath the skin. Singular brain signals directly link to this bad boy, allowing it to spring into action in just seconds." + icon_state = "mantis" + lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' + hitsound = 'sound/weapons/bladeslice.ogg' + flags_1 = CONDUCT_1 + force = 20 + w_class = WEIGHT_CLASS_NORMAL + attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "lacerated", "ripped", "diced", "cut") + +/obj/item/mantis/blade/equipped(mob/user, slot, initial) + . = ..() + if(slot != ITEM_SLOT_HANDS) + return + var/side = user.get_held_index_of_item(src) + + if(side == LEFT_HANDS) + transform = null + else + transform = matrix(-1, 0, 0, 0, 1, 0) + +/obj/item/mantis/blade/attack(mob/living/M, mob/living/user, secondattack = FALSE) + . = ..() + var/obj/item/mantis/blade/secondsword = user.get_inactive_held_item() + if(istype(secondsword, /obj/item/mantis/blade) && !secondattack) + sleep(2) + secondsword.attack(M, user, TRUE) + return + +/obj/item/mantis/blade/syndicate + name = "G.O.R.L.E.X. mantis blade" + icon_state = "syndie_mantis" + force = 20 + block_chance = 20 + +/obj/item/mantis/blade/NT + name = "H.E.P.H.A.E.S.T.U.S. mantis blade" + icon_state = "mantis" + force = 18 diff --git a/code/game/objects/items/storage/briefcase.dm b/code/game/objects/items/storage/briefcase.dm index bc08ec556e1a..9d06eb809830 100644 --- a/code/game/objects/items/storage/briefcase.dm +++ b/code/game/objects/items/storage/briefcase.dm @@ -47,3 +47,10 @@ new /obj/item/ammo_box/magazine/sniper_rounds/soporific(src) new /obj/item/suppressor/specialoffer(src) +/obj/item/storage/briefcase/syndie_mantis + desc = "A sleek briefcase. It has the letters G.O.R.L.E.X. on it" + +/obj/item/storage/briefcase/syndie_mantis/PopulateContents() + ..() + new /obj/item/autosurgeon/organ/syndicate/syndie_mantis(src) + new /obj/item/autosurgeon/organ/syndicate/syndie_mantis/l(src) \ No newline at end of file diff --git a/code/modules/surgery/organs/augments_arms.dm b/code/modules/surgery/organs/augments_arms.dm index 86c422c6023a..663157ac8e48 100644 --- a/code/modules/surgery/organs/augments_arms.dm +++ b/code/modules/surgery/organs/augments_arms.dm @@ -233,3 +233,13 @@ name = "surgical toolset implant" desc = "A set of surgical tools hidden behind a concealed panel on the user's arm." contents = newlist(/obj/item/retractor/augment, /obj/item/hemostat/augment, /obj/item/cautery/augment, /obj/item/surgicaldrill/augment, /obj/item/scalpel/augment, /obj/item/circular_saw/augment, /obj/item/surgical_drapes) + +/obj/item/organ/cyberimp/arm/syndie_mantis + name = "G.O.R.L.E.X. mantis blade implants" + desc = "Modernized mantis blade designed coined by Tiger operatives, much sharper blade with energy actuators makes it a much deadlier weapon." + contents = newlist(/obj/item/mantis/blade/syndicate) + syndicate_implant = TRUE + +/obj/item/organ/cyberimp/arm/syndie_mantis/l + zone = BODY_ZONE_L_ARM + syndicate_implant = TRUE \ No newline at end of file diff --git a/code/modules/surgery/organs/autosurgeon.dm b/code/modules/surgery/organs/autosurgeon.dm index 96b3179df780..06490f58b79c 100644 --- a/code/modules/surgery/organs/autosurgeon.dm +++ b/code/modules/surgery/organs/autosurgeon.dm @@ -94,6 +94,13 @@ /obj/item/autosurgeon/reviver starting_organ = /obj/item/organ/cyberimp/chest/reviver - + /obj/item/autosurgeon/medibeam starting_organ = /obj/item/organ/cyberimp/arm/medibeam + + +/obj/item/autosurgeon/organ/syndicate/syndie_mantis + starting_organ = /obj/item/organ/cyberimp/arm/syndie_mantis + +/obj/item/autosurgeon/organ/syndicate/syndie_mantis/l + starting_organ = /obj/item/organ/cyberimp/arm/syndie_mantis/l diff --git a/code/modules/uplink/uplink_items.dm b/code/modules/uplink/uplink_items.dm index 9526565bd306..5abcf2e8e5ef 100644 --- a/code/modules/uplink/uplink_items.dm +++ b/code/modules/uplink/uplink_items.dm @@ -1698,7 +1698,13 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) item = /obj/item/autosurgeon/xray_eyes cost = 10 surplus = 0 - include_modes = list(/datum/game_mode/nuclear) + +/datum/uplink_item/implants/mantis_kit + name = "G.O.R.L.E.X.. Mantis Blades Kit" + desc = "Comes with 2 G.O.R.L.E.X. Mantis blades. All packaged with autosurgeons." + item = /obj/item/storage/briefcase/syndie_mantis + cost = 16 + surplus = 0 //Race-specific items /datum/uplink_item/race_restricted diff --git a/icons/mob/inhands/weapons/swords_lefthand.dmi b/icons/mob/inhands/weapons/swords_lefthand.dmi index a6df74967151..cbc41eb6ab57 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 93a0c62153d2..e4e6d1db1081 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/items_and_weapons.dmi b/icons/obj/items_and_weapons.dmi index 96f1f41e34f0..df85b4fa7244 100644 Binary files a/icons/obj/items_and_weapons.dmi and b/icons/obj/items_and_weapons.dmi differ diff --git a/yogstation.dme b/yogstation.dme index 7a8bb194a770..e93ca76b337b 100644 --- a/yogstation.dme +++ b/yogstation.dme @@ -936,6 +936,7 @@ #include "code\game\objects\items\inducer.dm" #include "code\game\objects\items\kitchen.dm" #include "code\game\objects\items\latexballoon.dm" +#include "code\game\objects\items\mantis.dm" #include "code\game\objects\items\manuals.dm" #include "code\game\objects\items\miscellaneous.dm" #include "code\game\objects\items\mop.dm" diff --git a/yogstation/code/modules/uplink/uplink_item.dm b/yogstation/code/modules/uplink/uplink_item.dm index bb8cea1c4a70..681eaff2b573 100644 --- a/yogstation/code/modules/uplink/uplink_item.dm +++ b/yogstation/code/modules/uplink/uplink_item.dm @@ -3,7 +3,7 @@ var/list/exclude_objectives = list() //objectives to disallow the buyer from buying this item var/surplus_nullcrates -/datum/uplink_item/New() +/datum/uplink_item/New() . = ..() if(isnull(surplus_nullcrates)) surplus_nullcrates = surplus @@ -70,7 +70,7 @@ cost = 5 surplus = 0 exclude_modes = list(/datum/game_mode/nuclear) - + /datum/uplink_item/device_tools/arm/nuke cost = 15 exclude_modes = list() @@ -118,6 +118,13 @@ surplus = 20 restricted_roles = list("Assistant") +/datum/uplink_item/implants/mantis_kit + name = "G.O.R.L.E.X. Mantis Blades Kit" + desc = "Comes with 2 G.O.R.L.E.X. Mantis blades. All packaged with autosurgeons." + item = /obj/item/storage/briefcase/syndie_mantis + cost = 18 + surplus = 0 + /datum/uplink_item/badass/frying_pan name = "Bananium Plated Frying Pan" desc = "A frying pan imbued with ancient powers."