From 398f75f03539a199afd05e0353e2098653691b32 Mon Sep 17 00:00:00 2001 From: Ikarrus Date: Sat, 11 Apr 2015 12:57:15 -0600 Subject: [PATCH 1/3] Custom list of uplink-purchasable items for Gang This excludes certain uplink items that can be purchased during gang mode. Most notably emags (OP with borgs), space suits (No hiding), chameleon projector (No hiding), the singularity beacon and certain spy-like weapons (Not appropriate). But this also allows gang bosses to purchase items that were formerly only available to nuke ops, such as their weapons. --- code/datums/uplink_item.dm | 37 +++++++++++++++++++++---------------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm index 030f4890756..1ed2f338071 100644 --- a/code/datums/uplink_item.dm +++ b/code/datums/uplink_item.dm @@ -117,7 +117,7 @@ var/list/uplink_items = list() desc = "A fully-loaded Scarborough Arms bullpup submachine gun that fires .45 rounds with a 20-round magazine and is compatible with suppressors." item = /obj/item/weapon/gun/projectile/automatic/c20r cost = 14 - gamemodes = list(/datum/game_mode/nuclear) + gamemodes = list(/datum/game_mode/nuclear,/datum/game_mode/gang) surplus = 40 /datum/uplink_item/dangerous/carbine @@ -125,7 +125,7 @@ var/list/uplink_items = list() desc = "A fully-loaded three-round burst carbine that uses 30-round 5.56mm magazines with a togglable underslung 40mm grenade launcher." item = /obj/item/weapon/gun/projectile/automatic/m90 cost = 18 - gamemodes = list(/datum/game_mode/nuclear) + gamemodes = list(/datum/game_mode/nuclear,/datum/game_mode/gang) surplus = 50 /datum/uplink_item/dangerous/machinegun @@ -142,7 +142,7 @@ var/list/uplink_items = list() The bow generates bolts using an internal power source but must be manually charged between shots." item = /obj/item/weapon/gun/energy/kinetic_accelerator/crossbow cost = 12 - excludefrom = list(/datum/game_mode/nuclear) + excludefrom = list(/datum/game_mode/nuclear,/datum/game_mode/gang) surplus = 50 /datum/uplink_item/dangerous/flamethrower @@ -150,7 +150,7 @@ var/list/uplink_items = list() desc = "A flamethrower, fueled by a portion of highly flammable biotoxins stolen previously from Nanotrasen stations. Make a statement by roasting the filth in their own greed. Use with caution." item = /obj/item/weapon/flamethrower/full/tank cost = 11 - gamemodes = list(/datum/game_mode/nuclear) + gamemodes = list(/datum/game_mode/nuclear,/datum/game_mode/gang) surplus = 40 /datum/uplink_item/dangerous/sword @@ -176,7 +176,7 @@ var/list/uplink_items = list() desc = "A fully-loaded Donksoft bullpup submachine gun that fires riot grade rounds with a 20-round magazine." item = /obj/item/weapon/gun/projectile/automatic/c20r/toy cost = 12 - gamemodes = list(/datum/game_mode/nuclear) + gamemodes = list(/datum/game_mode/nuclear,/datum/game_mode/gang) surplus = 0 /datum/uplink_item/dangerous/foammachinegun @@ -201,7 +201,7 @@ var/list/uplink_items = list() Use with extreme caution, to prevent exposure to yourself and your fellow operatives." item = /obj/item/weapon/reagent_containers/spray/chemsprayer/bioterror cost = 20 - gamemodes = list(/datum/game_mode/nuclear) + gamemodes = list(/datum/game_mode/nuclear,/datum/game_mode/gang) surplus = 0 /datum/uplink_item/dangerous/gygax @@ -258,7 +258,7 @@ var/list/uplink_items = list() desc = "An additional 20-round .45 magazine for use in the C-20r submachine gun. These bullets pack a lot of punch that can knock most targets down, but do limited overall damage." item = /obj/item/ammo_box/magazine/smgm45 cost = 2 - gamemodes = list(/datum/game_mode/nuclear) + gamemodes = list(/datum/game_mode/nuclear,/datum/game_mode/gang) /datum/uplink_item/ammo/bullbuck name = "Drum Magazine - 12g Buckshot" @@ -286,14 +286,14 @@ var/list/uplink_items = list() desc = "An additional 30-round 5.56 magazine for use in the M-90gl carbine. These bullets don't have the punch to knock most targets down, but dish out higher overall damage." item = /obj/item/ammo_box/magazine/m556 cost = 2 - gamemodes = list(/datum/game_mode/nuclear) + gamemodes = list(/datum/game_mode/nuclear,/datum/game_mode/gang) /datum/uplink_item/ammo/a40mm name = "Ammo Box - 40mm grenades" desc = "A box of 4 additional 40mm HE grenades for use the M-90gl's underbarrel grenade launcher. Your teammates will thank you to not shoot these down small hallways." item = /obj/item/ammo_box/a40mm cost = 4 - gamemodes = list(/datum/game_mode/nuclear) + gamemodes = list(/datum/game_mode/nuclear,/datum/game_mode/gang) /datum/uplink_item/ammo/machinegun name = "Box Magazine - 7.62x51mm" @@ -308,7 +308,7 @@ var/list/uplink_items = list() desc = "A box of 40 Donksoft foam riot darts, for reloading any compatible foam dart gun. Don't forget to share!" item = /obj/item/ammo_box/foambox/riot cost = 10 - gamemodes = list(/datum/game_mode/nuclear) + gamemodes = list(/datum/game_mode/nuclear,/datum/game_mode/gang) surplus = 0 // STEALTHY WEAPONS @@ -322,7 +322,7 @@ var/list/uplink_items = list() desc = "A box of throwing stars with a high chance of embedding themselves in people's limbs." item = /obj/item/weapon/storage/box/throwing_stars cost = 6 - excludefrom = list(/datum/game_mode/nuclear) + excludefrom = list(/datum/game_mode/nuclear,/datum/game_mode/gang) /datum/uplink_item/stealthy_weapons/foampistol name = "Toy Gun (with Stun Darts)" @@ -337,7 +337,7 @@ var/list/uplink_items = list() The pen holds one dose of the mixture, and cannot be refilled." item = /obj/item/weapon/pen/sleepy cost = 4 - excludefrom = list(/datum/game_mode/nuclear) + excludefrom = list(/datum/game_mode/nuclear,/datum/game_mode/gang) /datum/uplink_item/stealthy_weapons/soap name = "Syndicate Soap" @@ -416,6 +416,7 @@ var/list/uplink_items = list() desc = "Projects an image across a user, disguising them as an object scanned with it, as long as they don't move the projector from their hand. The disguised user cannot run and rojectiles pass over them." item = /obj/item/device/chameleon cost = 7 + excludefrom = list(/datum/game_mode/gang) /datum/uplink_item/stealthy_tools/camera_bug name = "Camera Bug" @@ -448,6 +449,7 @@ var/list/uplink_items = list() desc = "The emag is a small card that unlocks hidden functions in electronic devices, subverts intended functions and characteristically breaks security mechanisms." item = /obj/item/weapon/card/emag cost = 6 + excludefrom = list(/datum/game_mode/gang) /datum/uplink_item/device_tools/toolbox name = "Full Syndicate Toolbox" @@ -461,7 +463,7 @@ var/list/uplink_items = list() and other medical supplies helpful for a medical field operative." item = /obj/item/weapon/storage/firstaid/tactical cost = 9 - gamemodes = list(/datum/game_mode/nuclear) + gamemodes = list(/datum/game_mode/nuclear,/datum/game_mode/gang) /datum/uplink_item/badass/syndiecigs name = "Syndicate Smokes" @@ -474,6 +476,7 @@ var/list/uplink_items = list() desc = "The red and black 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." item = /obj/item/weapon/storage/box/syndie_kit/space cost = 5 + excludefrom = list(/datum/game_mode/gang) /datum/uplink_item/device_tools/hardsuit name = "Blood-red Hardsuit" @@ -483,6 +486,7 @@ var/list/uplink_items = list() Nanotrasen crewmembers are trained to report red space suit sightings, these suits in particular are known to drive employees into a panic." item = /obj/item/clothing/suit/space/hardsuit/syndi cost = 8 + excludefrom = list(/datum/game_mode/gang) /datum/uplink_item/device_tools/thermal name = "Thermal Imaging Glasses" @@ -547,6 +551,7 @@ var/list/uplink_items = list() leading to an emergency evacuation. Because of its size, it cannot be carried. Ordering this sends you a small beacon that will teleport the larger beacon to your location on activation." item = /obj/item/device/sbeacondrop cost = 14 + excludefrom = list(/datum/game_mode/gang) /datum/uplink_item/device_tools/syndicate_bomb name = "Syndicate Bomb" @@ -584,7 +589,7 @@ var/list/uplink_items = list() desc = "An incredibly useful personal shield projector, capable of reflecting energy projectiles and defending against other attacks." item = /obj/item/weapon/shield/energy cost = 16 - gamemodes = list(/datum/game_mode/nuclear) + gamemodes = list(/datum/game_mode/nuclear,/datum/game_mode/gang) surplus = 20 @@ -630,7 +635,7 @@ var/list/uplink_items = list() desc = "Syndicate Bundles are specialised groups of items that arrive in a plain box. These items are collectively worth more than 10 telecrystals, but you do not know which specialisation you will receive." item = /obj/item/weapon/storage/box/syndicate cost = 20 - excludefrom = list(/datum/game_mode/nuclear) + excludefrom = list(/datum/game_mode/nuclear,/datum/game_mode/gang) /datum/uplink_item/badass/syndiecards name = "Syndicate Playing Cards" @@ -684,7 +689,7 @@ var/list/uplink_items = list() desc = "A crate containing 50 telecrystals worth of random syndicate leftovers." cost = 20 item = /obj/item/weapon/storage/box/syndicate - excludefrom = list(/datum/game_mode/nuclear) + excludefrom = list(/datum/game_mode/nuclear,/datum/game_mode/gang) /datum/uplink_item/badass/surplus_crate/spawn_item(turf/loc, obj/item/device/uplink/U) var/obj/structure/closet/crate/C = new(loc) From 6f3a9ab68ac066e9abd89c7ced38dacda0c25f80 Mon Sep 17 00:00:00 2001 From: Ikarrus Date: Sat, 11 Apr 2015 13:04:13 -0600 Subject: [PATCH 2/3] Unexcluded surplus crates --- code/datums/uplink_item.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm index 1ed2f338071..8b310470dfd 100644 --- a/code/datums/uplink_item.dm +++ b/code/datums/uplink_item.dm @@ -689,7 +689,7 @@ var/list/uplink_items = list() desc = "A crate containing 50 telecrystals worth of random syndicate leftovers." cost = 20 item = /obj/item/weapon/storage/box/syndicate - excludefrom = list(/datum/game_mode/nuclear,/datum/game_mode/gang) + excludefrom = list(/datum/game_mode/nuclear) /datum/uplink_item/badass/surplus_crate/spawn_item(turf/loc, obj/item/device/uplink/U) var/obj/structure/closet/crate/C = new(loc) From 71d529a6a5d2fa2181eec297121351b56279820a Mon Sep 17 00:00:00 2001 From: Ikarrus Date: Sat, 11 Apr 2015 14:37:21 -0600 Subject: [PATCH 3/3] More adjustments - added unrestricted-use guns - excluded fake toy guns - Unexcluded throwing stars --- code/datums/uplink_item.dm | 21 +++++++++++++------ .../projectiles/guns/projectile/automatic.dm | 6 ++++++ 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm index 8b310470dfd..0f446105c9c 100644 --- a/code/datums/uplink_item.dm +++ b/code/datums/uplink_item.dm @@ -117,17 +117,25 @@ var/list/uplink_items = list() desc = "A fully-loaded Scarborough Arms bullpup submachine gun that fires .45 rounds with a 20-round magazine and is compatible with suppressors." item = /obj/item/weapon/gun/projectile/automatic/c20r cost = 14 - gamemodes = list(/datum/game_mode/nuclear,/datum/game_mode/gang) + gamemodes = list(/datum/game_mode/nuclear) surplus = 40 +/datum/uplink_item/dangerous/smg/unrestricted + item = /obj/item/weapon/gun/projectile/automatic/c20r/unrestricted + gamemodes = list(/datum/game_mode/gang) + /datum/uplink_item/dangerous/carbine name = "M-90gl Carbine" desc = "A fully-loaded three-round burst carbine that uses 30-round 5.56mm magazines with a togglable underslung 40mm grenade launcher." item = /obj/item/weapon/gun/projectile/automatic/m90 cost = 18 - gamemodes = list(/datum/game_mode/nuclear,/datum/game_mode/gang) + gamemodes = list(/datum/game_mode/nuclear) surplus = 50 +/datum/uplink_item/dangerous/carbine/unrestricted + item = /obj/item/weapon/gun/projectile/automatic/m90/unrestricted + gamemodes = list(/datum/game_mode/gang) + /datum/uplink_item/dangerous/machinegun name = "L6 Squad Automatic Weapon" desc = "A fully-loaded Aussec Armoury belt-fed machine gun. This deadly weapon has a massive 50-round magazine of devastating 7.62x51mm ammunition." @@ -176,7 +184,7 @@ var/list/uplink_items = list() desc = "A fully-loaded Donksoft bullpup submachine gun that fires riot grade rounds with a 20-round magazine." item = /obj/item/weapon/gun/projectile/automatic/c20r/toy cost = 12 - gamemodes = list(/datum/game_mode/nuclear,/datum/game_mode/gang) + gamemodes = list(/datum/game_mode/nuclear) surplus = 0 /datum/uplink_item/dangerous/foammachinegun @@ -293,7 +301,7 @@ var/list/uplink_items = list() desc = "A box of 4 additional 40mm HE grenades for use the M-90gl's underbarrel grenade launcher. Your teammates will thank you to not shoot these down small hallways." item = /obj/item/ammo_box/a40mm cost = 4 - gamemodes = list(/datum/game_mode/nuclear,/datum/game_mode/gang) + gamemodes = list(/datum/game_mode/nuclear) /datum/uplink_item/ammo/machinegun name = "Box Magazine - 7.62x51mm" @@ -308,7 +316,7 @@ var/list/uplink_items = list() desc = "A box of 40 Donksoft foam riot darts, for reloading any compatible foam dart gun. Don't forget to share!" item = /obj/item/ammo_box/foambox/riot cost = 10 - gamemodes = list(/datum/game_mode/nuclear,/datum/game_mode/gang) + gamemodes = list(/datum/game_mode/nuclear) surplus = 0 // STEALTHY WEAPONS @@ -322,7 +330,7 @@ var/list/uplink_items = list() desc = "A box of throwing stars with a high chance of embedding themselves in people's limbs." item = /obj/item/weapon/storage/box/throwing_stars cost = 6 - excludefrom = list(/datum/game_mode/nuclear,/datum/game_mode/gang) + excludefrom = list(/datum/game_mode/nuclear) /datum/uplink_item/stealthy_weapons/foampistol name = "Toy Gun (with Stun Darts)" @@ -330,6 +338,7 @@ var/list/uplink_items = list() item = /obj/item/weapon/gun/projectile/automatic/toy/pistol/riot cost = 10 surplus = 10 + excludefrom = list(/datum/game_mode/gang) /datum/uplink_item/stealthy_weapons/sleepy_pen name = "Sleepy Pen" diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm index 5fe4cac6f8f..7639fbaca5f 100644 --- a/code/modules/projectiles/guns/projectile/automatic.dm +++ b/code/modules/projectiles/guns/projectile/automatic.dm @@ -88,6 +88,9 @@ burst_size = 2 pin = /obj/item/device/firing_pin/implant/pindicate +/obj/item/weapon/gun/projectile/automatic/c20r/unrestricted + pin = /obj/item/device/firing_pin + /obj/item/weapon/gun/projectile/automatic/c20r/New() ..() update_icon() @@ -175,6 +178,9 @@ fire_delay = 2 pin = /obj/item/device/firing_pin/implant/pindicate +/obj/item/weapon/gun/projectile/automatic/m90/unrestricted + pin = /obj/item/device/firing_pin + /obj/item/weapon/gun/projectile/automatic/m90/New() ..() underbarrel = new /obj/item/weapon/gun/projectile/revolver/grenadelauncher(src)