From c418b139bef1795b8f0265e91e5dcf74424092bb Mon Sep 17 00:00:00 2001 From: SkyratBot <59378654+SkyratBot@users.noreply.github.com> Date: Sun, 25 Apr 2021 22:20:20 +0200 Subject: [PATCH] [MIRROR] Ports Mail From Kiwi Take 2: Arconomy Class Mail (#5172) * Ports Mail From Kiwi Take 2: Arconomy Class Mail * Update wardrobes.dm Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com> Co-authored-by: Gandalf --- code/__DEFINES/economy.dm | 5 + code/_globalvars/lists/flavor_misc.dm | 2 + code/controllers/subsystem/economy.dm | 10 + .../game/objects/effects/spawners/lootdrop.dm | 28 ++ code/game/objects/items/food/meat.dm | 16 + code/game/objects/items/mail.dm | 277 ++++++++++++++++++ .../objects/items/stacks/sheets/mineral.dm | 9 + code/modules/cargo/exports/large_objects.dm | 2 +- .../exploration_events/resource.dm | 3 - code/modules/jobs/job_types/_job.dm | 12 + code/modules/jobs/job_types/assistant.dm | 9 + code/modules/jobs/job_types/bartender.dm | 7 + code/modules/jobs/job_types/botanist.dm | 9 + code/modules/jobs/job_types/captain.dm | 6 + .../jobs/job_types/cargo_technician.dm | 8 + code/modules/jobs/job_types/chaplain.dm | 7 + code/modules/jobs/job_types/chemist.dm | 7 + code/modules/jobs/job_types/chief_engineer.dm | 9 + .../jobs/job_types/chief_medical_officer.dm | 6 + code/modules/jobs/job_types/clown.dm | 8 + code/modules/jobs/job_types/cook.dm | 11 + code/modules/jobs/job_types/detective.dm | 11 + code/modules/jobs/job_types/geneticist.dm | 4 + .../jobs/job_types/head_of_personnel.dm | 13 + code/modules/jobs/job_types/janitor.dm | 6 + code/modules/jobs/job_types/medical_doctor.dm | 10 + code/modules/jobs/job_types/mime.dm | 7 + code/modules/jobs/job_types/paramedic.dm | 9 + code/modules/jobs/job_types/prisoner.dm | 5 + code/modules/jobs/job_types/psychologist.dm | 6 + code/modules/jobs/job_types/quartermaster.dm | 6 +- .../jobs/job_types/research_director.dm | 6 + code/modules/jobs/job_types/roboticist.dm | 6 + code/modules/jobs/job_types/scientist.dm | 6 + .../jobs/job_types/security_officer.dm | 8 + .../jobs/job_types/station_engineer.dm | 7 + code/modules/jobs/job_types/virologist.dm | 9 + code/modules/jobs/job_types/warden.dm | 9 + code/modules/recycling/disposal/holder.dm | 22 +- code/modules/recycling/sortingmachinery.dm | 30 +- code/modules/shuttle/supply.dm | 48 +++ code/modules/vending/wardrobes.dm | 36 ++- icons/obj/bureaucracy.dmi | Bin 22557 -> 24296 bytes icons/obj/crates.dmi | Bin 28239 -> 28611 bytes strings/junkmail.txt | 14 + tgstation.dme | 1 + 46 files changed, 690 insertions(+), 40 deletions(-) create mode 100644 code/game/objects/items/mail.dm create mode 100644 strings/junkmail.txt diff --git a/code/__DEFINES/economy.dm b/code/__DEFINES/economy.dm index 1238d857047..ccb9a168e77 100644 --- a/code/__DEFINES/economy.dm +++ b/code/__DEFINES/economy.dm @@ -1,4 +1,9 @@ +/// Number of paychecks jobs start with at the creation of a new bank account for a player (So at shift-start or game join, but not a blank new account.) #define STARTING_PAYCHECKS 7 +/// How much mail the Economy SS will create per minute, regardless of firing time. +#define MAX_MAIL_PER_MINUTE 3 +/// Probability of using letters of envelope sprites on all letters. +#define FULL_CRATE_LETTER_ODDS 70 //Experimental change: These are subject to tweaking based on the /tg/ economy overhaul. //Current design direction: Higher paying jobs are vastly outnumbered by lower paying jobs, so anything above medium hurts inflation, common jobs help inflation diff --git a/code/_globalvars/lists/flavor_misc.dm b/code/_globalvars/lists/flavor_misc.dm index c4c9e6946f3..7def0b2ac20 100644 --- a/code/_globalvars/lists/flavor_misc.dm +++ b/code/_globalvars/lists/flavor_misc.dm @@ -263,3 +263,5 @@ GLOBAL_LIST_INIT(wisdoms, world.file2list("strings/wisdoms.txt")) GLOBAL_LIST_INIT(station_numerals, greek_letters + phonetic_alphabet + numbers_as_words + generate_number_strings()) GLOBAL_LIST_INIT(admiral_messages, list("Do you know how expensive these stations are?","Stop wasting my time.","I was sleeping, thanks a lot.","Stand and fight you cowards!","You knew the risks coming in.","Stop being paranoid.","Whatever's broken just build a new one.","No.", "null","Error: No comment given.", "It's a good day to die!")) + +GLOBAL_LIST_INIT(junkmail_messages, world.file2list("strings/junkmail.txt")) diff --git a/code/controllers/subsystem/economy.dm b/code/controllers/subsystem/economy.dm index a8a0176a125..2ed9c9ed7d5 100644 --- a/code/controllers/subsystem/economy.dm +++ b/code/controllers/subsystem/economy.dm @@ -42,6 +42,13 @@ SUBSYSTEM_DEF(economy) var/market_crashing = FALSE var/fire_counter_for_paycheck = 0 //SKYRAT EDIT ADDITION + /// Total value of exported materials. + var/export_total = 0 + /// Total value of imported goods. + var/import_total = 0 + /// Number of mail items generated. + var/mail_waiting = 0 + /datum/controller/subsystem/economy/Initialize(timeofday) var/budget_to_hand_out = round(budget_pool / department_accounts.len) for(var/A in department_accounts) @@ -51,6 +58,7 @@ SUBSYSTEM_DEF(economy) /datum/controller/subsystem/economy/fire(resumed = 0) fire_counter_for_paycheck++ //SKYRAT EDIT ADDITION var/temporary_total = 0 + var/delta_time = wait * 0.2 departmental_payouts() station_total = 0 station_target_buffer += STATION_TARGET_BUFFER @@ -71,6 +79,8 @@ SUBSYSTEM_DEF(economy) station_target = max(round(temporary_total / max(bank_accounts_by_id.len * 2, 1)) + station_target_buffer, 1) if(!market_crashing) price_update() + var/effective_mailcount = round(living_player_count()/(inflation_value - 0.5)) //More mail at low inflation, and vis versa. + mail_waiting += clamp(effective_mailcount, 1, MAX_MAIL_PER_MINUTE * delta_time) /** * Handy proc for obtaining a department's bank account, given the department ID, AKA the define assigned for what department they're under. diff --git a/code/game/objects/effects/spawners/lootdrop.dm b/code/game/objects/effects/spawners/lootdrop.dm index 15d05b30183..55ce96d3e83 100644 --- a/code/game/objects/effects/spawners/lootdrop.dm +++ b/code/game/objects/effects/spawners/lootdrop.dm @@ -615,6 +615,34 @@ /obj/item/crowbar/red/caravan = 1 ) +/// Mail loot spawner. Some sort of random and rare building tool. No alien tech here. +/obj/effect/spawner/lootdrop/space/fancytool/engineonly + loot = list( + /obj/item/wrench/caravan = 1, + /obj/item/wirecutters/caravan = 1, + /obj/item/screwdriver/caravan = 1, + /obj/item/crowbar/red/caravan = 1 + ) + +/// Mail loot spawner. Drop pool of advanced medical tools typically from research. Not endgame content. +/obj/effect/spawner/lootdrop/space/fancytool/advmedicalonly + loot = list( + /obj/item/scalpel/advanced = 1, + /obj/item/retractor/advanced = 1, + /obj/item/cautery/advanced = 1 + ) + +/// Mail loot spawner. Some sort of random and rare surgical tool. Alien tech found here. +/obj/effect/spawner/lootdrop/space/fancytool/raremedicalonly + loot = list( + /obj/item/scalpel/alien = 1, + /obj/item/hemostat/alien = 1, + /obj/item/retractor/alien = 1, + /obj/item/circular_saw/alien = 1, + /obj/item/surgicaldrill/alien = 1, + /obj/item/cautery/alien = 1 + ) + /// Space loot spawner. A bunch of rarer seeds. /obj/item/seeds/random is not a random seed, but an exotic seed. /obj/effect/spawner/lootdrop/space/rareseed lootcount = 5 diff --git a/code/game/objects/items/food/meat.dm b/code/game/objects/items/food/meat.dm index 09aad826c46..0b5404a6022 100644 --- a/code/game/objects/items/food/meat.dm +++ b/code/game/objects/items/food/meat.dm @@ -388,6 +388,22 @@ tastes = list("the jungle" = 1, "bananas" = 1, "jimmies" = 1) spawned_mob = /mob/living/simple_animal/hostile/gorilla +/obj/item/food/monkeycube/chicken + name = "chicken cube" + desc = "A new Nanotrasen classic, the chicken cube. Tastes like everything!" + bite_consumption = 20 + food_reagents = list(/datum/reagent/consumable/eggyolk = 30, /datum/reagent/medicine/strange_reagent = 1) + tastes = list("chicken" = 1, "the country" = 1, "chicken bouillon" = 1) + spawned_mob = /mob/living/simple_animal/chicken + +/obj/item/food/monkeycube/bee + name = "bee cube" + desc = "We were sure it was a good idea. Just add water." + bite_consumption = 20 + food_reagents = list(/datum/reagent/consumable/honey = 10, /datum/reagent/toxin = 5, /datum/reagent/medicine/strange_reagent = 1) + tastes = list("buzzing" = 1, "honey" = 1, "regret" = 1) + spawned_mob = /mob/living/simple_animal/hostile/poison/bees + /obj/item/food/enchiladas name = "enchiladas" desc = "Viva La Mexico!" diff --git a/code/game/objects/items/mail.dm b/code/game/objects/items/mail.dm new file mode 100644 index 00000000000..25740e2c50c --- /dev/null +++ b/code/game/objects/items/mail.dm @@ -0,0 +1,277 @@ +/// Mail is tamper-evident and unresealable, postmarked by CentCom for an individual recepient. +/obj/item/mail + name = "mail" + gender = NEUTER + desc = "An officially postmarked, tamper-evident parcel regulated by CentCom and made of high-quality materials." + icon = 'icons/obj/bureaucracy.dmi' + icon_state = "mail_small" + inhand_icon_state = "paper" + worn_icon_state = "paper" + item_flags = NOBLUDGEON + w_class = WEIGHT_CLASS_SMALL + drop_sound = 'sound/items/handling/paper_drop.ogg' + pickup_sound = 'sound/items/handling/paper_pickup.ogg' + mouse_drag_pointer = MOUSE_ACTIVE_POINTER + /// Destination tagging for the mail sorter. + var/sort_tag = 0 + /// Who this mail is for and who can open it. + var/datum/weakref/recipient + /// How many goodies this mail contains. + var/goodie_count = 1 + /// Goodies which can be given to anyone. The base weight for cash is 56. For there to be a 50/50 chance of getting a department item, they need 56 weight as well. + var/list/generic_goodies = list( + /obj/item/stack/spacecash/c50 = 10, + /obj/item/stack/spacecash/c100 = 25, + /obj/item/stack/spacecash/c200 = 15, + /obj/item/stack/spacecash/c500 = 5, + /obj/item/stack/spacecash/c1000 = 1, + ) + // Overlays (pure fluff) + /// Does the letter have the postmark overlay? + var/postmarked = TRUE + /// Does the letter have a stamp overlay? + var/stamped = TRUE + /// List of all stamp overlays on the letter. + var/list/stamps = list() + /// Maximum number of stamps on the letter. + var/stamp_max = 1 + /// Physical offset of stamps on the object. X direction. + var/stamp_offset_x = 0 + /// Physical offset of stamps on the object. Y direction. + var/stamp_offset_y = 2 + + ///mail will have the color of the department the recipient is in. + var/static/list/department_colors + +/obj/item/mail/envelope + name = "envelope" + icon_state = "mail_large" + goodie_count = 2 + stamp_max = 2 + stamp_offset_y = 5 + +/obj/item/mail/Initialize() + . = ..() + RegisterSignal(src, COMSIG_MOVABLE_DISPOSING, .proc/disposal_handling) + AddElement(/datum/element/item_scaling, 0.5, 1) + if(isnull(department_colors)) + department_colors = list( + ACCOUNT_CIV = COLOR_WHITE, + ACCOUNT_ENG = COLOR_PALE_ORANGE, + ACCOUNT_SCI = COLOR_PALE_PURPLE_GRAY, + ACCOUNT_MED = COLOR_PALE_BLUE_GRAY, + ACCOUNT_SRV = COLOR_PALE_GREEN_GRAY, + ACCOUNT_CAR = COLOR_BEIGE, + ACCOUNT_SEC = COLOR_PALE_RED_GRAY, + ) + + // Icons + // Add some random stamps. + if(stamped == TRUE) + var/stamp_count = rand(1, stamp_max) + for(var/i = 1, i <= stamp_count, i++) + stamps += list("stamp_[rand(2, 6)]") + update_icon() + +/obj/item/mail/update_overlays() + . = ..() + var/bonus_stamp_offset = 0 + for(var/stamp in stamps) + var/image/stamp_image = image( + icon = icon, + icon_state = stamp, + pixel_x = stamp_offset_x, + pixel_y = stamp_offset_y + bonus_stamp_offset + ) + stamp_image.appearance_flags |= RESET_COLOR + add_overlay(stamp_image) + bonus_stamp_offset -= 5 + + if(postmarked == TRUE) + var/image/postmark_image = image( + icon = icon, + icon_state = "postmark", + pixel_x = stamp_offset_x + rand(-3, 1), + pixel_y = stamp_offset_y + rand(bonus_stamp_offset + 3, 1) + ) + postmark_image.appearance_flags |= RESET_COLOR + add_overlay(postmark_image) + +/obj/item/mail/attackby(obj/item/W, mob/user, params) + // Destination tagging + if(istype(W, /obj/item/dest_tagger)) + var/obj/item/dest_tagger/destination_tag = W + + if(sort_tag != destination_tag.currTag) + var/tag = uppertext(GLOB.TAGGERLOCATIONS[destination_tag.currTag]) + to_chat(user, "*[tag]*") + sort_tag = destination_tag.currTag + playsound(loc, 'sound/machines/twobeep_high.ogg', 100, TRUE) + +/obj/item/mail/attack_self(mob/user) + if(recipient && user != recipient) + to_chat(user, "You can't open somebody else's mail! That's illegal!") + return + + user.visible_message("You start to unwrap the package...") + if(!do_after(user, 1.5 SECONDS, target = user)) + return + user.temporarilyRemoveItemFromInventory(src, TRUE) + if(contents.len) + user.put_in_hands(contents[1]) + playsound(loc, 'sound/items/poster_ripped.ogg', 50, TRUE) + qdel(src) + +/// Accepts a mob to initialize goodies for a piece of mail. +/obj/item/mail/proc/initialize_for_recipient(mob/new_recipient) + recipient = new_recipient + name = "[initial(name)] for [new_recipient.real_name] ([new_recipient.job])" + var/list/goodies = generic_goodies + + var/datum/job/this_job = SSjob.name_occupations[new_recipient.job] + if(this_job) + if(this_job.paycheck_department && department_colors[this_job.paycheck_department]) + color = department_colors[this_job.paycheck_department] + var/list/job_goodies = this_job.get_mail_goodies() + if(LAZYLEN(job_goodies)) + // certain roles and jobs (prisoner) do not receive generic gifts. + if(this_job.exclusive_mail_goodies) + goodies = job_goodies + else + goodies += job_goodies + + for(var/iterator = 0, iterator < goodie_count, iterator++) + var/target_good = pickweight(goodies) + if(ispath(target_good, /datum/reagent)) + var/obj/item/reagent_containers/target_container = new /obj/item/reagent_containers/glass/bottle(src) + target_container.reagents.add_reagent(target_good, target_container.volume) + target_container.name = "[target_container.reagents.reagent_list[1].name] bottle" + new_recipient.log_message("[key_name(new_recipient)] received reagent container [target_container.name] in the mail ([target_good])", LOG_GAME) + else + var/atom/movable/target_atom = new target_good(src) + new_recipient.log_message("[key_name(new_recipient)] received [target_atom.name] in the mail ([target_good])", LOG_GAME) + + return TRUE + +/// Alternate setup, just complete garbage inside and anyone can open +/obj/item/mail/proc/junk_mail() + + var/obj/junk = /obj/item/paper/fluff/junkmail_generic + var/special_name = FALSE + + if(prob(25)) + special_name = TRUE + junk = pick(list(/obj/item/paper/pamphlet/gateway, /obj/item/paper/pamphlet/violent_video_games, /obj/item/paper/fluff/junkmail_redpill, /obj/effect/decal/cleanable/ash)) + + var/list/junk_names = list( + /obj/item/paper/pamphlet/gateway = "[initial(name)] for [pick(GLOB.adjectives)] adventurers", + /obj/item/paper/pamphlet/violent_video_games = "[initial(name)] for the truth about the arcade centcom doesn't want to hear", + /obj/item/paper/fluff/junkmail_redpill = "[initial(name)] for those feeling [pick(GLOB.adjectives)] working at Nanotrasen", + /obj/effect/decal/cleanable/ash = "[initial(name)] with INCREDIBLY IMPORTANT ARTIFACT- DELIVER TO SCIENCE DIVISION. HANDLE WITH CARE.", + ) + + color = pick(department_colors) //eh, who gives a shit. + name = special_name ? junk_names[junk] : "important [initial(name)]" + + junk = new junk(src) + return TRUE + +/obj/item/mail/proc/disposal_handling(disposal_source, obj/structure/disposalholder/disposal_holder, obj/machinery/disposal/disposal_machine, hasmob) + SIGNAL_HANDLER + if(!hasmob) + disposal_holder.destinationTag = sort_tag + +/// Subtype that's always junkmail +/obj/item/mail/junkmail/Initialize() + ..() + junk_mail() + +/// Crate for mail from CentCom. +/obj/structure/closet/crate/mail + name = "mail crate" + desc = "A certified post crate from CentCom." + icon_state = "mail" + +/// Crate for mail that automatically generates a lot of mail. Usually only normal mail, but on lowpop it may end up just being junk. +/obj/structure/closet/crate/mail/full + name = "brimming mail crate" + desc = "A certified post crate from CentCom. Looks stuffed to the gills." + +/obj/structure/closet/crate/mail/update_icon_state() + . = ..() + if(opened) + icon_state = "[initial(icon_state)]open" + if(locate(/obj/item/mail) in src) + icon_state = initial(icon_state) + else + icon_state = "[initial(icon_state)]sealed" + +/obj/structure/closet/crate/mail/full/Initialize() + . = ..() + var/list/mail_recipients = list() + for(var/mob/living/carbon/human/alive in GLOB.player_list) + if(alive.stat != DEAD) + mail_recipients += alive + for(var/iterator in 1 to storage_capacity) + var/obj/item/mail/new_mail + if(prob(FULL_CRATE_LETTER_ODDS)) + new_mail = new /obj/item/mail(src) + else + new_mail = new /obj/item/mail/envelope(src) + var/mob/living/carbon/human/mail_to + mail_to = pick(mail_recipients) + if(mail_to) + new_mail.initialize_for_recipient(mail_to) + mail_recipients -= mail_to //Once picked, the mail crate will need a new recipient. + else + new_mail.junk_mail() + + +/// Mailbag. +/obj/item/storage/bag/mail + name = "mail bag" + desc = "A bag for letters, envelopes, and other postage." + icon = 'icons/obj/library.dmi' + icon_state = "bookbag" + worn_icon_state = "bookbag" + resistance_flags = FLAMMABLE + +/obj/item/storage/bag/mail/ComponentInitialize() + . = ..() + var/datum/component/storage/storage = GetComponent(/datum/component/storage) + storage.max_w_class = WEIGHT_CLASS_NORMAL + storage.max_combined_w_class = 42 + storage.max_items = 21 + storage.display_numerical_stacking = FALSE + storage.set_holdable(list( + /obj/item/mail, + /obj/item/small_delivery, + /obj/item/paper + )) + +/obj/item/paper/fluff/junkmail_redpill + name = "smudged paper" + icon_state = "scrap" + var/nuclear_option_odds = 0.1 + +/obj/item/paper/fluff/junkmail_redpill/Initialize() + . = ..() + if(!prob(nuclear_option_odds)) // 1 in 1000 chance of getting 2 random nuke code characters. + info = "You need to escape the simulation. Don't forget the numbers, they help you remember: '[rand(0,9)][rand(0,9)][rand(0,9)]...'" + return + var/code = random_nukecode() + for(var/obj/machinery/nuclearbomb/selfdestruct/self_destruct in GLOB.nuke_list) + self_destruct.r_code = code + message_admins("Through junkmail, the self-destruct code was set to \"[code]\".") + info = "You need to escape the simulation. Don't forget the numbers, they help you remember: '[code[rand(1,5)]][code[rand(1,5)]]...'" + +/obj/item/paper/fluff/junkmail_redpill/true //admin letter enabling players to brute force their way through the nuke code if they're so inclined. + nuclear_option_odds = 100 + +/obj/item/paper/fluff/junkmail_generic + name = "important document" + icon_state = "paper_words" + +/obj/item/paper/fluff/junkmail_generic/Initialize() + . = ..() + info = pick(GLOB.junkmail_messages) diff --git a/code/game/objects/items/stacks/sheets/mineral.dm b/code/game/objects/items/stacks/sheets/mineral.dm index 0478b490889..42233436350 100644 --- a/code/game/objects/items/stacks/sheets/mineral.dm +++ b/code/game/objects/items/stacks/sheets/mineral.dm @@ -141,6 +141,9 @@ GLOBAL_LIST_INIT(uranium_recipes, list ( \ . = ..() . += GLOB.uranium_recipes +/obj/item/stack/sheet/mineral/uranium/five + amount = 5 + /* * Plasma */ @@ -185,6 +188,12 @@ GLOBAL_LIST_INIT(plasma_recipes, list ( \ atmos_spawn_air("plasma=[amount*10];TEMP=[exposed_temperature]") qdel(src) +/obj/item/stack/sheet/mineral/plasma/five + amount = 5 + +/obj/item/stack/sheet/mineral/plasma/thirty + amount = 30 + /* * Gold */ diff --git a/code/modules/cargo/exports/large_objects.dm b/code/modules/cargo/exports/large_objects.dm index 469d53b6503..508632699e0 100644 --- a/code/modules/cargo/exports/large_objects.dm +++ b/code/modules/cargo/exports/large_objects.dm @@ -3,7 +3,7 @@ k_elasticity = 0 unit_name = "crate" export_types = list(/obj/structure/closet/crate) - exclude_types = list(/obj/structure/closet/crate/large, /obj/structure/closet/crate/wooden) + exclude_types = list(/obj/structure/closet/crate/large, /obj/structure/closet/crate/wooden, /obj/structure/closet/crate/mail) /datum/export/large/crate/total_printout(datum/export_report/ex, notes = TRUE) // That's why a goddamn metal crate costs that much. . = ..() diff --git a/code/modules/explorer_drone/exploration_events/resource.dm b/code/modules/explorer_drone/exploration_events/resource.dm index 610109e94aa..8617fbd1238 100644 --- a/code/modules/explorer_drone/exploration_events/resource.dm +++ b/code/modules/explorer_drone/exploration_events/resource.dm @@ -262,9 +262,6 @@ delay_message = "Mining..." loot_type = /obj/item/stack/sheet/mineral/plasma/thirty -/obj/item/stack/sheet/mineral/plasma/thirty - amount = 30 - /datum/exploration_event/simple/resource/mineral_deposit name = "MATERIAL Deposit" required_site_traits = list(EXPLORATION_SITE_SURFACE) diff --git a/code/modules/jobs/job_types/_job.dm b/code/modules/jobs/job_types/_job.dm index f41662f6244..fe6a80bb746 100644 --- a/code/modules/jobs/job_types/_job.dm +++ b/code/modules/jobs/job_types/_job.dm @@ -67,6 +67,14 @@ var/bounty_types = CIV_JOB_BASIC + /// Goodies that can be received via the mail system. + // this is a weighted list. + /// Keep the _job definition for this empty and use /obj/item/mail to define general gifts. + var/list/mail_goodies = list() + + /// If this job's mail goodies compete with generic goodies. + var/exclusive_mail_goodies = FALSE + ///Bitfield of departments this job belongs wit var/departments = NONE @@ -301,3 +309,7 @@ types += satchel types += duffelbag return types + +/// An overridable getter for more dynamic goodies. +/datum/job/proc/get_mail_goodies(mob/recipient) + return mail_goodies diff --git a/code/modules/jobs/job_types/assistant.dm b/code/modules/jobs/job_types/assistant.dm index 157bf984d4e..19e5691bfda 100644 --- a/code/modules/jobs/job_types/assistant.dm +++ b/code/modules/jobs/job_types/assistant.dm @@ -21,6 +21,15 @@ Assistant family_heirlooms = list(/obj/item/storage/toolbox/mechanical/old/heirloom, /obj/item/clothing/gloves/cut/heirloom) + mail_goodies = list( + /obj/effect/spawner/lootdrop/donkpockets = 10, + /obj/item/clothing/mask/gas = 10, + /obj/item/clothing/gloves/color/fyellow = 7, + /obj/item/choice_beacon/music = 5, + /obj/item/toy/sprayoncan = 3, + /obj/item/crowbar/large = 1 + ) + /datum/outfit/job/assistant name = "Assistant" jobtype = /datum/job/assistant diff --git a/code/modules/jobs/job_types/bartender.dm b/code/modules/jobs/job_types/bartender.dm index 8988ff97950..71786b203ab 100644 --- a/code/modules/jobs/job_types/bartender.dm +++ b/code/modules/jobs/job_types/bartender.dm @@ -18,6 +18,13 @@ family_heirlooms = list(/obj/item/reagent_containers/glass/rag, /obj/item/clothing/head/that, /obj/item/reagent_containers/food/drinks/shaker) + mail_goodies = list( + /obj/item/storage/box/rubbershot = 30, + /datum/reagent/consumable/clownstears = 10, + /obj/item/stack/sheet/mineral/plasma = 10, + /obj/item/stack/sheet/mineral/uranium = 10, + ) + /datum/outfit/job/bartender name = "Bartender" jobtype = /datum/job/bartender diff --git a/code/modules/jobs/job_types/botanist.dm b/code/modules/jobs/job_types/botanist.dm index 0a22be34d94..128a2329515 100644 --- a/code/modules/jobs/job_types/botanist.dm +++ b/code/modules/jobs/job_types/botanist.dm @@ -18,6 +18,15 @@ family_heirlooms = list(/obj/item/cultivator, /obj/item/reagent_containers/glass/bucket, /obj/item/toy/plush/beeplushie) + mail_goodies = list( + /datum/reagent/toxin/mutagen = 20, + /datum/reagent/saltpetre = 20, + /datum/reagent/diethylamine = 20, + /obj/item/gun/energy/floragun = 10, + /obj/effect/spawner/lootdrop/space/rareseed = 5,// These are strong, rare seeds, so use sparingly. + /obj/item/food/monkeycube/bee = 2 + ) + /datum/outfit/job/botanist name = "Botanist" jobtype = /datum/job/botanist diff --git a/code/modules/jobs/job_types/captain.dm b/code/modules/jobs/job_types/captain.dm index 623c3c5e2ed..51afbaac104 100755 --- a/code/modules/jobs/job_types/captain.dm +++ b/code/modules/jobs/job_types/captain.dm @@ -26,6 +26,12 @@ family_heirlooms = list(/obj/item/reagent_containers/food/drinks/flask/gold) + mail_goodies = list( + /obj/item/clothing/mask/cigarette/cigar/havana = 20, + /obj/item/storage/fancy/cigarettes/cigars/havana = 15, + /obj/item/reagent_containers/food/drinks/bottle/champagne = 10 + ) + /datum/job/captain/announce(mob/living/carbon/human/H, announce_captaincy = TRUE) ..() if(announce_captaincy) diff --git a/code/modules/jobs/job_types/cargo_technician.dm b/code/modules/jobs/job_types/cargo_technician.dm index 999e77055ed..365a685e3d4 100644 --- a/code/modules/jobs/job_types/cargo_technician.dm +++ b/code/modules/jobs/job_types/cargo_technician.dm @@ -20,6 +20,14 @@ family_heirlooms = list(/obj/item/clipboard) + mail_goodies = list( + /obj/item/pizzabox = 10, + /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 + ) + /datum/outfit/job/cargo_tech name = "Cargo Technician" jobtype = /datum/job/cargo_technician diff --git a/code/modules/jobs/job_types/chaplain.dm b/code/modules/jobs/job_types/chaplain.dm index f4dacfecab7..97ccf3e81fd 100644 --- a/code/modules/jobs/job_types/chaplain.dm +++ b/code/modules/jobs/job_types/chaplain.dm @@ -18,6 +18,13 @@ family_heirlooms = list(/obj/item/toy/windup_toolbox, /obj/item/reagent_containers/food/drinks/bottle/holywater) + mail_goodies = list( + /obj/item/reagent_containers/food/drinks/bottle/holywater = 30, + /obj/item/toy/plush/awakenedplushie = 10, + /obj/item/grenade/chem_grenade/holy = 5, + /obj/item/toy/plush/narplush = 2, + /obj/item/toy/plush/ratplush = 1 + ) /datum/job/chaplain/after_spawn(mob/living/H, mob/M) . = ..() diff --git a/code/modules/jobs/job_types/chemist.dm b/code/modules/jobs/job_types/chemist.dm index 8846c224c87..4c099fa77ce 100644 --- a/code/modules/jobs/job_types/chemist.dm +++ b/code/modules/jobs/job_types/chemist.dm @@ -23,6 +23,13 @@ family_heirlooms = list(/obj/item/book/manual/wiki/chemistry, /obj/item/ph_booklet) + mail_goodies = list( + /datum/reagent/flash_powder = 15, + /datum/reagent/exotic_stabilizer = 5, + /datum/reagent/toxin/leadacetate = 5, + /obj/item/paper/secretrecipe = 1 + ) + /datum/outfit/job/chemist name = "Chemist" jobtype = /datum/job/chemist diff --git a/code/modules/jobs/job_types/chief_engineer.dm b/code/modules/jobs/job_types/chief_engineer.dm index 60e1194c19f..bd5d1a7e992 100644 --- a/code/modules/jobs/job_types/chief_engineer.dm +++ b/code/modules/jobs/job_types/chief_engineer.dm @@ -28,6 +28,15 @@ family_heirlooms = list(/obj/item/clothing/head/hardhat/white, /obj/item/screwdriver, /obj/item/wrench, /obj/item/weldingtool, /obj/item/crowbar, /obj/item/wirecutters) + mail_goodies = list( + /obj/item/food/cracker = 25, //you know. for poly + /obj/item/stack/sheet/mineral/diamond = 15, + /obj/item/stack/sheet/mineral/uranium/five = 15, + /obj/item/stack/sheet/mineral/plasma/five = 15, + /obj/item/stack/sheet/mineral/gold = 15, + /obj/effect/spawner/lootdrop/space/fancytool/engineonly = 3 + ) + /datum/job/chief_engineer/announce(mob/living/carbon/human/H, announce_captaincy = FALSE) ..() if(announce_captaincy) diff --git a/code/modules/jobs/job_types/chief_medical_officer.dm b/code/modules/jobs/job_types/chief_medical_officer.dm index 1443f43121a..3f0ccf5a2f7 100644 --- a/code/modules/jobs/job_types/chief_medical_officer.dm +++ b/code/modules/jobs/job_types/chief_medical_officer.dm @@ -26,6 +26,12 @@ display_order = JOB_DISPLAY_ORDER_CHIEF_MEDICAL_OFFICER bounty_types = CIV_JOB_MED + mail_goodies = list( + /obj/effect/spawner/lootdrop/organ_spawner = 10, + /obj/effect/spawner/lootdrop/memeorgans = 8, + /obj/effect/spawner/lootdrop/space/fancytool/advmedicalonly = 4, + /obj/effect/spawner/lootdrop/space/fancytool/raremedicalonly = 1 + ) family_heirlooms = list(/obj/item/storage/firstaid/ancient/heirloom) /datum/job/chief_medical_officer/announce(mob/living/carbon/human/H, announce_captaincy = FALSE) diff --git a/code/modules/jobs/job_types/clown.dm b/code/modules/jobs/job_types/clown.dm index 51120431280..ca17d874b58 100644 --- a/code/modules/jobs/job_types/clown.dm +++ b/code/modules/jobs/job_types/clown.dm @@ -18,6 +18,14 @@ display_order = JOB_DISPLAY_ORDER_CLOWN departments = DEPARTMENT_SERVICE + mail_goodies = list( + /obj/item/food/grown/banana = 100, + /obj/item/food/pie/cream = 50, + /obj/item/clothing/shoes/clown_shoes/combat = 10, + /obj/item/reagent_containers/spray/waterflower/lube = 20, // lube + /obj/item/reagent_containers/spray/waterflower/superlube = 1 // Superlube, good lord. + ) + family_heirlooms = list(/obj/item/bikehorn/golden) /datum/job/clown/after_spawn(mob/living/carbon/human/H, mob/M) diff --git a/code/modules/jobs/job_types/cook.dm b/code/modules/jobs/job_types/cook.dm index 4d7c2cd585d..bdc849c5cbf 100644 --- a/code/modules/jobs/job_types/cook.dm +++ b/code/modules/jobs/job_types/cook.dm @@ -54,6 +54,17 @@ kitchen_areas |= path + mail_goodies = list( + /obj/item/storage/box/ingredients/random = 80, + /datum/reagent/consumable/caramel = 20, + /obj/item/reagent_containers/food/condiment/flour = 20, + /obj/item/reagent_containers/food/condiment/rice = 20, + /obj/item/reagent_containers/food/condiment/enzyme = 15, + /obj/item/reagent_containers/food/condiment/soymilk = 15, + /obj/item/kitchen/knife = 4, + /obj/item/kitchen/knife/butcher = 2 + ) + /datum/outfit/job/cook name = "Cook" jobtype = /datum/job/cook diff --git a/code/modules/jobs/job_types/detective.dm b/code/modules/jobs/job_types/detective.dm index bfc7b634c6d..dd6eb824d2d 100644 --- a/code/modules/jobs/job_types/detective.dm +++ b/code/modules/jobs/job_types/detective.dm @@ -23,6 +23,17 @@ display_order = JOB_DISPLAY_ORDER_DETECTIVE + mail_goodies = list( + /obj/item/storage/fancy/cigarettes = 25, + /obj/item/ammo_box/c38 = 25, + /obj/item/ammo_box/c38/dumdum = 5, + /obj/item/ammo_box/c38/hotshot = 5, + /obj/item/ammo_box/c38/iceblox = 5, + /obj/item/ammo_box/c38/match = 5, + /obj/item/ammo_box/c38/trac = 5, + /obj/item/storage/belt/holster/detective/full = 1 + ) + family_heirlooms = list(/obj/item/reagent_containers/food/drinks/bottle/whiskey) /datum/outfit/job/detective diff --git a/code/modules/jobs/job_types/geneticist.dm b/code/modules/jobs/job_types/geneticist.dm index 0f3cf95785d..d7ec5d92f95 100644 --- a/code/modules/jobs/job_types/geneticist.dm +++ b/code/modules/jobs/job_types/geneticist.dm @@ -19,6 +19,10 @@ display_order = JOB_DISPLAY_ORDER_GENETICIST bounty_types = CIV_JOB_SCI + mail_goodies = list( + /obj/item/storage/box/monkeycubes = 10 + ) + family_heirlooms = list(/obj/item/clothing/under/shorts/purple) /datum/outfit/job/geneticist diff --git a/code/modules/jobs/job_types/head_of_personnel.dm b/code/modules/jobs/job_types/head_of_personnel.dm index dbeb2c54d93..44115564816 100644 --- a/code/modules/jobs/job_types/head_of_personnel.dm +++ b/code/modules/jobs/job_types/head_of_personnel.dm @@ -27,6 +27,11 @@ display_order = JOB_DISPLAY_ORDER_HEAD_OF_PERSONNEL + mail_goodies = list( + /obj/item/card/id/advanced/silver = 10, + /obj/item/stack/sheet/bone = 5 + ) + family_heirlooms = list(/obj/item/reagent_containers/food/drinks/trophy/silver_cup) /datum/job/head_of_personnel/announce(mob/living/carbon/human/H, announce_captaincy = FALSE) @@ -56,6 +61,14 @@ if(locate(/datum/holiday/ianbirthday) in SSevents.holidays) undershirt = /datum/sprite_accessory/undershirt/ian +//only pet worth reviving +/datum/job/hop/get_mail_goodies(mob/recipient) + . = ..() + // Strange Reagent if the pet is dead. + for(var/mob/living/simple_animal/pet/dog/corgi/ian/staff_pet in GLOB.dead_mob_list) + . += list(/datum/reagent/medicine/strange_reagent = 20) + break + /obj/item/paper/fluff/ids_for_dummies name = "Memo: New IDs and You" desc = "It looks like this was left by the last Head of Personnel to man this station. It explains some information about new IDs." diff --git a/code/modules/jobs/job_types/janitor.dm b/code/modules/jobs/job_types/janitor.dm index 99bb482a2de..759c73e3cef 100644 --- a/code/modules/jobs/job_types/janitor.dm +++ b/code/modules/jobs/job_types/janitor.dm @@ -18,6 +18,12 @@ family_heirlooms = list(/obj/item/mop, /obj/item/clothing/suit/caution, /obj/item/reagent_containers/glass/bucket, /obj/item/paper/fluff/stations/soap) + mail_goodies = list( + /obj/item/grenade/chem_grenade/cleaner = 30, + /obj/item/storage/box/lights/mixed = 20, + /obj/item/lightreplacer = 10 + ) + /datum/outfit/job/janitor name = "Janitor" jobtype = /datum/job/janitor diff --git a/code/modules/jobs/job_types/medical_doctor.dm b/code/modules/jobs/job_types/medical_doctor.dm index a9f2098bdab..db593b9b2f6 100644 --- a/code/modules/jobs/job_types/medical_doctor.dm +++ b/code/modules/jobs/job_types/medical_doctor.dm @@ -21,6 +21,16 @@ family_heirlooms = list(/obj/item/storage/firstaid/ancient/heirloom) + mail_goodies = list( + /obj/item/healthanalyzer/advanced = 15, + /obj/item/scalpel/advanced = 6, + /obj/item/retractor/advanced = 6, + /obj/item/cautery/advanced = 6, + /datum/reagent/toxin/formaldehyde = 6, + /obj/effect/spawner/lootdrop/organ_spawner = 5, + /obj/effect/spawner/lootdrop/memeorgans = 1 + ) + /datum/outfit/job/doctor name = "Medical Doctor" jobtype = /datum/job/doctor diff --git a/code/modules/jobs/job_types/mime.dm b/code/modules/jobs/job_types/mime.dm index 63bd512858a..fa54570a473 100644 --- a/code/modules/jobs/job_types/mime.dm +++ b/code/modules/jobs/job_types/mime.dm @@ -18,6 +18,13 @@ family_heirlooms = list(/obj/item/food/baguette) + mail_goodies = list( + /obj/item/food/baguette = 15, + /obj/item/food/cheese/wheel = 10, + /obj/item/reagent_containers/food/drinks/bottle/bottleofnothing = 10, + /obj/item/book/mimery = 1, + ) + /datum/job/mime/after_spawn(mob/living/carbon/human/H, mob/M) H.apply_pref_name("mime", M.client) diff --git a/code/modules/jobs/job_types/paramedic.dm b/code/modules/jobs/job_types/paramedic.dm index e67b050175b..f5a97f30758 100644 --- a/code/modules/jobs/job_types/paramedic.dm +++ b/code/modules/jobs/job_types/paramedic.dm @@ -21,6 +21,15 @@ family_heirlooms = list(/obj/item/storage/firstaid/ancient/heirloom) + mail_goodies = list( + /obj/item/reagent_containers/hypospray/medipen = 20, + /obj/item/reagent_containers/hypospray/medipen/oxandrolone = 10, + /obj/item/reagent_containers/hypospray/medipen/salacid = 10, + /obj/item/reagent_containers/hypospray/medipen/salbutamol = 10, + /obj/item/reagent_containers/hypospray/medipen/penacid = 10, + /obj/item/reagent_containers/hypospray/medipen/survival/luxury = 5 + ) + /datum/outfit/job/paramedic name = "Paramedic" jobtype = /datum/job/paramedic diff --git a/code/modules/jobs/job_types/prisoner.dm b/code/modules/jobs/job_types/prisoner.dm index 53d2cef0fea..c25f18921aa 100644 --- a/code/modules/jobs/job_types/prisoner.dm +++ b/code/modules/jobs/job_types/prisoner.dm @@ -13,6 +13,11 @@ display_order = JOB_DISPLAY_ORDER_PRISONER + exclusive_mail_goodies = TRUE + mail_goodies = list ( + /obj/effect/spawner/lootdrop/prison_contraband = 1 + ) + family_heirlooms = list(/obj/item/pen/blue) /datum/outfit/job/prisoner diff --git a/code/modules/jobs/job_types/psychologist.dm b/code/modules/jobs/job_types/psychologist.dm index 601e4aaf0b5..2effa1e4e10 100644 --- a/code/modules/jobs/job_types/psychologist.dm +++ b/code/modules/jobs/job_types/psychologist.dm @@ -20,6 +20,12 @@ family_heirlooms = list(/obj/item/storage/pill_bottle) + mail_goodies = list( + /obj/item/storage/pill_bottle/mannitol = 30, + /obj/item/storage/pill_bottle/happy = 5, + /obj/item/gun/syringe = 1 + ) + /datum/outfit/job/psychologist name = "Psychologist" jobtype = /datum/job/psychologist diff --git a/code/modules/jobs/job_types/quartermaster.dm b/code/modules/jobs/job_types/quartermaster.dm index 88c9ae3e435..39cb2827783 100644 --- a/code/modules/jobs/job_types/quartermaster.dm +++ b/code/modules/jobs/job_types/quartermaster.dm @@ -21,14 +21,16 @@ display_order = JOB_DISPLAY_ORDER_QUARTERMASTER bounty_types = CIV_JOB_RANDOM departments = DEPARTMENT_CARGO + family_heirlooms = list(/obj/item/stamp, /obj/item/stamp/denied) + mail_goodies = list( + /obj/item/circuitboard/machine/emitter = 3 + ) /datum/job/quartermaster/announce(mob/living/carbon/human/H, announce_captaincy = FALSE) ..() if(announce_captaincy) SSticker.OnRoundstart(CALLBACK(GLOBAL_PROC, .proc/minor_announce, "Due to extreme staffing shortages, newly promoted Acting Captain [H.real_name] on deck!")) - family_heirlooms = list(/obj/item/stamp, /obj/item/stamp/denied) - /datum/outfit/job/quartermaster name = "Quartermaster" jobtype = /datum/job/quartermaster diff --git a/code/modules/jobs/job_types/research_director.dm b/code/modules/jobs/job_types/research_director.dm index 36f0ee282e2..99a737e2ca8 100644 --- a/code/modules/jobs/job_types/research_director.dm +++ b/code/modules/jobs/job_types/research_director.dm @@ -24,6 +24,12 @@ display_order = JOB_DISPLAY_ORDER_RESEARCH_DIRECTOR bounty_types = CIV_JOB_SCI + mail_goodies = list( + /obj/item/storage/box/monkeycubes = 30, + /obj/item/circuitboard/machine/sleeper/party = 3, + /obj/item/borg/upgrade/ai = 2 + ) + family_heirlooms = list(/obj/item/toy/plush/slimeplushie) /datum/job/research_director/announce(mob/living/carbon/human/H, announce_captaincy = FALSE) diff --git a/code/modules/jobs/job_types/roboticist.dm b/code/modules/jobs/job_types/roboticist.dm index 940cb7b178c..97de5e21d04 100644 --- a/code/modules/jobs/job_types/roboticist.dm +++ b/code/modules/jobs/job_types/roboticist.dm @@ -19,6 +19,12 @@ display_order = JOB_DISPLAY_ORDER_ROBOTICIST + mail_goodies = list( + /obj/item/storage/box/flashes = 20, + /obj/item/stack/sheet/iron/twenty = 15, + /obj/item/modular_computer/tablet/preset/advanced = 5 + ) + family_heirlooms = list(/obj/item/toy/plush/pkplush) /datum/job/roboticist/New() diff --git a/code/modules/jobs/job_types/scientist.dm b/code/modules/jobs/job_types/scientist.dm index 1adca28c5c9..0bf0141092a 100644 --- a/code/modules/jobs/job_types/scientist.dm +++ b/code/modules/jobs/job_types/scientist.dm @@ -21,6 +21,12 @@ family_heirlooms = list(/obj/item/toy/plush/slimeplushie) + mail_goodies = list( + /obj/item/raw_anomaly_core/random = 10, + /obj/item/disk/tech_disk/spaceloot = 2, + /obj/item/camera_bug = 1 + ) + /datum/outfit/job/scientist name = "Scientist" jobtype = /datum/job/scientist diff --git a/code/modules/jobs/job_types/security_officer.dm b/code/modules/jobs/job_types/security_officer.dm index c800e2521b7..06505ff7e76 100644 --- a/code/modules/jobs/job_types/security_officer.dm +++ b/code/modules/jobs/job_types/security_officer.dm @@ -26,6 +26,14 @@ family_heirlooms = list(/obj/item/book/manual/wiki/security_space_law, /obj/item/clothing/head/beret/sec) + mail_goodies = list( + /obj/item/food/donut/caramel = 10, + /obj/item/food/donut/matcha = 10, + /obj/item/food/donut/blumpkin = 5, + /obj/item/clothing/mask/whistle = 5, + /obj/item/melee/baton/boomerang/loaded = 1 + ) + GLOBAL_LIST_INIT(available_depts, list(SEC_DEPT_ENGINEERING, SEC_DEPT_MEDICAL, SEC_DEPT_SCIENCE, SEC_DEPT_SUPPLY)) /** diff --git a/code/modules/jobs/job_types/station_engineer.dm b/code/modules/jobs/job_types/station_engineer.dm index 34a1b33a164..690090bdba3 100644 --- a/code/modules/jobs/job_types/station_engineer.dm +++ b/code/modules/jobs/job_types/station_engineer.dm @@ -23,6 +23,13 @@ family_heirlooms = list(/obj/item/clothing/head/hardhat, /obj/item/screwdriver, /obj/item/wrench, /obj/item/weldingtool, /obj/item/crowbar, /obj/item/wirecutters) + mail_goodies = list( + /obj/item/storage/box/lights/mixed = 20, + /obj/item/lightreplacer = 10, + /obj/item/holosign_creator/engineering = 8, + /obj/item/clothing/head/hardhat/red/upgraded = 1 + ) + /datum/outfit/job/engineer name = "Station Engineer" jobtype = /datum/job/station_engineer diff --git a/code/modules/jobs/job_types/virologist.dm b/code/modules/jobs/job_types/virologist.dm index bf11dcc53c7..b5e6a5e64ce 100644 --- a/code/modules/jobs/job_types/virologist.dm +++ b/code/modules/jobs/job_types/virologist.dm @@ -23,6 +23,15 @@ family_heirlooms = list(/obj/item/reagent_containers/syringe) + mail_goodies = list( + /obj/item/reagent_containers/glass/bottle/random_virus = 15, + /obj/item/reagent_containers/glass/bottle/formaldehyde = 10, + /obj/item/reagent_containers/glass/bottle/synaptizine = 10, + /obj/item/stack/sheet/mineral/plasma = 10, + /obj/item/stack/sheet/mineral/uranium = 5 + ) + + /datum/outfit/job/virologist name = "Virologist" jobtype = /datum/job/virologist diff --git a/code/modules/jobs/job_types/warden.dm b/code/modules/jobs/job_types/warden.dm index 9d82a1291f9..47c1e9dc198 100644 --- a/code/modules/jobs/job_types/warden.dm +++ b/code/modules/jobs/job_types/warden.dm @@ -26,6 +26,15 @@ family_heirlooms = list(/obj/item/book/manual/wiki/security_space_law) + mail_goodies = list( + /obj/item/storage/fancy/cigarettes = 15, + /obj/item/storage/box/handcuffs = 10, + /obj/item/storage/box/teargas = 10, + /obj/item/storage/box/flashbangs = 10, + /obj/item/storage/box/rubbershot = 10, + /obj/item/storage/box/lethalshot = 5 + ) + /datum/outfit/job/warden name = "Warden" jobtype = /datum/job/warden diff --git a/code/modules/recycling/disposal/holder.dm b/code/modules/recycling/disposal/holder.dm index 1d80af38590..a7e9273a0e1 100644 --- a/code/modules/recycling/disposal/holder.dm +++ b/code/modules/recycling/disposal/holder.dm @@ -41,21 +41,15 @@ // now everything inside the disposal gets put into the holder // note AM since can contain mobs or objs for(var/A in D) - var/atom/movable/AM = A - if(AM == src) + var/atom/movable/atom_in_transit = A + if(atom_in_transit == src) continue - SEND_SIGNAL(AM, COMSIG_MOVABLE_DISPOSING, src, D) - AM.forceMove(src) - if(istype(AM, /obj/structure/big_delivery) && !hasmob) - var/obj/structure/big_delivery/T = AM - src.destinationTag = T.sortTag - else if(istype(AM, /obj/item/small_delivery) && !hasmob) - var/obj/item/small_delivery/T = AM - src.destinationTag = T.sortTag - else if(istype(AM, /mob/living/silicon/robot)) - var/obj/item/dest_tagger/borg/tagger = locate() in AM - if (tagger) - src.destinationTag = tagger.currTag + SEND_SIGNAL(atom_in_transit, COMSIG_MOVABLE_DISPOSING, src, D, hasmob) + atom_in_transit.forceMove(src) + if(iscyborg(atom_in_transit)) + var/obj/item/dest_tagger/borg/tagger = locate() in atom_in_transit + if(tagger) + destinationTag = tagger.currTag // start the movement process diff --git a/code/modules/recycling/sortingmachinery.dm b/code/modules/recycling/sortingmachinery.dm index 09e99cea0ce..5e1c899769c 100644 --- a/code/modules/recycling/sortingmachinery.dm +++ b/code/modules/recycling/sortingmachinery.dm @@ -6,10 +6,14 @@ density = TRUE mouse_drag_pointer = MOUSE_ACTIVE_POINTER var/giftwrapped = FALSE - var/sortTag = 0 + var/sort_tag = 0 var/obj/item/paper/note var/obj/item/barcode/sticker +/obj/structure/big_delivery/Initialize() + . = ..() + RegisterSignal(src, COMSIG_MOVABLE_DISPOSING, .proc/disposal_handling) + /obj/structure/big_delivery/interact(mob/user) to_chat(user, "You start to unwrap the package...") if(!do_after(user, 15, target = user)) @@ -49,10 +53,10 @@ if(istype(W, /obj/item/dest_tagger)) var/obj/item/dest_tagger/O = W - if(sortTag != O.currTag) + if(sort_tag != O.currTag) var/tag = uppertext(GLOB.TAGGERLOCATIONS[O.currTag]) to_chat(user, "*[tag]*") - sortTag = O.currTag + sort_tag = O.currTag playsound(loc, 'sound/machines/twobeep_high.ogg', 100, TRUE) else if(istype(W, /obj/item/pen)) @@ -164,6 +168,11 @@ for(var/obj/I in src.GetAllContents()) SEND_SIGNAL(I, COMSIG_STRUCTURE_UNWRAPPED) +/obj/structure/big_delivery/proc/disposal_handling(disposal_source, obj/structure/disposalholder/disposal_holder, obj/machinery/disposal/disposal_machine, hasmob) + SIGNAL_HANDLER + if(!hasmob) + disposal_holder.destinationTag = sort_tag + /obj/item/small_delivery name = "parcel" desc = "A brown paper delivery parcel." @@ -171,10 +180,14 @@ icon_state = "deliverypackage3" inhand_icon_state = "deliverypackage" var/giftwrapped = 0 - var/sortTag = 0 + var/sort_tag = 0 var/obj/item/paper/note var/obj/item/barcode/sticker +/obj/item/small_delivery/Initialize() + . = ..() + RegisterSignal(src, COMSIG_MOVABLE_DISPOSING, .proc/disposal_handling) + /obj/item/small_delivery/contents_explosion(severity, target) switch(severity) if(EXPLODE_DEVASTATE) @@ -231,10 +244,10 @@ if(istype(W, /obj/item/dest_tagger)) var/obj/item/dest_tagger/O = W - if(sortTag != O.currTag) + if(sort_tag != O.currTag) var/tag = uppertext(GLOB.TAGGERLOCATIONS[O.currTag]) to_chat(user, "*[tag]*") - sortTag = O.currTag + sort_tag = O.currTag playsound(loc, 'sound/machines/twobeep_high.ogg', 100, TRUE) else if(istype(W, /obj/item/pen)) @@ -324,6 +337,11 @@ for(var/obj/I in src.GetAllContents()) SEND_SIGNAL(I, COMSIG_ITEM_UNWRAPPED) +/obj/item/small_delivery/proc/disposal_handling(disposal_source, obj/structure/disposalholder/disposal_holder, obj/machinery/disposal/disposal_machine, hasmob) + SIGNAL_HANDLER + if(!hasmob) + disposal_holder.destinationTag = sort_tag + /obj/item/dest_tagger name = "destination tagger" desc = "Used to set the destination of properly wrapped packages." diff --git a/code/modules/shuttle/supply.dm b/code/modules/shuttle/supply.dm index f08da743024..aed11b76b71 100644 --- a/code/modules/shuttle/supply.dm +++ b/code/modules/shuttle/supply.dm @@ -28,6 +28,7 @@ GLOBAL_LIST_INIT(blacklisted_cargo_types, typecacheof(list( /obj/machinery/launchpad, /obj/machinery/disposal, /obj/structure/disposalpipe, + /obj/item/mail, /obj/item/hilbertshotel, /obj/machinery/camera, /obj/item/gps, @@ -82,6 +83,7 @@ GLOBAL_LIST_INIT(blacklisted_cargo_types, typecacheof(list( /obj/docking_port/mobile/supply/initiate_docking() if(getDockedId() == "supply_away") // Buy when we leave home. buy() + create_mail() . = ..() // Fly/enter transit. if(. != DOCKING_SUCCESS) return @@ -197,6 +199,7 @@ GLOBAL_LIST_INIT(blacklisted_cargo_types, typecacheof(list( SO.generateCombo(miscboxes[I], I, misc_contents[I]) qdel(SO) + SSeconomy.import_total += value var/datum/bank_account/cargo_budget = SSeconomy.get_dep_account(ACCOUNT_CAR) investigate_log("[purchases] orders in this shipment, worth [value] credits. [cargo_budget.account_balance] credits left.", INVESTIGATE_CARGO) @@ -230,8 +233,53 @@ GLOBAL_LIST_INIT(blacklisted_cargo_types, typecacheof(list( msg += export_text + "\n" D.adjust_money(ex.total_value[E]) + SSeconomy.export_total += (D.account_balance - presale_points) SSshuttle.centcom_message = msg investigate_log("Shuttle contents sold for [D.account_balance - presale_points] credits. Contents: [ex.exported_atoms ? ex.exported_atoms.Join(",") + "." : "none."] Message: [SSshuttle.centcom_message || "none."]", INVESTIGATE_CARGO) +/* + Generates a box of mail depending on our exports and imports. + Applied in the cargo shuttle sending/arriving, by building the crate if the round is ready to introduce mail based on the economy subsystem. + Then, fills the mail crate with mail, by picking applicable crew who can recieve mail at the time to sending. +*/ +/obj/docking_port/mobile/supply/proc/create_mail() + //Early return if there's no mail waiting to prevent taking up a slot. + if(!SSeconomy.mail_waiting) + return + //spawn crate + var/list/empty_turfs = list() + for(var/place as anything in shuttle_areas) + var/area/shuttle/shuttle_area = place + for(var/turf/open/floor/shuttle_floor in shuttle_area) + if(shuttle_floor.is_blocked_turf()) + continue + empty_turfs += shuttle_floor + var/obj/structure/closet/crate/mail/mailcrate = new(pick(empty_turfs)) + + //collect recipients + var/list/mail_recipients = list() + for(var/mob/living/carbon/human/player_human in GLOB.player_list) + if(player_human.stat != DEAD) + mail_recipients += player_human + + //Creates mail for all the mail waiting to arrive, if there's nobody to recieve it it's just junkmail. + for(var/mail_iterator in 1 to SSeconomy.mail_waiting) + var/obj/item/mail/new_mail + if(prob(FULL_CRATE_LETTER_ODDS)) + new_mail = new /obj/item/mail(mailcrate) + else + new_mail = new /obj/item/mail/envelope(mailcrate) + var/mob/living/carbon/human/mail_to + if(mail_recipients.len) + mail_to = pick(mail_recipients) + new_mail.initialize_for_recipient(mail_to) + mail_recipients -= mail_to + else + new_mail.junk_mail() + if(new_mail) + SSeconomy.mail_waiting += 1 + mailcrate.update_icon() + return mailcrate + #undef GOODY_FREE_SHIPPING_MAX #undef CRATE_TAX diff --git a/code/modules/vending/wardrobes.dm b/code/modules/vending/wardrobes.dm index 84e5430aea7..66079daee29 100644 --- a/code/modules/vending/wardrobes.dm +++ b/code/modules/vending/wardrobes.dm @@ -147,22 +147,30 @@ icon_state = "cargodrobe" product_ads = "Upgraded Assistant Style! Pick yours today!;These shorts are comfy and easy to wear, get yours now!" vend_reply = "Thank you for using the CargoDrobe!" - products = list(/obj/item/clothing/suit/hooded/wintercoat/cargo = 3, - /obj/item/clothing/under/rank/cargo/tech = 3, - /obj/item/clothing/under/rank/cargo/tech/skirt = 3, - /obj/item/clothing/under/misc/cargo_long = 3, //SKYRAT EDIT ADDITION START - /obj/item/clothing/under/utility/cargo/gorka = 3, - /obj/item/clothing/under/utility/cargo/turtleneck = 3, - /obj/item/clothing/under/utility/cargo = 3, - /obj/item/clothing/suit/gorka/supply = 3, - /obj/item/clothing/suit/toggle/jacket/supply = 3, //SKYRAT EDIT ADDITION END - /obj/item/clothing/shoes/sneakers/black = 3, - /obj/item/clothing/gloves/fingerless = 3, - /obj/item/clothing/head/soft = 3, - /obj/item/radio/headset/headset_cargo = 3) - premium = list(/obj/item/clothing/under/rank/cargo/miner = 3) + products = list( + /obj/item/storage/bag/mail = 3, + /obj/item/clothing/suit/hooded/wintercoat/cargo = 3, + /obj/item/clothing/under/rank/cargo/tech = 3, + /obj/item/clothing/under/rank/cargo/tech/skirt = 3, + /obj/item/clothing/under/misc/cargo_long = 3, //SKYRAT EDIT ADDITION START + /obj/item/clothing/under/utility/cargo/gorka = 3, + /obj/item/clothing/under/utility/cargo/turtleneck = 3, + /obj/item/clothing/under/utility/cargo = 3, + /obj/item/clothing/suit/gorka/supply = 3, + /obj/item/clothing/suit/toggle/jacket/supply = 3, //SKYRAT EDIT ADDITION END + /obj/item/clothing/shoes/sneakers/black = 3, + /obj/item/clothing/gloves/fingerless = 3, + /obj/item/clothing/head/soft = 3, + /obj/item/radio/headset/headset_cargo = 3 + ) + premium = list( + /obj/item/clothing/under/rank/cargo/miner = 3, + /obj/item/clothing/head/mailman = 1, + /obj/item/clothing/under/misc/mailman = 1 + ) refill_canister = /obj/item/vending_refill/wardrobe/cargo_wardrobe payment_department = ACCOUNT_CAR + /obj/item/vending_refill/wardrobe/cargo_wardrobe machine_name = "CargoDrobe" diff --git a/icons/obj/bureaucracy.dmi b/icons/obj/bureaucracy.dmi index 4754c8375e915691c2ce04e483be0f1326fa53c3..6578e08fa0da00a0ee13ae7303ec955062036606 100644 GIT binary patch literal 24296 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 diff --git a/icons/obj/crates.dmi b/icons/obj/crates.dmi index 98ccc6b2ff150d39557abd05833da9eccf79b8c5..3ae97bcc36429c76bfebf7e4e61b883a9eba3bc7 100644 GIT binary patch literal 28611 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