Merge branch 'VOREStation:master' into master

This commit is contained in:
lm40
2023-05-28 12:37:21 -04:00
committed by GitHub
134 changed files with 3421 additions and 283 deletions
@@ -2,6 +2,7 @@
var/restoration_external = 5
var/restoration_internal = 20
var/repair_external = FALSE
var/mech_repair = 10
/obj/item/stack/nanopaste/advanced
name = "advanced nanopaste"
@@ -10,4 +11,5 @@
icon = 'icons/obj/stacks_vr.dmi'
icon_state = "adv_nanopaste"
restoration_external = 10
repair_external = TRUE
repair_external = TRUE
mech_repair = 20
+1 -1
View File
@@ -17,7 +17,7 @@
center_of_mass = null
var/list/datum/stack_recipe/recipes
var/singular_name
VAR_PROTECTED/amount = 1
var/amount = 1
var/max_amount //also see stack recipes initialisation, param "max_res_amount" must be equal to this max_amount
var/stacktype //determines whether different stack types can merge
var/build_type = null //used when directly applied to a turf
+20 -1
View File
@@ -48,4 +48,23 @@
name = "purple tennis ball"
desc = "A purple tennis ball. Now you've seen everything. Purple, seriously?"
icon_state = "tennis_purple"
item_state = "tennis_purple"
item_state = "tennis_purple"
/obj/item/toy/baseball
name = "baseball"
desc = "A classic baseball; a rubber core surrounded by yarn and covered by faux leather. Getting hit with one is akin to getting punched."
icon = 'icons/obj/balls_vr.dmi'
icon_state = "baseball"
item_icons = list(
slot_l_hand_str = 'icons/mob/items/righthand_balls_vr.dmi',
slot_r_hand_str = 'icons/mob/items/lefthand_balls_vr.dmi',
slot_wear_mask_str = 'icons/mob/mouthball_vr.dmi',
)
item_state = "baseball"
slot_flags = SLOT_MASK
throw_range = 16
force = 2.0
throwforce = 5.0
throw_speed = 5
throw_range = 5
w_class = ITEMSIZE_SMALL
+41
View File
@@ -431,3 +431,44 @@
icon_state = "brainzsnaxred"
drop_sound = 'sound/items/drop/soda.ogg'
pickup_sound = 'sound/items/pickup/soda.ogg'
//Candy Bars (1-10)
/obj/item/trash/candy/cb01
name = "\improper Tau Ceti Bar wrapper"
icon_state = "cb01"
/obj/item/trash/candy/cb02
name = "\improper Hundred-Thousand Thaler Bar wrapper"
icon_state = "cb02"
/obj/item/trash/candy/cb03
name = "\improper Lars' Saltlakris wrapper"
icon_state = "cb03"
/obj/item/trash/candy/cb04
name = "\improper Aerostat Bar wrapper"
icon_state = "cb04"
/obj/item/trash/candy/cb05
name = "\improper Andromeda Bar wrapper"
icon_state = "cb05"
/obj/item/trash/candy/cb06
name = "\improper Mocha Crunch wrapper"
icon_state = "cb06"
/obj/item/trash/candy/cb07
name = "\improper TaroMilk Bar wrapper"
icon_state = "cb07"
/obj/item/trash/candy/cb08
name = "\improper Cronk Bar wrapper"
icon_state = "cb08"
/obj/item/trash/candy/cb09
name = "\improper Kaju Mamma! Bar wrapper"
icon_state = "cb09"
/obj/item/trash/candy/cb10
name = "\improper Shantak Bar wrapper"
icon_state = "cb10"
@@ -6,7 +6,7 @@
item_state = "saddlebag"
icon_state = "saddlebag"
max_storage_space = INVENTORY_DUFFLEBAG_SPACE //Saddlebags can hold more, like dufflebags
slowdown = 1 //And are slower, too...
slowdown = 0.5 //And are slower, too...
var/taurtype = /datum/sprite_accessory/tail/taur/horse //Acceptable taur type to be wearing this
var/no_message = "You aren't the appropriate taur type to wear this!"
@@ -35,7 +35,7 @@
icon_state = "saddlebag"
var/icon_base = "saddlebag"
max_storage_space = INVENTORY_DUFFLEBAG_SPACE //Saddlebags can hold more, like dufflebags
slowdown = 1 //And are slower, too...
slowdown = 0.5 //And are slower, too...
var/no_message = "You aren't the appropriate taur type to wear this!"
/obj/item/weapon/storage/backpack/saddlebag_common/mob_can_equip(var/mob/living/carbon/human/H, slot, disable_warning = 0)
+73 -51
View File
@@ -5,18 +5,26 @@
* re-implemented in other classes.
*
* Contains:
* Generic non-item
* Trash Bag
* Plastic Bag
* Mining Satchel
* Plant Bag
* Sheet Snatcher
* Sheet Snatcher (Cyborg)
* Cash Bag
* Chemistry Bag
Food Bag
* Food Bag
* Food Bag (Service Hound)
* Evidence Bag
*
* -Sayu
*/
// Generic non-item
// -----------------------------
// Generic non-item
// -----------------------------
/obj/item/weapon/storage/bag
allow_quick_gather = 1
allow_quick_empty = 1
@@ -67,7 +75,6 @@
// -----------------------------
// Plastic Bag
// -----------------------------
/obj/item/weapon/storage/bag/plasticbag
name = "plastic bag"
desc = "It's a very flimsy, very noisy alternative to a bag."
@@ -85,9 +92,9 @@
// Mining Satchel
// -----------------------------
/*
* Mechoid - Orebags are the most common quick-gathering thing, and also have tons of lag associated with it. Their checks are going to be hyper-simplified due to this, and their INCREDIBLY singular target contents.
* Mechoid - Orebags are the most common quick-gathering thing, and also have tons of lag associated with it.
* Their checks are going to be hyper-simplified due to this, and their INCREDIBLY singular target contents.
*/
/obj/item/weapon/storage/bag/ore
name = "mining satchel"
desc = "This little bugger can be used to store and transport ores."
@@ -239,25 +246,14 @@
/obj/item/weapon/storage/bag/ore/open(mob/user as mob) //No opening it for the weird UI of having shit-tons of ore inside it.
user.examinate(src)
/*
/obj/item/weapon/storage/bag/ore/proc/update_ore_count() //Stolen from ore boxes. OLD way of storing ore.
stored_ore = list()
for(var/obj/item/weapon/ore/O in contents)
if(stored_ore[O.name])
stored_ore[O.name]++
else
stored_ore[O.name] = 1
*/
// -----------------------------
// Plant bag
// -----------------------------
/obj/item/weapon/storage/bag/plants
name = "plant bag"
icon = 'icons/obj/hydroponics_machines.dmi'
icon = 'icons/obj/hydroponics_machines_vr.dmi'
icon_state = "plantbag"
desc = "A sturdy bag used to transport fresh produce with ease."
max_storage_space = ITEMSIZE_COST_NORMAL * 25
max_w_class = ITEMSIZE_NORMAL
w_class = ITEMSIZE_SMALL
@@ -265,8 +261,9 @@
/obj/item/weapon/storage/bag/plants/large
name = "large plant bag"
w_class = ITEMSIZE_SMALL
max_storage_space = ITEMSIZE_COST_NORMAL * 45
icon_state = "large_plantbag"
desc = "A large and sturdy bag used to transport fresh produce with ease."
max_storage_space = ITEMSIZE_COST_NORMAL * 50
// -----------------------------
// Sheet Snatcher
@@ -400,24 +397,9 @@
/obj/item/weapon/storage/bag/sheetsnatcher/borg
name = "sheet snatcher 9000"
desc = ""
desc = null
capacity = 500//Borgs get more because >specialization
// -----------------------------
// Food Bag (Service Hound)
// -----------------------------
/obj/item/weapon/storage/bag/dogborg
name = "dog bag"
icon = 'icons/obj/storage.dmi'
icon_state = "foodbag"
desc = "A bag for storing things of all kinds."
max_storage_space = ITEMSIZE_COST_NORMAL * 25
max_w_class = ITEMSIZE_NORMAL
w_class = ITEMSIZE_SMALL
can_hold = list(/obj/item/weapon/reagent_containers/food/snacks,/obj/item/weapon/reagent_containers/food/condiment,
/obj/item/weapon/reagent_containers/glass/beaker,/obj/item/weapon/reagent_containers/glass/bottle,/obj/item/weapon/coin,/obj/item/weapon/spacecash,
/obj/item/weapon/reagent_containers/food/snacks/grown,/obj/item/seeds,/obj/item/weapon/grown,/obj/item/weapon/reagent_containers/pill)
// -----------------------------
// Cash Bag
// -----------------------------
@@ -432,12 +414,12 @@
w_class = ITEMSIZE_SMALL
can_hold = list(/obj/item/weapon/coin,/obj/item/weapon/spacecash,/obj/item/weapon/spacecasinocash)
// -----------------------------
// Chemistry Bag
// -----------------------------
// -----------------------------
// Chemistry Bag
// -----------------------------
/obj/item/weapon/storage/bag/chemistry
name = "chemistry bag"
icon = 'icons/obj/storage.dmi'
icon = 'icons/obj/storage_vr.dmi'
icon_state = "chembag"
desc = "A bag for storing pills, patches, and bottles."
max_storage_space = 200
@@ -445,12 +427,38 @@
slowdown = 3
can_hold = list(/obj/item/weapon/reagent_containers/pill,/obj/item/weapon/reagent_containers/glass/beaker,/obj/item/weapon/reagent_containers/glass/bottle)
// -----------------------------
// Food Bag
// -----------------------------
// -----------------------------
// Xeno Bag
// -----------------------------
/obj/item/weapon/storage/bag/xeno
name = "xenobiology bag"
icon = 'icons/obj/storage_vr.dmi'
icon_state = "xenobag"
desc = "A bag for storing various slime products."
max_storage_space = ITEMSIZE_COST_SMALL * 12
max_w_class = ITEMSIZE_NORMAL
w_class = ITEMSIZE_SMALL
can_hold = list(/obj/item/slime_extract,/obj/item/slimepotion, /obj/item/weapon/reagent_containers/food/snacks/monkeycube)
// -----------------------------
// Virology Bag
// -----------------------------
/obj/item/weapon/storage/bag/virology
name = "virology bag"
icon = 'icons/obj/storage_vr.dmi'
icon_state = "biobag"
desc = "A bag for storing various biological products."
max_storage_space = ITEMSIZE_COST_SMALL * 12
max_w_class = ITEMSIZE_NORMAL
w_class = ITEMSIZE_SMALL
can_hold = list(/obj/item/weapon/reagent_containers/glass/beaker/vial/,/obj/item/weapon/virusdish/)
// -----------------------------
// Food Bag
// -----------------------------
/obj/item/weapon/storage/bag/food
name = "food bag"
icon = 'icons/obj/storage.dmi'
icon = 'icons/obj/storage_vr.dmi'
icon_state = "foodbag"
desc = "A bag for storing foods of all kinds."
max_storage_space = ITEMSIZE_COST_NORMAL * 25
@@ -458,16 +466,30 @@
w_class = ITEMSIZE_SMALL
can_hold = list(/obj/item/weapon/reagent_containers/food/snacks,/obj/item/weapon/reagent_containers/food/condiment)
// -----------------------------
// Evidence Bag
// -----------------------------
// -----------------------------
// Food Bag (Service Hound)
// -----------------------------
/obj/item/weapon/storage/bag/dogborg
name = "dog bag"
icon = 'icons/obj/storage_vr.dmi'
icon_state = "foodbag"
desc = "An intergrated bag for storing things of all kinds."
max_storage_space = ITEMSIZE_COST_NORMAL * 25
max_w_class = ITEMSIZE_NORMAL
w_class = ITEMSIZE_SMALL
can_hold = list(/obj/item/weapon/reagent_containers/food/snacks,/obj/item/weapon/reagent_containers/food/condiment,
/obj/item/weapon/reagent_containers/glass/beaker,/obj/item/weapon/reagent_containers/glass/bottle,/obj/item/weapon/coin,/obj/item/weapon/spacecash,
/obj/item/weapon/reagent_containers/food/snacks/grown,/obj/item/seeds,/obj/item/weapon/grown,/obj/item/weapon/reagent_containers/pill)
// -----------------------------
// Evidence Bag
// -----------------------------
/obj/item/weapon/storage/bag/detective
name = "secure satchel"
icon = 'icons/obj/storage.dmi'
icon = 'icons/obj/storage_vr.dmi'
icon_state = "detbag"
desc = "A bag for storing investigation things. You know, securely."
max_storage_space = ITEMSIZE_COST_NORMAL * 15
max_w_class = ITEMSIZE_NORMAL
w_class = ITEMSIZE_SMALL
can_hold = list(/obj/item/weapon/forensics/swab,/obj/item/weapon/sample/print,/obj/item/weapon/sample/fibers,/obj/item/weapon/evidencebag)
can_hold = list(/obj/item/weapon/forensics/swab,/obj/item/weapon/sample/print,/obj/item/weapon/sample/fibers,/obj/item/weapon/evidencebag)
@@ -1,15 +1,2 @@
/obj/item/weapon/storage/bag/chemistry
slot_flags = null
/obj/item/weapon/storage/bag/xeno
name = "xenobiology bag"
icon = 'icons/obj/storage.dmi'
icon_state = "chembag"
max_storage_space = ITEMSIZE_COST_SMALL * 12
max_w_class = ITEMSIZE_NORMAL
w_class = ITEMSIZE_SMALL
can_hold = list(
/obj/item/slime_extract,
/obj/item/slimepotion,
/obj/item/weapon/reagent_containers/food/snacks/monkeycube
)
@@ -79,6 +79,8 @@
/obj/item/weapon/storage/fancy/egg_box/open(mob/user as mob)
if(open)
return
if (isobserver(usr))
return
open = TRUE
update_icon()
..()
+15 -1
View File
@@ -23,6 +23,7 @@
var/hitcost = 240
var/use_external_power = FALSE //only used to determine if it's a cyborg baton
var/grip_safety = TRUE
var/taped_safety = FALSE
/obj/item/weapon/melee/baton/New()
..()
@@ -100,7 +101,7 @@
/obj/item/weapon/melee/baton/dropped()
..()
if(status && grip_safety)
if(status && grip_safety && !taped_safety)
status = 0
visible_message("<span class='warning'>\The [src]'s grip safety engages!</span>")
update_icon()
@@ -109,6 +110,8 @@
. = ..()
if(Adjacent(user))
if(taped_safety)
. += "<span class='warning'>Someone has wrapped tape around the grip!</span>"
if(bcell)
. += "<span class='notice'>The baton is [round(bcell.percent())]% charged.</span>"
if(!bcell)
@@ -129,6 +132,17 @@
to_chat(user, "<span class='notice'>[src] already has a cell.</span>")
else
to_chat(user, "<span class='notice'>This cell is not fitted for [src].</span>")
if(istype(W, /obj/item/weapon/tape_roll) || istype(W, /obj/item/taperoll))
if(grip_safety && !taped_safety) //no point letting people wrap tape around the grips of batons without a safety
to_chat(user, "<span class='notice'>You firmly wrap tape around the baton's grip, disabling the safety system.</span>")
playsound(src, 'sound/effects/tape.ogg',25)
taped_safety = TRUE
else if(grip_safety && taped_safety)
to_chat(user, "<span class='notice'>The grip safety has already been taped down.</span>")
if(istype(W, /obj/item/weapon/tool/screwdriver))
if(taped_safety)
to_chat(user, "<span class='notice'>You painstakingly scrape away the tape over the grip safety.</span>")
taped_safety = FALSE
/obj/item/weapon/melee/baton/attack_hand(mob/user as mob)
if(user.get_inactive_hand() == src)
+1
View File
@@ -111,6 +111,7 @@ something, make sure it's not in one of the other lists.*/
prob(2);/obj/item/toy/tennis/cyan,
prob(2);/obj/item/toy/tennis/blue,
prob(2);/obj/item/toy/tennis/purple,
prob(1);/obj/item/toy/baseball,
prob(1);/obj/item/pizzavoucher
/* VOREStation Edit End */
)
+2 -1
View File
@@ -156,5 +156,6 @@
prob(2);/obj/item/toy/tennis/blue,
prob(2);/obj/item/toy/tennis/purple,
prob(2);/obj/item/clothing/ears/earmuffs,
prob(2);/obj/item/clothing/ears/earmuffs/headphones
prob(2);/obj/item/clothing/ears/earmuffs/headphones,
prob(2);/obj/item/toy/baseball
)
@@ -39,6 +39,14 @@
/obj/item/clothing/shoes/brown,
/obj/item/device/radio/headset/headset_qm, //VOREStation Edit,
/obj/item/device/radio/headset/headset_qm/alt, //VOREStation Edit,
/obj/item/clothing/under/rank/neo_qm,
/obj/item/clothing/under/rank/neo_qm_skirt,
/obj/item/clothing/under/rank/neo_qm_jacket,
/obj/item/clothing/under/rank/neo_qm_white,
/obj/item/clothing/under/rank/neo_qm_white_skirt,
/obj/item/clothing/under/rank/neo_qm_turtle,
/obj/item/clothing/under/rank/neo_qm_turtle_skirt,
/obj/item/clothing/under/rank/neo_qm_gorka,
/obj/item/clothing/gloves/black,
/obj/item/clothing/gloves/fingerless,
/obj/item/weapon/tank/emergency/oxygen,
@@ -11,6 +11,9 @@
///obj/item/clamp, //VOREStation Removal: without leaks those are pointless,
/obj/item/clothing/under/rank/chief_engineer,
/obj/item/clothing/under/rank/chief_engineer/skirt,
/obj/item/clothing/under/rank/neo_chiefengi,
/obj/item/clothing/under/rank/neo_chiefengi_skirt,
/obj/item/clothing/under/rank/neo_ce_gorka,
/obj/item/clothing/head/hardhat/white,
///obj/item/clothing/head/welding, //VOREStation Removal: Locker bloat, grr. They get fancy goggles or can raid the welding supplies locker for one of these.
/obj/item/clothing/gloves/heavy_engineer, //VOREStation Edit: chief gets the good shit
@@ -137,6 +137,11 @@
/obj/item/weapon/cartridge/cmo,
/obj/item/clothing/gloves/sterile/latex,
/obj/item/clothing/shoes/brown,
/obj/item/clothing/under/rank/neo_cmo,
/obj/item/clothing/under/rank/neo_cmo_skirt,
/obj/item/clothing/under/rank/neo_cmo_turtle,
/obj/item/clothing/under/rank/neo_cmo_turtle_skirt,
/obj/item/clothing/under/rank/neo_cmo_gorka,
/obj/item/device/radio/headset/heads/cmo,
/obj/item/device/radio/headset/heads/cmo/alt,
/obj/item/device/flash,
@@ -35,6 +35,11 @@
/obj/item/clothing/suit/storage/toggle/labcoat,
/obj/item/clothing/suit/storage/toggle/labcoat/modern,
/obj/item/clothing/suit/storage/toggle/labcoat/rd,
/obj/item/clothing/under/rank/neo_rd_turtle,
/obj/item/clothing/under/rank/neo_rd_turtle_skirt,
/obj/item/clothing/under/rank/neo_rd_suit,
/obj/item/clothing/under/rank/neo_rd_suit_skirt,
/obj/item/clothing/under/rank/neo_rd_gorka,
/obj/item/weapon/cartridge/rd,
/obj/item/clothing/shoes/white,
/obj/item/clothing/shoes/laceup/brown,
@@ -49,6 +49,15 @@
/obj/item/clothing/under/lawyer/red,
/obj/item/clothing/under/lawyer/red/skirt,
/obj/item/clothing/under/lawyer/oldman,
/obj/item/clothing/under/rank/neo_hop,
/obj/item/clothing/under/rank/neo_hop_skirt,
/obj/item/clothing/under/rank/neo_hop_parade_masc,
/obj/item/clothing/under/rank/neo_hop_parade_fem,
/obj/item/clothing/under/rank/neo_hop_turtle,
/obj/item/clothing/under/rank/neo_hop_turtle_skirt,
/obj/item/clothing/under/rank/neo_cmd_gorka,
/obj/item/clothing/suit/storage/toggle/labcoat/neo_hopformal,
/obj/item/clothing/suit/storage/toggle/labcoat/neo_civ_dep,
/obj/item/clothing/shoes/brown,
/obj/item/clothing/shoes/black,
/obj/item/clothing/shoes/laceup,
@@ -133,6 +142,13 @@
/obj/item/clothing/head/helmet/dermal,
/obj/item/clothing/head/helmet/warden,
/obj/item/clothing/head/helmet/warden/hat,
/obj/item/clothing/under/rank/neo_warden_red,
/obj/item/clothing/under/rank/neo_warden_red_skirt,
/obj/item/clothing/under/rank/neo_warden_blue,
/obj/item/clothing/suit/storage/vest/wardencoat/neo_armsco_trench,
/obj/item/clothing/suit/storage/vest/wardencoat/neo_bluewarden,
/obj/item/clothing/suit/storage/vest/wardencoat/neo_warden_heavy,
/obj/item/clothing/under/rank/neo_sec_gorka,
/obj/item/weapon/cartridge/security,
/obj/item/device/radio/headset/headset_sec,
/obj/item/device/radio/headset/headset_sec/alt,
@@ -13,6 +13,22 @@
/obj/item/clothing/suit/storage/vest/hoscoat/jensen/alt,
/obj/item/clothing/suit/storage/vest/hoscoat/jensen,
/obj/item/clothing/suit/storage/vest/hoscoat,
/obj/item/clothing/under/rank/neo_hos_red,
/obj/item/clothing/under/rank/neo_hos_red_skirt,
/obj/item/clothing/under/rank/neo_hos_blackred,
/obj/item/clothing/under/rank/neo_hos_blackred_skirt,
/obj/item/clothing/under/rank/neo_hos_parade,
/obj/item/clothing/under/rank/neo_hos_parade_fem,
/obj/item/clothing/under/rank/neo_hos_blue,
/obj/item/clothing/under/rank/neo_hos_blackblue,
/obj/item/clothing/under/rank/neo_hos_blackblue_skirt,
/obj/item/clothing/under/rank/neo_hos_parade_blue,
/obj/item/clothing/under/rank/neo_hos_parade_blue_fem,
/obj/item/clothing/under/rank/neo_hos_gorka,
/obj/item/clothing/suit/storage/toggle/labcoat/neo_hos_parade,
/obj/item/clothing/suit/storage/toggle/labcoat/neo_hosformal_blue,
/obj/item/clothing/suit/storage/vest/wardencoat/neo_armsco_trench,
/obj/item/clothing/head/helmet/HoS/hat/blue,
/obj/item/clothing/head/helmet/dermal,
/obj/item/device/radio/headset/heads/hos,
/obj/item/device/radio/headset/heads/hos/alt,
@@ -463,6 +463,12 @@
/obj/item/clothing/head/caphat/beret,
/obj/item/clothing/under/rank/captain,
/obj/item/clothing/under/dress/dress_cap/femformal,
/obj/item/clothing/under/rank/neo_captain_parade,
/obj/item/clothing/under/rank/neo_captain_skirt,
/obj/item/clothing/under/rank/neo_captain,
/obj/item/clothing/under/rank/neo_captain_kilt,
/obj/item/clothing/under/rank/neo_captain_blacksuit,
/obj/item/clothing/under/rank/neo_commandutil,
/obj/item/clothing/shoes/brown,
/obj/item/clothing/gloves/captain,
/obj/item/clothing/under/dress/dress_cap,
@@ -242,6 +242,7 @@
prob(2);/obj/item/toy/tennis/cyan,
prob(2);/obj/item/toy/tennis/blue,
prob(2);/obj/item/toy/tennis/purple,
prob(1);/obj/item/toy/baseball,
prob(1);/obj/item/weapon/storage/box/brainzsnax,
prob(1);/obj/item/weapon/storage/box/brainzsnax/red,
prob(1);/obj/item/clothing/glasses/sunglasses,