Merge remote-tracking branch 'upstream/master' into zombies

This commit is contained in:
Couls
2019-08-04 21:05:10 -04:00
728 changed files with 111115 additions and 10827 deletions
@@ -17,7 +17,6 @@
storage_slots = 21
burn_state = FLAMMABLE
burntime = 20
species_fit = list("Vox")
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/back.dmi'
)
@@ -52,6 +51,7 @@
desc = "A backpack that opens into a localized pocket of Blue Space."
origin_tech = "bluespace=5;materials=4;engineering=4;plasmatech=5"
icon_state = "holdingpack"
item_state = "holdingpack"
max_w_class = WEIGHT_CLASS_HUGE
max_combined_w_class = 35
burn_state = FIRE_PROOF
@@ -158,6 +158,12 @@
item_state = "engiepack"
burn_state = FIRE_PROOF
/obj/item/storage/backpack/explorer
name = "explorer bag"
desc = "A robust backpack for stashing your loot."
icon_state = "explorerpack"
item_state = "explorerpack"
/obj/item/storage/backpack/botany
name = "botany backpack"
desc = "It's a backpack made of all-natural fibers."
@@ -235,6 +241,12 @@
icon_state = "satchel-eng"
burn_state = FIRE_PROOF
/obj/item/storage/backpack/satchel/explorer
name = "explorer satchel"
desc = "A robust satchel for stashing your loot."
icon_state = "satchel-explorer"
item_state = "securitypack"
/obj/item/storage/backpack/satchel_med
name = "medical satchel"
desc = "A sterile satchel used in medical departments."
@@ -345,6 +357,21 @@
new /obj/item/ammo_box/magazine/m12g/buckshot(src)
new /obj/item/ammo_box/magazine/m12g/dragon(src)
/obj/item/storage/backpack/duffel/mining_conscript/noid
name = "mining conscription kit"
desc = "A kit containing everything a crewmember needs to support a shaft miner in the field."
/obj/item/storage/backpack/duffel/mining_conscript/noid/New()
..()
new /obj/item/pickaxe(src)
new /obj/item/clothing/glasses/meson(src)
new /obj/item/t_scanner/adv_mining_scanner/lesser(src)
new /obj/item/storage/bag/ore(src)
new /obj/item/clothing/under/rank/miner/lavaland(src)
new /obj/item/encryptionkey/headset_cargo(src)
new /obj/item/clothing/mask/gas(src)
/obj/item/storage/backpack/duffel/syndie/ammo/smg
desc = "A large duffel bag, packed to the brim with C-20r magazines."
@@ -385,7 +385,8 @@
/obj/item/flashlight,
/obj/item/reagent_containers/spray,
/obj/item/soap,
/obj/item/holosign_creator
/obj/item/holosign_creator,
/obj/item/melee/flyswatter,
)
/obj/item/storage/belt/janitor/full/New()
@@ -396,6 +397,7 @@
new /obj/item/soap(src)
new /obj/item/grenade/chem_grenade/cleaner(src)
new /obj/item/grenade/chem_grenade/cleaner(src)
new /obj/item/melee/flyswatter(src)
update_icon()
/obj/item/storage/belt/lazarus
@@ -723,3 +725,52 @@
new /obj/item/analyzer(src)
new /obj/item/healthanalyzer(src)
/obj/item/storage/belt/mining
name = "explorer's webbing"
desc = "A versatile chest rig, cherished by miners and hunters alike."
icon_state = "explorer1"
item_state = "explorer1"
storage_slots = 6
max_w_class = WEIGHT_CLASS_BULKY
use_item_overlays = 0
can_hold = list(
/obj/item/crowbar,
/obj/item/screwdriver,
/obj/item/weldingtool,
/obj/item/wirecutters,
/obj/item/wrench,
/obj/item/multitool,
/obj/item/flashlight,
/obj/item/stack/cable_coil,
/obj/item/analyzer,
/obj/item/extinguisher/mini,
/obj/item/radio,
/obj/item/clothing/gloves,
/obj/item/resonator,
/obj/item/mining_scanner,
/obj/item/pickaxe,
/obj/item/stack/sheet/animalhide,
/obj/item/stack/sheet/sinew,
/obj/item/stack/sheet/bone,
/obj/item/lighter,
/obj/item/storage/fancy/cigarettes,
/obj/item/reagent_containers/food/drinks/bottle,
/obj/item/stack/medical,
/obj/item/kitchen/knife,
/obj/item/reagent_containers/hypospray,
/obj/item/gps,
/obj/item/storage/bag/ore,
/obj/item/survivalcapsule,
/obj/item/t_scanner/adv_mining_scanner,
/obj/item/reagent_containers/food/pill,
/obj/item/stack/ore,
/obj/item/reagent_containers/food/drinks,
/obj/item/organ/internal/hivelord_core,
/obj/item/wormhole_jaunter,
/obj/item/storage/bag/plants,
/obj/item/stack/marker_beacon)
/obj/item/storage/belt/mining/New()
..()
new /obj/item/survivalcapsule(src)
@@ -191,6 +191,15 @@
new /obj/item/reagent_containers/glass/beaker( src )
new /obj/item/reagent_containers/glass/beaker( src )
/obj/item/storage/box/beakers/bluespace
name = "box of bluespace beakers"
icon_state = "beaker"
/obj/item/storage/box/beakers/bluespace/New()
..()
for(var/i in 1 to 7)
new /obj/item/reagent_containers/glass/beaker/bluespace(src)
/obj/item/storage/box/iv_bags
name = "IV Bags"
desc = "A box full of empty IV bags."
@@ -536,6 +545,10 @@
for(var/i in 1 to 5)
new monkey_cube_type(src)
/obj/item/storage/box/monkeycubes/syndicate
desc = "Waffle Co. brand monkey cubes. Just add water and a dash of subterfuge!"
monkey_cube_type = /obj/item/reagent_containers/food/snacks/monkeycube/syndicate
/obj/item/storage/box/monkeycubes/farwacubes
name = "farwa cube box"
desc = "Drymate brand farwa cubes. Just add water!"
@@ -1044,6 +1057,56 @@
new /obj/item/circuitboard/circuit_imprinter(src)
new /obj/item/circuitboard/rdconsole/public(src)
/obj/item/storage/box/stockparts/basic //for ruins where it's a bad idea to give access to an autolathe/protolathe, but still want to make stock parts accessible
name = "box of stock parts"
desc = "Contains a variety of basic stock parts."
/obj/item/storage/box/stockparts/basic/New()
..()
for(var/i in 1 to 3)
new /obj/item/stock_parts/capacitor(src)
new /obj/item/stock_parts/scanning_module(src)
new /obj/item/stock_parts/manipulator(src)
new /obj/item/stock_parts/micro_laser(src)
new /obj/item/stock_parts/matter_bin(src)
/obj/item/storage/box/stockparts/deluxe
name = "box of deluxe stock parts"
desc = "Contains a variety of deluxe stock parts."
/obj/item/storage/box/stockparts/deluxe/New()
for(var/i in 1 to 3)
new /obj/item/stock_parts/capacitor/quadratic(src)
new /obj/item/stock_parts/scanning_module/triphasic(src)
new /obj/item/stock_parts/manipulator/femto(src)
new /obj/item/stock_parts/micro_laser/quadultra(src)
new /obj/item/stock_parts/matter_bin/bluespace(src)
/obj/item/storage/box/mininghardsuit
name = "Boxed Mining Hardsuit"
desc = "Contains a mining hardsuit and helmet. For mining."
/obj/item/storage/box/mininghardsuit/New()
..()
new /obj/item/clothing/suit/space/hardsuit/mining(src)
new /obj/item/clothing/head/helmet/space/hardsuit/mining(src)
/obj/item/storage/box/hug
name = "box of hugs"
desc = "A special box for sensitive people."
icon_state = "hugbox"
foldable = null
/obj/item/storage/box/hug/suicide_act(mob/user)
user.visible_message("<span class='suicide'>[user] clamps the box of hugs on [user.p_their()] jugular! Guess it wasn't such a hugbox after all..</span>")
return (BRUTELOSS)
/obj/item/storage/box/hug/attack_self(mob/user)
..()
user.changeNext_move(CLICK_CD_MELEE)
playsound(loc, "rustle", 50, 1, -5)
user.visible_message("<span class='notice'>[user] hugs \the [src].</span>","<span class='notice'>You hug \the [src].</span>")
#undef NODESIGN
#undef NANOTRASEN
#undef SYNDI
@@ -62,6 +62,7 @@
/obj/item/storage/fancy/egg_box
icon_state = "eggbox"
icon_type = "egg"
item_state = "eggbox"
name = "egg box"
storage_slots = 12
can_hold = list(/obj/item/reagent_containers/food/snacks/egg)
@@ -1,112 +1,120 @@
/obj/item/storage/box/syndicate/
New()
..()
switch(pickweight(list("bloodyspai" = 1, "thief" = 1, "bond" = 1, "sabotage" = 1, "payday" = 1, "implant" = 1, "hacker" = 1, "darklord" = 1, "gadgets" = 1, "professional" = 1)))
if("bloodyspai") // 28TC
new /obj/item/twohanded/garrote(src)
new /obj/item/pinpointer/advpinpointer(src)
new /obj/item/clothing/mask/chameleon(src)
new /obj/item/clothing/under/chameleon(src)
new /obj/item/card/id/syndicate(src)
new /obj/item/flashlight/emp(src)
new /obj/item/storage/fancy/cigarettes/cigpack_syndicate(src)
new /obj/item/clothing/glasses/hud/security/chameleon(src)
new /obj/item/camera_bug(src)
return
/obj/item/storage/box/syndicate/New()
..()
switch(pickweight(list("bloodyspai" = 1, "thief" = 1, "bond" = 1, "sabotage" = 1, "payday" = 1, "implant" = 1, "hacker" = 1, "darklord" = 1, "professional" = 1)))
if("bloodyspai") // 35TC + one 0TC
new /obj/item/clothing/under/chameleon(src) // 2TC
new /obj/item/clothing/mask/chameleon(src) // 0TC
new /obj/item/card/id/syndicate(src) // 2TC
new /obj/item/clothing/shoes/chameleon/noslip(src) // 2TC
new /obj/item/camera_bug(src) // 1TC
new /obj/item/multitool/ai_detect(src) // 1TC
new /obj/item/encryptionkey/syndicate(src) // 2TC
new /obj/item/twohanded/garrote(src) // 10TC
new /obj/item/pinpointer/advpinpointer(src) // 4TC
new /obj/item/storage/fancy/cigarettes/cigpack_syndicate(src) // 2TC
new /obj/item/flashlight/emp(src) // 2TC
new /obj/item/clothing/glasses/hud/security/chameleon(src) // 2TC
new /obj/item/chameleon(src) // 8TC
return
if("thief") // 30TC
new /obj/item/gun/energy/kinetic_accelerator/crossbow(src)
new /obj/item/chameleon(src)
new /obj/item/clothing/gloves/color/black/thief(src)
new /obj/item/card/id/syndicate(src)
new /obj/item/clothing/shoes/chameleon/noslip(src)
new /obj/item/storage/box/syndie_kit/safecracking(src)
return
if("thief") // 40TC
new /obj/item/gun/energy/kinetic_accelerator/crossbow(src) // 12TC
new /obj/item/chameleon(src) // 8TC
new /obj/item/clothing/glasses/thermal/syndi(src) // 6TC
new /obj/item/clothing/gloves/color/black/thief(src) // 6TC
new /obj/item/card/id/syndicate(src) // 2TC
new /obj/item/clothing/shoes/chameleon/noslip(src) // 2TC
new /obj/item/storage/backpack/satchel_flat(src) // 2TC
new /obj/item/encryptionkey/syndicate(src) // 2TC
return
if("bond") // 29TC + Healing Cocktail + armored suit jacket
new /obj/item/gun/projectile/automatic/pistol(src)
new /obj/item/suppressor(src)
new /obj/item/ammo_box/magazine/m10mm/hp(src)
new /obj/item/ammo_box/magazine/m10mm/ap(src)
new /obj/item/encryptionkey/syndicate(src)
new /obj/item/reagent_containers/food/drinks/drinkingglass/alliescocktail(src) // This drink heals now
new /obj/item/card/id/syndicate(src)
new /obj/item/dnascrambler(src)
new /obj/item/storage/box/syndie_kit/emp(src)
new /obj/item/CQC_manual(src)
new /obj/item/clothing/under/suit_jacket/really_black(src)
new /obj/item/clothing/suit/storage/lawyer/blackjacket/armored(src)
return
if("bond") // 33TC + three 0TC
new /obj/item/gun/projectile/automatic/pistol(src) // 4TC
new /obj/item/suppressor(src) // 1TC
new /obj/item/ammo_box/magazine/m10mm/hp(src) // 3TC
new /obj/item/ammo_box/magazine/m10mm/ap(src) // 2TC
new /obj/item/clothing/under/suit_jacket/really_black(src) // 0TC
new /obj/item/card/id/syndicate(src) // 2TC
new /obj/item/clothing/suit/storage/lawyer/blackjacket/armored(src) // 0TC
new /obj/item/encryptionkey/syndicate(src) // 2TC
new /obj/item/reagent_containers/food/drinks/drinkingglass/alliescocktail(src) // 0TC
new /obj/item/dnascrambler(src) // 4TC
new /obj/item/storage/box/syndie_kit/emp(src) // 2TC
new /obj/item/CQC_manual(src) // 13TC
return
if("sabotage") // 31TC + RCD + Insuls
new /obj/item/powersink(src)
new /obj/item/grenade/syndieminibomb(src)
new /obj/item/card/emag(src)
new /obj/item/grenade/clusterbuster/n2o(src)
new /obj/item/clothing/gloves/color/yellow(src)
new /obj/item/rcd/preloaded(src)
new /obj/item/storage/box/syndie_kit/space(src)
return
if("sabotage") // 47TC + three 0TC
new /obj/item/grenade/plastic/c4(src) // 1TC
new /obj/item/grenade/plastic/c4(src) // 1TC
new /obj/item/camera_bug(src) // 1TC
new /obj/item/powersink(src) // 10TC
new /obj/item/cartridge/syndicate(src) // 6TC
new /obj/item/rcd/preloaded(src) // 0TC
new /obj/item/card/emag(src) // 6TC
new /obj/item/clothing/gloves/color/yellow(src) // 0TC
new /obj/item/grenade/syndieminibomb(src) // 6TC
new /obj/item/grenade/clusterbuster/n2o(src) // 0TC
new /obj/item/storage/box/syndie_kit/space(src) // 4TC
new /obj/item/encryptionkey/syndicate(src) // 2TC
return
if("payday") // 31TC + armored suit jacket
new /obj/item/gun/projectile/revolver(src)
new /obj/item/ammo_box/a357(src)
new /obj/item/ammo_box/a357(src)
new /obj/item/card/emag(src)
new /obj/item/grenade/plastic/c4(src)
new /obj/item/card/id/syndicate(src)
new /obj/item/clothing/under/suit_jacket/really_black(src)
new /obj/item/clothing/suit/storage/lawyer/blackjacket/armored(src)
new /obj/item/clothing/gloves/color/latex/nitrile(src)
new /obj/item/clothing/mask/gas/clown_hat(src)
new /obj/item/thermal_drill(src)
return
if("payday") // 33TC + four 0TC
new /obj/item/gun/projectile/revolver(src) // 13TC
new /obj/item/ammo_box/a357(src) // 3TC
new /obj/item/ammo_box/a357(src) // 3TC
new /obj/item/card/emag(src) // 6TC
new /obj/item/grenade/plastic/c4(src) // 1TC
new /obj/item/card/id/syndicate(src) // 2TC
new /obj/item/clothing/under/suit_jacket/really_black(src) //0TC
new /obj/item/clothing/suit/storage/lawyer/blackjacket/armored(src) //0TC
new /obj/item/clothing/gloves/color/latex/nitrile(src) //0 TC
new /obj/item/clothing/mask/gas/clown_hat(src) // 0TC
new /obj/item/thermal_drill(src) // 3TC
new /obj/item/encryptionkey/syndicate(src) // 2TC
return
if("implant") // 35TC
new /obj/item/implanter/uplink(src)
new /obj/item/implanter/adrenalin(src)
new /obj/item/implanter/storage(src)
new /obj/item/implanter/freedom(src)
return
if("implant") // 39TC + ten free TC
new /obj/item/implanter/freedom(src) // 5TC
new /obj/item/implanter/uplink(src) // 14TC (ten free TC)
new /obj/item/implanter/emp(src) // 0TC
new /obj/item/implanter/adrenalin(src) // 8TC
new /obj/item/implanter/explosive(src) // 2TC
new /obj/item/implanter/storage(src) // 8TC
new /obj/item/encryptionkey/syndicate(src) // 2TC
return
if("hacker") // 22TC + Ion law uploader
new /obj/item/aiModule/syndicate(src)
new /obj/item/encryptionkey/binary(src)
new /obj/item/encryptionkey/syndicate(src)
new /obj/item/aiModule/toyAI(src)
new /obj/item/card/emag(src)
return
if("hacker") // 30TC + one 0TC
new /obj/item/aiModule/syndicate(src) // 12TC
new /obj/item/card/emag(src) // 6TC
new /obj/item/encryptionkey/syndicate(src) // 2TC
new /obj/item/encryptionkey/binary(src) // 5TC
new /obj/item/aiModule/toyAI(src) // 0TC
new /obj/item/multitool/ai_detect(src) // 1TC
new /obj/item/storage/box/syndie_kit/c4 // 4TC
return
if("darklord") // 23TC + TK implant
new /obj/item/melee/energy/sword/saber/red(src)
new /obj/item/melee/energy/sword/saber/red(src)
new /obj/item/dnainjector/telemut/darkbundle(src)
new /obj/item/clothing/suit/hooded/chaplain_hoodie(src)
new /obj/item/card/id/syndicate(src)
new /obj/item/clothing/shoes/chameleon/noslip(src)
new /obj/item/clothing/mask/chameleon(src)
return
if("darklord") // 22TC + two 0TC
new /obj/item/melee/energy/sword/saber/red(src) // 8TC
new /obj/item/melee/energy/sword/saber/red(src) // 8TC
new /obj/item/dnainjector/telemut/darkbundle(src) // 0TC
new /obj/item/clothing/suit/hooded/chaplain_hoodie(src) // 0TC
new /obj/item/card/id/syndicate(src) // 2TC
new /obj/item/clothing/shoes/chameleon/noslip(src) // 2TC
new /obj/item/clothing/mask/chameleon(src) // 2TC
new /obj/item/encryptionkey/syndicate(src) // 2TC
return
if("gadgets") // 30TC
new /obj/item/clothing/gloves/color/yellow/power(src)
new /obj/item/pen/sleepy(src)
new /obj/item/clothing/shoes/chameleon/noslip(src)
new /obj/item/clothing/glasses/thermal/syndi(src)
new /obj/item/flashlight/emp(src)
new /obj/item/stamp/chameleon(src)
new /obj/item/multitool/ai_detect(src)
return
if("professional") // 29TC + armored suit jacket + insulated combat gloves
new /obj/item/gun/projectile/automatic/sniper_rifle/soporific(src) // Unique version that starts with soporific rounds loaded and cannot be suppressed
new /obj/item/ammo_box/magazine/sniper_rounds/soporific(src)
new /obj/item/ammo_box/magazine/sniper_rounds/soporific(src)
new /obj/item/pen/edagger(src)
new /obj/item/clothing/glasses/thermal/syndi/sunglasses(src)
new /obj/item/clothing/under/suit_jacket/really_black(src)
new /obj/item/clothing/suit/storage/lawyer/blackjacket/armored(src)
new /obj/item/clothing/gloves/combat(src)
return
if("professional") // 32 TC + two 0TC
new /obj/item/gun/projectile/automatic/sniper_rifle/syndicate/penetrator(src) // 16TC
new /obj/item/ammo_box/magazine/sniper_rounds/penetrator(src) // 5TC
new /obj/item/ammo_box/magazine/sniper_rounds/soporific(src) // 3TC
new /obj/item/clothing/glasses/thermal/syndi/sunglasses(src) // 6TC
new /obj/item/clothing/gloves/combat(src) // 0 TC
new /obj/item/clothing/under/suit_jacket/really_black(src) // 0 TC
new /obj/item/clothing/suit/storage/lawyer/blackjacket/armored(src) // 0TC
new /obj/item/pen/edagger(src) // 2TC
new /obj/item/encryptionkey/syndicate(src) // 2TC
return
/obj/item/storage/box/syndie_kit
name = "Box"