Imports and Contraband: Different! Cargo crates without locks! MEAT! (#74490)
## About The Pull Request ### **Cargo Black Market goods should stay in cargo's hands** #### New Cargo Console Category: Imports This category is explicitly the non-departmental category beyond simply having a Misc category. It is meant for material that nobody is meant to be buying for their departments, and mostly for the odd-ball crates that might show up. It also allows us to maintain contraband as exactly that; contraband that the departments shouldn't have access too whatsoever. If someone is buying from this category, they probably intend to be a cheeky fuck. <details> <summary>The New Changes</summary> #### Baseline Imports MEAT: MEAT (meat backpack you can eat) <details> <summary>MEAT</summary>   </details> Duct Spiders: They're adorable and cause a mess, but that doesn't stop Nanotrasen from importing them from the Australicus sector to your station! Stack of 50 Bamboo Cuttings: Pretty expensive and kind of a premium. Allows for those people looking to make bamboo decorations without hoping botany exists, and are at least willing to pay. Also lets them make horribly dangerous stuff with bamboo, of course. A Single Sheet of Bananium: The problems this will cause I think speak for themselves. (mostly due to a clown fruitlessly attempting to make something actually disruptive while bankrupting cargo) Natural Fish Bait: It isn't cheating, it's homemade. (Really good bait but expensive and obviously drugs) A dumpster...: A corpse in a dumpster, doesn't get more complicated than that. Useful for corpse reasons. Made using some code I borrowed from over here! https://github.com/lizardqueenlexi/orbstation/pull/354 #### Contraband Imports Foam Force Pistols: Same as it ever was with a price reduction. I brought it down because riot darts are like 8 bullets a clip, and do less damage than a disabler using riot darts. It feels like a sidegrade weapon, and even if it technically is a ballistic weapon, it...isn't that strong. I think this is pretty safe. Definitely Not a Duct Spider: It's actually a giant spider in a box. If you want to waste cargo's money while also sending them a mess to deal with, this is the crate for you. Russian Surplus Military Gear Crate: I took this opportunity to futz with boltaction rifles. There are two kinds of mosin nagant you can get in this crate. One of them is the good kind (no jamming). The other is the shit kind (yes jamming), but you get more of them. You can get the good ammo, or you can get the shit ammo. You'll have to pick through it a lot more carefully to make sure you know which ones you've received. Since this dilutes the pool even further, getting a good number of mosins that aren't trash is even more expensive, and even if you do get mosins at all, you might still only get the bad ammunition that doesn't work against actual human threats as well. It also now cannot be purchased through the security cargo supply console, and as to why they could in the first place baffles me. Doesn't have a lock anymore because...it's contraband? Who is locking this stuff? **Side note: _You can make surplus 7.62 in the autolathe as well. It is not very good except to fight fauna or naked assistants._** **Side Side note: _I've killed off the shitty brand_new subtype and brought peace once more to this land._** #### Illegal Imports (Emag) NULL_ENTRY: A journal that suggests how to make a...very interesting weapon. The Regal Condor. Kind of an evolution on some other ideas I've had over the years. This one is basically a secret weapon with a few hurdles to jump through. Very lethal. Very expensive. **Side note: _For reference, it's effectively 19 TC worth of gear to make, but there does exist some methods to acquire this more cheaply if you can get some bits and pieces from world spawns. Given it requires you to get some pieces of equipment that might require additional purchases of contraband, and getting into the captain's office to loot a specific piece of clothing, the stakes more than make up for the effectiveness._** Smuggled WT-550 Autorifle Crate: This is basically the same, but you might have noticed had you recently attempted, like me, to buy these when you emagged them using a personal account and discovered a tragic oversight. You couldn't, because they still needed armory access. This removes that access, because you've already gone to the effort of getting your hands on an illicit firearm through cargo, and if they techs somehow miss the fact that you've purchased a WT-550...all the better for you! Smuggled WT-550 Ammo Crate: Includes AP and Incendiary! **Side note: _You can get WT-550 ammo again via the Illegal Technology node._** Shocktrooper: Replaces the Special Ops crate. Contains a box of EMPs, smoke grenades, a couple of gluon grenades and a couple of frag grenades. Funsies. Special Ops: The NEW Special Ops crate. Contains a chameleon mask, jumpsuit and agent card. And a knife. **Side note: _This is what appears in some cargo loan events._** Refurbished Mosin Nagant Crate: The actual good mosin nagants. There are 6 of them. But they don't come with spare ammo. Hand them out to your techs! </details> #### New Crates - MEAT crate - Standard - Duct Spider crate - Standard - Giant Hostile Spider crate - Contraband - 50 sheets of Bamboo crate - Standard - A single sheet of bananium crate - Standard - Natural (drugs) fish bait - Standard - Dumpster with a corpse in it - Standard - Shocktrooper crate (Grenades) - Emag - Special Ops crate (Disguise) - Emag - Appears in some cargo loan events - Refurbished Mosin Nagant crate - Emag - Regal Condor construction journal (NULL_ENTRY) - Emag #### Changed Crates - Foam Force Pistols (cheaper) - Contraband - Russian Surplus Crate (less reliable, can't be bought by security console) - Contraband - WT-550 crate (more obtainable via personal accounts, thus incriminating, not armory locked) - Emag - WT-550 ammo (includes incendiary and AP) - Emag #### Crates that got moved, unchanged, into Imports - Foam Force Crate - Cosa Nostra Crate - Black Market LTSRBT - 'Contraband' Crate - Biker Gang Crate #### Not crate changes - You can print Surplus 7.62 (same as normal 7.62 but it sucks against armor) from hacked autolathes. - You can get WT-550 ammo from illegal tech. - Removes the redundant Brand New Mosin subtype - Fixes a potential exploit with jamming chance on Mosins. ## Why It's Good For The Game I just think some of the magic of Cargo getting their hands on obviously dangerous equipment and either hording it for themselves or attempting to pawn it off was lost in recent times. A lot of this 'black market' gear, however, suddenly became openly available to the crew anyway. For _free_. Contraband crates and mafia crates could be purchased via the Service budget. Security could just stock up en masse on mosins through their console. And one fairly unfortunate consequence of a few recent changes has made it nearly impossible to actually get illicit gear in the first place, even if you did go to the effort of getting the money for it. On top of this, most of cargo's goods are pretty safe purchases. There isn't much that would be considered 'actually a really bad idea to buy' other than maybe supermatter shards. I wouldn't mind there existing ways for someone to waste cargo's money while also causing them to have to clean up the mess. ## Changelog 🆑 balance: A significant overhaul of various illicit and dubiously legal goods and gadgets available via cargo. balance: Cargo now has an Import category for all non-departmental goods. (And black market goods) balance: Most contraband that already exists has been moved into Imports. adds: Includes several new imports of dubious quality. You get what you pay for. code: Removes the brand new mosin subtype as it is now defunct. fix: Fixes potentially exploitative code in the jamming proc. Cleans up that code while I'm at it. /🆑 --------- Co-authored-by: Jacquerel <hnevard@gmail.com> Co-authored-by: carlarctg <53100513+carlarctg@users.noreply.github.com>
@@ -2193,11 +2193,11 @@
|
||||
icon_state = "warningline_white";
|
||||
dir = 1
|
||||
},
|
||||
/obj/item/storage/toolbox/ammo{
|
||||
/obj/item/storage/toolbox/a762{
|
||||
pixel_y = 16;
|
||||
pixel_x = 5
|
||||
},
|
||||
/obj/item/storage/toolbox/ammo{
|
||||
/obj/item/storage/toolbox/a762{
|
||||
pixel_y = 8;
|
||||
pixel_x = 3
|
||||
},
|
||||
|
||||
@@ -831,8 +831,8 @@
|
||||
pixel_y = 3
|
||||
},
|
||||
/obj/effect/turf_decal/bot,
|
||||
/obj/item/gun/ballistic/rifle/boltaction/brand_new/prime,
|
||||
/obj/item/gun/ballistic/rifle/boltaction/brand_new/prime{
|
||||
/obj/item/gun/ballistic/rifle/boltaction/prime,
|
||||
/obj/item/gun/ballistic/rifle/boltaction/prime{
|
||||
pixel_y = 4
|
||||
},
|
||||
/turf/open/floor/pod/dark,
|
||||
|
||||
@@ -240,6 +240,49 @@
|
||||
time = 30 SECONDS //contemplate for a bit
|
||||
category = CAT_WEAPON_RANGED
|
||||
|
||||
/datum/crafting_recipe/deagle_prime //When you factor in the makarov (7 tc), the toolbox (1 tc), and the emag (3 tc), this comes to a total of 17 TC or thereabouts. Igorning the 20k pricetag, obviously.
|
||||
name = "Regal Condor"
|
||||
always_available = FALSE
|
||||
result = /obj/item/gun/ballistic/automatic/pistol/deagle/regal/no_mag
|
||||
reqs = list(
|
||||
/obj/item/gun/ballistic/automatic/pistol = 1,
|
||||
/obj/item/stack/sheet/mineral/gold = 25,
|
||||
/obj/item/stack/sheet/mineral/silver = 25,
|
||||
/obj/item/food/donkpocket = 1,
|
||||
/obj/item/stack/telecrystal = 3,
|
||||
/obj/item/clothing/head/costume/crown/fancy = 1, //the captain's crown
|
||||
/obj/item/storage/toolbox/syndicate = 1,
|
||||
)
|
||||
tool_behaviors = list(TOOL_SCREWDRIVER)
|
||||
tool_paths = list(
|
||||
/obj/item/clothing/under/syndicate,
|
||||
/obj/item/clothing/mask/gas/syndicate,
|
||||
/obj/item/card/emag
|
||||
)
|
||||
time = 30 SECONDS
|
||||
category = CAT_WEAPON_RANGED
|
||||
|
||||
/datum/crafting_recipe/deagle_prime/New()
|
||||
..()
|
||||
blacklist += subtypesof(/obj/item/gun/ballistic/automatic/pistol)
|
||||
|
||||
/datum/crafting_recipe/deagle_prime_mag
|
||||
name = "Regal Condor Magazine (10mm)"
|
||||
always_available = FALSE
|
||||
result = /obj/item/ammo_box/magazine/r10mm/empty
|
||||
reqs = list(
|
||||
/obj/item/stack/sheet/iron = 10,
|
||||
/obj/item/stack/telecrystal = 2,
|
||||
)
|
||||
tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WELDER)
|
||||
tool_paths = list(
|
||||
/obj/item/clothing/under/syndicate,
|
||||
/obj/item/clothing/mask/gas/syndicate,
|
||||
/obj/item/card/emag
|
||||
)
|
||||
time = 5 SECONDS
|
||||
category = CAT_WEAPON_RANGED
|
||||
|
||||
/datum/crafting_recipe/trash_cannon
|
||||
name = "Trash Cannon"
|
||||
always_available = FALSE
|
||||
|
||||
@@ -28,6 +28,18 @@
|
||||
desc = "This worm looks very sophisticated."
|
||||
bait_quality = GOOD_QUALITY_BAIT_TRAIT
|
||||
|
||||
/obj/item/food/bait/natural
|
||||
name = "natural bait"
|
||||
desc = "Fish can't seem to get enough of this!"
|
||||
icon = 'icons/obj/medical/chemical.dmi'
|
||||
icon_state = "pill9"
|
||||
lefthand_file = 'icons/mob/inhands/items_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/items_righthand.dmi'
|
||||
inhand_icon_state = "pen"
|
||||
food_reagents = list(/datum/reagent/drug/kronkaine = 1)
|
||||
tastes = list("hypocrisy" = 1)
|
||||
bait_quality = GREAT_QUALITY_BAIT_TRAIT
|
||||
|
||||
/obj/item/food/bait/doughball
|
||||
name = "doughball"
|
||||
desc = "Small piece of dough. Simple but effective fishing bait."
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
/obj/item/book/granter/crafting_recipe/regal_condor
|
||||
name = "memoirs of a fallen agent"
|
||||
desc = "A battered journal. It seems like it is covered in donkpocket crumbs."
|
||||
crafting_recipe_types = list(
|
||||
/datum/crafting_recipe/deagle_prime,
|
||||
/datum/crafting_recipe/deagle_prime_mag,
|
||||
)
|
||||
icon_state = "book1"
|
||||
remarks = list(
|
||||
"It says that she was once an assistant, before she was activated...",
|
||||
"I don't think you can make a pistol 'absorb' other pistols, but whatever...",
|
||||
"Wait, how much gold do you need to make this?",
|
||||
"So the Tiger Co-op can come up with some interesting things every now and again...",
|
||||
"Why not just give me an Ansem pistol? I'll just go find a bucket of black paint...",
|
||||
"Cleanse, or die trying...",
|
||||
)
|
||||
|
||||
/obj/item/book/granter/crafting_recipe/regal_condor/recoil(mob/living/user)
|
||||
to_chat(user, span_warning("The book turns to dust in your hands."))
|
||||
qdel(src)
|
||||
@@ -233,6 +233,41 @@
|
||||
. = ..()
|
||||
atom_storage.max_total_storage = 26
|
||||
|
||||
// MEAT MEAT MEAT MEAT MEAT
|
||||
|
||||
/obj/item/storage/backpack/meat
|
||||
name = "\improper MEAT"
|
||||
desc = "MEAT MEAT MEAT MEAT MEAT MEAT"
|
||||
icon_state = "meatmeatmeat"
|
||||
inhand_icon_state = "meatmeatmeat"
|
||||
force = 15
|
||||
throwforce = 15
|
||||
attack_verb_continuous = list("MEATS", "MEAT MEATS")
|
||||
attack_verb_simple = list("MEAT", "MEAT MEAT")
|
||||
///Sounds used in the squeak component
|
||||
var/list/meat_sounds = list('sound/effects/blobattack.ogg' = 1)
|
||||
///Reagents added to the edible component, ingested when you EAT the MEAT
|
||||
var/list/meat_reagents = list(
|
||||
/datum/reagent/consumable/nutriment/protein = 10,
|
||||
/datum/reagent/consumable/nutriment/vitamin = 10,
|
||||
)
|
||||
///The food types of the edible component
|
||||
var/foodtypes = MEAT | RAW
|
||||
///How our MEAT tastes. It tastes like MEAT
|
||||
var/list/tastes = list("MEAT" = 1)
|
||||
///Eating verbs when consuming the MEAT
|
||||
var/list/eatverbs = list("MEAT", "absorb", "gnaw", "consume")
|
||||
|
||||
/obj/item/storage/backpack/meat/Initialize(mapload)
|
||||
. = ..()
|
||||
AddComponent(/datum/component/edible,\
|
||||
initial_reagents = meat_reagents,\
|
||||
foodtypes = foodtypes,\
|
||||
tastes = tastes,\
|
||||
eatverbs = eatverbs,\
|
||||
)
|
||||
AddComponent(/datum/component/squeak, meat_sounds)
|
||||
|
||||
/*
|
||||
* Satchel Types
|
||||
*/
|
||||
@@ -330,12 +365,12 @@
|
||||
atom_storage.set_holdable(cant_hold_list = list(/obj/item/storage/backpack/satchel/flat)) //muh recursive backpacks)
|
||||
|
||||
/obj/item/storage/backpack/satchel/flat/PopulateContents()
|
||||
var/datum/supply_pack/costumes_toys/randomised/contraband/C = new
|
||||
for(var/i in 1 to 2)
|
||||
var/ctype = pick(C.contains)
|
||||
new ctype(src)
|
||||
var/datum/supply_pack/imports/contraband/smuggled_goods = new
|
||||
for(var/items in 1 to 2)
|
||||
var/smuggled_goods_type = pick(smuggled_goods.contains)
|
||||
new smuggled_goods_type(src)
|
||||
|
||||
qdel(C)
|
||||
qdel(smuggled_goods)
|
||||
|
||||
/obj/item/storage/backpack/satchel/flat/with_tools/PopulateContents()
|
||||
new /obj/item/stack/tile/iron/base(src)
|
||||
|
||||
@@ -28,7 +28,8 @@
|
||||
/obj/item/gun/energy/disabler,
|
||||
/obj/item/gun/energy/dueling,
|
||||
/obj/item/food/grown/banana,
|
||||
/obj/item/gun/energy/laser/thermal
|
||||
/obj/item/gun/energy/laser/thermal,
|
||||
/obj/item/gun/ballistic/rifle/boltaction, //fits if you make it an obrez
|
||||
))
|
||||
|
||||
/obj/item/storage/belt/holster/energy
|
||||
@@ -90,7 +91,8 @@
|
||||
/obj/item/gun/energy/e_gun/mini,
|
||||
/obj/item/gun/energy/disabler,
|
||||
/obj/item/gun/energy/dueling,
|
||||
/obj/item/gun/energy/laser/thermal
|
||||
/obj/item/gun/energy/laser/thermal,
|
||||
/obj/item/gun/ballistic/rifle/boltaction, //fits if you make it an obrez
|
||||
))
|
||||
|
||||
/obj/item/storage/belt/holster/detective/full/PopulateContents()
|
||||
|
||||
@@ -362,7 +362,10 @@
|
||||
/obj/item/storage/pill_bottle/Initialize(mapload)
|
||||
. = ..()
|
||||
atom_storage.allow_quick_gather = TRUE
|
||||
atom_storage.set_holdable(list(/obj/item/reagent_containers/pill))
|
||||
atom_storage.set_holdable(list(
|
||||
/obj/item/reagent_containers/pill,
|
||||
/obj/item/food/bait/natural,
|
||||
))
|
||||
|
||||
/obj/item/storage/pill_bottle/suicide_act(mob/living/user)
|
||||
user.visible_message(span_suicide("[user] is trying to get the cap off [src]! It looks like [user.p_theyre()] trying to commit suicide!"))
|
||||
@@ -554,6 +557,14 @@
|
||||
for(var/i in 1 to 5)
|
||||
new /obj/item/reagent_containers/pill/paxpsych(src)
|
||||
|
||||
/obj/item/storage/pill_bottle/naturalbait
|
||||
name = "freshness jar"
|
||||
desc = "Full of natural fish bait."
|
||||
|
||||
/obj/item/storage/pill_bottle/naturalbait/PopulateContents()
|
||||
for(var/i in 1 to 7)
|
||||
new /obj/item/food/bait/natural(src)
|
||||
|
||||
/// A box which takes in coolant and uses it to preserve organs and body parts
|
||||
/obj/item/storage/organbox
|
||||
name = "organ transport box"
|
||||
|
||||
@@ -223,9 +223,10 @@
|
||||
new /obj/item/stack/pipe_cleaner_coil/white(src)
|
||||
new /obj/item/stack/pipe_cleaner_coil/brown(src)
|
||||
|
||||
/obj/item/storage/toolbox/ammo
|
||||
name = "ammo box"
|
||||
desc = "It contains a few clips."
|
||||
/obj/item/storage/toolbox/a762
|
||||
name = "7.62mm ammo box (Surplus?)"
|
||||
desc = "It contains a few clips. Goddamn, this thing smells awful. \
|
||||
Has this been sitting in a warehouse for the last several centuries?"
|
||||
icon_state = "ammobox"
|
||||
inhand_icon_state = "ammobox"
|
||||
lefthand_file = 'icons/mob/inhands/equipment/toolbox_lefthand.dmi'
|
||||
@@ -233,15 +234,14 @@
|
||||
has_latches = FALSE
|
||||
drop_sound = 'sound/items/handling/ammobox_drop.ogg'
|
||||
pickup_sound = 'sound/items/handling/ammobox_pickup.ogg'
|
||||
var/ammo_to_spawn = /obj/item/ammo_box/a762
|
||||
|
||||
/obj/item/storage/toolbox/ammo/PopulateContents()
|
||||
new /obj/item/ammo_box/a762(src)
|
||||
new /obj/item/ammo_box/a762(src)
|
||||
new /obj/item/ammo_box/a762(src)
|
||||
new /obj/item/ammo_box/a762(src)
|
||||
new /obj/item/ammo_box/a762(src)
|
||||
new /obj/item/ammo_box/a762(src)
|
||||
new /obj/item/ammo_box/a762(src)
|
||||
/obj/item/storage/toolbox/a762/PopulateContents()
|
||||
for(var/i in 1 to 6)
|
||||
new ammo_to_spawn(src)
|
||||
|
||||
/obj/item/storage/toolbox/a762/surplus
|
||||
ammo_to_spawn = /obj/item/ammo_box/a762/surplus
|
||||
|
||||
/obj/item/storage/toolbox/maint_kit
|
||||
name = "gun maintenance kit"
|
||||
|
||||
@@ -48,7 +48,7 @@ GLOBAL_LIST_INIT(mystery_box_guns, list(
|
||||
/obj/item/gun/ballistic/automatic/tommygun,
|
||||
/obj/item/gun/ballistic/automatic/wt550,
|
||||
/obj/item/gun/ballistic/rifle/sniper_rifle,
|
||||
/obj/item/gun/ballistic/rifle/boltaction/brand_new,
|
||||
/obj/item/gun/ballistic/rifle/boltaction,
|
||||
))
|
||||
|
||||
GLOBAL_LIST_INIT(mystery_box_extended, list(
|
||||
|
||||
@@ -98,7 +98,7 @@
|
||||
id = /obj/item/card/id/advanced
|
||||
uniform = /obj/item/clothing/under/costume/soviet
|
||||
suit = /obj/item/clothing/suit/armor/bulletproof
|
||||
suit_store = /obj/item/gun/ballistic/rifle/boltaction/brand_new
|
||||
suit_store = /obj/item/gun/ballistic/rifle/boltaction
|
||||
back = /obj/item/storage/backpack
|
||||
ears = /obj/item/radio/headset
|
||||
glasses = /obj/item/clothing/glasses/sunglasses
|
||||
|
||||
@@ -31,51 +31,6 @@
|
||||
crate_name = "collectable hats crate"
|
||||
crate_type = /obj/structure/closet/crate/wooden
|
||||
|
||||
/datum/supply_pack/costumes_toys/randomised/contraband
|
||||
name = "Contraband Crate"
|
||||
desc = "Psst.. bud... want some contraband? I can get you a poster, some nice cigs, dank, even some \
|
||||
sponsored items...you know, the good stuff. Just keep it away from the cops, kay?"
|
||||
contraband = TRUE
|
||||
cost = CARGO_CRATE_VALUE * 6
|
||||
num_contained = 7
|
||||
contains = list(/obj/item/poster/random_contraband = 2,
|
||||
/obj/item/food/grown/cannabis,
|
||||
/obj/item/food/grown/cannabis/rainbow,
|
||||
/obj/item/food/grown/cannabis/white,
|
||||
/obj/item/storage/box/fireworks/dangerous,
|
||||
/obj/item/storage/pill_bottle/zoom,
|
||||
/obj/item/storage/pill_bottle/happy,
|
||||
/obj/item/storage/pill_bottle/lsd,
|
||||
/obj/item/storage/pill_bottle/aranesp,
|
||||
/obj/item/storage/pill_bottle/stimulant,
|
||||
/obj/item/toy/cards/deck/syndicate,
|
||||
/obj/item/reagent_containers/cup/glass/bottle/absinthe,
|
||||
/obj/item/clothing/under/syndicate/tacticool,
|
||||
/obj/item/storage/fancy/cigarettes/cigpack_syndicate,
|
||||
/obj/item/storage/fancy/cigarettes/cigpack_shadyjims,
|
||||
/obj/item/clothing/mask/gas/syndicate,
|
||||
/obj/item/clothing/neck/necklace/dope,
|
||||
/obj/item/vending_refill/donksoft,
|
||||
)
|
||||
crate_name = "crate"
|
||||
|
||||
/datum/supply_pack/costumes_toys/foamforce
|
||||
name = "Foam Force Crate"
|
||||
desc = "Break out the big guns with eight Foam Force shotguns!"
|
||||
cost = CARGO_CRATE_VALUE * 2
|
||||
contains = list(/obj/item/gun/ballistic/shotgun/toy = 8)
|
||||
crate_name = "foam force crate"
|
||||
|
||||
/datum/supply_pack/costumes_toys/foamforce/bonus
|
||||
name = "Foam Force Pistols Crate"
|
||||
desc = "Psst.. hey bud... remember those old foam force pistols that got discontinued for being too cool? \
|
||||
Well I got two of those right here with your name on em. I'll even throw in a spare mag for each, waddya say?"
|
||||
contraband = TRUE
|
||||
cost = CARGO_CRATE_VALUE * 8
|
||||
contains = list(/obj/item/gun/ballistic/automatic/pistol/toy = 2,
|
||||
/obj/item/ammo_box/magazine/toy/pistol = 2)
|
||||
crate_name = "foam force crate"
|
||||
|
||||
/datum/supply_pack/costumes_toys/formalwear
|
||||
name = "Formalwear Crate"
|
||||
desc = "You're gonna like the way you look, I guaranteed it. Contains an asston of fancy clothing."
|
||||
@@ -265,22 +220,6 @@
|
||||
)
|
||||
crate_type = /obj/structure/closet/crate/wooden
|
||||
|
||||
/datum/supply_pack/costumes_toys/mafia
|
||||
name = "Cosa Nostra Starter Pack"
|
||||
desc = "This crate contains everything you need to set up your own ethnicity-based racketeering operation."
|
||||
cost = CARGO_CRATE_VALUE * 4
|
||||
contains = list()
|
||||
contraband = TRUE
|
||||
|
||||
/datum/supply_pack/costumes_toys/mafia/fill(obj/structure/closet/crate/C)
|
||||
for(var/i in 1 to 4)
|
||||
new /obj/effect/spawner/random/clothing/mafia_outfit(C)
|
||||
new /obj/item/virgin_mary(C)
|
||||
if(prob(30)) //Not all mafioso have mustaches, some people also find this item annoying.
|
||||
new /obj/item/clothing/mask/fakemoustache/italian(C)
|
||||
if(prob(10)) //A little extra sugar every now and then to shake things up.
|
||||
new /obj/item/switchblade(C)
|
||||
|
||||
/datum/supply_pack/costumes_toys/randomised/tcg
|
||||
name = "Big-Ass Booster Pack Pack"
|
||||
desc = "A bumper load of NT TCG Booster Packs of varying series. Collect them all!"
|
||||
|
||||
@@ -1,22 +1,6 @@
|
||||
/datum/supply_pack/emergency
|
||||
group = "Emergency"
|
||||
|
||||
/datum/supply_pack/emergency/vehicle
|
||||
name = "Biker Gang Kit" //TUNNEL SNAKES OWN THIS TOWN
|
||||
desc = "TUNNEL SNAKES OWN THIS TOWN. Contains an unbranded All Terrain Vehicle, and a \
|
||||
complete gang outfit -- consists of black gloves, a menacing skull bandanna, and a SWEET leather overcoat!"
|
||||
cost = CARGO_CRATE_VALUE * 4
|
||||
contraband = TRUE
|
||||
contains = list(/obj/vehicle/ridden/atv,
|
||||
/obj/item/key/atv,
|
||||
/obj/item/clothing/suit/jacket/leather/biker,
|
||||
/obj/item/clothing/gloves/color/black,
|
||||
/obj/item/clothing/head/soft,
|
||||
/obj/item/clothing/mask/bandana/skull/black,
|
||||
)//so you can properly #cargoniabikergang
|
||||
crate_name = "biker kit"
|
||||
crate_type = /obj/structure/closet/crate/large
|
||||
|
||||
/datum/supply_pack/emergency/bio
|
||||
name = "Biological Emergency Crate"
|
||||
desc = "This crate holds 2 full bio suits which will protect you from viruses."
|
||||
@@ -154,20 +138,6 @@
|
||||
crate_name = "space suit crate"
|
||||
crate_type = /obj/structure/closet/crate/secure
|
||||
|
||||
/datum/supply_pack/emergency/specialops
|
||||
name = "Special Ops Supplies"
|
||||
desc = "(*!&@#SAD ABOUT THAT NULL_ENTRY, HUH OPERATIVE? WELL, THIS LITTLE ORDER CAN STILL HELP YOU OUT IN A PINCH. \
|
||||
CONTAINS A BOX OF FIVE EMP GRENADES, THREE SMOKEBOMBS, AN INCENDIARY GRENADE, AND A \"SLEEPY PEN\" FULL OF NICE TOXINS!#@*$"
|
||||
hidden = TRUE
|
||||
cost = CARGO_CRATE_VALUE * 4
|
||||
contains = list(/obj/item/storage/box/emps,
|
||||
/obj/item/grenade/smokebomb = 3,
|
||||
/obj/item/pen/sleepy,
|
||||
/obj/item/grenade/chem_grenade/incendiary,
|
||||
)
|
||||
crate_name = "emergency crate"
|
||||
crate_type = /obj/structure/closet/crate/internals
|
||||
|
||||
/datum/supply_pack/emergency/weedcontrol
|
||||
name = "Weed Control Crate"
|
||||
desc = "Keep those invasive species OUT. Contains a scythe, leather gloves, gasmask, and two anti-weed chemical grenades. \
|
||||
|
||||
@@ -239,19 +239,6 @@
|
||||
contains = list(/obj/item/training_toolbox = 2)
|
||||
crate_name = "training toolbox crate"
|
||||
|
||||
/datum/supply_pack/misc/blackmarket_telepad
|
||||
name = "Black Market LTSRBT"
|
||||
desc = "Need a faster and better way of transporting your illegal goods from and to the \
|
||||
station? Fear not, the Long-To-Short-Range-Bluespace-Transceiver (LTSRBT for short) \
|
||||
is here to help. Contains a LTSRBT circuit, two bluespace crystals, and one ansible."
|
||||
cost = CARGO_CRATE_VALUE * 20
|
||||
contraband = TRUE
|
||||
contains = list(/obj/item/circuitboard/machine/ltsrbt,
|
||||
/obj/item/stack/ore/bluespace_crystal/artificial = 2,
|
||||
/obj/item/stock_parts/subspace/ansible,
|
||||
)
|
||||
crate_name = "crate"
|
||||
|
||||
///Special supply crate that generates random syndicate gear up to a determined TC value
|
||||
/datum/supply_pack/misc/syndicate
|
||||
name = "Assorted Syndicate Gear"
|
||||
|
||||
@@ -0,0 +1,268 @@
|
||||
/**
|
||||
* Imports category.
|
||||
* This is for crates not intended for goodies, but also not intended for departmental orders.
|
||||
* This allows us to have a few crates meant for deliberate purchase through cargo, and for cargo to have a few items
|
||||
* they explicitly control. It also holds all of the black market material and contraband material, including items
|
||||
* meant for purchase only through emagging the console.
|
||||
*/
|
||||
|
||||
/datum/supply_pack/imports
|
||||
group = "Imports"
|
||||
crate_name = "emergency crate"
|
||||
crate_type = /obj/structure/closet/crate/internals
|
||||
|
||||
/datum/supply_pack/imports/foamforce
|
||||
name = "Foam Force Crate"
|
||||
desc = "Break out the big guns with eight Foam Force shotguns!"
|
||||
cost = CARGO_CRATE_VALUE * 2
|
||||
contains = list(/obj/item/gun/ballistic/shotgun/toy = 8)
|
||||
crate_name = "foam force crate"
|
||||
|
||||
/datum/supply_pack/imports/foamforce/bonus
|
||||
name = "Foam Force Pistols Crate"
|
||||
desc = "Psst.. hey bud... remember those old foam force pistols that got discontinued for being too cool? \
|
||||
Well I got two of those right here with your name on em. I'll even throw in a spare mag for each, waddya say?"
|
||||
contraband = TRUE
|
||||
cost = CARGO_CRATE_VALUE * 3
|
||||
contains = list(
|
||||
/obj/item/gun/ballistic/automatic/pistol/toy = 2,
|
||||
/obj/item/ammo_box/magazine/toy/pistol = 2,
|
||||
)
|
||||
crate_name = "foam force crate"
|
||||
|
||||
/datum/supply_pack/imports/meatmeatmeatmeat // MEAT MEAT MEAT MEAT
|
||||
name = "MEAT MEAT MEAT MEAT MEAT"
|
||||
desc = "MEAT MEAT MEAT MEAT MEAT MEAT"
|
||||
cost = CARGO_CRATE_VALUE * 6
|
||||
contains = list(/obj/item/storage/backpack/meat)
|
||||
crate_name = "MEAT MEAT MEAT MEAT MEAT"
|
||||
crate_type = /obj/structure/closet/crate/necropolis
|
||||
|
||||
/datum/supply_pack/imports/duct_spider
|
||||
name = "Duct Spider Crate"
|
||||
desc = "Awww! Straight from the Australicus sector to your station's ventilation system!"
|
||||
cost = CARGO_CRATE_VALUE * 6
|
||||
contains = list(/mob/living/basic/giant_spider/maintenance)
|
||||
crate_name = "duct spider crate"
|
||||
crate_type = /obj/structure/closet/crate/critter
|
||||
|
||||
/datum/supply_pack/imports/duct_spider/dangerous
|
||||
name = "Duct Spider Crate?"
|
||||
desc = "Wait, is this the right crate? It has a frowny face, what does that mean?"
|
||||
cost = CARGO_CRATE_VALUE * 6
|
||||
contains = list(/mob/living/basic/giant_spider/hunter)
|
||||
contraband = TRUE
|
||||
|
||||
/datum/supply_pack/imports/bamboo50
|
||||
name = "50 Bamboo Cuttings"
|
||||
desc = "You have no idea how many pandas we had to kill to get this bamboo."
|
||||
cost = CARGO_CRATE_VALUE * 15
|
||||
contains = list(/obj/item/stack/sheet/mineral/bamboo/fifty)
|
||||
crate_name = "bamboo cuttings crate"
|
||||
|
||||
/datum/supply_pack/imports/bananium
|
||||
name = "A Single Sheet of Bananium"
|
||||
desc = "Don't let the clown know that he can order this. It costs a fortune even for this much."
|
||||
cost = CARGO_CRATE_VALUE * 100
|
||||
contains = list(/obj/item/stack/sheet/mineral/bananium)
|
||||
crate_name = "bananium sheet crate"
|
||||
|
||||
/datum/supply_pack/imports/naturalbait
|
||||
name = "Freshness Jars full of Natural Bait"
|
||||
desc = "Homemade in the Spinward Sector."
|
||||
cost = 2000 //rock on
|
||||
contains = list(/obj/item/storage/pill_bottle/naturalbait)
|
||||
crate_name = "fishing bait crate"
|
||||
|
||||
/datum/supply_pack/imports/dumpstercorpse
|
||||
name = "A....Dumpster?"
|
||||
desc = "Why does it smell so bad...."
|
||||
cost = CARGO_CRATE_VALUE * 5
|
||||
contains = list(/mob/living/carbon/human)
|
||||
crate_name = "putrid dumpster"
|
||||
crate_type = /obj/structure/closet/crate/trashcart
|
||||
|
||||
/datum/supply_pack/imports/dumpstercorpse/generate()
|
||||
. = ..()
|
||||
var/mob/living/carbon/human/corpse = locate() in .
|
||||
corpse.death()
|
||||
|
||||
/datum/supply_pack/imports/error
|
||||
name = "NULL_ENTRY"
|
||||
desc = "(*!&@#OKAY, OPERATIVE, WE SEE HOW MUCH MONEY YOU'RE FLAUNTING. FINE. HAVE THIS, AND GOOD LUCK PUTTING IT TOGETHER!#@*$"
|
||||
cost = CARGO_CRATE_VALUE * 100
|
||||
hidden = TRUE
|
||||
contains = list(/obj/item/book/granter/crafting_recipe/regal_condor)
|
||||
|
||||
/datum/supply_pack/imports/mafia
|
||||
name = "Cosa Nostra Starter Pack"
|
||||
desc = "This crate contains everything you need to set up your own ethnicity-based racketeering operation."
|
||||
cost = CARGO_CRATE_VALUE * 4
|
||||
contains = list()
|
||||
contraband = TRUE
|
||||
|
||||
/datum/supply_pack/imports/mafia/fill(obj/structure/closet/crate/our_crate)
|
||||
for(var/items in 1 to 4)
|
||||
new /obj/effect/spawner/random/clothing/mafia_outfit(our_crate)
|
||||
new /obj/item/virgin_mary(our_crate)
|
||||
if(prob(30)) //Not all mafioso have mustaches, some people also find this item annoying.
|
||||
new /obj/item/clothing/mask/fakemoustache/italian(our_crate)
|
||||
if(prob(10)) //A little extra sugar every now and then to shake things up.
|
||||
new /obj/item/switchblade(our_crate)
|
||||
|
||||
/datum/supply_pack/imports/blackmarket_telepad
|
||||
name = "Black Market LTSRBT"
|
||||
desc = "Need a faster and better way of transporting your illegal goods from and to the \
|
||||
station? Fear not, the Long-To-Short-Range-Bluespace-Transceiver (LTSRBT for short) \
|
||||
is here to help. Contains a LTSRBT circuit, two bluespace crystals, and one ansible."
|
||||
cost = CARGO_CRATE_VALUE * 20
|
||||
contraband = TRUE
|
||||
contains = list(
|
||||
/obj/item/circuitboard/machine/ltsrbt,
|
||||
/obj/item/stack/ore/bluespace_crystal/artificial = 2,
|
||||
/obj/item/stock_parts/subspace/ansible,
|
||||
)
|
||||
|
||||
/datum/supply_pack/imports/contraband
|
||||
name = "'Contraband' Crate"
|
||||
desc = "Psst.. bud... want some contraband? I can get you a poster, some nice cigs, dank, even some \
|
||||
sponsored items...you know, the good stuff. Just keep it away from the cops, kay?"
|
||||
contraband = TRUE
|
||||
cost = CARGO_CRATE_VALUE * 4
|
||||
contains = list(
|
||||
/obj/item/poster/random_contraband = 2,
|
||||
/obj/item/food/grown/cannabis,
|
||||
/obj/item/food/grown/cannabis/rainbow,
|
||||
/obj/item/food/grown/cannabis/white,
|
||||
/obj/item/storage/box/fireworks/dangerous,
|
||||
/obj/item/storage/pill_bottle/zoom,
|
||||
/obj/item/storage/pill_bottle/happy,
|
||||
/obj/item/storage/pill_bottle/lsd,
|
||||
/obj/item/storage/pill_bottle/aranesp,
|
||||
/obj/item/storage/pill_bottle/stimulant,
|
||||
/obj/item/toy/cards/deck/syndicate,
|
||||
/obj/item/reagent_containers/cup/glass/bottle/absinthe,
|
||||
/obj/item/clothing/under/syndicate/tacticool,
|
||||
/obj/item/storage/fancy/cigarettes/cigpack_syndicate,
|
||||
/obj/item/storage/fancy/cigarettes/cigpack_shadyjims,
|
||||
/obj/item/clothing/mask/gas/syndicate,
|
||||
/obj/item/clothing/neck/necklace/dope,
|
||||
/obj/item/vending_refill/donksoft,
|
||||
)
|
||||
crate_name = "crate"
|
||||
|
||||
/datum/supply_pack/imports/contraband/fill(obj/structure/closet/crate/our_crate)
|
||||
for(var/items in 1 to 10)
|
||||
var/item = pick(contains)
|
||||
new item(our_crate)
|
||||
|
||||
/datum/supply_pack/imports/wt550
|
||||
name = "Smuggled WT-550 Autorifle Crate"
|
||||
desc = "(*!&@#GOOD NEWS, OPERATIVE! WE CAN'T GET YOU THE BIG LEAGUE AUTOMATIC WEAPONS. BUT, BY \
|
||||
SMUGGLING THIS CRATE THROUGH A FEW OUTDATED CUSTOMS CHECKPOINTS, WE'VE THE NEXT BEST THING! \
|
||||
SERVICE AUTORIFLES. DON'T WORRY, THE RUMORS ABOUT THE GUN MELTING YOU ARE JUST THAT! RUMORS! \
|
||||
THESE THINGS WORK FINE! MIGHT BE SLIGHTLY DIRTY.!#@*$"
|
||||
hidden = TRUE
|
||||
cost = CARGO_CRATE_VALUE * 7
|
||||
contains = list(
|
||||
/obj/item/gun/ballistic/automatic/wt550 = 2,
|
||||
/obj/item/ammo_box/magazine/wt550m9 = 2,
|
||||
)
|
||||
|
||||
/datum/supply_pack/imports/wt550ammo
|
||||
name = "Smuggled WT-550 Ammo Crate"
|
||||
desc = "(*!&@#OPERATIVE, YOU LIKE THAT WT-550? THEN WHY NOT EQUIP YOURSELF WITH SOME MORE AMMO!!#@*$"
|
||||
hidden = TRUE
|
||||
cost = CARGO_CRATE_VALUE * 4
|
||||
contains = list(
|
||||
/obj/item/ammo_box/magazine/wt550m9 = 2,
|
||||
/obj/item/ammo_box/magazine/wt550m9/wtap = 2,
|
||||
/obj/item/ammo_box/magazine/wt550m9/wtic = 2,
|
||||
)
|
||||
crate_name = "emergency crate"
|
||||
crate_type = /obj/structure/closet/crate/internals
|
||||
|
||||
/datum/supply_pack/imports/shocktrooper
|
||||
name = "Shocktrooper Crate"
|
||||
desc = "(*!&@#WANT TO PUT THE FEAR OF DEATH INTO YOUR ENEMIES? THIS CRATE OF GOODIES CAN HELP MAKE THAT A REALITY. \
|
||||
CONTAINS A BOX OF FIVE EMP GRENADES, THREE SMOKEBOMBS, TWO GLUON GRENADES AND TWO FRAG GRENADES!#@*$"
|
||||
hidden = TRUE
|
||||
cost = CARGO_CRATE_VALUE * 10
|
||||
contains = list(
|
||||
/obj/item/storage/box/emps,
|
||||
/obj/item/grenade/smokebomb = 3,
|
||||
/obj/item/grenade/gluon = 2,
|
||||
/obj/item/grenade/frag = 2,
|
||||
)
|
||||
|
||||
/datum/supply_pack/imports/specialops
|
||||
name = "Special Ops Crate"
|
||||
desc = "(*!&@#THE PIGS ON YOUR TAIL? MAYBE YOU CAN BUY SOME TIME WITH THIS CRATE! \
|
||||
CONTAINS A CHAMELEON MASK, A CHAMELEON JUMPSUIT AND AN AGENT CARD! AND A KNIFE!!#@*$"
|
||||
hidden = TRUE
|
||||
cost = CARGO_CRATE_VALUE * 10
|
||||
contains = list(
|
||||
/obj/item/clothing/mask/chameleon,
|
||||
/obj/item/clothing/under/chameleon,
|
||||
/obj/item/card/id/advanced/chameleon,
|
||||
/obj/item/knife/combat/survival,
|
||||
)
|
||||
|
||||
/datum/supply_pack/imports/russian
|
||||
name = "Russian Surplus Military Gear Crate"
|
||||
desc = "Hello <;~insert appropriate greeting here: 'Comrade'|'Imperalist Scum'|'Quartermaster of Reputable Station'~;>, \
|
||||
we have the most modern russian military equipment the black market can offer, for the right price of course. \
|
||||
No lock, best price."
|
||||
contraband = TRUE
|
||||
cost = CARGO_CRATE_VALUE * 12
|
||||
contains = list(
|
||||
/obj/item/food/rationpack,
|
||||
/obj/item/ammo_box/a762,
|
||||
/obj/item/ammo_box/a762/surplus,
|
||||
/obj/item/storage/toolbox/a762,
|
||||
/obj/item/storage/toolbox/a762/surplus,
|
||||
/obj/item/storage/toolbox/maint_kit,
|
||||
/obj/item/clothing/suit/armor/vest/russian,
|
||||
/obj/item/clothing/head/helmet/rus_helmet,
|
||||
/obj/item/clothing/shoes/russian,
|
||||
/obj/item/clothing/gloves/tackler/combat,
|
||||
/obj/item/clothing/under/syndicate/rus_army,
|
||||
/obj/item/clothing/under/costume/soviet,
|
||||
/obj/item/clothing/mask/russian_balaclava,
|
||||
/obj/item/clothing/head/helmet/rus_ushanka,
|
||||
/obj/item/clothing/suit/armor/vest/russian_coat,
|
||||
/obj/item/gun/ballistic/rifle/boltaction,
|
||||
/obj/item/gun/ballistic/rifle/boltaction/surplus = 2,
|
||||
)
|
||||
|
||||
/datum/supply_pack/imports/russian/fill(obj/structure/closet/crate/our_crate)
|
||||
for(var/items in 1 to 10)
|
||||
var/item = pick(contains)
|
||||
new item(our_crate)
|
||||
|
||||
/datum/supply_pack/imports/moistnuggets
|
||||
name = "Refurbished Mosin Nagant Crate"
|
||||
desc = "Hello Comrade Operative. You need gun? You hate garbage we sell to station normally? \
|
||||
Then we have the perfect weapon for you! Special price for good friends! \
|
||||
We don't have enough spare ammo, so you'll have to pick up the weapon of \
|
||||
dead comrade when you run out."
|
||||
hidden = TRUE
|
||||
cost = CARGO_CRATE_VALUE * 6
|
||||
contains = list(/obj/item/gun/ballistic/rifle/boltaction = 6)
|
||||
|
||||
/datum/supply_pack/imports/vehicle
|
||||
name = "Biker Gang Kit" //TUNNEL SNAKES OWN THIS TOWN
|
||||
desc = "TUNNEL SNAKES OWN THIS TOWN. Contains an unbranded All Terrain Vehicle, and a \
|
||||
complete gang outfit -- consists of black gloves, a menacing skull bandanna, and a SWEET leather overcoat!"
|
||||
cost = CARGO_CRATE_VALUE * 4
|
||||
contraband = TRUE
|
||||
contains = list(
|
||||
/obj/vehicle/ridden/atv,
|
||||
/obj/item/key/atv,
|
||||
/obj/item/clothing/suit/jacket/leather/biker,
|
||||
/obj/item/clothing/gloves/color/black,
|
||||
/obj/item/clothing/head/soft,
|
||||
/obj/item/clothing/mask/bandana/skull/black,
|
||||
)//so you can properly #cargoniabikergang
|
||||
crate_name = "biker kit"
|
||||
crate_type = /obj/structure/closet/crate/large
|
||||
@@ -295,35 +295,6 @@
|
||||
contains = list(/obj/item/shield/riot = 3)
|
||||
crate_name = "riot shields crate"
|
||||
|
||||
/datum/supply_pack/security/armory/russian
|
||||
name = "Russian Surplus Crate"
|
||||
desc = "Hello Comrade, we have the most modern russian military equipment the \
|
||||
black market can offer, for the right price of course. Sadly we couldn't remove \
|
||||
the lock, so it"
|
||||
cost = CARGO_CRATE_VALUE * 12
|
||||
contraband = TRUE
|
||||
contains = list(/obj/item/food/rationpack,
|
||||
/obj/item/ammo_box/a762,
|
||||
/obj/item/storage/toolbox/ammo,
|
||||
/obj/item/storage/toolbox/maint_kit,
|
||||
/obj/item/clothing/suit/armor/vest/russian,
|
||||
/obj/item/clothing/head/helmet/rus_helmet,
|
||||
/obj/item/clothing/shoes/russian,
|
||||
/obj/item/clothing/gloves/tackler/combat,
|
||||
/obj/item/clothing/under/syndicate/rus_army,
|
||||
/obj/item/clothing/under/costume/soviet,
|
||||
/obj/item/clothing/mask/russian_balaclava,
|
||||
/obj/item/clothing/head/helmet/rus_ushanka,
|
||||
/obj/item/clothing/suit/armor/vest/russian_coat,
|
||||
/obj/item/gun/ballistic/rifle/boltaction = 2,
|
||||
)
|
||||
crate_name = "surplus military crate"
|
||||
|
||||
/datum/supply_pack/security/armory/russian/fill(obj/structure/closet/crate/C)
|
||||
for(var/i in 1 to 10)
|
||||
var/item = pick(contains)
|
||||
new item(C)
|
||||
|
||||
/datum/supply_pack/security/armory/swat
|
||||
name = "SWAT Crate"
|
||||
desc = "Contains two fullbody sets of tough, fireproof suits designed in a joint \
|
||||
@@ -345,26 +316,3 @@
|
||||
cost = CARGO_CRATE_VALUE * 7
|
||||
contains = list(/obj/item/storage/belt/holster/energy/thermal = 2)
|
||||
crate_name = "thermal pistol crate"
|
||||
|
||||
/datum/supply_pack/security/armory/wt550
|
||||
name = "Recalled Weapon Pack"
|
||||
desc = "Contains a set of old Nanotrasen brand autorifles recalled due to choking hazard."
|
||||
cost = CARGO_CRATE_VALUE * 7
|
||||
hidden = TRUE
|
||||
contains = list(
|
||||
/obj/item/gun/ballistic/automatic/wt550 = 2,
|
||||
/obj/item/ammo_box/magazine/wt550m9 = 2,
|
||||
)
|
||||
crate_name = "Recalled rifle crate"
|
||||
|
||||
/datum/supply_pack/security/armory/wt550ammo
|
||||
name = "Recalled Ammo Pack"
|
||||
desc = "Contains four 20-round magazine for the Recalled WT-550 Auto Rifle. \
|
||||
Each magazine is designed to facilitate rapid tactical reloads. Recalled due to Security demands."
|
||||
cost = CARGO_CRATE_VALUE * 4
|
||||
hidden = TRUE
|
||||
contains = list(
|
||||
/obj/item/ammo_box/magazine/wt550m9 = 4,
|
||||
)
|
||||
crate_name = "Ammo box"
|
||||
|
||||
|
||||
@@ -306,7 +306,7 @@
|
||||
shoes = /obj/item/clothing/shoes/sneakers/black
|
||||
l_pocket = /obj/item/ammo_box/a762
|
||||
r_pocket = /obj/item/ammo_box/a762
|
||||
l_hand = /obj/item/gun/ballistic/rifle/boltaction/brand_new
|
||||
l_hand = /obj/item/gun/ballistic/rifle/boltaction
|
||||
|
||||
/datum/outfit/centcom/centcom_intern/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
|
||||
if(visualsOnly)
|
||||
@@ -330,7 +330,7 @@
|
||||
name = "CentCom Head Intern"
|
||||
|
||||
suit = /obj/item/clothing/suit/armor/vest
|
||||
suit_store = /obj/item/gun/ballistic/rifle/boltaction/brand_new
|
||||
suit_store = /obj/item/gun/ballistic/rifle/boltaction
|
||||
belt = /obj/item/melee/baton/security/loaded
|
||||
head = /obj/item/clothing/head/hats/intern
|
||||
l_hand = /obj/item/megaphone
|
||||
|
||||
@@ -83,7 +83,7 @@
|
||||
logging_desc = "Syndicate boarding party"
|
||||
|
||||
/datum/shuttle_loan_situation/department_resupply/spawn_items(list/spawn_list, list/empty_shuttle_turfs)
|
||||
var/datum/supply_pack/pack = SSshuttle.supply_packs[/datum/supply_pack/emergency/specialops]
|
||||
var/datum/supply_pack/pack = SSshuttle.supply_packs[/datum/supply_pack/imports/specialops]
|
||||
pack.generate(pick_n_take(empty_shuttle_turfs))
|
||||
|
||||
spawn_list.Add(/mob/living/basic/syndicate/ranged/infiltrator)
|
||||
@@ -193,7 +193,7 @@
|
||||
logging_desc = "Shuttle full of spiders"
|
||||
|
||||
/datum/shuttle_loan_situation/spider_gift/spawn_items(list/spawn_list, list/empty_shuttle_turfs)
|
||||
var/datum/supply_pack/pack = SSshuttle.supply_packs[/datum/supply_pack/emergency/specialops]
|
||||
var/datum/supply_pack/pack = SSshuttle.supply_packs[/datum/supply_pack/imports/specialops]
|
||||
pack.generate(pick_n_take(empty_shuttle_turfs))
|
||||
|
||||
spawn_list.Add(/mob/living/basic/giant_spider)
|
||||
|
||||
@@ -29,7 +29,8 @@
|
||||
/obj/item/stack/sheet/mineral/gold = 5,
|
||||
/obj/item/stack/sheet/mineral/uranium = 4,
|
||||
/obj/item/stack/sheet/mineral/diamond = 3,
|
||||
/obj/item/gun/ballistic/rifle/boltaction = 1
|
||||
/obj/item/gun/ballistic/rifle/boltaction = 1,
|
||||
/obj/item/gun/ballistic/automatic/wt550 = 1,
|
||||
)
|
||||
rpg_title = "Merchantman"
|
||||
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN
|
||||
|
||||
@@ -7,6 +7,11 @@
|
||||
caliber = CALIBER_A762
|
||||
projectile_type = /obj/projectile/bullet/a762
|
||||
|
||||
/obj/item/ammo_casing/a762/surplus
|
||||
name = "7.62 surplus bullet casing"
|
||||
desc = "A surplus 7.62 bullet casing."
|
||||
projectile_type = /obj/projectile/bullet/a762/surplus
|
||||
|
||||
/obj/item/ammo_casing/a762/enchanted
|
||||
projectile_type = /obj/projectile/bullet/a762/enchanted
|
||||
|
||||
|
||||
@@ -87,6 +87,10 @@
|
||||
caliber = CALIBER_A762
|
||||
multiple_sprites = AMMO_BOX_PER_BULLET
|
||||
|
||||
/obj/item/ammo_box/a762/surplus
|
||||
name = "stripper clip (7.62mm Surplus)"
|
||||
ammo_type = /obj/item/ammo_casing/a762/surplus
|
||||
|
||||
/obj/item/ammo_box/n762
|
||||
name = "ammo box (7.62x38mmR)"
|
||||
icon_state = "10mmbox"
|
||||
|
||||
@@ -105,3 +105,16 @@
|
||||
caliber = CALIBER_50
|
||||
max_ammo = 7
|
||||
multiple_sprites = AMMO_BOX_PER_BULLET
|
||||
|
||||
/obj/item/ammo_box/magazine/r10mm
|
||||
name = "regal condor magazine (10mm)"
|
||||
icon_state = "r10mm-8"
|
||||
base_icon_state = "r10mm"
|
||||
ammo_type = /obj/item/ammo_casing/c10mm
|
||||
caliber = CALIBER_10MM
|
||||
max_ammo = 8
|
||||
multiple_sprites = AMMO_BOX_PER_BULLET
|
||||
|
||||
/obj/item/ammo_box/magazine/r10mm/empty
|
||||
icon_state = "r10mm-0"
|
||||
start_empty = TRUE
|
||||
|
||||
@@ -6,6 +6,9 @@
|
||||
max_ammo = 5
|
||||
multiload = TRUE
|
||||
|
||||
/obj/item/ammo_box/magazine/internal/boltaction/surplus
|
||||
ammo_type = /obj/item/ammo_casing/a762/surplus
|
||||
|
||||
/obj/item/ammo_box/magazine/internal/boltaction/pipegun
|
||||
name = "pipegun internal magazine"
|
||||
caliber = CALIBER_SHOTGUN
|
||||
|
||||
@@ -95,8 +95,12 @@
|
||||
update_appearance()
|
||||
|
||||
/obj/item/gun/ballistic/automatic/wt550
|
||||
name = "security auto rifle"
|
||||
desc = "An outdated personal defence weapon. Uses 4.6x30mm rounds and is designated the WT-550 Automatic Rifle."
|
||||
name = "\improper WT-550 Autorifle"
|
||||
desc = "Recalled by Nanotrasen due to public backlash around heat distribution resulting in unintended discombobulation. \
|
||||
This outcry was fabricated through various Syndicate-backed misinformation operations to force Nanotrasen to abandon \
|
||||
its ballistics weapon program, cornering them into the energy weapons market. Most often found today in the hands of pirates, \
|
||||
underfunded security personnel, cargo technicians, theoritical physicists and gang bangers out on the rim. \
|
||||
Light-weight and fully automatic. Uses 4.6x30mm rounds."
|
||||
icon_state = "wt550"
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
inhand_icon_state = "arg"
|
||||
|
||||
@@ -81,6 +81,23 @@
|
||||
icon_state = "deaglecamo"
|
||||
inhand_icon_state = "deagleg"
|
||||
|
||||
/obj/item/gun/ballistic/automatic/pistol/deagle/regal
|
||||
name = "\improper Regal Condor"
|
||||
desc = "Unlike the Desert Eagle, this weapon seems to utilize some kind of advance internal stabilization system to significantly \
|
||||
reduce felt recoil and substantially increases overall accuracy, though at the cost of using a smaller caliber. This modification does \
|
||||
allow it to fire in a 2-round burst. Uses 10mm ammo."
|
||||
icon_state = "reagle"
|
||||
inhand_icon_state = "deagleg"
|
||||
burst_size = 2
|
||||
fire_delay = 1
|
||||
spread = 10
|
||||
projectile_damage_multiplier = 1.25
|
||||
mag_type = /obj/item/ammo_box/magazine/r10mm
|
||||
actions_types = list(/datum/action/item_action/toggle_firemode)
|
||||
|
||||
/obj/item/gun/ballistic/automatic/pistol/deagle/regal/no_mag
|
||||
spawnwithmagazine = FALSE
|
||||
|
||||
/obj/item/gun/ballistic/automatic/pistol/aps
|
||||
name = "\improper Stechkin APS machine pistol"
|
||||
desc = "An old Soviet machine pistol. It fires quickly, but kicks like a mule. Uses 9mm ammo. Has a threaded barrel for suppressors."
|
||||
|
||||
@@ -47,9 +47,14 @@
|
||||
|
||||
/obj/item/gun/ballistic/rifle/boltaction
|
||||
name = "\improper Mosin Nagant"
|
||||
desc = "This piece of junk looks like something that could have been used 700 years ago. It feels slightly moist."
|
||||
sawn_desc = "An extremely sawn-off Mosin Nagant, popularly known as an \"Obrez\". \
|
||||
There was probably a reason it wasn't manufactured this short to begin with."
|
||||
desc = "A classic Mosin Nagant. They don't make them like they used to. Well, okay, in all honesty, this one is actually \
|
||||
a new refurbished version. So it works just fine! Often found in the hands of underpaid Nanotrasen interns, \
|
||||
Russian military LARPers, actual Space Russians, revolutionaries and cargo technicians. Still feels slightly moist."
|
||||
sawn_desc = "A sawn-off Mosin Nagant, popularly known as an \"Obrez\". \
|
||||
There was probably a reason it wasn't manufactured this short to begin with. \
|
||||
This one is still in surprisingly good condition. Often found in the hands \
|
||||
of underpaid Nanotrasen interns without a care for company property, Russian military LARPers, \
|
||||
actual drunk Space Russians, Tiger Co-op assassins and cargo technicians. <I>Still</I> feels slightly moist."
|
||||
weapon_weight = WEAPON_HEAVY
|
||||
icon_state = "moistnugget"
|
||||
inhand_icon_state = "moistnugget"
|
||||
@@ -63,7 +68,7 @@
|
||||
var/unjam_chance = 10
|
||||
var/jamming_increment = 5
|
||||
var/jammed = FALSE
|
||||
var/can_jam = TRUE
|
||||
var/can_jam = FALSE
|
||||
|
||||
/obj/item/gun/ballistic/rifle/boltaction/sawoff(mob/user)
|
||||
. = ..()
|
||||
@@ -96,13 +101,18 @@
|
||||
|
||||
/obj/item/gun/ballistic/rifle/boltaction/attackby(obj/item/item, mob/user, params)
|
||||
. = ..()
|
||||
if(can_jam)
|
||||
if(bolt_locked)
|
||||
if(istype(item, /obj/item/gun_maintenance_supplies))
|
||||
if(do_after(user, 10 SECONDS, target = src))
|
||||
user.visible_message(span_notice("[user] finishes maintenance of [src]."))
|
||||
jamming_chance = 10
|
||||
qdel(item)
|
||||
if(!can_jam)
|
||||
balloon_alert(user, "can't jam!")
|
||||
return
|
||||
|
||||
if(!bolt_locked)
|
||||
balloon_alert(user, "bolt closed!")
|
||||
return
|
||||
|
||||
if(istype(item, /obj/item/gun_maintenance_supplies) && do_after(user, 10 SECONDS, target = src))
|
||||
user.visible_message(span_notice("[user] finishes maintenance of [src]."))
|
||||
jamming_chance = initial(jamming_chance)
|
||||
qdel(item)
|
||||
|
||||
/obj/item/gun/ballistic/rifle/boltaction/blow_up(mob/user)
|
||||
. = FALSE
|
||||
@@ -119,14 +129,23 @@
|
||||
mag_type = /obj/item/ammo_box/magazine/internal/boltaction/harpoon
|
||||
fire_sound = 'sound/weapons/gun/sniper/shot.ogg'
|
||||
can_be_sawn_off = FALSE
|
||||
can_jam = FALSE
|
||||
|
||||
/obj/item/gun/ballistic/rifle/boltaction/brand_new
|
||||
desc = "A brand new Mosin Nagant issued by Nanotrasen for their interns. You would rather not to damage it."
|
||||
can_be_sawn_off = FALSE
|
||||
can_jam = FALSE
|
||||
/obj/item/gun/ballistic/rifle/boltaction/surplus
|
||||
desc = "A classic Mosin Nagant, ruined by centuries of moisture. Some Space Russians claim that the moisture \
|
||||
is a sign of good luck. A sober user will know that this thing is going to fucking jam. Repeatedly. \
|
||||
Often found in the hands of cargo technicians, Russian military LARPers, Tiger Co-Op terrorist cells, \
|
||||
cryo-frozen Space Russians, and security personnel with a bone to pick. EXTREMELY moist."
|
||||
sawn_desc = "A sawn-off Mosin Nagant, popularly known as an \"Obrez\". \
|
||||
There was probably a reason it wasn't manufactured this short to begin with. \
|
||||
This one has been ruined by centuries of moisture and WILL jam. Often found in the hands of \
|
||||
cargo technicians with a death wish, Russian military LARPers, actual drunk Space Russians, \
|
||||
Tiger Co-op assassins, cryo-frozen Space Russians, and security personnel with \
|
||||
little care for professional conduct while making 'arrests' point blank in the back of the head \
|
||||
until the gun clicks. EXTREMELY moist."
|
||||
mag_type = /obj/item/ammo_box/magazine/internal/boltaction/surplus
|
||||
can_jam = TRUE
|
||||
|
||||
/obj/item/gun/ballistic/rifle/boltaction/brand_new/prime
|
||||
/obj/item/gun/ballistic/rifle/boltaction/prime
|
||||
name = "\improper Regal Nagant"
|
||||
desc = "A prized hunting Mosin Nagant. Used for the most dangerous game."
|
||||
icon_state = "moistprime"
|
||||
@@ -137,7 +156,7 @@
|
||||
You are now probably one of the few people in the universe to ever hold a \"Regal Obrez\". \
|
||||
Even thinking about that name combination makes you ill."
|
||||
|
||||
/obj/item/gun/ballistic/rifle/boltaction/brand_new/prime/sawoff(mob/user)
|
||||
/obj/item/gun/ballistic/rifle/boltaction/prime/sawoff(mob/user)
|
||||
. = ..()
|
||||
if(.)
|
||||
name = "\improper Regal Obrez" // wear it loud and proud
|
||||
@@ -176,7 +195,6 @@
|
||||
inhand_icon_state = "musket_prime"
|
||||
worn_icon_state = "musket_prime"
|
||||
mag_type = /obj/item/ammo_box/magazine/internal/boltaction/pipegun/prime
|
||||
can_jam = FALSE
|
||||
projectile_damage_multiplier = 1
|
||||
|
||||
/// MAGICAL BOLT ACTIONS + ARCANE BARRAGE? ///
|
||||
|
||||
@@ -25,6 +25,11 @@
|
||||
wound_bonus = -45
|
||||
wound_falloff_tile = 0
|
||||
|
||||
/obj/projectile/bullet/a762/surplus
|
||||
name = "7.62 surplus bullet"
|
||||
weak_against_armour = TRUE //this is specifically more important for fighting carbons than fighting noncarbons. Against a simple mob, this is still a full force bullet
|
||||
armour_penetration = 0
|
||||
|
||||
/obj/projectile/bullet/a762/enchanted
|
||||
name = "enchanted 7.62 bullet"
|
||||
damage = 20
|
||||
|
||||
@@ -175,7 +175,7 @@
|
||||
departmental_flags = DEPARTMENT_BITFLAG_SECURITY
|
||||
|
||||
/datum/design/a357
|
||||
name = ".357 Casing"
|
||||
name = ".357 Bullet Casing"
|
||||
id = "a357"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(/datum/material/iron = 4000)
|
||||
@@ -186,6 +186,18 @@
|
||||
)
|
||||
departmental_flags = DEPARTMENT_BITFLAG_SECURITY
|
||||
|
||||
/datum/design/a762surplus
|
||||
name = "7.62 Surplus Bullet Casing"
|
||||
id = "a762surplus"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(/datum/material/iron = 4000)
|
||||
build_path = /obj/item/ammo_casing/a762/surplus
|
||||
category = list(
|
||||
RND_CATEGORY_HACKED,
|
||||
RND_CATEGORY_WEAPONS + RND_SUBCATEGORY_WEAPONS_AMMO,
|
||||
)
|
||||
departmental_flags = DEPARTMENT_BITFLAG_SECURITY
|
||||
|
||||
/datum/design/c10mm
|
||||
name = "Ammo Box (10mm)"
|
||||
id = "c10mm"
|
||||
|
||||
@@ -95,6 +95,32 @@
|
||||
departmental_flags = DEPARTMENT_BITFLAG_SECURITY
|
||||
autolathe_exportable = FALSE
|
||||
|
||||
/datum/design/mag_autorifle
|
||||
name = "WT-550 Autorifle Magazine (4.6x30mm)"
|
||||
desc = "A 20 round magazine for the out of date WT-550 Autorifle."
|
||||
id = "mag_autorifle"
|
||||
build_type = PROTOLATHE | AWAY_LATHE
|
||||
materials = list(/datum/material/iron = 4000)
|
||||
build_path = /obj/item/ammo_box/magazine/wt550m9
|
||||
category = list("Ammo")
|
||||
departmental_flags = DEPARTMENT_BITFLAG_SECURITY
|
||||
|
||||
/datum/design/mag_autorifle/ap_mag
|
||||
name = "WT-550 Autorifle Armour Piercing Magazine (4.6x30mm AP)"
|
||||
desc = "A 20 round armour piercing magazine for the out of date WT-550 Autorifle."
|
||||
id = "mag_autorifle_ap"
|
||||
materials = list(/datum/material/iron = 6000, /datum/material/silver = 600)
|
||||
build_path = /obj/item/ammo_box/magazine/wt550m9/wtap
|
||||
departmental_flags = DEPARTMENT_BITFLAG_SECURITY
|
||||
|
||||
/datum/design/mag_autorifle/ic_mag
|
||||
name = "WT-550 Autorifle Incendiary Magazine (4.6x30mm IC)"
|
||||
desc = "A 20 round armour piercing magazine for the out of date WT-550 Autorifle."
|
||||
id = "mag_autorifle_ic"
|
||||
materials = list(/datum/material/iron = 6000, /datum/material/silver = 600, /datum/material/glass = 1000)
|
||||
build_path = /obj/item/ammo_box/magazine/wt550m9/wtic
|
||||
departmental_flags = DEPARTMENT_BITFLAG_SECURITY
|
||||
|
||||
/datum/design/pin_testing
|
||||
name = "Test-Range Firing Pin"
|
||||
desc = "This safety firing pin allows firearms to be operated within proximity to a firing range."
|
||||
|
||||
@@ -2155,6 +2155,9 @@
|
||||
"donksoft_refill",
|
||||
"donksofttoyvendor",
|
||||
"largecrossbow",
|
||||
"mag_autorifle",
|
||||
"mag_autorifle_ap",
|
||||
"mag_autorifle_ic",
|
||||
"rapidsyringe",
|
||||
"suppressor",
|
||||
"super_pointy_tape",
|
||||
|
||||
|
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
@@ -1951,6 +1951,7 @@
|
||||
#include "code\game\objects\items\granters\crafting\combat_baking.dm"
|
||||
#include "code\game\objects\items\granters\crafting\desserts.dm"
|
||||
#include "code\game\objects\items\granters\crafting\pipegun.dm"
|
||||
#include "code\game\objects\items\granters\crafting\regal_condor.dm"
|
||||
#include "code\game\objects\items\granters\magic\_spell_granter.dm"
|
||||
#include "code\game\objects\items\granters\magic\barnyard.dm"
|
||||
#include "code\game\objects\items\granters\magic\blind.dm"
|
||||
@@ -2964,6 +2965,7 @@
|
||||
#include "code\modules\cargo\packs\engineering.dm"
|
||||
#include "code\modules\cargo\packs\exploration.dm"
|
||||
#include "code\modules\cargo\packs\general.dm"
|
||||
#include "code\modules\cargo\packs\imports.dm"
|
||||
#include "code\modules\cargo\packs\livestock.dm"
|
||||
#include "code\modules\cargo\packs\materials.dm"
|
||||
#include "code\modules\cargo\packs\medical.dm"
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
#comment This repaths sniper rifles from the automatic subtype to the rifle subtype.
|
||||
|
||||
/obj/item/weapon/automatic/sniper : /obj/item/weapon/rifle/sniper{@OLD}
|
||||
/obj/item/gun/ballistic/automatic/sniper : /obj/item/gun/ballistic/rifle/sniper{@OLD}
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
#comment This repaths the ammo toolbox (which contains 7.62 stripper clips) to a new path that more adequately explains what it contains
|
||||
|
||||
/obj/item/storage/toolbox/ammo : /obj/item/storage/toolbox/a762{@OLD}
|
||||
@@ -0,0 +1,3 @@
|
||||
#comment This repaths the brand_new mosin subtpye to simply its parent type.
|
||||
|
||||
/obj/item/gun/ballistic/rifle/boltaction/brand_new : /obj/item/gun/ballistic/rifle/boltaction{@OLD}
|
||||