[MIRROR] Various upports (#10293)

Co-authored-by: Guti <32563288+TheCaramelion@users.noreply.github.com>
Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
This commit is contained in:
CHOMPStation2StaffMirrorBot
2025-03-04 06:04:25 -07:00
committed by GitHub
parent 73ccdbb648
commit aa0da49558
53 changed files with 633 additions and 642 deletions

View File

@@ -1,6 +0,0 @@
/decl/hierarchy/outfit/job/cargo/cargo_tech/mailman
name = OUTFIT_JOB_NAME(JOB_ALT_MAILMAN)
uniform = /obj/item/clothing/under/rank/mailman2
head = /obj/item/clothing/head/mailman2
pda_slot = slot_l_store
backpack_contents = list(/obj/item/storage/bag/mail = 1, /obj/item/mail_scanner = 1)

View File

@@ -1,16 +1,3 @@
/datum/supply_pack/supply/postal_service
name = "Postal Service Supplies"
contains = list(
/obj/item/mail/blank = 10,
/obj/item/pen/fountain,
/obj/item/pen/multi,
/obj/item/destTagger,
/obj/item/storage/bag/mail
)
cost = 15
containertype = /obj/structure/closet/crate/nanotrasen
containername = "Postal Service crate"
/datum/supply_pack/supply/freezer
name = "Freezer crate"
desc = "An empty freezer for storing perishable items."

View File

@@ -1,720 +0,0 @@
// Mail goodies
/datum/job/
var/list/mail_goodies = list() // Goodies that can be received via the mail system
var/exclusive_mail_goodies = FALSE // If this job's mail goodies compete with generic goodies.
var/mail_color = "#FFF"
/datum/alt_title/
var/list/mail_goodies = list()
// Get mail goodies
/datum/job/proc/get_mail_goodies(mob/recipient, var/alt_title)
var/list/goodies = list()
goodies |= mail_goodies
if(alt_titles && alt_titles)
var/typepath = alt_titles[alt_title]
if(typepath)
var/datum/alt_title/A = new typepath()
if(A.mail_goodies)
goodies |= A.mail_goodies
return goodies
// Get mail colour
/datum/job/proc/get_mail_color(mob/recipient)
return mail_color
// Assistant
/datum/job/intern
mail_goodies = list(
/obj/item/cell/device = 200,
/obj/item/cell = 175,
/obj/item/storage/belt/utility = 150,
/obj/item/cell/high = 125,
/obj/item/tool/wrench = 125,
/obj/item/tool/screwdriver = 125,
/obj/item/cell/device/hyper = 50,
/obj/item/cell/hyper = 50,
)
mail_color = COMMS_COLOR_ENTERTAIN
/datum/alt_title/intern_eng
mail_goodies = list(
/obj/item/cell/device = 200,
/obj/item/cell = 175,
/obj/item/storage/belt/utility = 150,
/obj/item/cell/high = 125,
/obj/item/tool/wrench = 125,
/obj/item/tool/screwdriver = 125,
/obj/item/geiger = 100
)
/datum/alt_title/intern_med
mail_goodies = list(
/obj/item/reagent_containers/hypospray/autoinjector/burn = 200,
/obj/item/reagent_containers/hypospray/autoinjector/trauma = 200,
/obj/item/reagent_containers/hypospray/autoinjector/detox = 200,
/obj/item/stack/medical/ointment = 100,
/obj/item/stack/medical/bruise_pack = 100,
/obj/item/storage/pill_bottle/paracetamol = 100,
/obj/item/storage/pill_bottle/blood_regen = 50,
/obj/item/storage/pill_bottle/assorted = 50,
)
/datum/alt_title/intern_sci
mail_goodies = list(
/obj/item/cell/device = 200,
/obj/item/cell = 175,
/obj/item/storage/belt/utility = 150,
/obj/item/cell/high = 125,
/obj/item/tool/wrench = 125,
/obj/item/tool/screwdriver = 125,
/obj/item/cell/device/hyper = 50,
/obj/item/cell/hyper = 50,
)
/datum/alt_title/intern_sec
mail_goodies = list(
/obj/item/reagent_containers/food/snacks/donut/plain = 200,
/obj/item/poster/custom = 200,
/obj/item/ticket_printer = 200,
/obj/item/holowarrant = 200,
/obj/item/retail_scanner/security = 100,
/obj/item/taperoll/police = 100
)
/datum/alt_title/intern_crg
mail_goodies = list(
/obj/item/wrapping_paper = 200,
/obj/item/form_printer = 200,
/obj/item/poster/custom = 200,
/obj/item/stack/material/wood{amount = 10} = 100,
/obj/item/stack/material/steel{amount = 10} = 100,
/obj/item/pickaxe = 100,
/obj/item/stack/marker_beacon = 100,
)
/datum/alt_title/intern_exp
mail_goodies = list(
/obj/item/storage/mre/menu2 = 800,
/obj/item/binoculars/spyglass = 150,
/obj/item/cell/device/hyper = 50,
)
/datum/alt_title/server
mail_goodies = list(
/obj/item/tray = 200,
/obj/item/material/kitchen/utensil/fork = 200,
/obj/item/material/knife/plastic = 200,
/obj/item/reagent_containers/food/snacks/tofu = 200,
/obj/item/reagent_containers/food/snacks/candy_corn = 200,
)
/datum/alt_title/assistant
// Visitor
/datum/job/assistant
/datum/alt_title/guest
/datum/alt_title/traveler
// Cargo
/datum/job/qm
mail_goodies = list(
/obj/item/stack/material/plasteel{amount = 10} = 125,
/obj/item/stack/material/marble{amount = 10} = 125,
/obj/item/stack/material/wood{amount = 10} = 125,
/obj/item/stack/material/steel{amount = 10} = 125,
/obj/item/stack/material/glass{amount = 10} = 125,
/obj/item/coin/silver = 100,
/obj/item/pen/fountain8 = 100,
/obj/item/stack/material/durasteel{amount = 5} = 75,
/obj/item/stack/material/diamond{amount = 3} = 75,
/obj/item/toy/plushie/borgplushie/drake/mine = 25,
)
mail_color = COMMS_COLOR_SUPPLY
/datum/job/cargo_tech
mail_goodies = list(
/obj/item/pizzavoucher = 375,
/obj/item/poster/custom = 200,
/obj/item/stack/material/steel{amount = 10} = 150,
/obj/item/stack/material/glass{amount = 10} = 150,
/obj/item/stack/material/wood{amount = 10} = 150,
/obj/item/coin/silver = 50
)
mail_color = COMMS_COLOR_SUPPLY
/datum/alt_title/disposal_sorter
mail_goodies = list(
/obj/item/clothing/gloves/black = 300,
/obj/item/reagent_containers/spray/sterilizine = 300,
/obj/item/storage/bag/trash = 300,
/obj/item/coin/silver = 80,
/obj/item/storage/bag/trash/holding = 20
)
/datum/alt_title/mailman
mail_goodies = list(
/obj/item/poster/custom = 300,
/obj/item/wrapping_paper = 300,
/obj/item/pizzavoucher = 300,
/obj/item/coin/silver = 100,
)
/datum/job/mining
mail_goodies = list(
/obj/item/plastique/seismic/locked = 150,
/obj/item/stack/marker_beacon/ten = 150,
/obj/item/pickaxe/diamond = 125,
/obj/item/perfect_tele/one_beacon = 125,
/obj/item/clothing/shoes/bhop = 125,
/obj/item/inducer = 125,
/obj/item/pickaxe/advdrill = 100,
/obj/item/storage/bag/ore/holding = 100
)
mail_color = COMMS_COLOR_SUPPLY
/datum/alt_title/drill_tech
mail_goodies = list(
/obj/item/stack/marker_beacon/ten = 250,
/obj/item/perfect_tele/one_beacon = 125,
/obj/item/clothing/shoes/bhop = 125,
/obj/item/inducer = 125,
/obj/item/stock_parts/manipulator/nano = 50,
/obj/item/stock_parts/capacitor/adv = 50,
/obj/item/stock_parts/scanning_module/adv = 50,
/obj/item/stock_parts/micro_laser/high = 50,
/obj/item/stock_parts/matter_bin/super = 10,
/obj/item/stock_parts/manipulator/pico = 10,
/obj/item/stock_parts/capacitor/super = 10,
/obj/item/stock_parts/scanning_module/phasic = 10,
/obj/item/stock_parts/micro_laser/ultra = 10
)
// Civilian
/datum/job/bartender
mail_goodies = list(
/obj/item/reagent_containers/food/drinks/metaglass/metapint = 300,
/obj/item/reagent_containers/glass/bottle/nothing = 250,
/obj/item/reagent_containers/glass/bottle/gelatin = 250,
/obj/item/stack/material/uranium = 150,
/obj/item/reagent_containers/chem_disp_cartridge/nothing = 25,
/obj/item/reagent_containers/chem_disp_cartridge/gelatin = 25,
)
mail_color = COMMS_COLOR_SERVICE
/datum/alt_title/barista
mail_goodies = list(
/obj/item/reagent_containers/food/drinks/metaglass/metapint = 300,
/obj/item/reagent_containers/glass/bottle/gelatin = 225,
/obj/item/reagent_containers/food/drinks/smallmilk = 225,
/obj/item/reagent_containers/glass/bottle/cinnamonpowder = 100,
/obj/item/reagent_containers/food/drinks/teapot = 100,
/obj/item/reagent_containers/chem_disp_cartridge/gelatin = 50,
)
/datum/job/chef
mail_goodies = list(
/obj/item/reagent_containers/food/condiment/soysauce = 250,
/obj/item/reagent_containers/food/drinks/smallmilk = 250,
/obj/item/reagent_containers/glass/bottle/cakebatter = 200,
/obj/item/reagent_containers/food/snacks/cuttlefish = 200,
/obj/item/reagent_containers/glass/bottle/cinnamonpowder = 100
)
mail_color = COMMS_COLOR_SERVICE
/datum/job/hydro
mail_goodies = list(
/obj/item/reagent_containers/glass/bottle/eznutrient = 200,
/obj/item/reagent_containers/glass/bottle/left4zed = 200,
/obj/item/reagent_containers/glass/bottle/robustharvest = 200,
/obj/item/reagent_containers/spray/plantbgone = 150,
/obj/item/reagent_containers/glass/bottle/diethylamine = 100,
/obj/item/gun/energy/floragun = 75,
/obj/item/grenade/chem_grenade/antiweed = 75
)
mail_color = COMMS_COLOR_SERVICE
/datum/job/janitor
mail_goodies = list(
/obj/item/storage/box/lights/mixed = 200,
/obj/item/reagent_containers/spray/cleaner = 200,
/obj/item/lightreplacer = 150,
/obj/item/lightpainter = 150,
/obj/item/soap = 100,
/obj/item/grenade/chem_grenade/cleaner = 100,
/obj/item/reagent_containers/spray/chemsprayer/hosed = 50,
/obj/item/storage/bag/trash/holding = 25,
/obj/item/toy/plushie/borgplushie/drake/jani = 25,
)
mail_color = COMMS_COLOR_SERVICE
/datum/job/librarian
mail_goodies = list(
/obj/item/form_printer = 250,
/obj/item/book/manual/wizzoffguide = 100,
/obj/item/book/bundle/custom_library/fiction/ghostship = 100,
/obj/item/book/bundle/custom_library/reference/ThermodynamicReactionsandResearch = 100,
/obj/item/book/bundle/custom_library/nonfiction/riseandfallofpersianempire = 100,
/obj/item/book/bundle/custom_library/nonfiction/skrelliancastesystem = 100,
/obj/item/book/codex/lore/robutt = 95,
/obj/item/book/codex/lore/news = 95,
/obj/item/pen/fountain3 = 50,
/obj/item/reagent_containers/food/snacks/egg = 10
)
mail_color = COMMS_COLOR_SERVICE
/datum/job/lawyer
mail_goodies = list(
/obj/item/pen/fountain8 = 800,
/obj/item/form_printer = 200,
)
mail_color = COMMS_COLOR_SERVICE
/datum/job/chaplain
mail_goodies = list(
/obj/item/storage/fancy/candle_box = 340,
/obj/item/storage/fancy/whitecandle_box = 330,
/obj/item/storage/fancy/blackcandle_box = 330
)
mail_color = COMMS_COLOR_SERVICE
/datum/job/entertainer
// These need new goodes...
mail_goodies = list(
/obj/random/instrument = 600,
/obj/item/storage/pill_bottle/dice_nerd = 400,
)
mail_color = COMMS_COLOR_SERVICE
/datum/alt_title/clown
mail_goodies = list(
/obj/fruitspawner/banana = 200,
/obj/item/pen/crayon/rainbow = 200,
/obj/item/bikehorn = 200,
/obj/item/soap/rainbow_soap = 100,
/obj/item/reagent_containers/spray/waterflower = 100,
/obj/item/reagent_containers/glass/bottle/lube = 100,
/obj/item/reagent_containers/food/snacks/pie = 100
)
/datum/alt_title/mime
mail_goodies = list(
/obj/item/reagent_containers/food/drinks/bottle/wine = 250,
/obj/item/reagent_containers/glass/bottle/nothing = 250,
/obj/item/reagent_containers/food/snacks/baguette = 200,
/obj/item/pen/crayon/mime = 200
)
/datum/job/entrepreneur // Same for these guys! What could they get?
mail_goodies = list(
/obj/item/reagent_containers/food/drinks/coffee = 1000, // For now, they'll get extra on coffee.
)
mail_color = COMMS_COLOR_SERVICE
/datum/alt_title/paranormal_investigator
mail_goodies = list(
/obj/item/storage/fancy/candle_box = 340,
/obj/item/storage/fancy/whitecandle_box = 330,
/obj/item/storage/fancy/blackcandle_box = 330
)
// Command
/datum/job/captain
mail_goodies = list(
/obj/item/reagent_containers/food/drinks/bottle/specialwhiskey = 250,
/obj/item/reagent_containers/food/drinks/bottle/champagne = 250,
/obj/item/storage/fancy/cigar/havana = 250,
/obj/item/form_printer = 200,
/obj/item/pen/fountain6 = 50
)
mail_color = COMMS_COLOR_COMMAND
/datum/job/hop
mail_goodies = list( // Need to check what these could get...
/obj/item/pen/fountain6 = 650,
/obj/item/form_printer = 200,
/obj/item/toy/figure/corgi = 150
)
mail_color = COMMS_COLOR_COMMAND
/datum/job/secretary
mail_goodies = list(
/obj/item/form_printer = 225,
/obj/item/toy/figure/cmo = 175,
/obj/item/toy/figure/ce = 175,
/obj/item/toy/figure/rd = 175,
/obj/item/toy/figure/hos = 150,
/obj/item/toy/figure/hop = 125,
/obj/item/toy/figure/captain = 50,
/obj/item/pen/fountain6 = 25
)
mail_color = COMMS_COLOR_COMMAND
// Engineering
/datum/job/chief_engineer
mail_goodies = list(
/obj/item/stack/material/steel{amount = 15} = 225,
/obj/item/stack/material/lead{amount = 10} = 175,
/obj/item/stack/material/glass/reinforced{amount = 10} = 150,
/obj/item/rcd_ammo = 150,
/obj/item/stack/material/plasteel{amount = 10} = 125,
/obj/item/stack/material/phoron{amount = 5} = 100,
/obj/item/pen/fountain6 = 50,
/obj/item/toy/plushie/borgplushie/drake/eng = 25,
)
mail_color = COMMS_COLOR_COMMAND
/datum/job/engineer
mail_goodies = list(
/obj/item/stack/material/steel{amount = 10} = 235,
/obj/item/stack/material/lead{amount = 10} = 235,
/obj/item/stack/material/glass/reinforced{amount = 10} = 235,
/obj/item/rcd_ammo = 155,
/obj/item/stack/material/plasteel{amount = 10} = 100,
/obj/item/tool/screwdriver/power = 10,
/obj/item/tool/wirecutters/power = 10,
/obj/item/weldingtool/experimental = 10,
/obj/item/tool/wrench/power = 10,
)
mail_color = COMMS_COLOR_ENGINEER
/datum/alt_title/electrician
mail_goodies = list(
/obj/item/storage/box/lights/mixed = 250,
/obj/item/stack/cable_coil = 250,
/obj/item/clothing/gloves/yellow = 200,
/obj/item/stack/cable_coil/heavyduty = 210,
/obj/item/tool/screwdriver/power = 10,
/obj/item/tool/wirecutters/power = 10,
/obj/item/weldingtool/experimental = 10,
/obj/item/tool/wrench/power = 10,
)
/datum/job/atmos
mail_goodies = list(
/obj/item/stack/material/steel{amount = 10} = 330,
/obj/item/analyzer = 300,
/obj/item/holosign_creator/combifan = 230,
/obj/item/pipe_dispenser = 130,
/obj/item/tool/screwdriver/power = 10,
/obj/item/tool/wirecutters/power = 10,
/obj/item/weldingtool/experimental = 10,
)
mail_color = COMMS_COLOR_ENGINEER
// Exploration
/datum/job/pathfinder
mail_goodies = list(
/obj/item/binoculars/spyglass = 300,
/obj/item/cataloguer/advanced = 200,
/obj/item/storage/mre/menu2 = 150,
/obj/item/reagent_containers/hypospray/autoinjector/biginjector/brute = 100,
/obj/item/reagent_containers/hypospray/autoinjector/biginjector/burn = 100,
/obj/item/reagent_containers/hypospray/autoinjector/biginjector/toxin = 100,
/obj/item/cell/device/hyper = 100,
/obj/item/flashlight/slime = 50,
)
mail_color = "#274d0a"
/datum/job/pilot
mail_goodies = list(
/obj/item/storage/mre/menu2 = 400,
/obj/item/tank/air = 250,
/obj/item/reagent_containers/hypospray/autoinjector/biginjector/brute = 100,
/obj/item/reagent_containers/hypospray/autoinjector/biginjector/burn = 100,
/obj/item/reagent_containers/hypospray/autoinjector/biginjector/toxin = 100,
/obj/item/cell/device/hyper = 50,
)
mail_color = "#274d0a"
/datum/job/explorer
mail_goodies = list(
/obj/item/storage/mre/menu2 = 500,
/obj/item/binoculars/spyglass = 150,
/obj/item/reagent_containers/hypospray/autoinjector/biginjector/brute = 100,
/obj/item/reagent_containers/hypospray/autoinjector/biginjector/burn = 100,
/obj/item/reagent_containers/hypospray/autoinjector/biginjector/toxin = 100,
/obj/item/cell/device/hyper = 50,
)
mail_color = "#274d0a"
/datum/job/sar
mail_goodies = list(
/obj/item/storage/mre/menu2 = 500,
/obj/item/storage/pill_bottle/antitox = 100,
/obj/item/storage/pill_bottle/dexalin_plus = 100,
/obj/item/storage/pill_bottle/kelotane = 100,
/obj/item/storage/firstaid/adv = 75,
/obj/item/reagent_containers/hypospray/autoinjector/biginjector/brute = 25,
/obj/item/reagent_containers/hypospray/autoinjector/biginjector/burn = 25,
/obj/item/reagent_containers/hypospray/autoinjector/biginjector/toxin = 25,
/obj/item/reagent_containers/hypospray/autoinjector/biginjector/purity = 10,
/obj/item/reagent_containers/hypospray/autoinjector/biginjector/pain = 10,
/obj/item/reagent_containers/hypospray/autoinjector/biginjector/organ = 10,
/obj/item/reagent_containers/hypospray/autoinjector/biginjector/combat = 5,
/obj/item/reagent_containers/hypospray/autoinjector/biginjector/clotting = 5,
/obj/item/reagent_containers/hypospray/autoinjector/biginjector/healing_nanites = 5,
/obj/item/reagent_containers/hypospray/autoinjector/bonemed = 5
)
mail_color = "#274d0a"
// Medical
/datum/job/cmo
mail_goodies = list(
/obj/item/healthanalyzer/advanced = 270,
/obj/item/reagent_containers/hypospray = 250,
/obj/item/reagent_containers/blood/OMinus = 250,
/obj/item/pen/fountain6 = 75,
/obj/item/surgical/scalpel/manager = 20,
/obj/item/surgical/circular_saw/manager = 20,
/obj/item/reagent_containers/hypospray/autoinjector/bonemed = 20,
/obj/item/reagent_containers/hypospray/autoinjector/biginjector/clotting = 20,
/obj/item/reagent_containers/hypospray/autoinjector/biginjector/organ = 20,
/obj/item/toy/plushie/borgplushie/medihound = 20,
/obj/item/reagent_containers/pill/healing_nanites = 15,
)
mail_color = COMMS_COLOR_COMMAND
/datum/job/doctor
mail_goodies = list(
/obj/item/reagent_containers/syringe/antiviral = 200,
/obj/item/reagent_containers/spray/sterilizine = 200,
/obj/item/storage/pill_bottle/tramadol = 125,
/obj/item/storage/pill_bottle/antitox = 125,
/obj/item/reagent_containers/blood/OMinus = 125,
/obj/item/healthanalyzer/improved = 150,
/obj/item/storage/pill_bottle/neotane = 10,
/obj/item/storage/pill_bottle/burncard = 10,
/obj/item/storage/pill_bottle/flamecure = 10,
/obj/item/storage/pill_bottle/purifyingagent = 10,
/obj/item/reagent_containers/hypospray/autoinjector/biginjector/clotting = 10
)
mail_color = COMMS_COLOR_MEDICAL
/datum/alt_title/surgeon
mail_goodies = list(
/obj/item/reagent_containers/spray/sterilizine = 300,
/obj/item/healthanalyzer/improved = 170,
/obj/item/reagent_containers/blood/OMinus = 170,
/obj/item/stack/medical/advanced/bruise_pack = 150,
/obj/item/stack/medical/advanced/ointment = 150,
/obj/item/surgical/bone_clamp = 20,
/obj/item/surgical/scalpel/manager = 20,
/obj/item/surgical/circular_saw/manager = 20,
)
/datum/alt_title/virologist
mail_goodies = list(
/obj/item/storage/pill_bottle/spaceacillin = 150,
/obj/item/clothing/mask/surgical = 150,
/obj/item/clothing/gloves/sterile/latex = 150,
/obj/item/reagent_containers/glass/bottle/culture/cold = 150,
/obj/item/reagent_containers/glass/bottle/culture/flu = 150,
/obj/item/reagent_containers/blood/OMinus = 100,
)
/datum/job/chemist
mail_goodies = list(
/obj/item/storage/pill_bottle = 235,
/obj/item/reagent_containers/glass/beaker/large = 210,
/obj/item/reagent_containers/pill/hyronalin = 210,
/obj/item/reagent_containers/pill/carthatoline = 210,
/obj/item/stack/material/phoron{amount = 5} = 120,
/obj/item/reagent_containers/pill/healing_nanites = 15
)
mail_color = COMMS_COLOR_MEDICAL
/datum/job/psychiatrist
mail_goodies = list(
/obj/item/toy/plushie/carp = 225,
/obj/item/toy/plushie/blue_fox = 225,
/obj/item/toy/plushie/orange_cat = 200,
/obj/item/toy/plushie/borgplushie/drake/jani = 200,
/obj/item/toy/plushie/shark = 75,
/obj/item/storage/pill_bottle/happy = 50,
/obj/item/storage/pill_bottle/citalopram = 50
)
mail_color = COMMS_COLOR_MEDICAL
/datum/job/geneticist
mail_goodies = list(
/obj/item/reagent_containers/food/snacks/monkeycube = 600,
/obj/item/reagent_containers/hypospray/autoinjector/biginjector/toxin = 200,
/obj/item/reagent_containers/hypospray/autoinjector/biginjector/purity = 200,
)
mail_color = COMMS_COLOR_MEDICAL
/datum/job/paramedic
mail_goodies = list(
/obj/item/stack/medical/bruise_pack = 200,
/obj/item/stack/medical/ointment = 200,
/obj/item/stack/medical/advanced/bruise_pack = 175,
/obj/item/stack/medical/advanced/ointment = 175,
/obj/item/reagent_containers/syringe/antiviral = 100,
/obj/item/storage/pill_bottle/tramadol = 100,
/obj/item/storage/pill_bottle/neotane = 10,
/obj/item/storage/pill_bottle/burncard = 10,
/obj/item/storage/pill_bottle/flamecure = 10,
/obj/item/storage/pill_bottle/purifyingagent = 10,
/obj/item/reagent_containers/pill/myelamine = 10
)
mail_color = COMMS_COLOR_MEDICAL
// Science
/datum/job/rd
mail_goodies = list(
/obj/item/stack/material/steel{amount = 15} = 300,
/obj/item/stack/material/plasteel{amount = 10} = 250,
/obj/item/cell/super = 155,
/obj/item/cell/hyper = 125,
/obj/item/pen/fountain6 = 75,
/obj/item/toy/plushie/borgplushie/drake/sci = 20,
/obj/item/stock_parts/matter_bin/hyper = 15,
/obj/item/stock_parts/manipulator/hyper = 15,
/obj/item/stock_parts/capacitor/hyper = 15,
/obj/item/stock_parts/scanning_module/hyper = 15,
/obj/item/stock_parts/micro_laser/hyper = 15
)
mail_color = COMMS_COLOR_COMMAND
/datum/job/scientist
mail_goodies = list(
/obj/item/stack/material/steel{amount = 10} = 250,
/obj/item/stack/material/glass{amount = 10} = 200,
/obj/item/cell/super = 100,
/obj/item/cell/hyper = 100,
/obj/item/stack/material/plasteel{amount = 10} = 70,
/obj/item/stock_parts/matter_bin/adv = 45,
/obj/item/stock_parts/manipulator/nano = 45,
/obj/item/stock_parts/capacitor/adv = 45,
/obj/item/stock_parts/scanning_module/adv = 45,
/obj/item/stock_parts/micro_laser/high = 45,
/obj/item/stack/nanopaste/advanced = 30,
/obj/item/stock_parts/matter_bin/super = 5,
/obj/item/stock_parts/manipulator/pico = 5,
/obj/item/stock_parts/capacitor/super = 5,
/obj/item/stock_parts/scanning_module/phasic = 5,
/obj/item/stock_parts/micro_laser/ultra = 5
)
mail_color = COMMS_COLOR_SCIENCE
/datum/job/xenobiologist
mail_goodies = list(
/obj/item/reagent_containers/food/snacks/monkeycube = 780,
/obj/item/clothing/head/helmet = 100,
/obj/item/melee/baton/slime = 100,
/obj/item/xenobio/monkey_gun = 20
)
mail_color = COMMS_COLOR_SCIENCE
/datum/job/roboticist
mail_goodies = list(
/obj/item/trash/rkibble = 200,
/obj/item/stack/material/steel{amount = 10} = 150,
/obj/item/robotanalyzer = 125,
/obj/item/stack/nanopaste/advanced = 85,
/obj/item/kit/paint/ripley = 55,
/obj/item/kit/paint/gygax = 55,
/obj/item/kit/paint/durand = 55,
/obj/item/kit/paint/ripley/death = 45,
/obj/item/kit/paint/durand/seraph = 45,
/obj/item/kit/paint/durand/phazon = 45,
/obj/item/kit/paint/gygax/darkgygax = 30,
/obj/item/kit/paint/ripley/flames_red = 30,
/obj/item/kit/paint/gygax/recitence = 25,
/obj/item/kit/paint/ripley/flames_blue = 25,
/obj/item/tool/screwdriver/power = 10,
/obj/item/tool/wirecutters/power = 10,
/obj/item/weldingtool/experimental = 10,
)
mail_color = COMMS_COLOR_SCIENCE
/datum/job/xenobotanist
mail_goodies = list(
/obj/item/reagent_containers/glass/bottle/mutagen = 350,
/obj/item/reagent_containers/glass/bottle/diethylamine = 350,
/obj/item/reagent_containers/spray/plantbgone = 150,
/obj/item/gun/energy/floragun = 100,
/obj/item/grenade/chem_grenade/antiweed = 50
)
mail_color = COMMS_COLOR_SCIENCE
// Security
/datum/job/hos
mail_goodies = list(
/obj/item/reagent_containers/food/snacks/donut/homer = 200,
/obj/item/clothing/mask/smokable/cigarette/cigar/havana = 165,
/obj/item/grenade/concussion = 150,
/obj/item/grenade/chem_grenade/teargas = 125,
/obj/item/grenade/shooter/rubber = 75,
/obj/item/storage/box/handcuffs = 75,
/obj/item/pen/fountain6 = 50,
/obj/item/ammo_magazine/ammo_box/b12g/stunshell = 50,
/obj/item/ammo_magazine/m45 = 50,
/obj/item/ammo_magazine/m9mmt = 50,
/obj/item/toy/plushie/borgplushie/drake/sec = 10
)
mail_color = COMMS_COLOR_COMMAND
/datum/job/warden
mail_goodies = list(
/obj/item/reagent_containers/food/snacks/donut/homer = 250,
/obj/item/clothing/mask/smokable/cigarette/cigar/havana = 165,
/obj/item/grenade/concussion = 150,
/obj/item/grenade/chem_grenade/teargas = 150,
/obj/item/grenade/shooter/rubber = 125,
/obj/item/storage/box/handcuffs = 100,
/obj/item/ammo_magazine/ammo_box/b12g/stunshell = 20,
/obj/item/ammo_magazine/m45 = 20,
/obj/item/ammo_magazine/m9mmt = 20,
)
mail_color = COMMS_COLOR_SECURITY
/datum/job/detective
mail_goodies = list(
/obj/item/storage/box/matches = 200,
/obj/item/storage/fancy/cigarettes = 100,
/obj/item/reagent_containers/food/drinks/bottle/whiskey = 100,
/obj/item/storage/fancy/cigarettes/dromedaryco = 75,
/obj/item/storage/fancy/cigarettes/killthroat = 75,
/obj/item/storage/fancy/cigarettes/luckystars = 75,
/obj/item/storage/fancy/cigarettes/jerichos = 75,
/obj/item/storage/fancy/cigarettes/menthols = 75,
/obj/item/storage/fancy/cigarettes/carcinomas = 75,
/obj/item/storage/fancy/cigarettes/professionals = 75,
/obj/item/storage/fancy/cigar/havana = 25,
/obj/item/flame/lighter/supermatter/syndismzippo = 20,
/obj/item/clothing/mask/smokable/cigarette/cigar = 10,
/obj/item/clothing/mask/smokable/cigarette/cigar/cohiba = 10,
/obj/item/clothing/mask/smokable/cigarette/cigar/havana = 10
)
mail_color = COMMS_COLOR_SECURITY
/datum/job/officer
mail_goodies = list(
/obj/item/reagent_containers/food/snacks/donut/olive = 175,
/obj/item/reagent_containers/food/snacks/donut/homer/jelly = 155,
/obj/item/reagent_containers/food/snacks/donut/purple = 155,
/obj/item/reagent_containers/food/snacks/donut/plain = 155,
/obj/item/handcuffs = 75,
/obj/item/hailer = 75,
/obj/item/ammo_magazine/m9mmt/rubber = 50,
/obj/item/ammo_magazine/ammo_box/b12g/beanbag = 50,
/obj/item/ammo_magazine/ammo_box/b12g = 25,
/obj/item/ammo_magazine/ammo_box/b12g/pellet = 25,
/obj/item/ammo_magazine/m45/rubber = 25,
/obj/item/ammo_magazine/m45/flash = 25,
)
mail_color = COMMS_COLOR_SECURITY

View File

@@ -1,72 +0,0 @@
/obj/item/holosign_creator
name = "holographic sign projector"
desc = "A handy-dandy holographic projector that displays a janitorial sign."
icon = 'icons/obj/device.dmi'
icon_state = "signmaker"
item_state = "electronic"
force = 0
w_class = 2
throwforce = 0
throw_speed = 3
throw_range = 7
var/list/signs = list()
var/max_signs = 10
var/creation_time = 0 //time to create a holosign in deciseconds.
var/holosign_type = /obj/structure/holosign/wetsign
var/holocreator_busy = FALSE //to prevent placing multiple holo barriers at once
/obj/item/holosign_creator/afterattack(atom/target, mob/user, clickchain_flags, list/params)
. = ..()
if(!check_allowed_items(target, 1))
return
var/turf/T = get_turf(target)
var/obj/structure/holosign/H = locate(holosign_type) in T
if(H)
to_chat(user, span_notice("You use [src] to deactivate [H]."))
qdel(H)
else
if(holocreator_busy)
to_chat(user, span_notice("[src] is busy creating a hologram."))
return
if(signs.len < max_signs)
playsound(src.loc, 'sound/machines/click.ogg', 20, 1)
if(creation_time)
holocreator_busy = TRUE
if(!do_after(user, creation_time, target = target))
holocreator_busy = FALSE
return
holocreator_busy = FALSE
if(signs.len >= max_signs)
return
if(is_blocked_turf(T, TRUE)) //don't try to sneak dense stuff on our tile during the wait.
return
H = new holosign_type(get_turf(target), src)
to_chat(user, span_notice("You create \a [H] with [src]."))
else
to_chat(user, span_notice("[src] is projecting at max capacity!"))
/obj/item/holosign_creator/attack_self(mob/user)
. = ..()
if(.)
return
if(signs.len)
for(var/H in signs)
qdel(H)
to_chat(user, span_notice("You clear all active holograms."))
/obj/item/holosign_creator/combifan
name = "ATMOS holo-combifan projector"
desc = "A holographic projector that creates holographic combi-fans that prevent changes in atmosphere and temperature conditions. Somehow."
icon_state = "signmaker_engi"
holosign_type = /obj/structure/holosign/barrier/combifan
creation_time = 0
max_signs = 3
/obj/item/holosign_creator/medical
name = "Vey-Med barrier projector"
desc = "A holographic projector that creates Vey-Medical holobarriers. Useful during quarantines since they halt those with malicious diseases."
icon = 'modular_chomp/icons/obj/device.dmi'
icon_state = "signmaker_med"
holosign_type = /obj/structure/holosign/barrier/medical
creation_time = 0
max_signs = 6

View File

@@ -1,337 +0,0 @@
/obj/item/flame/lighter/supermatter
name = "Hardlight Supermatter Zippo" // Base SM Lighter
desc = "State of the Art Supermatter Lighter."
description_fluff = "A zippo style lighter with a tiny supermatter sliver held by a hardlight shield. When lighting a cigar, make sure to hover the tip near the sliver, not against it!"
icon = 'icons/obj/zippo_ch.dmi'
icon_state = "SMzippo"
item_state = "SMzippo"
activation_sound = 'modular_chomp/sound/items/open.ogg'
deactivation_sound = 'sound/items/zippo_off.ogg'
/obj/item/flame/lighter/supermatter/syndismzippo
name = "Phoron Supermatter Zippo" // Syndicate SM Lighter
desc = "State of the Art Supermatter Lighter."
description_fluff = "A red zippo style lighter with a tiny supermatter sliver held by a phoron field."
icon = 'icons/obj/zippo_ch.dmi'
icon_state = "SyndiSMzippo"
item_state = "SyndiSMzippo"
activation_sound = 'modular_chomp/sound/items/open.ogg'
deactivation_sound = 'sound/items/zippo_off.ogg'
/obj/item/flame/lighter/supermatter/expsmzippo
name = "Experimental SM Lighter" // Dangerous WIP (admin/event only ATM)
desc = "State of the Art Supermatter Lighter"
description_fluff = "A unique take originating from the zippo design, a shard of supermatter placed within lead-lined walls. Cautious, VERY DANGEROUS do NOT touch!"
icon = 'icons/obj/zippo_ch.dmi'
icon_state = "ExpSMzippo"
item_state = "ExpSMzippo"
activation_sound = 'modular_chomp/sound/items/button-open.ogg'
deactivation_sound = 'modular_chomp/sound/items/button-close.ogg'
// safe smzippo
/obj/item/flame/lighter/supermatter/attack_self(mob/living/user)
if(!base_state)
base_state = icon_state
if(!lit)
lit = 1
icon_state = "[base_state]on"
item_state = "[base_state]on"
playsound(src, activation_sound, 75, 1)
if(prob(50))
user.visible_message(span_rose("[user] safely activates the [src] with a push of a button!"))
else
if(prob(95))
user.visible_message(span_notice("After a few attempts, [user] manages to excite the supermatter within the [src]."))
else // Just like the cheap lighter, this time you can shock/burn yourself a little on the hardlight shield
to_chat(user, span_warning("You hurt yourself on the shielding!"))
if (user.get_left_hand() == src)
user.apply_damage(1,SEARING,"l_hand")
user.apply_damage(2,ELECTROCUTE,"l_hand")
user.apply_damage(3,CLONE,"l_hand")
user.apply_damage(4,ELECTROMAG,"l_hand")
else
user.apply_damage(1,SEARING,"r_hand")
user.apply_damage(2,ELECTROCUTE,"r_hand")
user.apply_damage(3,CLONE,"r_hand")
user.apply_damage(4,ELECTROMAG,"r_hand")
user.visible_message(span_notice("After a few attempts, [user] manages to activate the [src], they however sting themselves on the shielding!"))
set_light(2)
START_PROCESSING(SSobj, src)
else
lit = 0
icon_state = "[base_state]"
item_state = "[base_state]"
playsound(src, deactivation_sound, 75, 1)
if(istype(src, /obj/item/flame/lighter/supermatter) )
user.visible_message(span_rose("You hear a quiet click, as [user] shuts the [src] without even looking at what they're doing."))
else
user.visible_message(span_notice("[user] quietly shuts the [src]."))
set_light(0)
STOP_PROCESSING(SSobj, src)
return
/obj/item/flame/lighter/supermatter/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob)
if(!istype(M, /mob))
return
if(lit == 1)
M.IgniteMob()
add_attack_logs(user,M,"Lit on fire with [src]")
if(istype(M.wear_mask, /obj/item/clothing/mask/smokable/cigarette) && user.zone_sel.selecting == O_MOUTH && lit)
var/obj/item/clothing/mask/smokable/cigarette/cig = M.wear_mask
if(M == user)
cig.attackby(src, user)
else
if(istype(src, /obj/item/flame/lighter/supermatter))
cig.light(span_rose("[user] whips the [name] out and holds it for [M]."))
else
cig.light(span_notice("[user] holds the [name] out for [M], and lights the [cig.name]."))
else
..()
/obj/item/flame/lighter/supermatter/process()
var/turf/location = get_turf(src)
if(location)
location.hotspot_expose(700, 5)
return
// syndicate smzippo
/obj/item/flame/lighter/supermatter/syndismzippo/attack_self(mob/living/user)
if(!base_state)
base_state = icon_state
if(!lit)
lit = 1
icon_state = "[base_state]on"
item_state = "[base_state]on"
playsound(src, activation_sound, 75, 1)
if(prob(50))
user.visible_message(span_rose("[user] safely activates the [src] with a push of a button!"))
else
if(prob(95))
user.visible_message(span_notice("After a few attempts, [user] manages to excite the supermatter within the [src]."))
else // Just like with the cheap lighter, but this time you can hurt yourself on the heated phoron field
to_chat(user, span_warning("You singe yourself on the phoron shielding the excited supermatter!"))
if (user.get_left_hand() == src)
user.apply_damage(30,HALLOSS,"l_hand")
user.apply_effect(20,IRRADIATE)
user.apply_damage(5,BURN,"l_hand")
user.apply_damage(5,ELECTROCUTE,"l_hand")
else
user.apply_damage(30,HALLOSS,"r_hand")
user.apply_effect(20,IRRADIATE)
user.apply_damage(5,BURN,"r_hand")
user.apply_damage(5,ELECTROCUTE,"r_hand")
user.visible_message(span_notice("After a few attempts, [user] manages to activate the [src], they however burn themselves with the heated phoron field!"))
set_light(2)
START_PROCESSING(SSobj, src)
else
lit = 0
icon_state = "[base_state]"
item_state = "[base_state]"
playsound(src, deactivation_sound, 75, 1)
if(istype(src, /obj/item/flame/lighter/supermatter/syndismzippo) )
user.visible_message(span_rose("You hear a quiet click, as [user] shuts the [src] without even looking at what they're doing."))
else
user.visible_message(span_notice("[user] quietly shuts the [src]."))
set_light(0)
STOP_PROCESSING(SSobj, src)
return
/obj/item/flame/lighter/supermatter/syndismzippo/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob)
if(!istype(M, /mob))
return
if(lit == 1)
M.IgniteMob()
add_attack_logs(user,M,"Lit on fire with [src]")
if(istype(M.wear_mask, /obj/item/clothing/mask/smokable/cigarette) && user.zone_sel.selecting == O_MOUTH && lit)
var/obj/item/clothing/mask/smokable/cigarette/cig = M.wear_mask
if(M == user)
cig.attackby(src, user)
else
if(istype(src, /obj/item/flame/lighter/supermatter/syndismzippo))
cig.light(span_rose("[user] whips the [name] out and holds it for [M]."))
else
cig.light(span_notice("[user] holds the [name] out for [M], and lights the [cig.name]."))
else
..()
/obj/item/flame/lighter/process()
var/turf/location = get_turf(src)
if(location)
location.hotspot_expose(700, 5)
return
// Experimental smzippo
/obj/item/flame/lighter/supermatter/expsmzippo/attack_self(mob/living/user)
if (!base_state)
base_state = icon_state
if (!lit)
lit = 1
icon_state = "[base_state]on"
item_state = "[base_state]on"
playsound(src, activation_sound, 75, 1)
var/i = rand(1, 100)
switch(i)
if(1 to 22)
to_chat(user, span_rose("[user] safely reveals the supermatter shard within the [src]!"))
user.visible_message(span_rose("You safely revealed the supermatter shard within the [src]!"))
if (user.get_left_hand() == src)
user.apply_damage(1, IRRADIATE, "l_hand")
else // Even using this safely will irradiate you a tiny tiny bit.
user.apply_damage(1, IRRADIATE, "r_hand")
if(23 to 33)
to_chat(user, span_warning("[user]'s hand slipped and they brush against the supermatter within [src]!"))
user.visible_message(span_notice("You accidentally grazed your hand across the supermatter!"))
if (user.get_left_hand() == src)
user.apply_damage(10, IRRADIATE, "l_hand")
user.apply_damage(20, BURN, "l_hand")
user.apply_damage(20, ELECTROCUTE, "l_hand")
user.apply_damage(50, AGONY, "l_hand")
else // One of the outcomes will burn and shock you, the pain is the worst part of this one though.
user.apply_damage(10, IRRADIATE, "r_hand")
user.apply_damage(20, BURN, "r_hand")
user.apply_damage(20, ELECTROCUTE, "r_hand")
user.apply_damage(50, AGONY, "r_hand")
if(34 to 44)
to_chat(user, span_warning("[user] burned themselves on the [src]!"))
user.visible_message(span_notice("You accidentally burn yourself on the [src]!"))
if (user.get_left_hand() == src)
user.apply_damage(30, IRRADIATE, "l_hand")
user.apply_damage(20, SEARING, "l_hand")
user.apply_damage(15, BURN, "l_hand")
else // One of the outcomes is pure burn and radiation.
user.apply_damage(30, IRRADIATE, "r_hand")
user.apply_damage(20, SEARING, "r_hand")
user.apply_damage(15, BURN, "r_hand")
if(45 to 55)
to_chat(user, span_warning("[user] fumbled the [src] and the supermatter let out sparks!"))
user.visible_message(span_notice("You fumble the [src], letting the supermatter spark as the case opens!"))
if (user.get_left_hand() == src)
user.apply_damage(1, ELECTROCUTE, "l_hand")
user.apply_damage(100, ELECTROMAG, "l_hand")
else // This one is mostly dangerous to synthetics and it will EMP you. But otherwise it's safe.
user.apply_damage(1, ELECTROCUTE, "r_hand")
user.apply_damage(100, ELECTROMAG, "r_hand")
if(56 to 66)
to_chat(user, span_warning("[user] struggles to open their [src], but when they do they get burned by the extreme heat within!"))
user.visible_message(span_notice("You struggle to get the case to open, and when it does the heat that pours out of the [src] burns!"))
if (user.get_left_hand() == src)
user.apply_damage(1, IRRADIATE, "l_hand")
user.apply_damage(1, BRUISE, "l_hand")
user.apply_damage(200, BURN, "l_hand")
user.drop_l_hand()
else // This will INSTA-DUST your hand that you're holding the item in, and then make you drop the lighter.
user.apply_damage(1, IRRADIATE, "r_hand")
user.apply_damage(1, BRUISE, "r_hand")
user.apply_damage(200, BURN, "r_hand")
user.drop_r_hand()
if(67 to 77)
to_chat(user, span_warning("Ouch! While pushing on the release to open the [src], [user]'s finger slipped right as the case opened, pressing their finger firm against the supermatter!"))
user.visible_message(span_notice("You accidentally pushed your finger against the supermatter!"))
if (user.get_left_hand() == src)
user.apply_damage(50, HALLOSS, "l_hand")
user.apply_damage(40, IRRADIATE, "l_hand")
user.apply_damage(30, BURN, "l_hand")
user.apply_damage(20, TOX, "l_hand")
user.apply_damage(10, ELECTROCUTE, "l_hand")
user.apply_effect(25, STUTTER)
user.apply_effect(15, SLUR)
user.apply_effect(5, STUN)
else // This one is VERY punishing, you get a ton of damage, a lot of pain, and a minor stun. Once the stun goes away you'll be stuttering for awhile as if in crit.
user.apply_damage(50, HALLOSS, "r_hand")
user.apply_damage(40, IRRADIATE, "r_hand")
user.apply_damage(30, BURN, "r_hand")
user.apply_damage(20, TOX, "r_hand")
user.apply_damage(10, ELECTROCUTE, "r_hand")
user.apply_effect(25, STUTTER)
user.apply_effect(15, SLUR)
user.apply_effect(5, STUN)
if(78 to 88)
to_chat(user, span_notice("[user] managed to pinch themselves on the case of their [src]... it could have been worse."))
user.visible_message(span_notice("You manage to pinch yourself on the case!"))
if (user.get_left_hand() == src)
user.apply_damage(1, CLONE, "l_hand")
user.apply_damage(1, HALLOSS, "l_hand")
else // Aside from the base, this one isn't punishing outside of giving you genetic damage.
user.apply_damage(1, CLONE, "r_hand")
user.apply_damage(1, HALLOSS, "r_hand")
if(89 to 99)
to_chat(user, span_notice("[user] opened the [src] but forgot that you aren't supposed to look at supermatter!"))
user.visible_message(span_notice("You find yourself looking at the supermatter for longer than you should..."))
if (user.get_left_hand() == src)
user.apply_damage(15, HALLOSS, "l_hand")
user.apply_effect(5, WEAKEN)
user.apply_damage(15, IRRADIATE, "l_hand")
user.apply_effect(100, EYE_BLUR)
user.apply_effect(50, AGONY)
user.apply_damage(5, OXY)
user.eye_blurry = 10
else // This one just blinds and blurs your screen, but otherwise doesn't actually risk harming you. Even the oxy damage heals on its own.
user.apply_damage(15, HALLOSS, "r_hand")
user.apply_effect(5, WEAKEN)
user.apply_damage(15, IRRADIATE, "l_hand")
user.apply_effect(100, EYE_BLUR)
user.apply_effect(50, AGONY)
user.apply_damage(15, OXY)
user.eye_blurry = 10
if(100) // This is the part that makes it admin only for the moment, it spawns 500 rads from the carbon's position, and dusts the carbon instantly. It does also drop everything unlike the supermatter crystal though, so hopefully you won't lose any items if you fumble this badly!
to_chat(user, span_warning("OH NO! [user] almost dropped their live [src]! Thank goodness they caught it... by the glowing yellow crystal... oh."))
user.visible_message(span_danger("You almost dropped your [src], thank goodness you caught it! By the glowing crystal within. You find your ears filled with unearthly ringing and your last thought is \"Oh, fuck.\""))
user.drop_r_hand() // To ensure the lighter is dropped <3
user.drop_l_hand() // To ensure the lighter is dropped <3
for(var/obj/item/e in user)
user.drop_from_inventory(e)
log_and_message_admins("[user] dusted themselves and caused massive radiation with [src]!",user)
user.dust()
var/rads = 500
SSradiation.radiate(src, rads)
set_light(5)
START_PROCESSING(SSobj, src)
else
lit = 0
icon_state = "[base_state]"
item_state = "[base_state]"
playsound(src, deactivation_sound, 75, 1)
if (istype(src, /obj/item/flame/lighter/supermatter/expsmzippo))
user.visible_message(span_rose("You hear a quiet click, as [user] closes the [src]."))
else
user.visible_message(span_notice("[user] quietly shuts the [src]."))
set_light(0)
STOP_PROCESSING(SSobj, src)
/obj/item/flame/lighter/supermatter/expsmzippo/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob)
if (!istype(M, /mob))
return
if (lit == 1)
M.IgniteMob()
add_attack_logs(user, M, "Lit on fire with [src]")
if (istype(M.wear_mask, /obj/item/clothing/mask/smokable/cigarette) && user.zone_sel.selecting == O_MOUTH && lit)
var/obj/item/clothing/mask/smokable/cigarette/cig = M.wear_mask
if (M == user)
cig.attackby(src, user)
else
if (istype(src, /obj/item/flame/lighter/supermatter/expsmzippo))
cig.light(span_rose("[user] whips the [name] out and holds it for [M]."))
else
cig.light(span_notice("[user] holds the [name] out for [M], and lights the [cig.name]."))
else
..()
/obj/item/flame/lighter/supermatter/expsmzippo/process()
var/turf/location = get_turf(src)
if (location)
location.hotspot_expose(700, 5)
return

