Cargo additions, bugfixes and changes (#19438)

Operation Managers and Hangar Techs were supposed to always have the
Cargo Control program downloadable, but it was access-locked behind HOP
(which has been changed to executive officer). I also gave the program
the ability to run on laptops, so cargo techs actually have a reason to
bring a laptop.

Fixes some cargo bounties that were bugged (including #17225) and
removed some that cannot be fulfilled. Smoke grenades were removed from
security, machinists can't print the Telecomms Traffic Control board,
science can't print NVGs anymore, and there is no way in-game to produce
monkey hide.
This commit is contained in:
BoomerThor
2024-06-16 15:22:03 +00:00
committed by GitHub
parent 7115263bff
commit 93ab1c9791
11 changed files with 116 additions and 51 deletions
-9
View File
@@ -100,15 +100,6 @@
random_count = 5
wanted_types = list(/obj/item/trash)
/datum/bounty/item/assistant/monkey_hide
name = "Monkey Hide"
description = "One of the scientists at %BOSSSHORT is interested in testing products on monkey skin. Your mission is to acquire monkey's hide and ship it."
reward_low = 1500
reward_high = 2500
required_count = 5
random_count = 1
wanted_types = list(/obj/item/stack/material/animalhide/monkey)
/datum/bounty/item/assistant/heart
name = "Heart"
description = "%PERSONNAME is in critical condition after suffering a heart attack. Doctors say they need a new heart, fast. Ship one, pronto! Organic or mechanical, just hurry up!"
+77 -16
View File
@@ -43,13 +43,17 @@
reward_high = 4500
required_count = 4
random_count = 1
wanted_types = list(/obj/item/reagent_containers/food/snacks/icecreamsandwich, /obj/item/reagent_containers/food/snacks/icecream)
wanted_types = list(/obj/item/reagent_containers/food/snacks/icecreamsandwich,
/obj/item/reagent_containers/food/snacks/icecream,
/obj/item/reagent_containers/food/snacks/creamice)
/datum/bounty/item/chef/icecream/applies_to(obj/O)
if(!..())
return FALSE
if(istype(O, /obj/item/reagent_containers/food/snacks/icecreamsandwich))
return TRUE
if(istype(O, /obj/item/reagent_containers/food/snacks/creamice))
return TRUE
var/obj/item/reagent_containers/food/snacks/icecream/I = O
if(I?.ice_creamed)
return TRUE
@@ -66,8 +70,12 @@
/obj/item/reagent_containers/food/snacks/plump_pie,
/obj/item/reagent_containers/food/snacks/xemeatpie,
/obj/item/reagent_containers/food/snacks/cherrypie,
/obj/item/reagent_containers/food/snacks/chocolate_rikazu,
/obj/item/reagent_containers/food/snacks/fruit_rikazu,
/obj/item/reagent_containers/food/snacks/meat_rikazu,
/obj/item/reagent_containers/food/snacks/sliceable/keylimepie,
/obj/item/reagent_containers/food/snacks/sliceable/giffypie)
/obj/item/reagent_containers/food/snacks/sliceable/giffypie,
/obj/item/reagent_containers/food/snacks/vegetable_rikazu)
/datum/bounty/item/chef/salad
name = "Salad"
@@ -87,7 +95,8 @@
wanted_types = list(/obj/item/reagent_containers/food/snacks/carrotfries,
/obj/item/reagent_containers/food/snacks/fries,
/obj/item/reagent_containers/food/snacks/chilicheesefries,
/obj/item/reagent_containers/food/snacks/cheesyfries)
/obj/item/reagent_containers/food/snacks/cheesyfries,
/obj/item/reagent_containers/food/snacks/earthenroot_fries)
/datum/bounty/item/chef/superbite
name = "Super Bite Burger"
@@ -160,6 +169,9 @@
random_count = 1
wanted_types = list(/obj/item/reagent_containers/food/snacks/variable/kebab,
/obj/item/reagent_containers/food/snacks/monkeykabob,
/obj/item/reagent_containers/food/snacks/neaerakabob,
/obj/item/reagent_containers/food/snacks/nomadskewer,
/obj/item/reagent_containers/food/snacks/stokkebab,
/obj/item/reagent_containers/food/snacks/tofukabob,
/obj/item/reagent_containers/food/snacks/koiskebab3,
/obj/item/reagent_containers/food/snacks/donerkebab)
@@ -226,17 +238,27 @@
reward_high = 5300
required_count = 3
random_count = 1
wanted_types = list(/obj/item/reagent_containers/food/snacks/bacon_stick,
wanted_types = list(/obj/item/reagent_containers/food/snacks/aghrasshcake,
/obj/item/reagent_containers/food/snacks/bacon_stick,
/obj/item/reagent_containers/food/snacks/batwings,
/obj/item/reagent_containers/food/snacks/chilied_eggs,
/obj/item/reagent_containers/food/snacks/egg_pancake,
/obj/item/reagent_containers/food/snacks/father_breakfast,
/obj/item/reagent_containers/food/snacks/gukhefish,
/obj/item/reagent_containers/food/snacks/hatchbowl,
/obj/item/reagent_containers/food/snacks/hatchling_suprise,
/obj/item/reagent_containers/food/snacks/jellystew,
/obj/item/reagent_containers/food/snacks/razirnoodles,
/obj/item/reagent_containers/food/snacks/red_sun_special,
/obj/item/reagent_containers/food/snacks/riztizkzi_sea,
/obj/item/reagent_containers/food/snacks/sintapudding,
/obj/item/reagent_containers/food/snacks/sliceable/eyebowl,
/obj/item/reagent_containers/food/snacks/sliceable/grilled_carp,
/obj/item/reagent_containers/food/snacks/sliceable/sushi_roll,
/obj/item/reagent_containers/food/snacks/stokkebab,
/obj/item/reagent_containers/food/snacks/stuffed_meatball,
/obj/item/reagent_containers/food/snacks/chilied_eggs,
/obj/item/reagent_containers/food/snacks/sliceable/eyebowl,
/obj/item/reagent_containers/food/snacks/hatchbowl)
/obj/item/reagent_containers/food/snacks/stuffedcarp,
/obj/item/reagent_containers/food/snacks/stuffedfish)
/datum/bounty/item/chef/tajara
name = "Adhomai Delicacies"
@@ -245,16 +267,48 @@
reward_high = 5500
required_count = 3
random_count = 1
wanted_types = list(/obj/item/reagent_containers/food/snacks/adhomian_sausage,
wanted_types = list(/obj/item/reagent_containers/food/snacks/adhomian_porridge,
/obj/item/reagent_containers/food/snacks/adhomian_sausage,
/obj/item/reagent_containers/food/snacks/avah,
/obj/item/reagent_containers/food/snacks/chipplate/crownfurter,
/obj/item/reagent_containers/food/snacks/chipplate/miniavah_basket,
/obj/item/reagent_containers/food/snacks/chocolate_rikazu,
/obj/item/reagent_containers/food/snacks/clam_pasta,
/obj/item/reagent_containers/food/snacks/cone_cake,
/obj/item/reagent_containers/food/snacks/creamice,
/obj/item/reagent_containers/food/snacks/dip/sarmikhir,
/obj/item/reagent_containers/food/snacks/dip/tajhummus,
/obj/item/reagent_containers/food/snacks/dirt_roast,
/obj/item/reagent_containers/food/snacks/earthenroot_fries,
/obj/item/reagent_containers/food/snacks/earthenroot_mash,
/obj/item/reagent_containers/food/snacks/earthenroot_wedges,
/obj/item/reagent_containers/food/snacks/fermented_worm,
/obj/item/reagent_containers/food/snacks/fermented_worm_sandwich,
/obj/item/reagent_containers/food/snacks/fruit_rikazu,
/obj/item/reagent_containers/food/snacks/fruitgello,
/obj/item/reagent_containers/food/snacks/hardbread,
/obj/item/reagent_containers/food/snacks/hardbread_pudding,
/obj/item/reagent_containers/food/snacks/lardwich,
/obj/item/reagent_containers/food/snacks/meat_rikazu,
/obj/item/reagent_containers/food/snacks/nomadskewer,
/obj/item/reagent_containers/food/snacks/salad/earthenroot,
/obj/item/reagent_containers/food/snacks/sarmikhir_sandwich,
/obj/item/reagent_containers/food/snacks/seafoodmousse,
/obj/item/reagent_containers/food/snacks/sliceable/aspicfatshouter,
/obj/item/reagent_containers/food/snacks/sliceable/fatshouter_fillet,
/obj/item/reagent_containers/food/snacks/sliceable/fatshouterbake,
/obj/item/reagent_containers/food/snacks/sliceable/vegello,
/obj/item/reagent_containers/food/snacks/sliceable/zkahnkowafull,
/obj/item/reagent_containers/food/snacks/soup/earthenroot,
/obj/item/reagent_containers/food/snacks/soup/tajfish,
/obj/item/reagent_containers/food/snacks/spicy_clams,
/obj/item/reagent_containers/food/snacks/stew/tajaran,
/obj/item/reagent_containers/food/snacks/stuffed_earthenroot,
/obj/item/reagent_containers/food/snacks/tajaran_bread,
/obj/item/reagent_containers/food/snacks/tajcandy)
/obj/item/reagent_containers/food/snacks/tajcandy,
/obj/item/reagent_containers/food/snacks/tunneler_meategg,
/obj/item/reagent_containers/food/snacks/tunneler_souffle,
/obj/item/reagent_containers/food/snacks/vegetable_rikazu)
/datum/bounty/item/chef/skrell
name = "Federation Delicacies"
@@ -263,11 +317,19 @@
reward_high = 5700
required_count = 3
random_count = 1
wanted_types = list(/obj/item/reagent_containers/food/snacks/lortl,
wanted_types = list(/obj/item/reagent_containers/food/snacks/chipplate/neaeracandy,
/obj/item/reagent_containers/food/snacks/fjylozynboiled,
/obj/item/reagent_containers/food/snacks/gnaqmi,
/obj/item/reagent_containers/food/snacks/jyalrafresh,
/obj/item/reagent_containers/food/snacks/konaqu,
/obj/item/reagent_containers/food/snacks/lortl,
/obj/item/reagent_containers/food/snacks/neaerakabob,
/obj/item/reagent_containers/food/snacks/neaeraloaf,
/obj/item/reagent_containers/food/snacks/qlguabi,
/obj/item/reagent_containers/food/snacks/soup/qilvo,
/obj/item/reagent_containers/food/snacks/soup/zantiri,
/obj/item/reagent_containers/food/snacks/xuqqil,
/obj/item/reagent_containers/food/snacks/qlguabi)
/obj/item/reagent_containers/food/snacks/stew/neaera,
/obj/item/reagent_containers/food/snacks/xuqqil)
/datum/bounty/item/chef/curry
name = "Curry"
@@ -278,6 +340,7 @@
random_count = 1
wanted_types = list(/obj/item/reagent_containers/food/snacks/redcurry,
/obj/item/reagent_containers/food/snacks/greencurry,
/obj/item/reagent_containers/food/snacks/xanu_curry,
/obj/item/reagent_containers/food/snacks/yellowcurry)
/datum/bounty/item/chef/dip
@@ -314,9 +377,7 @@
reward_high = 3900
required_count = 3
random_count = 1
wanted_types = list(
/obj/item/reagent_containers/food/snacks/ramenbowl
)
wanted_types = list(/obj/item/reagent_containers/food/snacks/ramenbowl, /obj/item/reagent_containers/food/snacks/aoyama_ramen)
/datum/bounty/item/chef/matsuul
name = "Matsuul"
@@ -326,7 +387,7 @@
required_count = 3
random_count = 1
wanted_types = list(
/obj/item/reagent_containers/food/snacks/ramenbowl
/obj/item/reagent_containers/food/snacks/matsuul
)
/datum/bounty/item/chef/roulades
name = "Roulades"
+10 -1
View File
@@ -5,7 +5,16 @@
reward_high = 3900
required_count = 4
random_count = 2
wanted_types = list(/obj/structure/bed/stool/chair/padded)
wanted_types = list(/obj/structure/bed/stool/chair)
/datum/bounty/item/engineer/comfy_chair/applies_to(var/obj/structure/bed/stool/chair/O)
if(!..())
return FALSE
if(!istype(O))
return FALSE
if(O.padding_material) // Checks if the chair is padded
return TRUE
return FALSE
/datum/bounty/item/engineer/smes_coil
name = "Superconductive magnetic coil"
-11
View File
@@ -1,10 +1,3 @@
/datum/bounty/item/science/nightvision_goggles
name = "Night Vision Goggles"
description = "An electrical storm has busted all the lights at %BOSSSHORT. While management is waiting for replacements, perhaps some night vision goggles can be shipped?"
reward_low = 5200
reward_high = 6000
wanted_types = list(/obj/item/clothing/glasses/night)
/datum/bounty/item/science/experimental_welding_tool
name = "Experimental Welding Tool"
description = "A recent accident has left most of %BOSSSHORT's welding tools exploded. Ship replacements to be rewarded."
@@ -68,10 +61,6 @@
name = "Telecomms Server Monitor Circuitboard"
wanted_types = list(/obj/item/circuitboard/comm_server)
/datum/bounty/item/science/circuitboard/commtraffic
name = "Telecomms Traffic Control Circuitboard"
wanted_types = list(/obj/item/circuitboard/comm_traffic)
/datum/bounty/item/science/circuitboard/messagemonitor
name = "Message Monitor Circuitboard"
wanted_types = list(/obj/item/circuitboard/message_monitor)
-9
View File
@@ -64,15 +64,6 @@
random_count = 1
wanted_types = list(/obj/item/grenade/chem_grenade/teargas)
/datum/bounty/item/security/smoke
name = "Smoke Grenades"
description = "We need a few extra smoke grenades to restock the ERT. Any station that ships spares will be compensated."
reward_low = 2200
reward_high = 3200
required_count = 3
random_count = 1
wanted_types = list(/obj/item/grenade/chem_grenade/gas, /obj/item/grenade/smokebomb)
/datum/bounty/item/security/pepper
name = "Pepper Spray"
description = "Time to help some civil protection troopers toughen their response to being pepper sprayed. Any station that helps will be compensated. I love this job. -%PERSONNAME"
+1 -1
View File
@@ -23,7 +23,7 @@
/datum/bounty/item/phoron_sheet
name = "Phoron Sheets"
description = "Shipment of Phoron is considered to be a key part of the SCCV Horizon's operations within the CRZ. This bounty should always be prioritized."
description = "Shipment of Phoron is considered to be a key part of the SCCV Horizon's operations. This bounty should always be prioritized."
reward_low = 2600
reward_high = 3750
required_count = 40
-1
View File
@@ -58,4 +58,3 @@
cost = 5
material_id = "glass"
message = "glass sheets"
@@ -296,6 +296,20 @@
)
return flatten_list(_prg_list)
/datum/modular_computer_app_presets/supply/mining
name = "operations_mining"
display_name = "Mining"
description = "Contains the most common EVA programs."
available = TRUE
/datum/modular_computer_app_presets/supply/mining/return_install_programs(obj/item/modular_computer/comp)
var/list/_prg_list = list(
COMPUTER_APP_PRESET_SYSTEM,
COMPUTER_APP_PRESET_HORIZON_CIVILIAN,
new /datum/computer_file/program/away_manifest(comp),
)
return flatten_list(_prg_list)
/datum/modular_computer_app_presets/supply/machinist
name = "operations_machinist"
display_name = "Operations - Machinist"
@@ -7,9 +7,9 @@
size = 12
requires_ntnet = TRUE
available_on_ntnet = TRUE
required_access_download = ACCESS_HOP
required_access_download = ACCESS_CARGO
required_access_run = ACCESS_CARGO
usage_flags = PROGRAM_CONSOLE | PROGRAM_TELESCREEN
usage_flags = PROGRAM_LAPTOP | PROGRAM_CONSOLE | PROGRAM_TELESCREEN
tgui_id = "CargoControl"
var/page = "overview_main" //overview_main - Main Menu, overview_submitted - Submitted Order Overview, overview_approved - Approved Order Overview, settings - Settings, details - order details, bounties - centcom bounties
@@ -7,7 +7,7 @@
size = 6
requires_ntnet = TRUE
available_on_ntnet = TRUE
required_access_download = ACCESS_HOP
required_access_download = ACCESS_CARGO
usage_flags = PROGRAM_ALL
tgui_id = "CargoDelivery"
+11
View File
@@ -0,0 +1,11 @@
author: BoomerThor
delete-after: True
changes:
- bugfix: "Updates the cultural food bounty lists to include recent contributions."
- rscdel: "Removed depreciated bounties (smoke grenades, telecomms traffic, NVGs, monkey hide)."
- bugfix: "Fixed the padded chairs bounty to work properly."
- spellcheck: "Removes a mention of the Horizon being in the CRZ from the phoron bounty."
- qol: "Changed the access requirements for the Cargo Control and Cargo Delivery programs. OMs and Techs can now download these programs on their laptops."
- qol: "Added a mining laptop preset that comes with the shuttle manifest program."