diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm index 2e71bd1ac69..8d864128905 100644 --- a/code/datums/uplink_item.dm +++ b/code/datums/uplink_item.dm @@ -227,7 +227,7 @@ var/list/uplink_items = list() /datum/uplink_item/dangerous/crossbow name = "Energy Crossbow" desc = "A miniature energy crossbow that is small enough both to fit into a pocket and to slip into a backpack unnoticed by observers. Fires bolts tipped with toxin, a poisonous substance that is the product of a living organism. Stuns enemies for a short period of time. Recharges automatically." - item = /obj/item/weapon/gun/energy/crossbow + item = /obj/item/weapon/gun/energy/kinetic_accelerator/crossbow cost = 12 excludefrom = list("nuclear emergency") diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index e77fa66bd64..a98dae042cf 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -36,7 +36,7 @@ var/uplink_items = {"Highly Visible and Dangerous Weapons; /obj/item/weapon/gun/projectile:6:Revolver; /obj/item/ammo_magazine/a357:2:Ammo-357; -/obj/item/weapon/gun/energy/crossbow:5:Energy Crossbow; +/obj/item/weapon/gun/energy/kinetic_accelerator/crossbow:5:Energy Crossbow; /obj/item/weapon/melee/energy/sword:4:Energy Sword; /obj/item/weapon/storage/box/syndicate:10:Syndicate Bundle; /obj/item/weapon/storage/box/emps:3:5 EMP Grenades; @@ -557,7 +557,7 @@ proc/get_nt_opposed() dudes += man if(dudes.len == 0) return null return pick(dudes) - + //Announces objectives/generic antag text. /proc/show_generic_antag_text(var/datum/mind/player) if(player.current) @@ -567,7 +567,7 @@ proc/get_nt_opposed() other players have fun! If you are confused or at a loss, always adminhelp, \ and before taking extreme actions, please try to also contact the administration! \ Think through your actions and make the roleplay immersive! Please remember all \ - rules aside from those without explicit exceptions apply to antagonists." + rules aside from those without explicit exceptions apply to antagonists." /proc/show_objectives(var/datum/mind/player) if(!player || !player.current) return diff --git a/code/game/gamemodes/wizard/rightandwrong.dm b/code/game/gamemodes/wizard/rightandwrong.dm index b87d0de8b50..3562603df8d 100644 --- a/code/game/gamemodes/wizard/rightandwrong.dm +++ b/code/game/gamemodes/wizard/rightandwrong.dm @@ -65,7 +65,7 @@ if("sabr") new /obj/item/weapon/gun/projectile/automatic(get_turf(H)) if("crossbow") - new /obj/item/weapon/gun/energy/crossbow(get_turf(H)) + new /obj/item/weapon/gun/energy/kinetic_accelerator/crossbow(get_turf(H)) if("saw") new /obj/item/weapon/gun/projectile/automatic/l6_saw(get_turf(H)) if("car") diff --git a/code/game/machinery/portable_turret.dm b/code/game/machinery/portable_turret.dm index 8213c2f8879..84d6915556c 100644 --- a/code/game/machinery/portable_turret.dm +++ b/code/game/machinery/portable_turret.dm @@ -151,13 +151,13 @@ iconholder = null reqpower = 600 - if(/obj/item/weapon/gun/energy/crossbow/largecrossbow) + if(/obj/item/weapon/gun/energy/kinetic_accelerator/crossbow/large) projectile = /obj/item/projectile/energy/bolt/large eprojectile = projectile iconholder = null reqpower = 125 - if(/obj/item/weapon/gun/energy/crossbow) + if(/obj/item/weapon/gun/energy/kinetic_accelerator/crossbow) projectile = /obj/item/projectile/energy/bolt eprojectile = projectile iconholder = null diff --git a/code/game/machinery/recharger.dm b/code/game/machinery/recharger.dm index 7d98671321f..758b76814ab 100644 --- a/code/game/machinery/recharger.dm +++ b/code/game/machinery/recharger.dm @@ -29,7 +29,7 @@ user << "\red The [name] blinks red as you try to insert the item!" return - if (istype(G, /obj/item/weapon/gun/energy/gun/nuclear) || istype(G, /obj/item/weapon/gun/energy/crossbow)) + if (istype(G, /obj/item/weapon/gun/energy/gun/nuclear)) user << "Your gun's recharge port was removed to make room for a miniaturized reactor." return if(istype(G, /obj/item/device/laptop)) diff --git a/code/game/objects/items/weapons/storage/storage.dm b/code/game/objects/items/weapons/storage/storage.dm index c49a79f07c6..c9df562f289 100644 --- a/code/game/objects/items/weapons/storage/storage.dm +++ b/code/game/objects/items/weapons/storage/storage.dm @@ -258,7 +258,7 @@ W.dropped(usr) add_fingerprint(usr) - if(!prevent_warning && !istype(W, /obj/item/weapon/gun/energy/crossbow)) + if(!prevent_warning && !istype(W, /obj/item/weapon/gun/energy/kinetic_accelerator/crossbow)) for(var/mob/M in viewers(usr, null)) if (M == usr) usr << "You put the [W] into [src]." diff --git a/code/game/objects/items/weapons/storage/uplink_kits.dm b/code/game/objects/items/weapons/storage/uplink_kits.dm index 6c0a0adb432..6b4fc5a43bd 100644 --- a/code/game/objects/items/weapons/storage/uplink_kits.dm +++ b/code/game/objects/items/weapons/storage/uplink_kits.dm @@ -11,7 +11,7 @@ return if("stealth") - new /obj/item/weapon/gun/energy/crossbow(src) + new /obj/item/weapon/gun/energy/kinetic_accelerator/crossbow(src) new /obj/item/weapon/pen/paralysis(src) new /obj/item/device/chameleon(src) return diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 30d9a28206b..abd1f40f15a 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -809,7 +809,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that del(briefcase_item) for(var/i=3, i>0, i--) sec_briefcase.contents += new /obj/item/weapon/spacecash/c1000 - sec_briefcase.contents += new /obj/item/weapon/gun/energy/crossbow + sec_briefcase.contents += new /obj/item/weapon/gun/energy/kinetic_accelerator/crossbow sec_briefcase.contents += new /obj/item/weapon/gun/projectile/revolver/mateba sec_briefcase.contents += new /obj/item/ammo_box/a357 sec_briefcase.contents += new /obj/item/weapon/plastique diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm index d1dfd17227b..bc39a2cbf00 100644 --- a/code/modules/flufftext/Hallucination.dm +++ b/code/modules/flufftext/Hallucination.dm @@ -333,7 +333,7 @@ proc/check_panel(mob/M) return var/list/non_fakeattack_weapons = list(/obj/item/weapon/gun/projectile, /obj/item/ammo_box/a357,\ - /obj/item/weapon/gun/energy/crossbow, /obj/item/weapon/melee/energy/sword,\ + /obj/item/weapon/gun/energy/kinetic_accelerator/crossbow, /obj/item/weapon/melee/energy/sword,\ /obj/item/weapon/storage/box/syndicate, /obj/item/weapon/storage/box/emps,\ /obj/item/weapon/cartridge/syndicate, /obj/item/clothing/under/chameleon,\ /obj/item/clothing/shoes/syndigaloshes, /obj/item/weapon/card/id/syndicate,\ diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index 40b8c6d022c..d598d461895 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -244,11 +244,37 @@ modules/mob/living/carbon/human/life.dm if you die, you will be zoomed out. if(overheat || recent_reload) return power_supply.give(5000) - playsound(src.loc, 'sound/weapons/kenetic_reload.ogg', 60, 1) + if(!silenced) + playsound(src.loc, 'sound/weapons/kenetic_reload.ogg', 60, 1) + else + usr << "You silently charge [src]." recent_reload = 1 update_icon() return +/obj/item/weapon/gun/energy/kinetic_accelerator/crossbow + name = "mini energy crossbow" + desc = "A weapon favored by syndicate stealth specialists." + icon_state = "crossbow" + item_state = "crossbow" + w_class = 2 + m_amt = 2000 + origin_tech = "combat=2;magnets=2;syndicate=5" + silenced = 1 + projectile_type = "/obj/item/projectile/energy/bolt" + fire_sound = 'sound/weapons/Genhit.ogg' + +/obj/item/weapon/gun/energy/kinetic_accelerator/crossbow/large + name = "energy crossbow" + desc = "A reverse engineered weapon using syndicate technology." + icon_state = "crossbowlarge" + w_class = 3 + m_amt = 4000 + origin_tech = "combat=2;magnets=2;syndicate=3" //can be further researched for more syndie tech + silenced = 0 + projectile_type = "/obj/item/projectile/energy/bolt/large" + + /obj/item/weapon/gun/energy/disabler name = "disabler" desc = "A self-defense weapon that exhausts organic targets, weakening them until they collapse." diff --git a/code/modules/projectiles/projectile/energy.dm b/code/modules/projectiles/projectile/energy.dm index 6fabb33422e..1cb70a29513 100644 --- a/code/modules/projectiles/projectile/energy.dm +++ b/code/modules/projectiles/projectile/energy.dm @@ -72,7 +72,6 @@ nodamage = 0 weaken = 5 stutter = 5 - range = 10 /obj/item/projectile/energy/bolt/large name = "largebolt" diff --git a/code/modules/research/designs/weapon_designs.dm b/code/modules/research/designs/weapon_designs.dm index adeb3859e9c..399f226e15c 100644 --- a/code/modules/research/designs/weapon_designs.dm +++ b/code/modules/research/designs/weapon_designs.dm @@ -23,8 +23,8 @@ materials = list("$gold" = 5000,"$uranium" = 10000, "mutagen" = 40) build_path = /obj/item/weapon/gun/energy/decloner locked = 1 - category = list("Weapons") - + category = list("Weapons") + /datum/design/largecrossbow name = "Energy Crossbow" desc = "A reverse-engineered energy crossbow favored by syndicate infiltration teams and carp hunters." @@ -32,10 +32,10 @@ req_tech = list("combat" = 5, "materials" = 5, "engineering" = 3, "biotech" = 4, "syndicate" = 3) build_type = PROTOLATHE materials = list("$metal" = 5000, "$glass" = 1500, "$uranium" = 1500, "$silver" = 1500) - build_path = /obj/item/weapon/gun/energy/crossbow/largecrossbow + build_path = /obj/item/weapon/gun/energy/kinetic_accelerator/crossbow/large locked = 1 category = list("Weapons") - + /datum/design/flora_gun name = "Floral Somatoray" desc = "A tool that discharges controlled radiation which induces mutation in plant cells. Harmless to other organic life." @@ -45,7 +45,7 @@ materials = list("$metal" = 2000, "$glass" = 500, "radium" = 20) build_path = /obj/item/weapon/gun/energy/floragun category = list("Weapons") - + /datum/design/ionrifle name = "Ion Rifle" desc = "How to dismantle a cyborg : The gun." @@ -67,7 +67,7 @@ reliability_base = 79 build_path = /obj/item/weapon/grenade/chem_grenade/large category = list("Weapons") - + /datum/design/lasercannon name = "Laser Cannon" desc = "A heavy duty laser cannon." @@ -77,8 +77,8 @@ materials = list("$metal" = 10000, "$glass" = 2000, "$diamond" = 2000) build_path = /obj/item/weapon/gun/energy/lasercannon locked = 1 - category = list("Weapons") - + category = list("Weapons") + /datum/design/plasmapistol name = "Plasma Pistol" desc = "A specialized firearm designed to fire lethal bolts of toxins." @@ -89,7 +89,7 @@ build_path = /obj/item/weapon/gun/energy/toxgun locked = 1 category = list("Weapons") - + /datum/design/smg name = "Prototype Submachine Gun" desc = "A prototype weapon made using lightweight materials on a traditional frame, designed to fire standard 9mm rounds." @@ -99,8 +99,8 @@ materials = list("$metal" = 8000, "$silver" = 2000, "$diamond" = 1000) build_path = /obj/item/weapon/gun/projectile/automatic locked = 1 - category = list("Weapons") - + category = list("Weapons") + /datum/design/mag_smg name = "Prototype Submachine Gun Magazine (9mm)" desc = "A 20-round magazine for the prototype submachine gun." @@ -121,7 +121,7 @@ build_path = /obj/item/weapon/gun/syringe/rapidsyringe locked = 1 category = list("Weapons") - + /datum/design/stunshell name = "Stun Shell" desc = "A stunning shell for a shotgun." @@ -130,8 +130,8 @@ build_type = PROTOLATHE materials = list("$metal" = 200) build_path = /obj/item/ammo_casing/shotgun/stunslug - category = list("Weapons") - + category = list("Weapons") + /datum/design/stunrevolver name = "Stun Revolver" desc = "A high-tech revolver that fires internal, reusable stun cartidges in a revolving cylinder. The stun cartridges can be recharged using a conventional energy weapon recharger." @@ -162,8 +162,8 @@ build_type = PROTOLATHE materials = list("$metal" = 2000, "$silver" = 500) build_path = /obj/item/weapon/suppressor - category = list("Weapons") - + category = list("Weapons") + /datum/design/techshell name = "Unloaded Technological Shotshell" desc = "A high-tech shotgun shell which can be loaded with materials to produce unique effects." diff --git a/icons/mob/in-hand/guns.dmi b/icons/mob/in-hand/guns.dmi index 74b5aad9402..9173af72b35 100644 Binary files a/icons/mob/in-hand/guns.dmi and b/icons/mob/in-hand/guns.dmi differ diff --git a/icons/obj/gun.dmi b/icons/obj/gun.dmi index 273552a5f6c..a2dd9d92a9c 100644 Binary files a/icons/obj/gun.dmi and b/icons/obj/gun.dmi differ