View File

@@ -1,109 +0,0 @@
/obj/structure/holosign
name = "holo sign"
icon = 'icons/effects/effects_ch.dmi'
anchored = TRUE
var/obj/item/holosign_creator/projector
var/health = 10
explosion_resistance = 1
/obj/structure/holosign/Initialize(mapload, source_projector)
. = ..()
if(source_projector)
projector = source_projector
projector.signs += src
/* if(overlays) // Fucking god damnit why do we have to have an entire different subsystem for this shit from other codebases.
overlays.add_overlay(src, icon, icon_state, ABOVE_MOB_LAYER, plane, dir, alpha, RESET_ALPHA) //you see mobs under it, but you hit them like they are above it
alpha = 0
*/
/obj/structure/holosign/Destroy()
if(projector)
projector.signs -= src
projector = null
return ..()
/obj/structure/holosign/attack_hand(mob/user, list/params)
. = ..()
if(.)
return
user.setClickCooldown(user.get_attack_speed())
user.do_attack_animation(src)
take_damage(5)
playsound(loc, 'sound/weapons/egloves.ogg', 80, 1)
/obj/structure/holosign/attackby(obj/item/W as obj, mob/user as mob)
user.setClickCooldown(user.get_attack_speed(W))
user.do_attack_animation(src)
playsound(loc, 'sound/weapons/egloves.ogg', 80, 1)
take_damage(W.force)
/obj/structure/holosign/take_damage(var/damage)
health -= damage
spawn(1) healthcheck()
return 1
/obj/structure/holosign/proc/healthcheck()
if(health <= 0)
qdel(src)
/obj/structure/holosign/wetsign
name = "wet floor sign"
desc = "The words flicker as if they mean nothing."
icon_state = "holosign"
/obj/structure/holosign/barrier/combifan
name = "holo combifan"
desc = "A holographic barrier resembling a blue-accented tiny fan. Though it does not prevent solid objects from passing through, gas and temperature changes are kept out."
icon_state = "holo_firelock"
anchored = TRUE
density = FALSE
layer = ABOVE_TURF_LAYER
can_atmos_pass = ATMOS_PASS_NO
alpha = 150
/obj/structure/holosign/barrier/combifan/Destroy()
update_nearby_tiles()
return ..()
/obj/structure/holosign/barrier/combifan/Initialize(mapload)
.=..()
update_nearby_tiles()
/obj/structure/holosign/barrier/medical
name = "\improper PENLITE holobarrier"
desc = "A holobarrier that uses biometrics to detect human viruses. Denies passing to personnel with easily-detected, malicious viruses. Good for quarantines."
icon_state = "holo_medical"
alpha = 125
var/buzzed = 0
/obj/structure/holosign/barrier/medical/CanPass(atom/movable/mover, border_dir)
. = ..()
if(mover.has_buckled_mobs())
for(var/mob/living/L as anything in buckled_mobs)
if(ishuman(L))
if(CheckHuman(L))
return FALSE
if(ishuman(mover))
return CheckHuman(mover)
return TRUE
/obj/structure/holosign/barrier/medical/Bumped(atom/movable/AM)
. = ..()
if(ishuman(AM) && !CheckHuman(AM))
if(buzzed < world.time)
playsound(get_turf(src), 'sound/machines/buzz-sigh.ogg', 50, 1)
buzzed = (world.time + 60)
icon_state = "holo_medical-deny"
sleep(10 SECONDS)
icon_state = "holo_medical"
/obj/structure/holosign/barrier/medical/proc/CheckHuman(mob/living/carbon/human/H)
if(istype(H.species, /datum/species/xenochimera))
return FALSE
if(H.viruses)
for(var/datum/disease/D in H.viruses)
if(D.severity == NONTHREAT)
continue
return FALSE
return TRUE

