From 3818c227d229fa8bd50ff3dc40a875418c74efeb Mon Sep 17 00:00:00 2001 From: Akke Date: Sat, 19 Dec 2015 22:44:49 +0000 Subject: [PATCH] For a 60 crew round, this theoretically allows all operatives to own a gun and some ammo, and still have some points left over for luxuries. This mainly balances gun prices and adds new bundles --- code/datums/uplink_item.dm | 83 ++++++++++++++++--- .../objects/items/weapons/storage/backpack.dm | 81 ++++++++++++++++++ code/modules/projectiles/guns/projectile.dm | 7 ++ 3 files changed, 158 insertions(+), 13 deletions(-) diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm index ea0ac1edcf9..925ba18bc1b 100644 --- a/code/datums/uplink_item.dm +++ b/code/datums/uplink_item.dm @@ -109,6 +109,40 @@ var/list/uplink_items = list() // */ +//Operator special offers + +/datum/uplink_item/specoffer + category = "Special offer roles" + gamemodes = list(/datum/game_mode/nuclear) + +/datum/uplink_item/specoffer/c20r + name = "C20r bundle" + desc = "The classic C20r, with two magazines, at discount price. Contains free surplus suppressor." + item = /obj/item/weapon/storage/backpack/dufflebag/syndie/c20rbundle + cost = 14//normal price 16 + gamemodes = list(/datum/game_mode/nuclear) + +/datum/uplink_item/specoffer/c90gl + name = "C90gl bundle" + desc = "Premium offer. Pick up the C90gl with a magazine, some grenades, and a pack of cigarettes for a premium discount." + item = /obj/item/weapon/storage/backpack/dufflebag/syndie/c90glbundle + cost = 15//normal price 18 + gamemodes = list(/datum/game_mode/nuclear) + +/datum/uplink_item/specoffer/bulldog + name = "Bulldog bundle" + desc = "Optimised for people that want to get up close and personal. Contains the popular Bulldog shotgun, a two drums of ammunition, and an elite hardsuit." + item = /obj/item/weapon/storage/backpack/dufflebag/syndie/bulldogbundle + cost = 16//normal price 20 THATS TWO FREE DRUMS + gamemodes = list(/datum/game_mode/nuclear) + +/datum/uplink_item/specoffer/medical + name = "Medical bundle" + desc = "Support your fellow operatives with this medical bundle. Contains a Donksoft machine gun, a box of ammo, and a pair of magboots to rescue your friends in no-gravity environments." + item = /obj/item/weapon/storage/backpack/dufflebag/syndie/med/medicalbundle + cost = 15//normal price 20 THATS A FREE MAGBOOT AND a box OF RIOT DART LMG + gamemodes = list(/datum/game_mode/nuclear) + // DANGEROUS WEAPONS /datum/uplink_item/dangerous @@ -127,11 +161,19 @@ var/list/uplink_items = list() cost = 13 surplus = 50 +/datum/uplink_item/dangerous/shotgun + name = "C-20r Submachine Gun" + desc = "A fully-loaded semi-automatic drum fed shotgun. Compatiable with all 12 gauge rounds. Designed for close quarter combat use." + item = /obj/item/weapon/gun/projectile/automatic/shotgun/bulldog + cost = 8 + gamemodes = list(/datum/game_mode/nuclear) + surplus = 40 + /datum/uplink_item/dangerous/smg name = "C-20r Submachine Gun" 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 + cost = 10 gamemodes = list(/datum/game_mode/nuclear) surplus = 40 @@ -143,7 +185,7 @@ var/list/uplink_items = list() 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 + cost = 12 gamemodes = list(/datum/game_mode/nuclear) surplus = 50 @@ -199,7 +241,7 @@ var/list/uplink_items = list() name = "Toy Submachine Gun" 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 = 8 + cost = 5 gamemodes = list(/datum/game_mode/nuclear) surplus = 0 @@ -207,7 +249,7 @@ var/list/uplink_items = list() name = "Toy Machine Gun" desc = "A fully-loaded Donksoft belt-fed machine gun. This weapon has a massive 50-round magazine of devastating riot grade darts, that can briefly incapacitate someone in just one volley." item = /obj/item/weapon/gun/projectile/automatic/l6_saw/toy - cost = 12 + cost = 10 gamemodes = list(/datum/game_mode/nuclear) surplus = 0 @@ -215,7 +257,7 @@ var/list/uplink_items = list() name = "Viscerator Delivery Grenade" desc = "A unique grenade that deploys a swarm of viscerators upon activation, which will chase down and shred any non-operatives in the area." item = /obj/item/weapon/grenade/spawnergrenade/manhacks - cost = 8 + cost = 5 gamemodes = list(/datum/game_mode/nuclear) surplus = 35 @@ -233,7 +275,7 @@ var/list/uplink_items = list() desc = "A lightweight exosuit, painted in a dark scheme. Its speed and equipment selection make it excellent for hit-and-run style attacks. \ This model lacks a method of space propulsion, and therefore it is advised to repair the mothership's teleporter if you wish to make use of it." item = /obj/mecha/combat/gygax/dark/loaded - cost = 90 + cost = 80 gamemodes = list(/datum/game_mode/nuclear) surplus = 0 @@ -241,7 +283,7 @@ var/list/uplink_items = list() name = "Mauler Exosuit" desc = "A massive and incredibly deadly Syndicate exosuit. Features long-range targetting, thrust vectoring, and deployable smoke." item = /obj/mecha/combat/marauder/mauler/loaded - cost = 140 + cost = 120 gamemodes = list(/datum/game_mode/nuclear) surplus = 0 @@ -249,7 +291,7 @@ var/list/uplink_items = list() name = "Syndicate Cyborg" desc = "A cyborg designed and programmed for systematic extermination of non-Syndicate personnel." item = /obj/item/weapon/antag_spawner/nuke_ops/borg_tele - cost = 50 + cost = 80 gamemodes = list(/datum/game_mode/nuclear) surplus = 0 @@ -260,7 +302,7 @@ var/list/uplink_items = list() cost = 25 gamemodes = list(/datum/game_mode/nuclear) surplus = 0 - + /datum/uplink_item/dangerous/reinforcement/spawn_item() var/obj/item/weapon/antag_spawner/nuke_ops/T = ..() if(istype(T)) @@ -305,14 +347,22 @@ var/list/uplink_items = list() name = "SMG Magazine - .45" 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 + cost = 3 gamemodes = list(/datum/game_mode/nuclear,/datum/game_mode/gang) +/datum/uplink_item/ammo/smgammo + name = "Ammo Duffelbag - C20r Ammo Grab Bag" + desc = "A duffelbag filled with C20r to kit out an entire team, at a discounted price." + item = /obj/item/weapon/storage/backpack/dufflebag/syndie/ammo/smg + cost = 20 //get about 2 mags for free this shit is imba as fuck Normal price 27 + gamemodes = list(/datum/game_mode/nuclear) + + /datum/uplink_item/ammo/ammobag name = "Ammo Duffelbag - Shotgun Ammo Grab Bag" desc = "A duffelbag filled with Bulldog ammo to kit out an entire team, at a discounted price." item = /obj/item/weapon/storage/backpack/dufflebag/syndie/ammo/loaded - cost = 10 //bulk buyer's discount. Very useful if you're buying a mech and dont have TC left to buy people non-shotgun guns + cost = 12 //bulk buyer's discount. Very useful if you're buying a mech and dont have TC left to buy people non-shotgun guns gamemodes = list(/datum/game_mode/nuclear) /datum/uplink_item/ammo/bullslug @@ -354,14 +404,21 @@ var/list/uplink_items = list() name = "Toploader Magazine - 5.56" 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 + cost = 4 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 + cost = 5 + gamemodes = list(/datum/game_mode/nuclear) + +/datum/uplink_item/ammo/fireteam + name = "Ammo Duffelbag - Fireteam Ammo Grab Bag" + desc = "A duffelbag filled with ammo to kit out a fireteam, contains four C20r magazines, two C90gl magazines, a box of 40mm grenades, and sniper ammunition at a discounted price." //C90gl ammo bag is too imba. fuck that. + item = /obj/item/weapon/storage/backpack/dufflebag/syndie/ammo/fireteam + cost = 24//you get 4 grenades for free. Normal price 29 gamemodes = list(/datum/game_mode/nuclear) /datum/uplink_item/ammo/machinegun diff --git a/code/game/objects/items/weapons/storage/backpack.dm b/code/game/objects/items/weapons/storage/backpack.dm index 091d49a36ea..121745f6ceb 100644 --- a/code/game/objects/items/weapons/storage/backpack.dm +++ b/code/game/objects/items/weapons/storage/backpack.dm @@ -388,3 +388,84 @@ icon_state = "duffle-clown" item_state = "duffle-clown" +/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo/smg + desc = "A large dufflebag, packed to the brim with C20r magazines." + +/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo/smg/New() + ..() + contents = list() + new /obj/item/ammo_box/magazine/smgm45(src) + new /obj/item/ammo_box/magazine/smgm45(src) + new /obj/item/ammo_box/magazine/smgm45(src) + new /obj/item/ammo_box/magazine/smgm45(src) + new /obj/item/ammo_box/magazine/smgm45(src) + new /obj/item/ammo_box/magazine/smgm45(src) + new /obj/item/ammo_box/magazine/smgm45(src) + new /obj/item/ammo_box/magazine/smgm45(src) + new /obj/item/ammo_box/magazine/smgm45(src) + return + + +/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo/fireteam + desc = "A large dufflebag, packed to the brim with C20r, C90gl, and sniper ammunition." + +/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo/fireteam/New() + ..() + contents = list() + new /obj/item/ammo_box/magazine/smgm45(src) + new /obj/item/ammo_box/magazine/smgm45(src) + new /obj/item/ammo_box/magazine/smgm45(src) + new /obj/item/ammo_box/magazine/smgm45(src) + new /obj/item/ammo_box/magazine/m556(src) + new /obj/item/ammo_box/magazine/m556(src) + new /obj/item/ammo_box/magazine/a40mm(src) + new /obj/item/ammo_box/magazine/sniper_rounds(src) + return + +/obj/item/weapon/storage/backpack/dufflebag/syndie/c20rbundle + desc = "A large dufflebag containing a C20r, some magazines, and a cheap looking suppressor." + +/obj/item/weapon/storage/backpack/dufflebag/syndie/c20rbundle/New() + ..() + contents = list() + new /obj/item/ammo_box/magazine/smgm45(src) + new /obj/item/ammo_box/magazine/smgm45(src) + new /obj/item/weapon/gun/projectile/automatic/c20r(src) + new /obj/item/weapon/suppressor/specialoffer(src) + return + +/obj/item/weapon/storage/backpack/dufflebag/syndie/c90glbundle + desc = "A large dufflebag containing a C90gl, a magazine, and a stimpack." + +/obj/item/weapon/storage/backpack/dufflebag/syndie/c90glbundle/New() + ..() + contents = list() + new /obj/item/ammo_box/magazine/m556(src) + new /obj/item/ammo_box/magazine/a40mm(src) + new /obj/item/weapon/gun/projectile/automatic/m90(src) + new /obj/item/weapon/storage/fancy/cigarettes/cigpack_syndicate(src) + return + +/obj/item/weapon/storage/backpack/dufflebag/syndie/bulldogbundle + desc = "A large dufflebag containing a Bulldog, several drums, and a collapsed hardsuit." + +/obj/item/weapon/storage/backpack/dufflebag/syndie/bulldogbundle/New() + ..() + contents = list() + new /obj/item/ammo_box/magazine/m12g(src) + new /obj/item/weapon/gun/projectile/automatic/shotgun/bulldog(src) + new /obj/item/ammo_box/magazine/m12g/buckshot(src) + new /obj/item/clothing/suit/space/hardsuit/syndi/elite(src) + return + +/obj/item/weapon/storage/backpack/dufflebag/syndie/med/medicalbundle + desc = "A large dufflebag containing a medical equipment, a Donksoft machine gun, a big jumbo box of darts, and a knock-off pair of magboots." + +/obj/item/weapon/storage/backpack/dufflebag/syndie/med/medicalbundle/New() + ..() + contents = list() + new /obj/item/clothing/shoes/magboots/syndie(src) + new /obj/item/weapon/storage/firstaid/tactical(src) + new /obj/item/weapon/gun/projectile/automatic/l6_saw/toy(src) + new /obj/item/ammo_box/foambox/riot(src) + return \ No newline at end of file diff --git a/code/modules/projectiles/guns/projectile.dm b/code/modules/projectiles/guns/projectile.dm index dcb69e3d0eb..2f85d29e238 100644 --- a/code/modules/projectiles/guns/projectile.dm +++ b/code/modules/projectiles/guns/projectile.dm @@ -155,3 +155,10 @@ w_class = 2 var/oldsound = null var/initial_w_class = null + + +/obj/item/weapon/suppressor/specialoffer + name = "cheap suppressor" + desc = "A foreign knock-off suppressor, it feels flimsy, cheap, and brittle. Still fits all weapons." + icon = 'icons/obj/guns/projectile.dmi' + icon_state = "suppressor" \ No newline at end of file