From 521467fa3e5a0b43a772919a30e460c6958556a7 Mon Sep 17 00:00:00 2001 From: SamCroswell Date: Sun, 4 May 2014 02:28:06 -0400 Subject: [PATCH 1/4] C4 now explodes on detonation, Stechtkin pistol fix The Stechtkin pistol now works properly, C4 will now create a small (Welder tank) sized explosion upon being detonated. --- code/game/objects/items/weapons/explosives.dm | 37 +++++++++--------- .../modules/projectiles/ammunition/bullets.dm | 2 +- .../projectiles/guns/projectile/pistol.dm | 11 ++++-- sound/weapons/Gunshot_silenced.ogg | Bin 0 -> 16205 bytes 4 files changed, 27 insertions(+), 23 deletions(-) create mode 100644 sound/weapons/Gunshot_silenced.ogg diff --git a/code/game/objects/items/weapons/explosives.dm b/code/game/objects/items/weapons/explosives.dm index edf71953e33..680e7a44aed 100644 --- a/code/game/objects/items/weapons/explosives.dm +++ b/code/game/objects/items/weapons/explosives.dm @@ -1,5 +1,3 @@ - - /obj/item/weapon/plastique name = "plastic explosives" desc = "Used to put holes in specific areas without too much extra hole." @@ -7,7 +5,7 @@ icon = 'icons/obj/assemblies.dmi' icon_state = "plastic-explosive0" item_state = "plasticx" - flags = FPRINT | TABLEPASS | USEDELAY + flags = NOBLUDGEON w_class = 2.0 origin_tech = "syndicate=2" var/datum/wires/explosive/plastic/wires = null @@ -57,36 +55,37 @@ /obj/item/weapon/plastique/attack_self(mob/user as mob) var/newtime = input(usr, "Please set the timer.", "Timer", 10) as num - if(newtime > 60000) - newtime = 60000 - timer = newtime - user << "Timer set for [timer] seconds." + if(user.get_active_hand() == src) + newtime = Clamp(newtime, 10, 60000) + timer = newtime + user << "Timer set for [timer] seconds." /obj/item/weapon/plastique/afterattack(atom/target as obj|turf, mob/user as mob, flag) if (!flag) return - if (istype(target, /turf/unsimulated) || istype(target, /turf/simulated/shuttle) || istype(target, /obj/item/weapon/storage/) || istype(target, /obj/machinery/door/airlock/hatch/gamma)) + if (istype(target, /turf/unsimulated) || istype(target, /turf/simulated/shuttle) || istype(target, /obj/item/weapon/storage/)) return user << "Planting explosives..." if(ismob(target)) - - user.attack_log += "\[[time_stamp()]\] [user.real_name] tried planting [name] on [target:real_name] ([target:ckey])" - msg_admin_attack("[user.real_name] ([user.ckey]) tried planting [name] on [target:real_name] ([target:ckey]) (JMP)") - + add_logs(user, target, "tried to plant explosives on", object="[name]") user.visible_message("\red [user.name] is trying to plant some kind of explosive on [target.name]!") + if(do_after(user, 50) && in_range(user, target)) user.drop_item() src.target = target loc = null + if (ismob(target)) - var/mob/M = target - target:attack_log += "\[[time_stamp()]\] Had the [name] planted on them by [user.real_name] ([user.ckey])" + add_logs(user, target, "planted [name] on") user.visible_message("\red [user.name] finished planting an explosive on [target.name]!") - if(!iscarbon(user)) - M.LAssailant = null - else - M.LAssailant = user + message_admins("[key_name(user, user.client)](?) planted C4 on [key_name(target)](?) with [timer] second fuse",0,1) + log_game("[key_name(user)] planted C4 on [key_name(target)] with [timer] second fuse") + + else + message_admins("[key_name(user, user.client)](?) planted C4 on [target.name] at ([target.x],[target.y],[target.z] - JMP) with [timer] second fuse",0,1) + log_game("[key_name(user)] planted C4 on [target.name] at ([target.x],[target.y],[target.z]) with [timer] second fuse") + target.overlays += image('icons/obj/assemblies.dmi', "plastic-explosive2") user << "Bomb has been planted. Timer counting down from [timer]." spawn(timer*10) @@ -99,7 +98,7 @@ if(!target) target = src if(location) - explosion(location, -1, -1, 2, 3) + explosion(location, -1, -1, 4, 4) if(target) if (istype(target, /turf/simulated/wall)) diff --git a/code/modules/projectiles/ammunition/bullets.dm b/code/modules/projectiles/ammunition/bullets.dm index 0a21dfd5847..d626591afe7 100644 --- a/code/modules/projectiles/ammunition/bullets.dm +++ b/code/modules/projectiles/ammunition/bullets.dm @@ -46,7 +46,7 @@ /obj/item/ammo_casing/c10mm desc = "A 10mm bullet casing." caliber = "10mm" - projectile_type = "obj/item/projectile/bullet/midbullet10" + projectile_type = "/obj/item/projectile/bullet/midbullet10" /obj/item/ammo_casing/a12mm desc = "A 12mm bullet casing." diff --git a/code/modules/projectiles/guns/projectile/pistol.dm b/code/modules/projectiles/guns/projectile/pistol.dm index 0dc707045ee..d14e2aee8a2 100644 --- a/code/modules/projectiles/guns/projectile/pistol.dm +++ b/code/modules/projectiles/guns/projectile/pistol.dm @@ -75,7 +75,7 @@ /obj/item/weapon/gun/projectile/automatic/pistol name = "\improper Stechtkin pistol" - desc = "A small, easily concealable gun. Uses 9mm rounds." + desc = "A small, easily concealable gun. Uses 10mm rounds." icon_state = "pistol" w_class = 2 silenced = 0 @@ -90,6 +90,8 @@ return user << "You unscrew [silenced] from [src]." user.put_in_hands(silenced) + var/obj/item/weapon/silencer/S = silenced + fire_sound = S.oldsound silenced = 0 w_class = 2 update_icon() @@ -105,6 +107,9 @@ user.drop_item() user << "You screw [I] onto [src]." silenced = I //dodgy? + var/obj/item/weapon/silencer/S = I + S.oldsound = fire_sound + fire_sound = 'sound/weapons/Gunshot_silenced.ogg' w_class = 3 I.loc = src //put the silencer into the gun update_icon() @@ -116,10 +121,10 @@ icon_state = "[initial(icon_state)][silenced ? "-silencer" : ""][chambered ? "" : "-e"]" return - /obj/item/weapon/silencer name = "silencer" desc = "a silencer" icon = 'icons/obj/gun.dmi' icon_state = "silencer" - w_class = 2 \ No newline at end of file + w_class = 2 + var/oldsound = 0 //Stores the true sound the gun made before it was silenced \ No newline at end of file diff --git a/sound/weapons/Gunshot_silenced.ogg b/sound/weapons/Gunshot_silenced.ogg new file mode 100644 index 0000000000000000000000000000000000000000..ef250d86aa818f6cd74f0e745efb472085c628da GIT binary patch literal 16205 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 G@P7af{Oqv+ literal 0 HcmV?d00001 From 2d44352d0fdefd62bc0227226d7f7782fb707730 Mon Sep 17 00:00:00 2001 From: SamCroswell Date: Sun, 4 May 2014 09:37:28 -0400 Subject: [PATCH 2/4] Misc. changes --- code/game/objects/items/weapons/explosives.dm | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/code/game/objects/items/weapons/explosives.dm b/code/game/objects/items/weapons/explosives.dm index 680e7a44aed..ab9beb64800 100644 --- a/code/game/objects/items/weapons/explosives.dm +++ b/code/game/objects/items/weapons/explosives.dm @@ -55,19 +55,22 @@ /obj/item/weapon/plastique/attack_self(mob/user as mob) var/newtime = input(usr, "Please set the timer.", "Timer", 10) as num - if(user.get_active_hand() == src) - newtime = Clamp(newtime, 10, 60000) - timer = newtime - user << "Timer set for [timer] seconds." + if(newtime > 60000) + newtime = 60000 + timer = newtime + user << "Timer set for [timer] seconds." + /obj/item/weapon/plastique/afterattack(atom/target as obj|turf, mob/user as mob, flag) if (!flag) return - if (istype(target, /turf/unsimulated) || istype(target, /turf/simulated/shuttle) || istype(target, /obj/item/weapon/storage/)) + if (istype(target, /turf/unsimulated) || istype(target, /turf/simulated/shuttle) || istype(target, /obj/item/weapon/storage/) || istype(target, /obj/machinery/door/airlock/hatch/gamma)) return user << "Planting explosives..." if(ismob(target)) - add_logs(user, target, "tried to plant explosives on", object="[name]") + user.attack_log += "\[[time_stamp()]\] [user.real_name] tried planting [name] on [target:real_name] ([target:ckey])" + msg_admin_attack("[user.real_name] ([user.ckey]) tried planting [name] on [target:real_name] ([target:ckey]) (JMP)") + user.visible_message("\red [user.name] is trying to plant some kind of explosive on [target.name]!") From 740991092a69b971a1a5dd2a72d1899b710b8b6d Mon Sep 17 00:00:00 2001 From: SamCroswell Date: Sun, 4 May 2014 10:24:48 -0400 Subject: [PATCH 3/4] Nukeops Weapons Rework Nukeops now start with a Stechtkin Pistol instead of the C-20r. In addition, they now have more items available to purchase in their uplink (Exclusive to Nukeops). They are as follows: C-20r - 6TC L6SAW - 10TC C-20r Mag - 1TC L6SAW Mag - 3TC Stechtkin Silencer - 1TC Advanced Medkit - 3TC The prices are, of course, subject to change as we observe further Nukeops rounds. --- code/datums/uplink_item.dm | 45 +++++++++++++++++++ code/game/gamemodes/nuclear/nuclear.dm | 7 +-- .../crates_lockers/closets/syndicate.dm | 3 -- 3 files changed, 49 insertions(+), 6 deletions(-) diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm index 295b71027fc..30bcc867df3 100644 --- a/code/datums/uplink_item.dm +++ b/code/datums/uplink_item.dm @@ -182,12 +182,42 @@ var/list/uplink_items = list() item = /obj/item/weapon/gun/projectile/revolver cost = 6 +/datum/uplink_item/dangerous/smg + name = "C-20r Submachine Gun" + desc = "A fully-loaded Scarborough Arms-developed submachine gun that fires 12mm automatic rounds with a 20-round magazine." + item = /obj/item/weapon/gun/projectile/automatic/c20r + cost = 6 + gamemodes = list("nuclear emergency") + +/datum/uplink_item/dangerous/machinegun + name = "L6 Squad Automatic Weapon" + desc = "A traditionally constructed machine gun made by AA-2531. This deadly weapon has a massive 50-round magazine of 7.62×51mm ammunition." + item = /obj/item/weapon/gun/projectile/automatic/l6_saw + cost = 10 + gamemodes = list("nuclear emergency") + + /datum/uplink_item/dangerous/ammo name = "Ammo-357" desc = "Seven additional rounds for the revolver. Reports indicate the presence of machinery aboard Nanotrasen space stations suitable for producing extra .357 cartridges." item = /obj/item/ammo_box/a357 cost = 2 +/datum/uplink_item/ammo/smg + name = "Ammo-12mm" + desc = "A 20-round 12mm magazine for use in the C-20r submachine gun." + item = /obj/item/ammo_box/magazine/m12mm + cost = 1 + gamemodes = list("nuclear emergency") + + +/datum/uplink_item/ammo/machinegun + name = "Ammo-7.62×51mm" + desc = "A 50-round magazine of 7.62×51mm ammunition for use in the L6 SAW machinegun. By the time you need to use this, you'll already be on a pile of corpses." + item = /obj/item/ammo_box/magazine/m762 + cost = 3 + gamemodes = list("nuclear emergency") + /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." @@ -236,6 +266,12 @@ var/list/uplink_items = list() item = /obj/item/weapon/cartridge/syndicate cost = 3 +/datum/uplink_item/stealthy_weapons/silencer + name = "Stetchkin Silencer" + desc = "Fitted for use on the Stetchkin pistol, this silencer will make its shots quieter when equipped onto it." + item = /obj/item/weapon/silencer + cost = 1 + gamemodes = list("nuclear emergency") // STEALTHY TOOLS @@ -291,6 +327,15 @@ var/list/uplink_items = list() item = /obj/item/weapon/storage/toolbox/syndicate cost = 1 + +/datum/uplink_item/device_tools/medkit + name = "Syndicate Medical Supply Kit" + desc = "A basic medical kit for treating injuries in the field." + item = /obj/item/weapon/storage/firstaid/adv + cost = 3 + gamemodes = list("nuclear emergency") + + /datum/uplink_item/device_tools/space_suit name = "Space Suit" desc = "The red syndicate space suit is less encumbering than Nanotrasen variants, fits inside bags, and has a weapon slot. Nanotrasen crewmembers are trained to report red space suit sightings." diff --git a/code/game/gamemodes/nuclear/nuclear.dm b/code/game/gamemodes/nuclear/nuclear.dm index 3555c7766a2..1e2bb5d9886 100644 --- a/code/game/gamemodes/nuclear/nuclear.dm +++ b/code/game/gamemodes/nuclear/nuclear.dm @@ -219,10 +219,11 @@ proc/issyndicate(mob/living/M as mob) if(synd_mob.backbag == 2) synd_mob.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(synd_mob), slot_back) if(synd_mob.backbag == 3) synd_mob.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel_norm(synd_mob), slot_back) if(synd_mob.backbag == 4) synd_mob.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(synd_mob), slot_back) - synd_mob.equip_to_slot_or_del(new /obj/item/ammo_box/magazine/m12mm(synd_mob), slot_in_backpack) - synd_mob.equip_to_slot_or_del(new /obj/item/ammo_box/magazine/m12mm(synd_mob), slot_in_backpack) + synd_mob.equip_to_slot_or_del(new /obj/item/ammo_box/magazine/m10mm(synd_mob), slot_in_backpack) + synd_mob.equip_to_slot_or_del(new /obj/item/ammo_box/magazine/m10mm(synd_mob), slot_in_backpack) + synd_mob.equip_to_slot_or_del(new /obj/item/ammo_box/magazine/m10mm(synd_mob), slot_in_backpack) synd_mob.equip_to_slot_or_del(new /obj/item/weapon/reagent_containers/pill/cyanide(synd_mob), slot_in_backpack) - synd_mob.equip_to_slot_or_del(new /obj/item/weapon/gun/projectile/automatic/c20r(synd_mob), slot_belt) + synd_mob.equip_to_slot_or_del(new /obj/item/weapon/gun/projectile/automatic/pistol(synd_mob), slot_belt) synd_mob.equip_to_slot_or_del(new /obj/item/weapon/storage/box/engineer(synd_mob.back), slot_in_backpack) if(synd_mob.species) diff --git a/code/game/objects/structures/crates_lockers/closets/syndicate.dm b/code/game/objects/structures/crates_lockers/closets/syndicate.dm index 840c82dd3bf..e26165043b2 100644 --- a/code/game/objects/structures/crates_lockers/closets/syndicate.dm +++ b/code/game/objects/structures/crates_lockers/closets/syndicate.dm @@ -33,9 +33,6 @@ sleep(2) new /obj/item/ammo_box/magazine/m12mm(src) new /obj/item/ammo_box/magazine/m12mm(src) - new /obj/item/ammo_box/magazine/m12mm(src) - new /obj/item/ammo_box/magazine/m12mm(src) - new /obj/item/ammo_box/magazine/m12mm(src) new /obj/item/weapon/storage/box/handcuffs(src) new /obj/item/weapon/storage/box/flashbangs(src) new /obj/item/weapon/gun/energy/gun(src) From 2081699e5484d5b1ac6517201eb4d042ed5b40f7 Mon Sep 17 00:00:00 2001 From: SamCroswell Date: Sun, 4 May 2014 11:01:39 -0400 Subject: [PATCH 4/4] Bullet damage tweaks Upped the L6's bullet damage due to how high the cost of it is. Subject to change, as always. --- code/datums/uplink_item.dm | 2 +- code/modules/projectiles/projectile/bullets.dm | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm index 30bcc867df3..b95a20d23b6 100644 --- a/code/datums/uplink_item.dm +++ b/code/datums/uplink_item.dm @@ -481,4 +481,4 @@ var/list/uplink_items = list() var/datum/uplink_item/I = pick(possible_items) U.uses -= max(0, I.cost) feedback_add_details("traitor_uplink_items_bought","RN") - return new I.item(loc) + return new I.item(loc) \ No newline at end of file diff --git a/code/modules/projectiles/projectile/bullets.dm b/code/modules/projectiles/projectile/bullets.dm index 8c4ad670768..6c369f5c138 100644 --- a/code/modules/projectiles/projectile/bullets.dm +++ b/code/modules/projectiles/projectile/bullets.dm @@ -50,10 +50,9 @@ /obj/item/projectile/bullet/midbullet12 - damage = 20 + damage = 25 stun = 5 weaken = 5 - embed = 0 /obj/item/projectile/bullet/midbullet9 damage = 25 @@ -99,7 +98,7 @@ stutter = 10 /obj/item/projectile/bullet/a762 - damage = 25 + damage = 35 /obj/item/projectile/bullet/incendiary