From 095e84de15d79898a76238f7e94c46df2b096851 Mon Sep 17 00:00:00 2001 From: "johnsonmt88@gmail.com" Date: Mon, 31 Dec 2012 23:51:04 +0000 Subject: [PATCH] Removed vending.dm and machinery.dm from the defines folder and moved the defines to their respective chunks of code. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5440 316c924e-a436-60f5-8080-3fe189b3f50e --- code/defines/obj/machinery.dm | 339 ----------------- code/defines/obj/vending.dm | 325 ----------------- code/game/dna.dm | 14 + code/game/machinery/alarm.dm | 40 ++ code/game/machinery/atmoalter/meter.dm | 14 + code/game/machinery/autolathe.dm | 26 +- code/game/machinery/buttons.dm | 47 +++ code/game/machinery/computer/cloning.dm | 2 +- code/game/machinery/door_control.dm | 33 ++ code/game/machinery/hologram.dm | 41 ++- code/game/machinery/igniter.dm | 12 + code/game/machinery/lightswitch.dm | 10 + code/game/machinery/machinery.dm | 18 + code/game/machinery/teleporter.dm | 28 ++ code/game/machinery/vending.dm | 341 +++++++++++++++++- .../mob/living/simple_animal/parrot.dm | 12 +- tgstation.dme | 3 +- 17 files changed, 624 insertions(+), 681 deletions(-) delete mode 100644 code/defines/obj/machinery.dm delete mode 100644 code/defines/obj/vending.dm create mode 100644 code/game/machinery/buttons.dm diff --git a/code/defines/obj/machinery.dm b/code/defines/obj/machinery.dm deleted file mode 100644 index 15e39e22de..0000000000 --- a/code/defines/obj/machinery.dm +++ /dev/null @@ -1,339 +0,0 @@ -//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31 - -/obj/machinery - name = "machinery" - icon = 'icons/obj/stationobjs.dmi' - var/stat = 0 - var/emagged = 0 - var/use_power = 1 - //0 = dont run the auto - //1 = run auto, use idle - //2 = run auto, use active - var/idle_power_usage = 0 - var/active_power_usage = 0 - var/power_channel = EQUIP - //EQUIP,ENVIRON or LIGHT - var/list/component_parts = null //list of all the parts used to build it, if made from certain kinds of frames. - var/uid - var/manual = 0 - var/global/gl_uid = 1 - -/obj/machinery/autolathe - name = "\improper Autolathe" - desc = "It produces items using metal and glass." - icon_state = "autolathe" - density = 1 - var/m_amount = 0.0 - var/g_amount = 0.0 - var/operating = 0.0 - var/opened = 0.0 - anchored = 1.0 - var/list/L = list() - var/list/LL = list() - var/hacked = 0 - var/disabled = 0 - var/shocked = 0 - var/list/wires = list() - var/hack_wire - var/disable_wire - var/shock_wire - use_power = 1 - idle_power_usage = 10 - active_power_usage = 100 - -/obj/machinery/dna_scanner - name = "\improper DNA scanner/implanter" - desc = "It scans DNA structures." - icon = 'icons/obj/Cryogenic2.dmi' - icon_state = "scanner_0" - density = 1 - var/locked = 0.0 - var/mob/occupant = null - anchored = 1.0 - use_power = 1 - idle_power_usage = 50 - active_power_usage = 300 - -/obj/machinery/dna_scannernew - name = "\improper DNA modifier" - desc = "It scans DNA structures." - icon = 'icons/obj/Cryogenic2.dmi' - icon_state = "scanner_0" - density = 1 - var/locked = 0.0 - var/mob/occupant = null - anchored = 1.0 - use_power = 1 - idle_power_usage = 50 - active_power_usage = 300 - -/obj/machinery/firealarm - name = "fire alarm" - desc = "\"Pull this in case of emergency\". Thus, keep pulling it forever." - icon = 'icons/obj/monitors.dmi' - icon_state = "fire0" - var/detecting = 1.0 - var/working = 1.0 - var/time = 10.0 - var/timing = 0.0 - var/lockdownbyai = 0 - anchored = 1.0 - use_power = 1 - idle_power_usage = 2 - active_power_usage = 6 - power_channel = ENVIRON - - New() - if(z == 1) - if(security_level) - src.overlays += image('icons/obj/monitors.dmi', "overlay_[get_security_level()]") - else - src.overlays += image('icons/obj/monitors.dmi', "overlay_green") - -/obj/machinery/partyalarm - name = "\improper PARTY BUTTON" - desc = "Cuban Pete is in the house!" - icon = 'icons/obj/monitors.dmi' - icon_state = "fire0" - var/detecting = 1.0 - var/working = 1.0 - var/time = 10.0 - var/timing = 0.0 - var/lockdownbyai = 0 - anchored = 1.0 - use_power = 1 - idle_power_usage = 2 - active_power_usage = 6 - - -/obj/machinery/igniter - name = "igniter" - desc = "It's useful for igniting plasma." - icon = 'icons/obj/stationobjs.dmi' - icon_state = "igniter1" - var/id = null - var/on = 1.0 - anchored = 1.0 - use_power = 1 - idle_power_usage = 2 - active_power_usage = 4 - -/obj/machinery/injector - name = "injector" - desc = "It injects gas into a chamber." - icon = 'icons/obj/stationobjs.dmi' - icon_state = "injector" - density = 1 - anchored = 1.0 - flags = ON_BORDER - use_power = 1 - idle_power_usage = 2 - active_power_usage = 4 - layer = TURF_LAYER - -/obj/machinery/meter - name = "meter" - desc = "It measures something." - icon = 'icons/obj/meter.dmi' - icon_state = "meterX" - var/obj/machinery/atmospherics/pipe/target = null - anchored = 1.0 - power_channel = ENVIRON - var/frequency = 0 - var/id - use_power = 1 - idle_power_usage = 2 - active_power_usage = 4 - -/obj/machinery/restruct - name = "\improper DNA physical restructurization accelerator" - desc = "It looks ridiculously complex." - icon = 'icons/obj/Cryogenic2.dmi' - icon_state = "restruct_0" - density = 1 - var/locked = 0.0 - var/mob/occupant = null - anchored = 1.0 - use_power = 1 - idle_power_usage = 10 - active_power_usage = 600 - -/obj/machinery/scan_console - name = "\improper DNA Scanner Access Console" - desc = "It scans DNA structures." - icon = 'icons/obj/computer.dmi' - icon_state = "scanner" - density = 1 - var/obj/item/weapon/card/data/scan = null - var/func = "" - var/data = "" - var/special = "" - var/status = null - var/prog_p1 = null - var/prog_p2 = null - var/prog_p3 = null - var/prog_p4 = null - var/temp = null - var/obj/machinery/dna_scanner/connected = null - anchored = 1.0 - use_power = 1 - idle_power_usage = 10 - active_power_usage = 400 - -/obj/machinery/door_control - name = "remote door-control" - desc = "It controls doors, remotely." - icon = 'icons/obj/stationobjs.dmi' - icon_state = "doorctrl0" - desc = "A remote control-switch for a door." - power_channel = ENVIRON - var/id = null - var/range = 10 - var/normaldoorcontrol = 0 - var/desiredstate = 0 // Zero is closed, 1 is open. - var/specialfunctions = 1 - /* - Bitflag, 1= open - 2= idscan, - 4= bolts - 8= shock - 16= door safties - - */ - - var/exposedwires = 0 - var/wires = 3 - /* - Bitflag, 1=checkID - 2=Network Access - */ - - anchored = 1.0 - use_power = 1 - idle_power_usage = 2 - active_power_usage = 4 - -/obj/machinery/driver_button - name = "mass driver button" - icon = 'icons/obj/objects.dmi' - icon_state = "launcherbtt" - desc = "A remote control switch for a mass driver." - var/id = null - var/active = 0 - anchored = 1.0 - use_power = 1 - idle_power_usage = 2 - active_power_usage = 4 - -/obj/machinery/ignition_switch - name = "ignition switch" - icon = 'icons/obj/objects.dmi' - icon_state = "launcherbtt" - desc = "A remote control switch for a mounted igniter." - var/id = null - var/active = 0 - anchored = 1.0 - use_power = 1 - idle_power_usage = 2 - active_power_usage = 4 - -/obj/machinery/flasher_button - name = "flasher button" - desc = "A remote control switch for a mounted flasher." - icon = 'icons/obj/objects.dmi' - icon_state = "launcherbtt" - var/id = null - var/active = 0 - anchored = 1.0 - use_power = 1 - idle_power_usage = 2 - active_power_usage = 4 - -/obj/machinery/teleport - name = "teleport" - icon = 'icons/obj/stationobjs.dmi' - density = 1 - anchored = 1.0 - var/lockeddown = 0 - -/obj/machinery/teleport/hub - name = "teleporter hub" - desc = "It's the hub of a teleporting machine." - icon_state = "tele0" - var/accurate = 0 - use_power = 1 - idle_power_usage = 10 - active_power_usage = 2000 - -/obj/machinery/teleport/station - name = "station" - desc = "It's the station thingy of a teleport thingy." //seriously, wtf. - icon_state = "controller" - var/active = 0 - var/engaged = 0 - use_power = 1 - idle_power_usage = 10 - active_power_usage = 2000 -/* -/obj/machinery/wire - name = "wire" - icon = 'icons/obj/power_cond_red.dmi' - use_power = 1 - idle_power_usage = 0 - active_power_usage = 1 -*/ - -/obj/machinery/light_switch - name = "light switch" - desc = "It turns lights on and off. What are you, simple?" - icon = 'icons/obj/power.dmi' - icon_state = "light1" - anchored = 1.0 - var/on = 1 - var/area/area = null - var/otherarea = null - // luminosity = 1 - -/obj/machinery/crema_switch - desc = "Burn baby burn!" - name = "crematorium igniter" - icon = 'icons/obj/power.dmi' - icon_state = "crema_switch" - anchored = 1.0 - req_access = list(access_crematorium) - var/on = 0 - var/area/area = null - var/otherarea = null - var/id = 1 - -/obj/machinery/hologram - anchored = 1 - use_power = 1 - idle_power_usage = 5 - active_power_usage = 100 - var/obj/effect/overlay/hologram//The projection itself. If there is one, the instrument is on, off otherwise. - -/obj/machinery/hologram/holopad - name = "\improper AI holopad" - desc = "It's a floor-mounted device for projecting holographic images. It is activated remotely." - icon_state = "holopad0" - var/mob/living/silicon/ai/master//Which AI, if any, is controlling the object? Only one AI may control a hologram at any time. - var/last_request = 0 //to prevent request spam. ~Carn - var/holo_range = 5 // Change to change how far the AI can move away from the holopad before deactivating. - -/obj/machinery/hologram/projector - name = "hologram projector" - desc = "It makes a hologram appear...with magnets or something..." - icon = 'icons/obj/stationobjs.dmi' - icon_state = "hologram0" - -/obj/machinery/hologram/proj_ai - name = "hologram projector platform" - desc = "It's used by the AI for fooling around." - icon = 'icons/obj/stationobjs.dmi' - icon_state = "hologram0" - var/temp = null - var/lumens = 0.0 - var/h_r = 245.0 - var/h_g = 245.0 - var/h_b = 245.0 diff --git a/code/defines/obj/vending.dm b/code/defines/obj/vending.dm deleted file mode 100644 index 2f84d53f57..0000000000 --- a/code/defines/obj/vending.dm +++ /dev/null @@ -1,325 +0,0 @@ -/obj/machinery/vending - name = "Vendomat" - desc = "A generic vending machine." - icon = 'icons/obj/vending.dmi' - icon_state = "generic" - layer = 2.9 - anchored = 1 - density = 1 - var/active = 1 //No sales pitches if off! - var/vend_ready = 1 //Are we ready to vend?? Is it time?? - var/vend_delay = 10 //How long does it take to vend? - var/product_paths = "" //String of product paths separated by semicolons. No spaces! - var/product_amounts = "" //String of product amounts separated by semicolons, must have amount for every path in product_paths - var/product_slogans = "" //String of slogans separated by semicolons, optional - var/product_ads = "" //String of small ad messages in the vending screen - random chance - var/product_hidden = "" //String of products that are hidden unless hacked. - var/product_hideamt = "" //String of hidden product amounts, separated by semicolons. Exact same as amounts. Must be left blank if hidden is. - var/product_coin = "" - var/product_coin_amt = "" - var/list/product_records = list() - var/list/hidden_records = list() - var/list/coin_records = list() - var/list/slogan_list = list() - var/list/small_ads = list() // small ad messages in the vending screen - random chance of popping up whenever you open it - var/vend_reply //Thank you for shopping! - var/last_reply = 0 - var/last_slogan = 0 //When did we last pitch? - var/slogan_delay = 6000 //How long until we can pitch again? - var/icon_vend //Icon_state when vending! - var/icon_deny //Icon_state when vending! - //var/emagged = 0 //Ignores if somebody doesn't have card access to that machine. - var/seconds_electrified = 0 //Shock customers like an airlock. - var/shoot_inventory = 0 //Fire items at customers! We're broken! - var/shut_up = 0 //Stop spouting those godawful pitches! - var/extended_inventory = 0 //can we access the hidden inventory? - var/panel_open = 0 //Hacking that vending machine. Gonna get a free candy bar. - var/wires = 15 - var/obj/item/weapon/coin/coin - -/* - -/obj/machinery/vending/[vendors name here] // --vending machine template :) - name = "" - desc = "" - icon = '' - icon_state = "" - product_paths = "" - product_amounts = "" - vend_delay = 15 - product_hidden = "" - product_hideamt = "" - product_slogans = "" - product_ads = "" - -*/ - -/* -/obj/machinery/vending/atmospherics //Commenting this out until someone ponies up some actual working, broken, and unpowered sprites - Quarxink - name = "Tank Vendor" - desc = "A vendor with a wide variety of masks and gas tanks." - icon = 'icons/obj/objects.dmi' - icon_state = "dispenser" - product_paths = "/obj/item/weapon/tank/oxygen;/obj/item/weapon/tank/plasma;/obj/item/weapon/tank/emergency_oxygen;/obj/item/weapon/tank/emergency_oxygen/engi;/obj/item/clothing/mask/breath" - product_amounts = "10;10;10;5;25" - vend_delay = 0 -*/ - -/obj/machinery/vending/boozeomat - name = "Booze-O-Mat" - desc = "A technological marvel, supposedly able to mix just the mixture you'd like to drink the moment you ask for one." - icon_state = "boozeomat" //////////////18 drink entities below, plus the glasses, in case someone wants to edit the number of bottles - icon_deny = "boozeomat-deny" - product_paths = "/obj/item/weapon/reagent_containers/food/drinks/bottle/gin;/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey;/obj/item/weapon/reagent_containers/food/drinks/bottle/tequilla;/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka;/obj/item/weapon/reagent_containers/food/drinks/bottle/vermouth;/obj/item/weapon/reagent_containers/food/drinks/bottle/rum;/obj/item/weapon/reagent_containers/food/drinks/bottle/wine;/obj/item/weapon/reagent_containers/food/drinks/bottle/cognac;/obj/item/weapon/reagent_containers/food/drinks/bottle/kahlua;/obj/item/weapon/reagent_containers/food/drinks/beer;/obj/item/weapon/reagent_containers/food/drinks/ale;/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice;/obj/item/weapon/reagent_containers/food/drinks/bottle/tomatojuice;/obj/item/weapon/reagent_containers/food/drinks/bottle/limejuice;/obj/item/weapon/reagent_containers/food/drinks/bottle/cream;/obj/item/weapon/reagent_containers/food/drinks/tonic;/obj/item/weapon/reagent_containers/food/drinks/cola;/obj/item/weapon/reagent_containers/food/drinks/sodawater;/obj/item/weapon/reagent_containers/food/drinks/drinkingglass;/obj/item/weapon/reagent_containers/food/drinks/ice" - product_amounts = "5;5;5;5;5;5;5;5;5;6;6;4;4;4;4;8;8;15;30;9" - vend_delay = 15 - product_hidden = "/obj/item/weapon/reagent_containers/food/drinks/tea" - product_hideamt = "10" - product_slogans = "I hope nobody asks me for a bloody cup o' tea...;Alcohol is humanity's friend. Would you abandon a friend?;Quite delighted to serve you!;Is nobody thirsty on this station?" - product_ads = "Drink up!;Booze is good for you!;Alcohol is humanity's best friend.;Quite delighted to serve you!;Care for a nice, cold beer?;Nothing cures you like booze!;Have a sip!;Have a drink!;Have a beer!;Beer is good for you!;Only the finest alcohol!;Best quality booze since 2053!;Award-winning wine!;Maximum alcohol!;Man loves beer.;A toast for progress!" - req_access_txt = "25" - -/obj/machinery/vending/assist - product_amounts = "5;3;4;1;4" - product_hidden = "/obj/item/device/flashlight;obj/item/device/assembly/timer" - product_paths = "/obj/item/device/assembly/prox_sensor;/obj/item/device/assembly/igniter;/obj/item/device/assembly/signaler;/obj/item/weapon/wirecutters;/obj/item/weapon/cartridge/signal" - product_hideamt = "5;2" - product_ads = "Only the finest!;Have some tools.;The most robust equipment.;The finest gear in space!" - -/obj/machinery/vending/coffee - name = "Hot Drinks machine" - desc = "A vending machine which dispenses hot drinks." - icon_state = "coffee" - icon_vend = "coffee-vend" - product_paths = "/obj/item/weapon/reagent_containers/food/drinks/coffee;/obj/item/weapon/reagent_containers/food/drinks/tea;/obj/item/weapon/reagent_containers/food/drinks/h_chocolate" - product_amounts = "25;25;25" - vend_delay = 34 - product_hidden = "/obj/item/weapon/reagent_containers/food/drinks/ice" - product_ads = "Have a drink!;Drink up!;It's good for you!;Would you like a hot joe?;I'd kill for some coffee!;The best beans in the galaxy.;Only the finest brew for you.;Mmmm. Nothing like a coffee.;I like coffee, don't you?;Coffee helps you work!;Try some tea.;We hope you like the best!;Try our new chocolate!;Admin conspiracies" - product_hideamt = "10" - -/obj/machinery/vending/snack - name = "Getmore Chocolate Corp" - desc = "A snack machine courtesy of the Getmore Chocolate Corporation, based out of Mars" - icon_state = "snack" - product_paths = "/obj/item/weapon/reagent_containers/food/snacks/candy;/obj/item/weapon/reagent_containers/food/drinks/dry_ramen;/obj/item/weapon/reagent_containers/food/snacks/chips;/obj/item/weapon/reagent_containers/food/snacks/sosjerky;/obj/item/weapon/reagent_containers/food/snacks/no_raisin;/obj/item/weapon/reagent_containers/food/snacks/spacetwinkie;/obj/item/weapon/reagent_containers/food/snacks/cheesiehonkers" - product_amounts = "6;6;6;6;6;6;6" - product_slogans = "Try our new nougat bar!;Twice the calories for half the price!" - product_hidden = "/obj/item/weapon/reagent_containers/food/snacks/syndicake" - product_hideamt = "6" - product_ads = "The healthiest!;Award-winning chocolate bars!;Mmm! So good!;Oh my god it's so juicy!;Have a snack.;Snacks are good for you!;Have some more Getmore!;Best quality snacks straight from mars.;We love chocolate!;Try our new jerky!" - - -/obj/machinery/vending/cola - name = "Robust Softdrinks" - desc = "A softdrink vendor provided by Robust Industries, LLC." - icon_state = "Cola_Machine" - product_paths = "/obj/item/weapon/reagent_containers/food/drinks/cola;/obj/item/weapon/reagent_containers/food/drinks/space_mountain_wind;/obj/item/weapon/reagent_containers/food/drinks/dr_gibb;/obj/item/weapon/reagent_containers/food/drinks/starkist;/obj/item/weapon/reagent_containers/food/drinks/space_up" - product_amounts = "10;10;10;10;10" - product_slogans = "Robust Softdrinks: More robust than a toolbox to the head!" - product_hidden = "/obj/item/weapon/reagent_containers/food/drinks/thirteenloko" - product_hideamt = "5" - product_ads = "Refreshing!;Hope you're thirsty!;Over 1 million drinks sold!;Thirsty? Why not cola?;Please, have a drink!;Drink up!;The best drinks in space." - -//This one's from bay12 -/obj/machinery/vending/cart - name = "PTech" - desc = "Cartridges for PDAs" - icon_state = "cart" - icon_deny = "cart-deny" - product_paths = "/obj/item/weapon/cartridge/medical;/obj/item/weapon/cartridge/engineering;/obj/item/weapon/cartridge/security;/obj/item/weapon/cartridge/janitor;/obj/item/weapon/cartridge/signal/toxins;/obj/item/device/pda/heads;/obj/item/weapon/cartridge/captain;/obj/item/weapon/cartridge/quartermaster" - product_amounts = "10;10;10;10;10;10;3;10" - product_slogans = "Carts to go!" - product_hidden = "" - product_hideamt = "" - product_coin = "" - product_coin_amt = "" - -/obj/machinery/vending/cigarette - name = "Cigarette machine" //OCD had to be uppercase to look nice with the new formating - desc = "If you want to get cancer, might as well do it in style" - icon_state = "cigs" - product_paths = "/obj/item/weapon/cigpacket;/obj/item/weapon/storage/matchbox;/obj/item/weapon/lighter/random" - product_amounts = "10;10;4" - product_slogans = "Space cigs taste good like a cigarette should.;I'd rather toolbox than switch.;Smoke!;Don't believe the reports - smoke today!" - vend_delay = 34 - product_hidden = "/obj/item/weapon/lighter/zippo" - product_hideamt = "4" - product_coin = "/obj/item/clothing/mask/cigarette/cigar/havana" - product_coin_amt = "2" - product_ads = "Probably not bad for you!;Don't believe the scientists!;It's good for you!;Don't quit, buy more!;Smoke!;Nicotine heaven.;Best cigarettes since 2150.;Award-winning cigs." - -/obj/machinery/vending/medical - name = "NanoMed Plus" - desc = "Medical drug dispenser." - icon_state = "med" - icon_deny = "med-deny" - req_access_txt = "5" - product_paths = "/obj/item/weapon/reagent_containers/glass/bottle/antitoxin;/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline;/obj/item/weapon/reagent_containers/glass/bottle/stoxin;/obj/item/weapon/reagent_containers/glass/bottle/toxin;/obj/item/weapon/reagent_containers/syringe/antiviral;/obj/item/weapon/reagent_containers/syringe;/obj/item/device/healthanalyzer;/obj/item/weapon/reagent_containers/glass/beaker;/obj/item/weapon/reagent_containers/dropper" - product_amounts = "4;4;4;4;4;12;5;4;2" - product_hidden = "/obj/item/weapon/reagent_containers/pill/tox;/obj/item/weapon/reagent_containers/pill/stox;/obj/item/weapon/reagent_containers/pill/antitox" - product_hideamt = "3;4;6" - product_ads = "Go save some lives!;The best stuff for your medbay.;Only the finest tools.;Natural chemicals!;This stuff saves lives.;Don't you want some?;Ping!" - -//This one's from bay12 -/obj/machinery/vending/plasmaresearch - name = "Toximate 3000" - desc = "All the fine parts you need in one vending machine!" - product_paths = "/obj/item/clothing/under/rank/scientist;/obj/item/clothing/suit/bio_suit;/obj/item/clothing/head/bio_hood;/obj/item/device/transfer_valve;/obj/item/device/assembly/signaler;/obj/item/device/assembly/prox_sensor;/obj/item/device/assembly/igniter;/obj/item/device/assembly/timer" - product_amounts = "6;6;6;6;6" - product_hidden = "" - product_hideamt = "" - product_coin = "" - product_coin_amt = "" - -/obj/machinery/vending/wallmed1 - name = "NanoMed" - desc = "Wall-mounted Medical Equipment dispenser." - icon_state = "wallmed" - icon_deny = "wallmed-deny" - req_access_txt = "5" - product_paths = "/obj/item/stack/medical/bruise_pack;/obj/item/stack/medical/ointment;/obj/item/weapon/reagent_containers/syringe/inaprovaline;/obj/item/device/healthanalyzer" - product_amounts = "2;2;4;1" - product_hidden = "/obj/item/weapon/reagent_containers/syringe/antitoxin;/obj/item/weapon/reagent_containers/syringe/antiviral;/obj/item/weapon/reagent_containers/pill/tox" - product_hideamt = "4;4;1" - density = 0 //It is wall-mounted, and thus, not dense. --Superxpdude - product_ads = "Go save some lives!;The best stuff for your medbay.;Only the finest tools.;Natural chemicals!;This stuff saves lives.;Don't you want some?" - -/obj/machinery/vending/wallmed2 - name = "NanoMed" - desc = "Wall-mounted Medical Equipment dispenser." - icon_state = "wallmed" - icon_deny = "wallmed-deny" - req_access_txt = "5" - product_paths = "/obj/item/weapon/reagent_containers/syringe/inaprovaline;/obj/item/weapon/reagent_containers/syringe/antitoxin;/obj/item/stack/medical/bruise_pack;/obj/item/stack/medical/ointment;/obj/item/device/healthanalyzer" - product_amounts = "5;3;3;3;3" - product_hidden = "/obj/item/weapon/reagent_containers/pill/tox" - product_hideamt = "3" - density = 0 //It is wall-mounted, and thus, not dense. --Superxpdude - -/obj/machinery/vending/security - name = "SecTech" - desc = "A security equipment vendor" - icon_state = "sec" - icon_deny = "sec-deny" - req_access_txt = "1" - product_paths = "/obj/item/weapon/handcuffs;/obj/item/weapon/grenade/flashbang;/obj/item/device/flash;/obj/item/weapon/reagent_containers/food/snacks/donut/normal;/obj/item/weapon/storage/box/evidence" - product_amounts = "8;4;5;12;6" - product_hidden = "/obj/item/clothing/glasses/sunglasses;/obj/item/weapon/storage/fancy/donut_box" - product_hideamt = "2;2" - product_ads = "Crack capitalist skulls!;Beat some heads in!;Don't forget - harm is good!;Your weapons are right here.;Handcuffs!;Freeze, scumbag!;Don't tase me bro!;Tase them, bro.;Why not have a donut?" - -/obj/machinery/vending/hydronutrients - name = "NutriMax" - desc = "A plant nutrients vendor" - icon_state = "nutri" - icon_deny = "nutri-deny" - product_paths = "/obj/item/nutrient/ez;/obj/item/nutrient/l4z;/obj/item/nutrient/rh;/obj/item/weapon/pestspray;/obj/item/weapon/reagent_containers/syringe;/obj/item/weapon/plantbag" - product_amounts = "35;25;15;20;5;5" - product_slogans = "Aren't you glad you don't have to fertilize the natural way?;Now with 50% less stink!;Plants are people too!" - product_hidden = "/obj/item/weapon/reagent_containers/glass/bottle/ammonia;/obj/item/weapon/reagent_containers/glass/bottle/diethylamine" - product_hideamt = "10;5" - product_ads = "We like plants!;Don't you want some?;The greenest thumbs ever.;We like big plants.;Soft soil..." - -/obj/machinery/vending/hydroseeds - name = "MegaSeed Servitor" - desc = "When you need seeds fast!" - icon_state = "seeds" - product_paths = "/obj/item/seeds/bananaseed;/obj/item/seeds/berryseed;/obj/item/seeds/carrotseed;/obj/item/seeds/chantermycelium;/obj/item/seeds/chiliseed;/obj/item/seeds/cornseed;/obj/item/seeds/eggplantseed;/obj/item/seeds/potatoseed;/obj/item/seeds/replicapod;/obj/item/seeds/soyaseed;/obj/item/seeds/sunflowerseed;/obj/item/seeds/tomatoseed;/obj/item/seeds/towermycelium;/obj/item/seeds/wheatseed;/obj/item/seeds/appleseed;/obj/item/seeds/poppyseed;/obj/item/seeds/ambrosiavulgarisseed;/obj/item/seeds/whitebeetseed;/obj/item/seeds/watermelonseed;/obj/item/seeds/limeseed;/obj/item/seeds/lemonseed;/obj/item/seeds/orangeseed;/obj/item/seeds/grassseed;/obj/item/seeds/cocoapodseed;/obj/item/seeds/cabbageseed;/obj/item/seeds/grapeseed;/obj/item/seeds/pumpkinseed;/obj/item/seeds/cherryseed" - product_amounts = "3;3;3;3;3;3;3;3;3;3;3;3;3;3;3;3;3;3;3;3;3;3;3;3;3;3;3;3" - product_slogans = "THIS'S WHERE TH' SEEDS LIVE! GIT YOU SOME!;Hands down the best seed selection on the station!;Also certain mushroom varieties available, more for experts! Get certified today!" - product_hidden = "/obj/item/seeds/amanitamycelium;/obj/item/seeds/glowshroom;/obj/item/seeds/libertymycelium;/obj/item/seeds/nettleseed;/obj/item/seeds/plumpmycelium;/obj/item/seeds/reishimycelium" - product_hideamt = "2;2;2;2;2;2" - product_coin = "/obj/item/toy/waterflower" - product_coin_amt = "1" - product_ads = "We like plants!;Grow some crops!;Grow, baby, growww!;Aw h'yeah son!" - -/obj/machinery/vending/magivend - name = "MagiVend" - desc = "A magic vending machine." - icon_state = "MagiVend" - product_amounts = "1;1;1;1;1;2" - product_slogans = "Sling spells the proper way with MagiVend!;Be your own Houdini! Use MagiVend!" - product_paths = "/obj/item/clothing/head/wizard;/obj/item/clothing/suit/wizrobe;/obj/item/clothing/head/wizard/red;/obj/item/clothing/suit/wizrobe/red;/obj/item/clothing/shoes/sandal;/obj/item/weapon/staff" - vend_delay = 15 - vend_reply = "Have an enchanted evening!" - product_hidden = "/obj/item/weapon/reagent_containers/glass/bottle/wizarditis" //No one can get to the machine to hack it anyways - product_hideamt = "1" //Just one, for the lulz, not like anyone can get it - Microwave - product_ads = "FJKLFJSD;AJKFLBJAKL;1234 LOONIES LOL!;>MFW;Kill them fuckers!;GET DAT FUKKEN DISK;HONK!;EI NATH;Destroy the station!;Admin conspiracies since forever!;Space-time bending hardware!" - -/obj/machinery/vending/dinnerware - name = "Dinnerware" - desc = "A kitchen and restaurant equipment vendor" - icon_state = "dinnerware" - product_paths = "/obj/item/weapon/tray;/obj/item/weapon/kitchen/utensil/fork;/obj/item/weapon/kitchenknife;/obj/item/weapon/reagent_containers/food/drinks/drinkingglass;/obj/item/clothing/suit/chef/classic" - product_amounts = "8;6;3;8;2" - //product_amounts = "8;5;4" Old totals - product_hidden = "/obj/item/weapon/kitchen/utensil/spoon;/obj/item/weapon/kitchen/utensil/knife;/obj/item/weapon/kitchen/rollingpin;/obj/item/weapon/butch" - product_hideamt = "2;2;2;2" - product_ads = "Mm, food stuffs!;Food and food accessories.;Get your plates!;You like forks?;I like forks.;Woo, utensils.;You don't really need these..." - - -/obj/machinery/vending/sovietsoda - name = "BODA" - desc = "Old sweet water vending machine" - icon_state = "sovietsoda" - product_paths = "/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/soda" - product_amounts = "30" - //product_amounts = "8;5;4" Old totals - product_hidden = "/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/cola" - product_hideamt = "20" - product_ads = "For Tsar and Country.;Have you fulfilled your nutrition quota today?;Very nice!;We are simple people, for this is all we eat.;If there is a person, there is a problem. If there is no person, then there is no problem." - -/obj/machinery/vending/tool - name = "YouTool" - desc = "Tools for tools." - icon_state = "tool" - icon_deny = "tool-deny" - //req_access_txt = "12" //Maintenance access - product_paths = "/obj/item/weapon/cable_coil/random;/obj/item/weapon/crowbar;/obj/item/weapon/weldingtool;/obj/item/weapon/wirecutters;/obj/item/weapon/wrench;/obj/item/device/analyzer;/obj/item/device/t_scanner;/obj/item/weapon/screwdriver" - product_amounts = "10;5;3;5;5;5;5;5" - product_hidden = "/obj/item/weapon/weldingtool/hugeetank;/obj/item/clothing/gloves/fyellow" - product_hideamt = "2;2" - product_coin = "/obj/item/clothing/gloves/yellow" - product_coin_amt = "1" - -/obj/machinery/vending/engivend - name = "Engi-Vend" - desc = "Spare tool vending. What? Did you expect some witty description?" - icon_state = "engivend" - icon_deny = "engivend-deny" - req_access_txt = "11" //Engineering Equipment access - product_paths = "/obj/item/clothing/glasses/meson;/obj/item/device/multitool;/obj/item/weapon/airlock_electronics;/obj/item/weapon/module/power_control;/obj/item/weapon/cell/high" - product_amounts = "2;4;10;10;10" - product_hidden = "/obj/item/weapon/cell/potato" - product_hideamt = "3" - product_coin = "/obj/item/weapon/storage/belt/utility" - product_coin_amt = "3" - -//This one's from bay12 -/obj/machinery/vending/engineering - name = "Robco Tool Maker" - desc = "Everything you need for do-it-yourself station repair." - icon_state = "engi" - icon_deny = "engi-deny" - req_access_txt = "11" - product_paths = "/obj/item/clothing/under/rank/chief_engineer;/obj/item/clothing/under/rank/engineer;/obj/item/clothing/shoes/orange;/obj/item/clothing/head/helmet/hardhat;/obj/item/weapon/storage/belt/utility;/obj/item/clothing/glasses/meson;/obj/item/clothing/gloves/yellow;/obj/item/weapon/screwdriver;/obj/item/weapon/crowbar;/obj/item/weapon/wirecutters;/obj/item/device/multitool;/obj/item/weapon/wrench;/obj/item/device/t_scanner;/obj/item/weapon/CableCoil/power;/obj/item/weapon/circuitry;/obj/item/weapon/cell;/obj/item/weapon/weldingtool;/obj/item/clothing/head/helmet/welding;/obj/item/weapon/light/tube;/obj/item/clothing/suit/fire;/obj/item/weapon/stock_parts/scanning_module;/obj/item/weapon/stock_parts/micro_laser;/obj/item/weapon/stock_parts/matter_bin;/obj/item/weapon/stock_parts/manipulator;/obj/item/weapon/stock_parts/console_screen" -// product_amounts = "4;4;4;4;4;4;4;12;12;12;12;12;12;8;4;8;8;8;10;4" - product_hidden = "" - product_hideamt = "" - product_coin = "" - product_coin_amt = "" - -//This one's from bay12 -/obj/machinery/vending/robotics - name = "Robotech Deluxe" - desc = "All the tools you need to create your own robot army." - icon_state = "robotics" - icon_deny = "robotics-deny" - req_access_txt = "29" - product_paths = "/obj/item/clothing/suit/storage/labcoat;/obj/item/clothing/under/rank/roboticist;/obj/item/weapon/cable_coil;/obj/item/device/flash;/obj/item/weapon/cell/high;/obj/item/device/assembly/prox_sensor;/obj/item/device/assembly/signaler;/obj/item/device/healthanalyzer;/obj/item/weapon/scalpel;/obj/item/weapon/circular_saw;/obj/item/weapon/tank/anesthetic;/obj/item/clothing/mask/medical;/obj/item/weapon/screwdriver;/obj/item/weapon/crowbar" - product_amounts = "4;4;4;4;12" - product_hidden = "" - product_hideamt = "" - product_coin = "" - product_coin_amt = "" diff --git a/code/game/dna.dm b/code/game/dna.dm index b107f962ae..598fd00c84 100644 --- a/code/game/dna.dm +++ b/code/game/dna.dm @@ -619,6 +619,19 @@ /////////////////////////// DNA MACHINES +/obj/machinery/dna_scannernew + name = "\improper DNA modifier" + desc = "It scans DNA structures." + icon = 'icons/obj/Cryogenic2.dmi' + icon_state = "scanner_0" + density = 1 + var/locked = 0.0 + var/mob/occupant = null + anchored = 1.0 + use_power = 1 + idle_power_usage = 50 + active_power_usage = 300 + /obj/machinery/dna_scannernew/New() ..() component_parts = list() @@ -777,6 +790,7 @@ A.loc = src.loc del(src) + /obj/machinery/computer/scan_consolenew/ex_act(severity) switch(severity) diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm index 0a8cd8d5c2..228f585a90 100644 --- a/code/game/machinery/alarm.dm +++ b/code/game/machinery/alarm.dm @@ -1102,6 +1102,20 @@ Code shamelessly copied from apc_frame FIRE ALARM */ /obj/machinery/firealarm + name = "fire alarm" + desc = "\"Pull this in case of emergency\". Thus, keep pulling it forever." + icon = 'icons/obj/monitors.dmi' + icon_state = "fire0" + var/detecting = 1.0 + var/working = 1.0 + var/time = 10.0 + var/timing = 0.0 + var/lockdownbyai = 0 + anchored = 1.0 + use_power = 1 + idle_power_usage = 2 + active_power_usage = 6 + power_channel = ENVIRON var/last_process = 0 var/wiresexposed = 0 var/buildstage = 2 // 2 = complete, 1 = no wires, 0 = circuit gone @@ -1354,6 +1368,12 @@ FIRE ALARM pixel_x = (dir & 3)? 0 : (dir == 4 ? -24 : 24) pixel_y = (dir & 3)? (dir ==1 ? -24 : 24) : 0 + if(z == 1) + if(security_level) + src.overlays += image('icons/obj/monitors.dmi', "overlay_[get_security_level()]") + else + src.overlays += image('icons/obj/monitors.dmi', "overlay_green") + update_icon() /* @@ -1382,6 +1402,26 @@ Code shamelessly copied from apc_frame icon_state = "fire_bitem" flags = FPRINT | TABLEPASS| CONDUCT + +/* + * Party button + */ + +/obj/machinery/partyalarm + name = "\improper PARTY BUTTON" + desc = "Cuban Pete is in the house!" + icon = 'icons/obj/monitors.dmi' + icon_state = "fire0" + var/detecting = 1.0 + var/working = 1.0 + var/time = 10.0 + var/timing = 0.0 + var/lockdownbyai = 0 + anchored = 1.0 + use_power = 1 + idle_power_usage = 2 + active_power_usage = 6 + /obj/item/firealarm_frame/attackby(obj/item/weapon/W as obj, mob/user as mob) if (istype(W, /obj/item/weapon/wrench)) new /obj/item/stack/sheet/metal( get_turf(src.loc), 2 ) diff --git a/code/game/machinery/atmoalter/meter.dm b/code/game/machinery/atmoalter/meter.dm index 09fb8faa2a..939e1c94f3 100644 --- a/code/game/machinery/atmoalter/meter.dm +++ b/code/game/machinery/atmoalter/meter.dm @@ -1,3 +1,17 @@ +/obj/machinery/meter + name = "meter" + desc = "It measures something." + icon = 'icons/obj/meter.dmi' + icon_state = "meterX" + var/obj/machinery/atmospherics/pipe/target = null + anchored = 1.0 + power_channel = ENVIRON + var/frequency = 0 + var/id + use_power = 1 + idle_power_usage = 2 + active_power_usage = 4 + /obj/machinery/meter/New() ..() src.target = locate(/obj/machinery/atmospherics/pipe) in loc diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm index 5af03b9219..dd48e91b7f 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -58,10 +58,34 @@ var/global/list/autolathe_recipes_hidden = list( \ ) /obj/machinery/autolathe - var/busy = 0 + name = "\improper Autolathe" + desc = "It produces items using metal and glass." + icon_state = "autolathe" + density = 1 + + var/m_amount = 0.0 var/max_m_amount = 150000.0 + + var/g_amount = 0.0 var/max_g_amount = 75000.0 + var/operating = 0.0 + var/opened = 0.0 + anchored = 1.0 + var/list/L = list() + var/list/LL = list() + var/hacked = 0 + var/disabled = 0 + var/shocked = 0 + var/list/wires = list() + var/hack_wire + var/disable_wire + var/shock_wire + use_power = 1 + idle_power_usage = 10 + active_power_usage = 100 + var/busy = 0 + proc wires_win(mob/user as mob) var/dat as text diff --git a/code/game/machinery/buttons.dm b/code/game/machinery/buttons.dm new file mode 100644 index 0000000000..67775ddd7d --- /dev/null +++ b/code/game/machinery/buttons.dm @@ -0,0 +1,47 @@ +/obj/machinery/driver_button + name = "mass driver button" + icon = 'icons/obj/objects.dmi' + icon_state = "launcherbtt" + desc = "A remote control switch for a mass driver." + var/id = null + var/active = 0 + anchored = 1.0 + use_power = 1 + idle_power_usage = 2 + active_power_usage = 4 + +/obj/machinery/ignition_switch + name = "ignition switch" + icon = 'icons/obj/objects.dmi' + icon_state = "launcherbtt" + desc = "A remote control switch for a mounted igniter." + var/id = null + var/active = 0 + anchored = 1.0 + use_power = 1 + idle_power_usage = 2 + active_power_usage = 4 + +/obj/machinery/flasher_button + name = "flasher button" + desc = "A remote control switch for a mounted flasher." + icon = 'icons/obj/objects.dmi' + icon_state = "launcherbtt" + var/id = null + var/active = 0 + anchored = 1.0 + use_power = 1 + idle_power_usage = 2 + active_power_usage = 4 + +/obj/machinery/crema_switch + desc = "Burn baby burn!" + name = "crematorium igniter" + icon = 'icons/obj/power.dmi' + icon_state = "crema_switch" + anchored = 1.0 + req_access = list(access_crematorium) + var/on = 0 + var/area/area = null + var/otherarea = null + var/id = 1 \ No newline at end of file diff --git a/code/game/machinery/computer/cloning.dm b/code/game/machinery/computer/cloning.dm index 894a95f568..5c92d18757 100644 --- a/code/game/machinery/computer/cloning.dm +++ b/code/game/machinery/computer/cloning.dm @@ -31,7 +31,7 @@ var/delete = 0 var/injectorready = 0 //Quick fix for issue 286 (screwdriver the screen twice to restore injector) -Pete var/temphtml = null - var/obj/machinery/dna_scanner/connected = null + var/obj/machinery/dna_scannernew/connected = null var/obj/item/weapon/disk/data/diskette = null anchored = 1.0 use_power = 1 diff --git a/code/game/machinery/door_control.dm b/code/game/machinery/door_control.dm index f80be85fc0..c4e9fd0230 100644 --- a/code/game/machinery/door_control.dm +++ b/code/game/machinery/door_control.dm @@ -1,3 +1,36 @@ +/obj/machinery/door_control + name = "remote door-control" + desc = "It controls doors, remotely." + icon = 'icons/obj/stationobjs.dmi' + icon_state = "doorctrl0" + desc = "A remote control-switch for a door." + power_channel = ENVIRON + var/id = null + var/range = 10 + var/normaldoorcontrol = 0 + var/desiredstate = 0 // Zero is closed, 1 is open. + var/specialfunctions = 1 + /* + Bitflag, 1= open + 2= idscan, + 4= bolts + 8= shock + 16= door safties + + */ + + var/exposedwires = 0 + var/wires = 3 + /* + Bitflag, 1=checkID + 2=Network Access + */ + + anchored = 1.0 + use_power = 1 + idle_power_usage = 2 + active_power_usage = 4 + /obj/machinery/door_control/attack_ai(mob/user as mob) if(wires & 2) return src.attack_hand(user) diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index 90b628d93e..5442248986 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -1,3 +1,10 @@ +/* Holograms! + * Contains: + * Holopad + * Hologram + * Other stuff + */ + /* Revised. Original based on space ninja hologram code. Which is also mine. /N How it works: @@ -12,11 +19,23 @@ Possible to do for anyone motivated enough: Itegrate EMP effect to disable the unit. */ + +/* + * Holopad + */ + // HOLOPAD MODE // 0 = RANGE BASED // 1 = AREA BASED var/const/HOLOPAD_MODE = 0 +/obj/machinery/hologram/holopad + name = "\improper AI holopad" + desc = "It's a floor-mounted device for projecting holographic images. It is activated remotely." + icon_state = "holopad0" + var/mob/living/silicon/ai/master//Which AI, if any, is controlling the object? Only one AI may control a hologram at any time. + var/last_request = 0 //to prevent request spam. ~Carn + var/holo_range = 5 // Change to change how far the AI can move away from the holopad before deactivating. /obj/machinery/hologram/holopad/attack_hand(var/mob/living/carbon/human/user) //Carn: Hologram requests. if(!istype(user)) @@ -120,6 +139,17 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/ return 1 +/* + * Hologram + */ + +/obj/machinery/hologram + anchored = 1 + use_power = 1 + idle_power_usage = 5 + active_power_usage = 100 + var/obj/effect/overlay/hologram//The projection itself. If there is one, the instrument is on, off otherwise. + /obj/machinery/hologram/power_change() if (powered()) stat &= ~NOPOWER @@ -171,4 +201,13 @@ Holographic project of everything else. world << "Your icon should appear now." return -*/ \ No newline at end of file +*/ + +/* + * Other Stuff: Is this even used? + */ +/obj/machinery/hologram/projector + name = "hologram projector" + desc = "It makes a hologram appear...with magnets or something..." + icon = 'icons/obj/stationobjs.dmi' + icon_state = "hologram0" \ No newline at end of file diff --git a/code/game/machinery/igniter.dm b/code/game/machinery/igniter.dm index 9f1b79c8dd..817a3603e8 100644 --- a/code/game/machinery/igniter.dm +++ b/code/game/machinery/igniter.dm @@ -1,3 +1,15 @@ +/obj/machinery/igniter + name = "igniter" + desc = "It's useful for igniting plasma." + icon = 'icons/obj/stationobjs.dmi' + icon_state = "igniter1" + var/id = null + var/on = 1.0 + anchored = 1.0 + use_power = 1 + idle_power_usage = 2 + active_power_usage = 4 + /obj/machinery/igniter/attack_ai(mob/user as mob) return src.attack_hand(user) diff --git a/code/game/machinery/lightswitch.dm b/code/game/machinery/lightswitch.dm index c757e70dd0..128292631f 100644 --- a/code/game/machinery/lightswitch.dm +++ b/code/game/machinery/lightswitch.dm @@ -1,6 +1,16 @@ // the light switch // can have multiple per area // can also operate on non-loc area through "otherarea" var +/obj/machinery/light_switch + name = "light switch" + desc = "It turns lights on and off. What are you, simple?" + icon = 'icons/obj/power.dmi' + icon_state = "light1" + anchored = 1.0 + var/on = 1 + var/area/area = null + var/otherarea = null + // luminosity = 1 /obj/machinery/light_switch/New() ..() diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm index c02d923571..e94ed011ee 100644 --- a/code/game/machinery/machinery.dm +++ b/code/game/machinery/machinery.dm @@ -91,6 +91,24 @@ Class Procs: Compiled by Aygar */ +/obj/machinery + name = "machinery" + icon = 'icons/obj/stationobjs.dmi' + var/stat = 0 + var/emagged = 0 + var/use_power = 1 + //0 = dont run the auto + //1 = run auto, use idle + //2 = run auto, use active + var/idle_power_usage = 0 + var/active_power_usage = 0 + var/power_channel = EQUIP + //EQUIP,ENVIRON or LIGHT + var/list/component_parts = null //list of all the parts used to build it, if made from certain kinds of frames. + var/uid + var/manual = 0 + var/global/gl_uid = 1 + /obj/machinery/New() ..() machines += src diff --git a/code/game/machinery/teleporter.dm b/code/game/machinery/teleporter.dm index 39534d3c25..3a196b6a7b 100644 --- a/code/game/machinery/teleporter.dm +++ b/code/game/machinery/teleporter.dm @@ -120,6 +120,23 @@ if(!T || istype(T, /area)) return null return T +/obj/machinery/teleport + name = "teleport" + icon = 'icons/obj/stationobjs.dmi' + density = 1 + anchored = 1.0 + var/lockeddown = 0 + + +/obj/machinery/teleport/hub + name = "teleporter hub" + desc = "It's the hub of a teleporting machine." + icon_state = "tele0" + var/accurate = 0 + use_power = 1 + idle_power_usage = 10 + active_power_usage = 2000 + /obj/machinery/teleport/hub/Bumped(M as mob|obj) spawn() if (src.icon_state == "tele1") @@ -238,6 +255,17 @@ s.start() return */ + +/obj/machinery/teleport/station + name = "station" + desc = "It's the station thingy of a teleport thingy." //seriously, wtf. + icon_state = "controller" + var/active = 0 + var/engaged = 0 + use_power = 1 + idle_power_usage = 10 + active_power_usage = 2000 + /obj/machinery/teleport/station/attackby(var/obj/item/weapon/W) src.attack_hand() diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index f133ecc010..20d11772fd 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -1,15 +1,54 @@ -/obj/machinery/vending - var/const/WIRE_EXTEND = 1 - var/const/WIRE_SCANID = 2 - var/const/WIRE_SHOCK = 3 - var/const/WIRE_SHOOTINV = 4 - /datum/data/vending_product var/product_name = "generic" var/product_path = null var/amount = 0 var/display_color = "blue" + + +/obj/machinery/vending + name = "Vendomat" + desc = "A generic vending machine." + icon = 'icons/obj/vending.dmi' + icon_state = "generic" + layer = 2.9 + anchored = 1 + density = 1 + var/active = 1 //No sales pitches if off! + var/vend_ready = 1 //Are we ready to vend?? Is it time?? + var/vend_delay = 10 //How long does it take to vend? + var/product_paths = "" //String of product paths separated by semicolons. No spaces! + var/product_amounts = "" //String of product amounts separated by semicolons, must have amount for every path in product_paths + var/product_slogans = "" //String of slogans separated by semicolons, optional + var/product_ads = "" //String of small ad messages in the vending screen - random chance + var/product_hidden = "" //String of products that are hidden unless hacked. + var/product_hideamt = "" //String of hidden product amounts, separated by semicolons. Exact same as amounts. Must be left blank if hidden is. + var/product_coin = "" + var/product_coin_amt = "" + var/list/product_records = list() + var/list/hidden_records = list() + var/list/coin_records = list() + var/list/slogan_list = list() + var/list/small_ads = list() // small ad messages in the vending screen - random chance of popping up whenever you open it + var/vend_reply //Thank you for shopping! + var/last_reply = 0 + var/last_slogan = 0 //When did we last pitch? + var/slogan_delay = 6000 //How long until we can pitch again? + var/icon_vend //Icon_state when vending! + var/icon_deny //Icon_state when vending! + //var/emagged = 0 //Ignores if somebody doesn't have card access to that machine. + var/seconds_electrified = 0 //Shock customers like an airlock. + var/shoot_inventory = 0 //Fire items at customers! We're broken! + var/shut_up = 0 //Stop spouting those godawful pitches! + var/extended_inventory = 0 //can we access the hidden inventory? + var/panel_open = 0 //Hacking that vending machine. Gonna get a free candy bar. + var/wires = 15 + var/obj/item/weapon/coin/coin + var/const/WIRE_EXTEND = 1 + var/const/WIRE_SCANID = 2 + var/const/WIRE_SHOCK = 3 + var/const/WIRE_SHOOTINV = 4 + /obj/machinery/vending/New() ..() spawn(4) @@ -455,3 +494,293 @@ else return 0 +/* + * Vending machine types + */ + +/* + +/obj/machinery/vending/[vendors name here] // --vending machine template :) + name = "" + desc = "" + icon = '' + icon_state = "" + product_paths = "" + product_amounts = "" + vend_delay = 15 + product_hidden = "" + product_hideamt = "" + product_slogans = "" + product_ads = "" + +*/ + +/* +/obj/machinery/vending/atmospherics //Commenting this out until someone ponies up some actual working, broken, and unpowered sprites - Quarxink + name = "Tank Vendor" + desc = "A vendor with a wide variety of masks and gas tanks." + icon = 'icons/obj/objects.dmi' + icon_state = "dispenser" + product_paths = "/obj/item/weapon/tank/oxygen;/obj/item/weapon/tank/plasma;/obj/item/weapon/tank/emergency_oxygen;/obj/item/weapon/tank/emergency_oxygen/engi;/obj/item/clothing/mask/breath" + product_amounts = "10;10;10;5;25" + vend_delay = 0 +*/ + +/obj/machinery/vending/boozeomat + name = "Booze-O-Mat" + desc = "A technological marvel, supposedly able to mix just the mixture you'd like to drink the moment you ask for one." + icon_state = "boozeomat" //////////////18 drink entities below, plus the glasses, in case someone wants to edit the number of bottles + icon_deny = "boozeomat-deny" + product_paths = "/obj/item/weapon/reagent_containers/food/drinks/bottle/gin;/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey;/obj/item/weapon/reagent_containers/food/drinks/bottle/tequilla;/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka;/obj/item/weapon/reagent_containers/food/drinks/bottle/vermouth;/obj/item/weapon/reagent_containers/food/drinks/bottle/rum;/obj/item/weapon/reagent_containers/food/drinks/bottle/wine;/obj/item/weapon/reagent_containers/food/drinks/bottle/cognac;/obj/item/weapon/reagent_containers/food/drinks/bottle/kahlua;/obj/item/weapon/reagent_containers/food/drinks/beer;/obj/item/weapon/reagent_containers/food/drinks/ale;/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice;/obj/item/weapon/reagent_containers/food/drinks/bottle/tomatojuice;/obj/item/weapon/reagent_containers/food/drinks/bottle/limejuice;/obj/item/weapon/reagent_containers/food/drinks/bottle/cream;/obj/item/weapon/reagent_containers/food/drinks/tonic;/obj/item/weapon/reagent_containers/food/drinks/cola;/obj/item/weapon/reagent_containers/food/drinks/sodawater;/obj/item/weapon/reagent_containers/food/drinks/drinkingglass;/obj/item/weapon/reagent_containers/food/drinks/ice" + product_amounts = "5;5;5;5;5;5;5;5;5;6;6;4;4;4;4;8;8;15;30;9" + vend_delay = 15 + product_hidden = "/obj/item/weapon/reagent_containers/food/drinks/tea" + product_hideamt = "10" + product_slogans = "I hope nobody asks me for a bloody cup o' tea...;Alcohol is humanity's friend. Would you abandon a friend?;Quite delighted to serve you!;Is nobody thirsty on this station?" + product_ads = "Drink up!;Booze is good for you!;Alcohol is humanity's best friend.;Quite delighted to serve you!;Care for a nice, cold beer?;Nothing cures you like booze!;Have a sip!;Have a drink!;Have a beer!;Beer is good for you!;Only the finest alcohol!;Best quality booze since 2053!;Award-winning wine!;Maximum alcohol!;Man loves beer.;A toast for progress!" + req_access_txt = "25" + +/obj/machinery/vending/assist + product_amounts = "5;3;4;1;4" + product_hidden = "/obj/item/device/flashlight;obj/item/device/assembly/timer" + product_paths = "/obj/item/device/assembly/prox_sensor;/obj/item/device/assembly/igniter;/obj/item/device/assembly/signaler;/obj/item/weapon/wirecutters;/obj/item/weapon/cartridge/signal" + product_hideamt = "5;2" + product_ads = "Only the finest!;Have some tools.;The most robust equipment.;The finest gear in space!" + +/obj/machinery/vending/coffee + name = "Hot Drinks machine" + desc = "A vending machine which dispenses hot drinks." + icon_state = "coffee" + icon_vend = "coffee-vend" + product_paths = "/obj/item/weapon/reagent_containers/food/drinks/coffee;/obj/item/weapon/reagent_containers/food/drinks/tea;/obj/item/weapon/reagent_containers/food/drinks/h_chocolate" + product_amounts = "25;25;25" + vend_delay = 34 + product_hidden = "/obj/item/weapon/reagent_containers/food/drinks/ice" + product_ads = "Have a drink!;Drink up!;It's good for you!;Would you like a hot joe?;I'd kill for some coffee!;The best beans in the galaxy.;Only the finest brew for you.;Mmmm. Nothing like a coffee.;I like coffee, don't you?;Coffee helps you work!;Try some tea.;We hope you like the best!;Try our new chocolate!;Admin conspiracies" + product_hideamt = "10" + +/obj/machinery/vending/snack + name = "Getmore Chocolate Corp" + desc = "A snack machine courtesy of the Getmore Chocolate Corporation, based out of Mars" + icon_state = "snack" + product_paths = "/obj/item/weapon/reagent_containers/food/snacks/candy;/obj/item/weapon/reagent_containers/food/drinks/dry_ramen;/obj/item/weapon/reagent_containers/food/snacks/chips;/obj/item/weapon/reagent_containers/food/snacks/sosjerky;/obj/item/weapon/reagent_containers/food/snacks/no_raisin;/obj/item/weapon/reagent_containers/food/snacks/spacetwinkie;/obj/item/weapon/reagent_containers/food/snacks/cheesiehonkers" + product_amounts = "6;6;6;6;6;6;6" + product_slogans = "Try our new nougat bar!;Twice the calories for half the price!" + product_hidden = "/obj/item/weapon/reagent_containers/food/snacks/syndicake" + product_hideamt = "6" + product_ads = "The healthiest!;Award-winning chocolate bars!;Mmm! So good!;Oh my god it's so juicy!;Have a snack.;Snacks are good for you!;Have some more Getmore!;Best quality snacks straight from mars.;We love chocolate!;Try our new jerky!" + + +/obj/machinery/vending/cola + name = "Robust Softdrinks" + desc = "A softdrink vendor provided by Robust Industries, LLC." + icon_state = "Cola_Machine" + product_paths = "/obj/item/weapon/reagent_containers/food/drinks/cola;/obj/item/weapon/reagent_containers/food/drinks/space_mountain_wind;/obj/item/weapon/reagent_containers/food/drinks/dr_gibb;/obj/item/weapon/reagent_containers/food/drinks/starkist;/obj/item/weapon/reagent_containers/food/drinks/space_up" + product_amounts = "10;10;10;10;10" + product_slogans = "Robust Softdrinks: More robust than a toolbox to the head!" + product_hidden = "/obj/item/weapon/reagent_containers/food/drinks/thirteenloko" + product_hideamt = "5" + product_ads = "Refreshing!;Hope you're thirsty!;Over 1 million drinks sold!;Thirsty? Why not cola?;Please, have a drink!;Drink up!;The best drinks in space." + +//This one's from bay12 +/obj/machinery/vending/cart + name = "PTech" + desc = "Cartridges for PDAs" + icon_state = "cart" + icon_deny = "cart-deny" + product_paths = "/obj/item/weapon/cartridge/medical;/obj/item/weapon/cartridge/engineering;/obj/item/weapon/cartridge/security;/obj/item/weapon/cartridge/janitor;/obj/item/weapon/cartridge/signal/toxins;/obj/item/device/pda/heads;/obj/item/weapon/cartridge/captain;/obj/item/weapon/cartridge/quartermaster" + product_amounts = "10;10;10;10;10;10;3;10" + product_slogans = "Carts to go!" + product_hidden = "" + product_hideamt = "" + product_coin = "" + product_coin_amt = "" + +/obj/machinery/vending/cigarette + name = "Cigarette machine" //OCD had to be uppercase to look nice with the new formating + desc = "If you want to get cancer, might as well do it in style" + icon_state = "cigs" + product_paths = "/obj/item/weapon/cigpacket;/obj/item/weapon/storage/matchbox;/obj/item/weapon/lighter/random" + product_amounts = "10;10;4" + product_slogans = "Space cigs taste good like a cigarette should.;I'd rather toolbox than switch.;Smoke!;Don't believe the reports - smoke today!" + vend_delay = 34 + product_hidden = "/obj/item/weapon/lighter/zippo" + product_hideamt = "4" + product_coin = "/obj/item/clothing/mask/cigarette/cigar/havana" + product_coin_amt = "2" + product_ads = "Probably not bad for you!;Don't believe the scientists!;It's good for you!;Don't quit, buy more!;Smoke!;Nicotine heaven.;Best cigarettes since 2150.;Award-winning cigs." + +/obj/machinery/vending/medical + name = "NanoMed Plus" + desc = "Medical drug dispenser." + icon_state = "med" + icon_deny = "med-deny" + req_access_txt = "5" + product_paths = "/obj/item/weapon/reagent_containers/glass/bottle/antitoxin;/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline;/obj/item/weapon/reagent_containers/glass/bottle/stoxin;/obj/item/weapon/reagent_containers/glass/bottle/toxin;/obj/item/weapon/reagent_containers/syringe/antiviral;/obj/item/weapon/reagent_containers/syringe;/obj/item/device/healthanalyzer;/obj/item/weapon/reagent_containers/glass/beaker;/obj/item/weapon/reagent_containers/dropper" + product_amounts = "4;4;4;4;4;12;5;4;2" + product_hidden = "/obj/item/weapon/reagent_containers/pill/tox;/obj/item/weapon/reagent_containers/pill/stox;/obj/item/weapon/reagent_containers/pill/antitox" + product_hideamt = "3;4;6" + product_ads = "Go save some lives!;The best stuff for your medbay.;Only the finest tools.;Natural chemicals!;This stuff saves lives.;Don't you want some?;Ping!" + +//This one's from bay12 +/obj/machinery/vending/plasmaresearch + name = "Toximate 3000" + desc = "All the fine parts you need in one vending machine!" + product_paths = "/obj/item/clothing/under/rank/scientist;/obj/item/clothing/suit/bio_suit;/obj/item/clothing/head/bio_hood;/obj/item/device/transfer_valve;/obj/item/device/assembly/signaler;/obj/item/device/assembly/prox_sensor;/obj/item/device/assembly/igniter;/obj/item/device/assembly/timer" + product_amounts = "6;6;6;6;6" + product_hidden = "" + product_hideamt = "" + product_coin = "" + product_coin_amt = "" + +/obj/machinery/vending/wallmed1 + name = "NanoMed" + desc = "Wall-mounted Medical Equipment dispenser." + icon_state = "wallmed" + icon_deny = "wallmed-deny" + req_access_txt = "5" + product_paths = "/obj/item/stack/medical/bruise_pack;/obj/item/stack/medical/ointment;/obj/item/weapon/reagent_containers/syringe/inaprovaline;/obj/item/device/healthanalyzer" + product_amounts = "2;2;4;1" + product_hidden = "/obj/item/weapon/reagent_containers/syringe/antitoxin;/obj/item/weapon/reagent_containers/syringe/antiviral;/obj/item/weapon/reagent_containers/pill/tox" + product_hideamt = "4;4;1" + density = 0 //It is wall-mounted, and thus, not dense. --Superxpdude + product_ads = "Go save some lives!;The best stuff for your medbay.;Only the finest tools.;Natural chemicals!;This stuff saves lives.;Don't you want some?" + +/obj/machinery/vending/wallmed2 + name = "NanoMed" + desc = "Wall-mounted Medical Equipment dispenser." + icon_state = "wallmed" + icon_deny = "wallmed-deny" + req_access_txt = "5" + product_paths = "/obj/item/weapon/reagent_containers/syringe/inaprovaline;/obj/item/weapon/reagent_containers/syringe/antitoxin;/obj/item/stack/medical/bruise_pack;/obj/item/stack/medical/ointment;/obj/item/device/healthanalyzer" + product_amounts = "5;3;3;3;3" + product_hidden = "/obj/item/weapon/reagent_containers/pill/tox" + product_hideamt = "3" + density = 0 //It is wall-mounted, and thus, not dense. --Superxpdude + +/obj/machinery/vending/security + name = "SecTech" + desc = "A security equipment vendor" + icon_state = "sec" + icon_deny = "sec-deny" + req_access_txt = "1" + product_paths = "/obj/item/weapon/handcuffs;/obj/item/weapon/grenade/flashbang;/obj/item/device/flash;/obj/item/weapon/reagent_containers/food/snacks/donut/normal;/obj/item/weapon/storage/box/evidence" + product_amounts = "8;4;5;12;6" + product_hidden = "/obj/item/clothing/glasses/sunglasses;/obj/item/weapon/storage/fancy/donut_box" + product_hideamt = "2;2" + product_ads = "Crack capitalist skulls!;Beat some heads in!;Don't forget - harm is good!;Your weapons are right here.;Handcuffs!;Freeze, scumbag!;Don't tase me bro!;Tase them, bro.;Why not have a donut?" + +/obj/machinery/vending/hydronutrients + name = "NutriMax" + desc = "A plant nutrients vendor" + icon_state = "nutri" + icon_deny = "nutri-deny" + product_paths = "/obj/item/nutrient/ez;/obj/item/nutrient/l4z;/obj/item/nutrient/rh;/obj/item/weapon/pestspray;/obj/item/weapon/reagent_containers/syringe;/obj/item/weapon/plantbag" + product_amounts = "35;25;15;20;5;5" + product_slogans = "Aren't you glad you don't have to fertilize the natural way?;Now with 50% less stink!;Plants are people too!" + product_hidden = "/obj/item/weapon/reagent_containers/glass/bottle/ammonia;/obj/item/weapon/reagent_containers/glass/bottle/diethylamine" + product_hideamt = "10;5" + product_ads = "We like plants!;Don't you want some?;The greenest thumbs ever.;We like big plants.;Soft soil..." + +/obj/machinery/vending/hydroseeds + name = "MegaSeed Servitor" + desc = "When you need seeds fast!" + icon_state = "seeds" + product_paths = "/obj/item/seeds/bananaseed;/obj/item/seeds/berryseed;/obj/item/seeds/carrotseed;/obj/item/seeds/chantermycelium;/obj/item/seeds/chiliseed;/obj/item/seeds/cornseed;/obj/item/seeds/eggplantseed;/obj/item/seeds/potatoseed;/obj/item/seeds/replicapod;/obj/item/seeds/soyaseed;/obj/item/seeds/sunflowerseed;/obj/item/seeds/tomatoseed;/obj/item/seeds/towermycelium;/obj/item/seeds/wheatseed;/obj/item/seeds/appleseed;/obj/item/seeds/poppyseed;/obj/item/seeds/ambrosiavulgarisseed;/obj/item/seeds/whitebeetseed;/obj/item/seeds/watermelonseed;/obj/item/seeds/limeseed;/obj/item/seeds/lemonseed;/obj/item/seeds/orangeseed;/obj/item/seeds/grassseed;/obj/item/seeds/cocoapodseed;/obj/item/seeds/cabbageseed;/obj/item/seeds/grapeseed;/obj/item/seeds/pumpkinseed;/obj/item/seeds/cherryseed" + product_amounts = "3;3;3;3;3;3;3;3;3;3;3;3;3;3;3;3;3;3;3;3;3;3;3;3;3;3;3;3" + product_slogans = "THIS'S WHERE TH' SEEDS LIVE! GIT YOU SOME!;Hands down the best seed selection on the station!;Also certain mushroom varieties available, more for experts! Get certified today!" + product_hidden = "/obj/item/seeds/amanitamycelium;/obj/item/seeds/glowshroom;/obj/item/seeds/libertymycelium;/obj/item/seeds/nettleseed;/obj/item/seeds/plumpmycelium;/obj/item/seeds/reishimycelium" + product_hideamt = "2;2;2;2;2;2" + product_coin = "/obj/item/toy/waterflower" + product_coin_amt = "1" + product_ads = "We like plants!;Grow some crops!;Grow, baby, growww!;Aw h'yeah son!" + +/obj/machinery/vending/magivend + name = "MagiVend" + desc = "A magic vending machine." + icon_state = "MagiVend" + product_amounts = "1;1;1;1;1;2" + product_slogans = "Sling spells the proper way with MagiVend!;Be your own Houdini! Use MagiVend!" + product_paths = "/obj/item/clothing/head/wizard;/obj/item/clothing/suit/wizrobe;/obj/item/clothing/head/wizard/red;/obj/item/clothing/suit/wizrobe/red;/obj/item/clothing/shoes/sandal;/obj/item/weapon/staff" + vend_delay = 15 + vend_reply = "Have an enchanted evening!" + product_hidden = "/obj/item/weapon/reagent_containers/glass/bottle/wizarditis" //No one can get to the machine to hack it anyways + product_hideamt = "1" //Just one, for the lulz, not like anyone can get it - Microwave + product_ads = "FJKLFJSD;AJKFLBJAKL;1234 LOONIES LOL!;>MFW;Kill them fuckers!;GET DAT FUKKEN DISK;HONK!;EI NATH;Destroy the station!;Admin conspiracies since forever!;Space-time bending hardware!" + +/obj/machinery/vending/dinnerware + name = "Dinnerware" + desc = "A kitchen and restaurant equipment vendor" + icon_state = "dinnerware" + product_paths = "/obj/item/weapon/tray;/obj/item/weapon/kitchen/utensil/fork;/obj/item/weapon/kitchenknife;/obj/item/weapon/reagent_containers/food/drinks/drinkingglass;/obj/item/clothing/suit/chef/classic" + product_amounts = "8;6;3;8;2" + //product_amounts = "8;5;4" Old totals + product_hidden = "/obj/item/weapon/kitchen/utensil/spoon;/obj/item/weapon/kitchen/utensil/knife;/obj/item/weapon/kitchen/rollingpin;/obj/item/weapon/butch" + product_hideamt = "2;2;2;2" + product_ads = "Mm, food stuffs!;Food and food accessories.;Get your plates!;You like forks?;I like forks.;Woo, utensils.;You don't really need these..." + + +/obj/machinery/vending/sovietsoda + name = "BODA" + desc = "Old sweet water vending machine" + icon_state = "sovietsoda" + product_paths = "/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/soda" + product_amounts = "30" + //product_amounts = "8;5;4" Old totals + product_hidden = "/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/cola" + product_hideamt = "20" + product_ads = "For Tsar and Country.;Have you fulfilled your nutrition quota today?;Very nice!;We are simple people, for this is all we eat.;If there is a person, there is a problem. If there is no person, then there is no problem." + +/obj/machinery/vending/tool + name = "YouTool" + desc = "Tools for tools." + icon_state = "tool" + icon_deny = "tool-deny" + //req_access_txt = "12" //Maintenance access + product_paths = "/obj/item/weapon/cable_coil/random;/obj/item/weapon/crowbar;/obj/item/weapon/weldingtool;/obj/item/weapon/wirecutters;/obj/item/weapon/wrench;/obj/item/device/analyzer;/obj/item/device/t_scanner;/obj/item/weapon/screwdriver" + product_amounts = "10;5;3;5;5;5;5;5" + product_hidden = "/obj/item/weapon/weldingtool/hugeetank;/obj/item/clothing/gloves/fyellow" + product_hideamt = "2;2" + product_coin = "/obj/item/clothing/gloves/yellow" + product_coin_amt = "1" + +/obj/machinery/vending/engivend + name = "Engi-Vend" + desc = "Spare tool vending. What? Did you expect some witty description?" + icon_state = "engivend" + icon_deny = "engivend-deny" + req_access_txt = "11" //Engineering Equipment access + product_paths = "/obj/item/clothing/glasses/meson;/obj/item/device/multitool;/obj/item/weapon/airlock_electronics;/obj/item/weapon/module/power_control;/obj/item/weapon/cell/high" + product_amounts = "2;4;10;10;10" + product_hidden = "/obj/item/weapon/cell/potato" + product_hideamt = "3" + product_coin = "/obj/item/weapon/storage/belt/utility" + product_coin_amt = "3" + +//This one's from bay12 +/obj/machinery/vending/engineering + name = "Robco Tool Maker" + desc = "Everything you need for do-it-yourself station repair." + icon_state = "engi" + icon_deny = "engi-deny" + req_access_txt = "11" + product_paths = "/obj/item/clothing/under/rank/chief_engineer;/obj/item/clothing/under/rank/engineer;/obj/item/clothing/shoes/orange;/obj/item/clothing/head/helmet/hardhat;/obj/item/weapon/storage/belt/utility;/obj/item/clothing/glasses/meson;/obj/item/clothing/gloves/yellow;/obj/item/weapon/screwdriver;/obj/item/weapon/crowbar;/obj/item/weapon/wirecutters;/obj/item/device/multitool;/obj/item/weapon/wrench;/obj/item/device/t_scanner;/obj/item/weapon/CableCoil/power;/obj/item/weapon/circuitry;/obj/item/weapon/cell;/obj/item/weapon/weldingtool;/obj/item/clothing/head/helmet/welding;/obj/item/weapon/light/tube;/obj/item/clothing/suit/fire;/obj/item/weapon/stock_parts/scanning_module;/obj/item/weapon/stock_parts/micro_laser;/obj/item/weapon/stock_parts/matter_bin;/obj/item/weapon/stock_parts/manipulator;/obj/item/weapon/stock_parts/console_screen" +// product_amounts = "4;4;4;4;4;4;4;12;12;12;12;12;12;8;4;8;8;8;10;4" + product_hidden = "" + product_hideamt = "" + product_coin = "" + product_coin_amt = "" + +//This one's from bay12 +/obj/machinery/vending/robotics + name = "Robotech Deluxe" + desc = "All the tools you need to create your own robot army." + icon_state = "robotics" + icon_deny = "robotics-deny" + req_access_txt = "29" + product_paths = "/obj/item/clothing/suit/storage/labcoat;/obj/item/clothing/under/rank/roboticist;/obj/item/weapon/cable_coil;/obj/item/device/flash;/obj/item/weapon/cell/high;/obj/item/device/assembly/prox_sensor;/obj/item/device/assembly/signaler;/obj/item/device/healthanalyzer;/obj/item/weapon/scalpel;/obj/item/weapon/circular_saw;/obj/item/weapon/tank/anesthetic;/obj/item/clothing/mask/medical;/obj/item/weapon/screwdriver;/obj/item/weapon/crowbar" + product_amounts = "4;4;4;4;12" + product_hidden = "" + product_hideamt = "" + product_coin = "" + product_coin_amt = "" diff --git a/code/modules/mob/living/simple_animal/parrot.dm b/code/modules/mob/living/simple_animal/parrot.dm index 9b0eea9a5a..c6c33b4a72 100644 --- a/code/modules/mob/living/simple_animal/parrot.dm +++ b/code/modules/mob/living/simple_animal/parrot.dm @@ -69,13 +69,13 @@ //Parrots will generally sit on their pertch unless something catches their eye. //These vars store their preffered perch and if they dont have one, what they can use as a perch var/obj/parrot_perch = null - var/obj/desired_perches = list(/obj/structure/computerframe, /obj/structure/displaycase, \ - /obj/structure/filingcabinet, /obj/machinery/teleport, \ - /obj/machinery/computer, /obj/machinery/clonepod, \ - /obj/machinery/dna_scanner, /obj/machinery/dna_scannernew, \ - /obj/machinery/nuclearbomb, /obj/machinery/particle_accelerator, \ + var/obj/desired_perches = list(/obj/structure/computerframe, /obj/structure/displaycase, \ + /obj/structure/filingcabinet, /obj/machinery/teleport, \ + /obj/machinery/computer, /obj/machinery/clonepod, \ + /obj/machinery/dna_scannernew, /obj/machinery/telecomms, \ + /obj/machinery/nuclearbomb, /obj/machinery/particle_accelerator, \ /obj/machinery/recharge_station, /obj/machinery/smartfridge, \ - /obj/machinery/suit_storage_unit, /obj/machinery/telecomms) + /obj/machinery/suit_storage_unit) //Parrots are kleptomaniacs. This variable ... stores the item a parrot is holding. var/obj/item/held_item = null diff --git a/tgstation.dme b/tgstation.dme index 1cf752a58d..168e5d32f0 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -140,9 +140,7 @@ #include "code\datums\spells\wizard.dm" #include "code\defines\obj.dm" #include "code\defines\obj\hydro.dm" -#include "code\defines\obj\machinery.dm" #include "code\defines\obj\toy.dm" -#include "code\defines\obj\vending.dm" #include "code\defines\obj\weapon.dm" #include "code\defines\procs\AStar.dm" #include "code\defines\procs\captain_announce.dm" @@ -246,6 +244,7 @@ #include "code\game\machinery\autolathe.dm" #include "code\game\machinery\Beacon.dm" #include "code\game\machinery\biogenerator.dm" +#include "code\game\machinery\buttons.dm" #include "code\game\machinery\cell_charger.dm" #include "code\game\machinery\cloning.dm" #include "code\game\machinery\constructable_frame.dm"