View File

@@ -1,6 +0,0 @@
/obj/item/clothing/head/mailman2
name = "mailman hat"
desc = "A hat used by the mailman to show who's the delivery person here."
icon_state = "mailman2"
icon = 'icons/obj/clothing/hats_ch.dmi'
icon_override = 'icons/mob/head.dmi'

View File

@@ -1,8 +0,0 @@
/obj/item/clothing/under/rank/mailman2
name = "mailman's suit"
desc = "A good looking suit for the delivery person!"
icon_state = "mailman2"
icon = 'icons/inventory/uniform/mob_ch.dmi'
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
rolled_sleeves = 0
icon_override = 'icons/inventory/uniform/mob_ch.dmi' //rollsleeves mechanics set by upstream overrides and breaks all clothing in \under\ otherwise.

View File

@@ -1,29 +0,0 @@
/obj/item/reagent_containers/glass/bottle/cakebatter
name = "cake batter bottle"
desc = "A bottle of pre-made cake batter."
icon_state = "bottle-1"
prefill = list(REAGENT_ID_CAKEBATTER = 60)
/obj/item/reagent_containers/glass/bottle/cinnamonpowder
name = "cinnamon powder bottle"
desc = "A bottle with expensive cinnamon powder."
icon_state = "bottle-1"
prefill = list(REAGENT_ID_CINNAMONPOWDER = 30) // Expensive!
/obj/item/reagent_containers/glass/bottle/nothing
name = "empty bottle?"
desc = "An apparently empty bottle."
icon_state = "bottle-1"
prefill = list(REAGENT_ID_NOTHING = 60)
/obj/item/reagent_containers/glass/bottle/gelatin
name = "gelatin bottle"
desc = "A bottle full of gelatin."
icon_state = "bottle-1"
prefill = list(REAGENT_GELATIN = 60)
/obj/item/reagent_containers/glass/bottle/lube
name = "lube bottle"
desc = "A bottle full of lube."
icon_state = "bottle-1"
prefill = list(REAGENT_ID_LUBE = 60)

View File

@@ -681,16 +681,6 @@
/////////FOODSTUFF/////////////////////////////
//////////////////////////////////////////////
/datum/reagent/cinnamonpowder
name = REAGENT_CINNAMONPOWDER
id = REAGENT_ID_CINNAMONPOWDER
description = "Cinnamon, a spice made from tree bark, ground into a fine powder. Probably not a good idea to eat on its own!"
taste_description= "sweet spice with a hint of wood"
color = "#a96622"
glass_name = REAGENT_CINNAMONPOWDER
glass_desc = "A glass of ground cinnamon. Dare you take the challenge?"
//YW drinks
/datum/reagent/drink/lovepotion_yw
name = REAGENT_STRAWBERRYLOVEPOTION