diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm index 800c4d8326a..d821abb8cb6 100644 --- a/code/datums/uplink_item.dm +++ b/code/datums/uplink_item.dm @@ -109,6 +109,54 @@ 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/m90gl + name = "M90gl bundle" + desc = "Premium offer. Pick up the M90gl with a magazine, some grenades, and a pack of cigarettes for a premium discount." + item = /obj/item/weapon/storage/backpack/dufflebag/syndie/m90glbundle + 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) + +/datum/uplink_item/specoffer/sniper + name = "Sniper bundle" + desc = "Contains a collapsed sniper rifle in an expensive carrying case, a hollowpoint haemorrhage magazine, a soporific knockout magazine, a free surplus supressor, and a worn out suit and tie." + item = /obj/item/weapon/storage/briefcase/sniperbundle + cost = 20//26 normal cost. suppressor is excluded from price. + gamemodes = list(/datum/game_mode/nuclear) + +/datum/uplink_item/specoffer/chemical + name = "Tiger Cooperation Chemical Bioterror bundle" + desc = "Contains Bioterror spray, Bioterror grenade, chemicals, syringe gun, box of syringes, Donksoft assault rifle, and some darts. Warning: Seal suit and equip internals before use." + item = /obj/item/weapon/storage/backpack/dufflebag/syndie/med/bioterrorbundle + cost = 30 //normal price 42 biggest saving here + gamemodes = list(/datum/game_mode/nuclear) + // DANGEROUS WEAPONS /datum/uplink_item/dangerous @@ -127,11 +175,19 @@ var/list/uplink_items = list() cost = 13 surplus = 50 +/datum/uplink_item/dangerous/shotgun + name = "Bulldog Shotgun" + 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 +199,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 +255,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 +263,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 +271,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 @@ -241,7 +297,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 @@ -257,7 +313,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 @@ -313,14 +369,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 @@ -362,14 +426,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 M90gl magazines, a box of 40mm grenades, and sniper ammunition at a discounted price." //M90gl 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 b2210188cea..6932805abde 100644 --- a/code/game/objects/items/weapons/storage/backpack.dm +++ b/code/game/objects/items/weapons/storage/backpack.dm @@ -392,3 +392,111 @@ 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, M90gl, 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/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/m90glbundle + desc = "A large dufflebag containing a M90gl, a magazine, and a stimpack." + +/obj/item/weapon/storage/backpack/dufflebag/syndie/m90glbundle/New() + ..() + contents = list() + new /obj/item/ammo_box/magazine/m556(src) + new /obj/item/ammo_box/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 + +/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 + +/obj/item/weapon/storage/backpack/dufflebag/syndie/med/bioterrorbundle + desc = "A large dufflebag containing a deadly chemicals, a chemical spray, chemical grenade, a Donksoft assault rifle, riot grade darts, a minature syringe gun, and a box of syringes" + +/obj/item/weapon/storage/backpack/dufflebag/syndie/med/bioterrorbundle/New() + ..() + contents = list() + new /obj/item/weapon/reagent_containers/spray/chemsprayer/bioterror(src) + new /obj/item/weapon/storage/box/syndie_kit/chemical(src) + new /obj/item/weapon/gun/syringe/syndicate(src) + new /obj/item/weapon/gun/projectile/automatic/c20r/toy(src) + new /obj/item/weapon/storage/box/syringes(src) + new /obj/item/ammo_box/foambox/riot(src) + new /obj/item/weapon/grenade/chem_grenade/bioterrorfoam(src) + return diff --git a/code/game/objects/items/weapons/storage/briefcase.dm b/code/game/objects/items/weapons/storage/briefcase.dm index 063eaca98f6..728d2a99ea1 100644 --- a/code/game/objects/items/weapons/storage/briefcase.dm +++ b/code/game/objects/items/weapons/storage/briefcase.dm @@ -23,3 +23,29 @@ new /obj/item/weapon/paper(src) new /obj/item/weapon/paper(src) new /obj/item/weapon/pen(src) + +/obj/item/weapon/storage/briefcase/sniperbundle + name = "briefcase" + desc = "It's label reads genuine hardened Captain leather, but suspiciously has no other tags or branding. Smells like L'Air du Temps." + icon_state = "briefcase" + flags = CONDUCT + force = 10 + hitsound = "swing_hit" + throw_speed = 2 + throw_range = 4 + w_class = 4 + max_w_class = 3 + max_combined_w_class = 21 + attack_verb = list("bashed", "battered", "bludgeoned", "thrashed", "whacked") + burn_state = FLAMMABLE + burntime = 20 + +/obj/item/weapon/storage/briefcase/sniperbundle/New() + ..() + new /obj/item/weapon/gun/projectile/sniper_rifle/syndicate(src) + new /obj/item/clothing/tie/red(src) + new /obj/item/clothing/under/syndicate/sniper(src) + new /obj/item/ammo_box/magazine/sniper_rounds/soporific(src) + new /obj/item/ammo_box/magazine/sniper_rounds/haemorrhage(src) + new /obj/item/weapon/suppressor/specialoffer(src) + diff --git a/code/modules/clothing/under/syndicate.dm b/code/modules/clothing/under/syndicate.dm index efcb153dff7..f6ddd47ca7d 100644 --- a/code/modules/clothing/under/syndicate.dm +++ b/code/modules/clothing/under/syndicate.dm @@ -13,4 +13,14 @@ desc = "Just looking at it makes you want to buy an SKS, go into the woods, and -operate-." icon_state = "tactifool" item_state = "bl_suit" - item_color = "tactifool" \ No newline at end of file + item_color = "tactifool" + +/obj/item/clothing/under/syndicate/sniper + name = "Tactical turtleneck suit" + desc = "A double seamed tactical turtleneck disguised as a civillian grade silk suit. Intended for the most formal operator. The collar is really sharp" + icon_state = "really_black_suit" + item_state = "bl_suit" + item_color = "black_suit" + has_sensor = 0 + armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) + alt_covers_chest = 1 \ No newline at end of file diff --git a/code/modules/projectiles/guns/projectile.dm b/code/modules/projectiles/guns/projectile.dm index dcb69e3d0eb..39553fcbd53 100644 --- a/code/modules/projectiles/guns/projectile.dm +++ b/code/modules/projectiles/guns/projectile.dm @@ -155,3 +155,11 @@ 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" +