From da9722545b84b879a55b3e84a83bf66bbe228dc9 Mon Sep 17 00:00:00 2001 From: Casey Date: Sun, 21 Aug 2022 15:38:28 -0400 Subject: [PATCH 1/5] More casino updates --- .../machinery/casino_prize_dispenser_ch.dm | 354 ++++++++++ .../objects/items/weapons/storage/bags.dm | 2 +- code/game/objects/random/misc.dm | 2 +- code/modules/casino/casino.dm | 131 ++-- code/modules/casino/casino_book.dm | 137 +--- code/modules/casino/slots.dm | 462 +++++++++++++ code/modules/casino/spawnergrenade_casino.dm | 7 +- code/modules/client/stored_item.dm | 11 +- .../clothing/under/accessories/accessory.dm | 4 + .../under/accessories/accessory_vr.dm | 30 + code/modules/economy/casinocash_ch.dm | 47 +- code/modules/vore/resizing/sizegun_vr.dm | 6 +- maps/submaps/admin_use_vr/fun.dm | 5 +- maps/submaps/admin_use_vr/lucky_7.dmm | 631 ++++++++++++++++++ 14 files changed, 1618 insertions(+), 211 deletions(-) create mode 100644 code/modules/casino/slots.dm create mode 100644 maps/submaps/admin_use_vr/lucky_7.dmm diff --git a/code/game/machinery/casino_prize_dispenser_ch.dm b/code/game/machinery/casino_prize_dispenser_ch.dm index ea284064ca..6f7d64b6f9 100644 --- a/code/game/machinery/casino_prize_dispenser_ch.dm +++ b/code/game/machinery/casino_prize_dispenser_ch.dm @@ -1,3 +1,4 @@ +<<<<<<< HEAD:code/game/machinery/casino_prize_dispenser_ch.dm // Use this define to register a prize! // * n - The proper name of the purchasable // * o - The object type path of the purchasable to spawn @@ -400,3 +401,356 @@ /obj/machinery/casino_prize_dispenser/process() //Might not need this, but just to be safe for now if(stat & (BROKEN|NOPOWER)) return +======= + +//Original Casino Code created by Shadowfire117#1269 - Ported from CHOMPstation +//Modified by GhostActual#2055 for use with VOREstation + +// Use this define to register a prize! +// * n - The proper name of the purchasable +// * o - The object type path of the purchasable to spawn +// * r - The amount to dispense +// * p - The price of the purchasable in chips +// * l - The restriction of the item +#define CASINO_PRIZE(n, o, r, p, l) n = new /datum/data/casino_prize(n, o, r, p, l) + +/datum/data/casino_prize + var/equipment_path = null + var/equipment_amt = 1 + var/cost = 0 + var/category = null + var/restriction = null + +/datum/data/casino_prize/New(name, path, amt, cost, restriction) + src.name = name + src.equipment_path = path + src.equipment_amt = amt + src.cost = cost + src.category = category + src.restriction = restriction + +/obj/machinery/casino_prize_dispenser + name = "Casino Prize Exchanger" + desc = "Exchange your chips to obtain wonderful prizes! Hoepfully you'll get to keep some of them for a while." + icon = 'icons/obj/casino.dmi' + icon_state ="casino_prize_dispenser" + var/icon_vend ="casino_prize_dispenser-vend" + anchored = 1 + density = 1 + opacity = 0 + var/list/item_list + + clicksound = "button" + var/vending_sound = "machines/vending/vending_drop.ogg" + + // Power + use_power = USE_POWER_IDLE + idle_power_usage = 10 + var/vend_power_usage = 150 //actuators and stuff + + // Vending-related + var/datum/data/casino_prize/currently_vending = null // What we're requesting payment for right now + var/list/log = list() //Log only SS13 staff is allowed to look at, CKEYS are listed here for record keeping of prizes and players for events! + + var/category_weapons = 2 //For listing categories, if false then prizes of this categories cant be obtained nor bought for post-shift enjoyment + var/category_gear = 2 //If 1 prizes will be only logged + var/category_clothing = 2 //If 2 prizes will both be logged and spawned + var/category_misc = 2 + var/category_drinks = 2 + var/category_implants = 1 + var/category_event = 1 //For special events, holidays, etc + +/obj/machinery/casino_prize_dispenser/Initialize() + . = ..() + power_change() + + item_list = list() + item_list["Weapons"] = list( + CASINO_PRIZE("Scepter", /obj/item/weapon/scepter, 1, 2500, "weapons"), + CASINO_PRIZE("Rapier", /obj/item/weapon/melee/rapier, 1, 3000, "weapons"), + CASINO_PRIZE("Chain of Command", /obj/item/weapon/melee/chainofcommand, 1, 1250, "weapons"), + CASINO_PRIZE("Golden Bat", /obj/item/weapon/material/twohanded/baseballbat/gold, 1, 1000, "weapons"), + CASINO_PRIZE("Size Gun", /obj/item/weapon/gun/energy/sizegun, 1, 1500, "weapons"), + CASINO_PRIZE("Gradual Size Gun", /obj/item/device/slow_sizegun, 1, 1500, "weapons"), + CASINO_PRIZE("Metamorphosis Ray", /obj/item/weapon/gun/energy/mouseray/metamorphosis, 1, 6000, "weapons"), + CASINO_PRIZE("Net Gun", /obj/item/weapon/gun/energy/netgun, 1, 3000, "weapons"), + ) + item_list["Gear"] = list( + CASINO_PRIZE("Experimental Welder", /obj/item/weapon/weldingtool/experimental, 1, 500, "gear"), + CASINO_PRIZE("Chemsprayer", /obj/item/weapon/reagent_containers/spray/chemsprayer, 1, 1250, "gear"), + CASINO_PRIZE("Bluespace Beaker", /obj/item/weapon/reagent_containers/glass/beaker/bluespace, 1, 1000, "gear"), + CASINO_PRIZE("Cryo Beaker", /obj/item/weapon/reagent_containers/glass/beaker/noreact, 1, 1000, "gear"), + CASINO_PRIZE("Golden Pickaxe", /obj/item/weapon/pickaxe/gold, 1, 1000, "gear"), + ) + item_list["Clothing"] = list( + CASINO_PRIZE("Shark mask", /obj/item/clothing/mask/shark, 1, 250, "clothing"), + CASINO_PRIZE("Pig mask", /obj/item/clothing/mask/pig, 1, 250, "clothing"), + CASINO_PRIZE("Luchador mask", /obj/item/clothing/mask/luchador, 1, 250, "clothing"), + CASINO_PRIZE("Horse mask", /obj/item/clothing/mask/horsehead, 1, 250, "clothing"), + CASINO_PRIZE("Goblin mask", /obj/item/clothing/mask/goblin, 1, 250, "clothing"), + CASINO_PRIZE("Fake moustache", /obj/item/clothing/mask/fakemoustache, 1, 250, "clothing"), + CASINO_PRIZE("Dolphin mask", /obj/item/clothing/mask/dolphin, 1, 250, "clothing"), + CASINO_PRIZE("Demon mask", /obj/item/clothing/mask/demon, 1, 250, "clothing"), + CASINO_PRIZE("Chameleon mask", /obj/item/clothing/under/chameleon, 1, 1000, "clothing"), + CASINO_PRIZE("Chameleon tie", /obj/item/clothing/accessory/chameleon, 1, 750, "clothing"), + CASINO_PRIZE("Ian costume", /obj/item/clothing/suit/storage/hooded/costume/ian, 1, 250, "clothing"), + CASINO_PRIZE("Carp costume", /obj/item/clothing/suit/storage/hooded/costume/carp, 1, 250, "clothing"), + CASINO_PRIZE("Plague doctor costume", /obj/item/weapon/storage/box/casino/costume_plaguedoctor, 1, 500, "clothing"), + CASINO_PRIZE("Wizard costume", /obj/item/weapon/storage/box/casino/costume_wizard, 1, 500, "clothing"), + CASINO_PRIZE("Pirate costume", /obj/item/weapon/storage/box/casino/costume_pirate, 1, 500, "clothing"), + CASINO_PRIZE("Commie costume", /obj/item/weapon/storage/box/casino/costume_commie, 1, 500, "clothing"), + CASINO_PRIZE("Marine costume", /obj/item/weapon/storage/box/casino/costume_marine, 1, 500, "clothing"), + CASINO_PRIZE("Cowboy costume", /obj/item/weapon/storage/box/casino/costume_cowboy, 1, 500, "clothing"), + CASINO_PRIZE("Golden Collar", /obj/item/clothing/accessory/collar/gold, 1, 250, "clothing"), + CASINO_PRIZE("Decorative Casino Sentient Prize Collar", /obj/item/clothing/accessory/collar/casinosentientprize_fake, 1, 100, "clothing"), + ) + item_list["Donk Soft"] = list( + CASINO_PRIZE("Donk-Soft shotgun", /obj/item/weapon/gun/projectile/shotgun/pump/toy, 1, 1000, "misc"), + CASINO_PRIZE("Donk-Soft mosin-nagant", /obj/item/weapon/gun/projectile/shotgun/pump/toy/moistnugget, 1, 1000, "misc"), + CASINO_PRIZE("Donk-Soft pistol", /obj/item/weapon/gun/projectile/pistol/toy, 1, 800, "misc"), + CASINO_PRIZE("Donk-Soft levergun", /obj/item/weapon/gun/projectile/shotgun/pump/toy/levergun, 1, 1000, "misc"), + CASINO_PRIZE("Donk-Soft commemorative pistol", /obj/item/weapon/gun/projectile/pistol/toy/n99, 1, 750, "misc"), + CASINO_PRIZE("Donk-Soft revolver", /obj/item/weapon/gun/projectile/revolver/toy, 1, 750, "misc"), + CASINO_PRIZE("Donk-Soft big-iron", /obj/item/weapon/gun/projectile/revolver/toy/big_iron, 1, 750, "misc"), + CASINO_PRIZE("Donk-Soft crossbow", /obj/item/weapon/gun/projectile/revolver/toy/crossbow, 1, 600, "misc"), + CASINO_PRIZE("Donk-Soft sawn off shotgun", /obj/item/weapon/gun/projectile/revolver/toy/sawnoff, 1, 800, "misc"), + CASINO_PRIZE("Donk-Soft SMG", /obj/item/weapon/gun/projectile/automatic/toy, 1, 1200, "misc"), + CASINO_PRIZE("Foam Darts", /obj/item/ammo_magazine/ammo_box/foam, 1, 100, "misc"), + CASINO_PRIZE("Riot Darts", /obj/item/ammo_magazine/ammo_box/foam/riot, 1, 200, "misc"), + ) + item_list["Miscellaneous"] = list( + CASINO_PRIZE("Winner's Medal", /obj/item/clothing/accessory/medal/gold/casino, 1, 30000, "misc"), + CASINO_PRIZE("Golden ID card", /obj/item/weapon/card/id/gold, 1, 1000, "misc"), + CASINO_PRIZE("Gold-trimmed pen", /obj/item/weapon/pen/fountain5, 1, 50, "misc"), + CASINO_PRIZE("Golden pen", /obj/item/weapon/pen/fountain7, 1, 350, "misc"), + CASINO_PRIZE("Toy sword", /obj/item/toy/sword, 1, 200, "misc"), + CASINO_PRIZE("Waterflower", /obj/item/weapon/reagent_containers/spray/waterflower, 1, 100, "misc"), + CASINO_PRIZE("Horse stick", /obj/item/toy/stickhorse, 1, 100, "misc"), + CASINO_PRIZE("Toy katana", /obj/item/toy/katana, 1, 200, "misc"), + CASINO_PRIZE("Magic conch", /obj/item/toy/eight_ball/conch, 1, 100, "misc"), + CASINO_PRIZE("Magic eight ball", /obj/item/toy/eight_ball, 1, 100, "misc"), + CASINO_PRIZE("Foam sword", /obj/item/weapon/material/sword/foam, 1, 200, "misc"), + CASINO_PRIZE("Whistle", /obj/item/toy/bosunwhistle, 1, 100, "misc"), + CASINO_PRIZE("Golden cup", /obj/item/weapon/reagent_containers/food/drinks/golden_cup, 1, 250, "misc"), + CASINO_PRIZE("Quality cigars", /obj/item/weapon/storage/fancy/cigar/havana, 1, 100, "misc"), + CASINO_PRIZE("Golden zippo lighter", /obj/item/weapon/flame/lighter/zippo/gold, 1, 100, "misc"), + CASINO_PRIZE("Candelabra", /obj/item/weapon/flame/candle/candelabra/everburn, 1, 400, "misc"), + CASINO_PRIZE("Casino wallet", /obj/item/weapon/storage/wallet/casino, 1, 200, "misc"), + CASINO_PRIZE("Casino cards", /obj/item/weapon/deck/cards/casino, 1, 200, "misc"), + CASINO_PRIZE("Instrument: Accordion", /obj/item/instrument/accordion, 1, 500, "misc"), + CASINO_PRIZE("Instrument: Banjo", /obj/item/instrument/banjo, 1, 500, "misc"), + CASINO_PRIZE("Instrument: Musical bikehorn", /obj/item/instrument/bikehorn, 1, 500, "misc"), + CASINO_PRIZE("Instrument: Electric guitar", /obj/item/instrument/eguitar, 1, 500, "misc"), + CASINO_PRIZE("Instrument: Glockenspiel", /obj/item/instrument/glockenspiel, 1, 500, "misc"), + CASINO_PRIZE("Instrument: Guitar", /obj/item/instrument/guitar, 1, 500, "misc"), + CASINO_PRIZE("Instrument: Harmonica", /obj/item/instrument/harmonica, 1, 500, "misc"), + CASINO_PRIZE("Instrument: Synthethic Piano", /obj/item/instrument/piano_synth, 1, 500, "misc"), + CASINO_PRIZE("Instrument: Recorder", /obj/item/instrument/recorder, 1, 500, "misc"), + CASINO_PRIZE("Instrument: Saxophone", /obj/item/instrument/saxophone, 1, 500, "misc"), + CASINO_PRIZE("Instrument: Trombone", /obj/item/instrument/trombone, 1, 500, "misc"), + CASINO_PRIZE("Instrument: Trumpet", /obj/item/instrument/trumpet, 1, 500, "misc"), + CASINO_PRIZE("Instrument: Violin", /obj/item/instrument/violin, 1, 500, "misc"), + CASINO_PRIZE("Instrument: Xylophone", /obj/item/instrument/xylophone, 1, 500, "misc"), + CASINO_PRIZE("Instrument: Golden fiddle", /obj/item/instrument/violin/golden, 1, 1500, "misc"), + CASINO_PRIZE("Instrument: Trumpet (warning: spooky)", /obj/item/instrument/trumpet/spectral, 1, 1000, "misc"), + CASINO_PRIZE("Instrument: Trombone (warning: spooky)", /obj/item/instrument/trombone/spectral, 1, 1000, "misc"), + CASINO_PRIZE("Instrument: Saxophone (warning: spooky)", /obj/item/instrument/saxophone/spectral, 1, 1000, "misc"), + CASINO_PRIZE("Instrument: Musical Moth (you monster)", /obj/item/instrument/musicalmoth, 1, 500, "misc"), + ) + item_list["Drinks"] = list( + CASINO_PRIZE("Redeemer's brew", /obj/item/weapon/reagent_containers/food/drinks/bottle/redeemersbrew, 1, 150, "drinks"), + CASINO_PRIZE("Poison wine", /obj/item/weapon/reagent_containers/food/drinks/bottle/pwine, 1, 150, "drinks"), + CASINO_PRIZE("Patron", /obj/item/weapon/reagent_containers/food/drinks/bottle/patron, 1, 150, "drinks"), + CASINO_PRIZE("Holy water", /obj/item/weapon/reagent_containers/food/drinks/bottle/holywater, 1, 150, "drinks"), + CASINO_PRIZE("Goldschlager", /obj/item/weapon/reagent_containers/food/drinks/bottle/goldschlager, 1, 150, "drinks"), + CASINO_PRIZE("Champagne", /obj/item/weapon/reagent_containers/food/drinks/bottle/champagne, 1, 150, "drinks"), + CASINO_PRIZE("Bottle of Nothing", /obj/item/weapon/reagent_containers/food/drinks/bottle/bottleofnothing, 1, 150, "drinks"), + CASINO_PRIZE("Whiskey bliss", /obj/item/weapon/reagent_containers/food/drinks/bottle/specialwhiskey, 1, 150, "drinks"), + ) + item_list["Pets"] = list( + CASINO_PRIZE("Cat", /obj/item/weapon/grenade/spawnergrenade/casino, 1, 700, "pets"), + CASINO_PRIZE("Chicken", /obj/item/weapon/grenade/spawnergrenade/casino/chicken, 1, 700, "pets"), + CASINO_PRIZE("Cow", /obj/item/weapon/grenade/spawnergrenade/casino/cow, 1, 700, "pets"), + CASINO_PRIZE("Corgi", /obj/item/weapon/grenade/spawnergrenade/casino/corgi, 1, 900, "pets"), + CASINO_PRIZE("Fox", /obj/item/weapon/grenade/spawnergrenade/casino/fox, 1, 700, "pets"), + CASINO_PRIZE("Red panda", /obj/item/weapon/grenade/spawnergrenade/casino/redpanda, 1, 1200, "pets"), + CASINO_PRIZE("Otie", /obj/item/weapon/grenade/spawnergrenade/casino/otie, 1, 1500, "pets"), + CASINO_PRIZE("Snake", /obj/item/weapon/grenade/spawnergrenade/casino/snake, 1, 900, "pets"), + CASINO_PRIZE("Penguin", /obj/item/weapon/grenade/spawnergrenade/casino/penguin, 1, 900, "pets"), + CASINO_PRIZE("Fennec", /obj/item/weapon/grenade/spawnergrenade/casino/fennec, 1, 1200, "pets"), + CASINO_PRIZE("Bird", /obj/item/weapon/grenade/spawnergrenade/casino/goldcrest, 1, 1500, "pets"), + CASINO_PRIZE("Capture Crystal", /obj/item/capture_crystal, 1, 3000, "pets"), + ) + +/obj/machinery/casino_prize_dispenser/power_change() + ..() + if(stat & BROKEN) + icon_state = "[initial(icon_state)]-broken" + else + if(!(stat & NOPOWER)) + icon_state = initial(icon_state) + else + spawn(rand(0, 15)) + icon_state = "[initial(icon_state)]-off" + +/obj/machinery/casino_prize_dispenser/attack_hand(mob/user as mob) + if(stat & (BROKEN|NOPOWER)) + return + tgui_interact(user) + +/obj/machinery/casino_prize_dispenser/attackby(obj/item/weapon/W as obj, mob/user as mob) + if(currently_vending) + if(istype(W, /obj/item/weapon/spacecasinocash)) + to_chat(usr, "Please select prize on display with sufficient amount of chips.") + else + SStgui.update_uis(src) + return // don't smack that machine with your 2 chips + + if(istype(W, /obj/item/weapon/spacecasinocash)) + attack_hand(user) + return + ..() + +/obj/machinery/casino_prize_dispenser/proc/pay_with_chips(var/obj/item/weapon/spacecasinocash/cashmoney, mob/user, var/price) + //"cashmoney_:[cashmoney] user:[user] currently_vending:[currently_vending]" + if(price > cashmoney.worth) + to_chat(usr, "\icon[cashmoney] That is not enough chips.") + return 0 + + if(istype(cashmoney, /obj/item/weapon/spacecasinocash)) + visible_message("\The [usr] inserts some chips into \the [src].") + cashmoney.worth -= price + + if(cashmoney.worth <= 0) + usr.drop_from_inventory(cashmoney) + qdel(cashmoney) + else + cashmoney.update_icon() + return 1 + +/obj/machinery/casino_prize_dispenser/ui_assets(mob/user) + return list( + get_asset_datum(/datum/asset/spritesheet/vending), + ) + +/obj/machinery/casino_prize_dispenser/tgui_data(mob/user) + var/list/data[0] + + data["items"] = list() + for(var/cat in item_list) + var/list/cat_items = list() + for(var/prize_name in item_list[cat]) + var/datum/data/casino_prize/prize = item_list[cat][prize_name] + cat_items[prize_name] = list("name" = prize_name, "price" = prize.cost, "restriction" = prize.restriction) + data["items"][cat] = cat_items + return data + +/obj/machinery/casino_prize_dispenser/tgui_interact(mob/user, datum/tgui/ui = null) + // Open the window + ui = SStgui.try_update_ui(user, src, ui) + if(!ui) + ui = new(user, src, "CasinoPrizeDispenser", name) + ui.open() + +/obj/machinery/casino_prize_dispenser/tgui_act(action, params) + if(stat & (BROKEN|NOPOWER)) + return + if(usr.stat || usr.restrained()) + return + if(..()) + return TRUE + . = TRUE + switch(action) + if("purchase") + var/paid = FALSE + var/category = params["cat"] + var/restriction_category = params["restriction"] + var/restriction_check = 0 + var/item_given = FALSE + var/name = params["name"] + var/price = params["price"] + var/datum/data/casino_prize/bi = item_list[category][name] + switch(restriction_category) + if("weapons") + restriction_check = category_weapons + if("gear") + restriction_check = category_gear + if("clothing") + restriction_check = category_clothing + if("misc") + restriction_check = category_misc + if("drinks") + restriction_check = category_drinks + if("implants") + restriction_check = category_implants + if("event") + restriction_check = category_event + else + to_chat(usr, "Prize checkout error has occured, purchase cancelled.") + return FALSE + + if(restriction_check < 1) + to_chat(usr, "[name] is restricted, this prize can't be bought.") + return FALSE + if(restriction_check > 1) + item_given = TRUE + + if(price <= 0 && item_given == TRUE) + vend(bi, usr) + return TRUE + + currently_vending = bi + + if(istype(usr.get_active_hand(), /obj/item/weapon/spacecasinocash)) + var/obj/item/weapon/spacecasinocash/cash = usr.get_active_hand() + paid = pay_with_chips(cash, usr, price) + else + to_chat(usr, "Payment failure: Improper payment method, please provide chips.") + return TRUE // we set this because they shouldn't even be able to get this far, and we want the UI to update. + if(paid) + if(item_given == TRUE) + vend(bi, usr) + + speak("Thank you for your purchase, your [bi] has been logged.") + do_logging(currently_vending, usr, bi) + . = TRUE + else + to_chat(usr, "Payment failure: unable to process payment.") + +/obj/machinery/casino_prize_dispenser/proc/vend(datum/data/casino_prize/bi, mob/user) + SStgui.update_uis(src) + + if(ispath(bi.equipment_path, /obj/item/stack)) + new bi.equipment_path(loc, bi.equipment_amt) + playsound(src, 'sound/machines/vending/vending_drop.ogg', 100, 1) + return TRUE + + for(var/i in 1 to bi.equipment_amt) + new bi.equipment_path(loc) + playsound(src, 'sound/machines/vending/vending_drop.ogg', 100, 1) + + currently_vending = null + use_power(vend_power_usage) //actuators and stuff + flick("[icon_state]-vend",src) + + +/obj/machinery/casino_prize_dispenser/proc/do_logging(item, mob/user, datum/data/casino_prize/bi) + var/prize_log = "{ckey:[user.ckey]character_name:[user.name]item_path: [bi.equipment_path]}" + log[++log.len] = prize_log + //Currently doesnt have an ingame way to show. Can only be viewed through View-Variables, to ensure theres no chance of players ckeys exposed - Jack + +/obj/machinery/casino_prize_dispenser/proc/speak(var/message) + if(stat & NOPOWER) + return + + if(!message) + return + + for(var/mob/O in hearers(src, null)) + O.show_message("\The [src] beeps, \"[message]\"",2) + return + +/obj/machinery/casino_prize_dispenser/process() //Might not need this, but just to be safe for now + if(stat & (BROKEN|NOPOWER)) + return +>>>>>>> e5ae85f667... Merge pull request #13536 from Heroman3003/casino-changes:code/modules/casino/casino_prize_vendor.dm diff --git a/code/game/objects/items/weapons/storage/bags.dm b/code/game/objects/items/weapons/storage/bags.dm index 268977463a..bdfb3397ce 100644 --- a/code/game/objects/items/weapons/storage/bags.dm +++ b/code/game/objects/items/weapons/storage/bags.dm @@ -400,7 +400,7 @@ max_storage_space = ITEMSIZE_COST_NORMAL * 25 max_w_class = ITEMSIZE_NORMAL w_class = ITEMSIZE_SMALL - can_hold = list(/obj/item/weapon/coin,/obj/item/weapon/spacecash) + can_hold = list(/obj/item/weapon/coin,/obj/item/weapon/spacecash,/obj/item/weapon/spacecasinocash) // ----------------------------- // Chemistry Bag diff --git a/code/game/objects/random/misc.dm b/code/game/objects/random/misc.dm index fc82ed9283..700d9c063f 100644 --- a/code/game/objects/random/misc.dm +++ b/code/game/objects/random/misc.dm @@ -323,7 +323,7 @@ name = "random drink" desc = "This is a random drink." icon = 'icons/obj/drinks.dmi' - icon_state = "whiskeybottle" + icon_state = "whiskeybottle1" /obj/random/drinkbottle/item_to_spawn() return pick(/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey, diff --git a/code/modules/casino/casino.dm b/code/modules/casino/casino.dm index 364ab817f7..d866a4d119 100644 --- a/code/modules/casino/casino.dm +++ b/code/modules/casino/casino.dm @@ -534,27 +534,27 @@ return // -//Slave Terminal +//Sentient Prize Terminal // -/obj/machinery/casinoslave_handler +/obj/machinery/casinosentientprize_handler name = "Sentient Prize Automated Sales Machinery" desc = "The Sentient Prize Automated Sales Machinery, also known as SPASM! Here one can see who is on sale as sentinet prizes, as well as selling self and also buying prizes." icon = 'icons/obj/casino.dmi' icon_state = "casinoslave_hub_off" - density = 1 + density = 0 anchored = 1 - req_access = list(300) + req_access = list(101) - var/casinoslave_sale = "disabled" - var/casinoslave_price = 100 + var/casinosentientprize_sale = "disabled" + var/casinosentientprize_price = 500 var/collar_list = list() - var/slaves_ckeys_list = list() //Same trick as lottery, to keep life simple - var/obj/item/clothing/accessory/collar/casinoslave/selected_collar = null + var/sentientprizes_ckeys_list = list() //Same trick as lottery, to keep life simple + var/obj/item/clothing/accessory/collar/casinosentientprize/selected_collar = null -/obj/machinery/casinoslave_handler/attack_hand(mob/living/user as mob) +/obj/machinery/casinosentientprize_handler/attack_hand(mob/living/user as mob) if(usr.incapacitated()) return - if(casinoslave_sale == "disabled") + if(casinosentientprize_sale == "disabled") to_chat(user,"The SPASM is disabled. ") return @@ -565,14 +565,14 @@ if("Show selected Prize") if(QDELETED(selected_collar)) collar_list -= selected_collar - slaves_ckeys_list -= selected_collar.slaveckey + sentientprizes_ckeys_list -= selected_collar.sentientprizeckey to_chat(user, "No collar is currently selected or the currently selected one has been destroyed or disabled.") selected_collar = null return to_chat(user, "Sentient Prize information") - to_chat(user, "Name: [selected_collar.slavename]") - to_chat(user, "Description: [selected_collar.slaveflavor]") - to_chat(user, "OOC: [selected_collar.slaveooc]") + to_chat(user, "Name: [selected_collar.sentientprizename]") + to_chat(user, "Description: [selected_collar.sentientprizeflavor]") + to_chat(user, "OOC: [selected_collar.sentientprizeooc]") if(selected_collar.ownername != null) to_chat(user, "This prize is already owned by [selected_collar.ownername]") @@ -580,47 +580,50 @@ selected_collar = tgui_input_list(user, "Select a prize", "Chose a collar", collar_list) if(QDELETED(selected_collar)) collar_list -= selected_collar - slaves_ckeys_list -= selected_collar.slaveckey + sentientprizes_ckeys_list -= selected_collar.sentientprizeckey to_chat(user, "No collars to chose, or selected collar has been destroyed or deactived, selection has been removed from list.") selected_collar = null return if("Become Prize (Please examine yourself first)") //Its awkward, but no easy way to obtain flavor_text due to server not loading text of mob until its been examined at least once. var/safety_ckey = user.client.ckey - if(safety_ckey in slaves_ckeys_list) + if(safety_ckey in sentientprizes_ckeys_list) to_chat(user, "The SPASM beeps in an upset manner, you already have a collar!") return var/confirm = tgui_alert(usr, "Are you sure you want to become a sentient prize?", "Confirm Sentient Prize", list("Yes", "No")) if(confirm == "Yes") to_chat(user, "You are now a prize!") - if(safety_ckey in slaves_ckeys_list) + if(safety_ckey in sentientprizes_ckeys_list) to_chat(user, "The SPASM beeps in an upset manner, you already have a collar!") return - slaves_ckeys_list += user.ckey - var/obj/item/clothing/accessory/collar/casinoslave/C = new(src.loc) - C.slavename = "[user.name]" - C.slaveckey = "[user.ckey]" - C.slaveflavor = user.flavor_text - C.slaveooc = user.ooc_notes + sentientprizes_ckeys_list += user.ckey + var/obj/item/clothing/accessory/collar/casinosentientprize/C = new(src.loc) + C.sentientprizename = "[user.name]" + C.sentientprizeckey = "[user.ckey]" + C.sentientprizeflavor = user.flavor_text + C.sentientprizeooc = user.ooc_notes C.name = "Sentient Prize Collar: Available! [user.name] purchaseable at the SPASM!" C.desc = "SPASM collar. The tags shows in flashy colorful text the wearer is [user.name] and is currently available to buy at the Sentient Prize Automated Sales Machinery!" C.icon_state = "casinoslave_available" C.update_icon() collar_list += C - spawn_casinochips(casinoslave_price, src.loc) + spawn_casinochips(casinosentientprize_price, src.loc) -/obj/machinery/casinoslave_handler/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/machinery/casinosentientprize_handler/attackby(obj/item/weapon/W as obj, mob/user as mob) if(usr.incapacitated()) return if(istype(W, /obj/item/weapon/spacecasinocash)) - if(casinoslave_sale == "disabled") + if(casinosentientprize_sale == "disabled") to_chat(user, "Sentient Prize sales are currently disabled.") return + if(!selected_collar) + to_chat(user, "Select a prize first.") + return if(!selected_collar.ownername) var/obj/item/weapon/spacecasinocash/C = W - if(user.client.ckey == selected_collar.slaveckey) + if(user.client.ckey == selected_collar.sentientprizeckey) insert_chip(C, user, "selfbuy") return else @@ -630,12 +633,12 @@ to_chat(user, "This Sentient Prize is already owned! If you are the owner you can release the prize by swiping the collar on the SPASM!") return - if(istype(W, /obj/item/clothing/accessory/collar/casinoslave)) - var/obj/item/clothing/accessory/collar/casinoslave/C = W - if(user.name != C.slavename && user.name != C.ownername) + if(istype(W, /obj/item/clothing/accessory/collar/casinosentientprize)) + var/obj/item/clothing/accessory/collar/casinosentientprize/C = W + if(user.name != C.sentientprizename && user.name != C.ownername) to_chat(user, "This Sentient Prize collar isn't yours, please give it to the one it tagged for, belongs to, or a casino staff member!") return - if(user.name == C.slavename) + if(user.name == C.sentientprizename) if(!C.ownername) to_chat(user,"If collar isn't disabled and entry removed, please select your entry and insert chips. Or contact staff if you need assistance. ") return @@ -643,15 +646,15 @@ to_chat(user,"If collar isn't disabled and entry removed, please ask your owner to free you with collar swipe on the SPASM, or contact staff if you need assistance. ") return if(user.name == C.ownername) - var/confirm = tgui_alert(usr, "Are you sure you want to wipe [C.slavename] entry?", "Confirm Sentient Prize Release", list("Yes", "No")) + var/confirm = tgui_alert(usr, "Are you sure you want to wipe [C.sentientprizename] entry?", "Confirm Sentient Prize Release", list("Yes", "No")) if(confirm == "Yes") - to_chat(user, "[C.slavename] collar has been deleted from registry!") + to_chat(user, "[C.sentientprizename] collar has been deleted from registry!") C.icon_state = "casinoslave" C.update_icon() - C.name = "a disabled Sentient Prize Collar: [C.slavename]" - C.desc = "A collar worn by sentient prizes registered to a SPASM. The tag says its registered to [C.slavename], but harsh red text informs you its been disabled." - slaves_ckeys_list -= C.slaveckey - C.slaveckey = null + C.name = "disabled Sentient Prize Collar: [C.sentientprizename]" + C.desc = "A collar worn by sentient prizes registered to a SPASM. The tag says its registered to [C.sentientprizename], but harsh red text informs you its been disabled." + sentientprizes_ckeys_list -= C.sentientprizeckey + C.sentientprizeckey = null collar_list -= C if(istype(W, /obj/item/weapon/card/id)||istype(W, /obj/item/device/pda)) @@ -666,13 +669,13 @@ return if("Toggle Sentient Prize Sales") - if(casinoslave_sale == "disabled") - casinoslave_sale = "enabled" + if(casinosentientprize_sale == "disabled") + casinosentientprize_sale = "enabled" icon_state = "casinoslave_hub_on" update_icon() to_chat(user,"Prize sale has been enabled. ") else - casinoslave_sale = "disabled" + casinosentientprize_sale = "disabled" icon_state = "casinoslave_hub_off" update_icon() to_chat(user,"Prize sale has been disabled. ") @@ -683,21 +686,21 @@ return if(QDELETED(selected_collar)) collar_list -= selected_collar - slaves_ckeys_list -= selected_collar.slaveckey + sentientprizes_ckeys_list -= selected_collar.sentientprizeckey to_chat(user, "Collar has been destroyed!") selected_collar = null return - var/safety_ckey = selected_collar.slaveckey - var/confirm = tgui_alert(usr, "Are you sure you want to wipe [selected_collar.slavename] entry?", "Confirm Sentient Prize", list("Yes", "No")) + var/safety_ckey = selected_collar.sentientprizeckey + var/confirm = tgui_alert(usr, "Are you sure you want to wipe [selected_collar.sentientprizename] entry?", "Confirm Sentient Prize", list("Yes", "No")) if(confirm == "Yes") - if(safety_ckey == selected_collar.slaveckey) - to_chat(user, "[selected_collar.slavename] collar has been deleted from registry!") + if(safety_ckey == selected_collar.sentientprizeckey) + to_chat(user, "[selected_collar.sentientprizename] collar has been deleted from registry!") selected_collar.icon_state = "casinoslave" selected_collar.update_icon() - selected_collar.name = "a disabled Sentient Prize Collar: [selected_collar.slavename]" - selected_collar.desc = "A collar worn by sentient prizes registered to a SPASM. The tag says its registered to [selected_collar.slavename], but harsh red text informs you its been disabled." - slaves_ckeys_list -= selected_collar.slaveckey - selected_collar.slaveckey = null + selected_collar.name = "disabled Sentient Prize Collar: [selected_collar.sentientprizename]" + selected_collar.desc = "A collar worn by sentient prizes registered to a SPASM. The tag says its registered to [selected_collar.sentientprizename], but harsh red text informs you its been disabled." + sentientprizes_ckeys_list -= selected_collar.sentientprizeckey + selected_collar.sentientprizeckey = null collar_list -= selected_collar selected_collar = null else @@ -707,12 +710,12 @@ if("Change Prize Value") setprice(user) -/obj/machinery/casinoslave_handler/proc/insert_chip(var/obj/item/weapon/spacecasinocash/cashmoney, mob/user, var/buystate) - if(cashmoney.worth < casinoslave_price) +/obj/machinery/casinosentientprize_handler/proc/insert_chip(var/obj/item/weapon/spacecasinocash/cashmoney, mob/user, var/buystate) + if(cashmoney.worth < casinosentientprize_price) to_chat(user,"You dont have enough chips to pay for the sentient prize! ") return - cashmoney.worth -= casinoslave_price + cashmoney.worth -= casinosentientprize_price cashmoney.update_icon() if(cashmoney.worth <= 0) @@ -721,31 +724,31 @@ cashmoney.update_icon() if(buystate == "selfbuy") - to_chat(user,"You put [casinoslave_price] credits worth of chips into the SPASM and nullify your collar! ") + to_chat(user,"You put [casinosentientprize_price] credits worth of chips into the SPASM and nullify your collar! ") selected_collar.icon_state = "casinoslave" selected_collar.update_icon() - selected_collar.name = "a disabled Sentient Prize Collar: [selected_collar.slavename]" - selected_collar.desc = "A collar worn by sentient prizes registered to a SPASM. The tag says its registered to [selected_collar.slavename], but harsh red text informs you its been disabled." - slaves_ckeys_list -= selected_collar.slaveckey - selected_collar.slaveckey = null + selected_collar.name = "disabled Sentient Prize Collar: [selected_collar.sentientprizename]" + selected_collar.desc = "A collar worn by sentient prizes registered to a SPASM. The tag says its registered to [selected_collar.sentientprizename], but harsh red text informs you its been disabled." + sentientprizes_ckeys_list -= selected_collar.sentientprizeckey + selected_collar.sentientprizeckey = null collar_list -= selected_collar selected_collar = null if(buystate == "buy") - to_chat(user,"You put [casinoslave_price] credits worth of chips into the SPASM and it pings to inform you bought [selected_collar.slavename]! ") + to_chat(user,"You put [casinosentientprize_price] credits worth of chips into the SPASM and it pings to inform you bought [selected_collar.sentientprizename]! ") selected_collar.icon_state = "casinoslave_owned" selected_collar.update_icon() selected_collar.ownername = user.name - selected_collar.name = "Sentient Prize Collar: [selected_collar.slavename] owned by [selected_collar.ownername]!" - selected_collar.desc = "A collar worn by sentient prizes registered to a SPASM. The tag says its registered to [selected_collar.slavename] and they are owned by [selected_collar.ownername]." + selected_collar.name = "Sentient Prize Collar: [selected_collar.sentientprizename] owned by [selected_collar.ownername]!" + selected_collar.desc = "A collar worn by sentient prizes registered to a SPASM. The tag says its registered to [selected_collar.sentientprizename] and they are owned by [selected_collar.ownername]." selected_collar = null -/obj/machinery/casinoslave_handler/proc/setprice(mob/living/user as mob) +/obj/machinery/casinosentientprize_handler/proc/setprice(mob/living/user as mob) if(usr.incapacitated()) return if(ishuman(usr) || istype(usr, /mob/living/silicon/robot)) - casinoslave_price = tgui_input_number(usr, "Select the desired price (1-1000)", "Set Price", null, null, 1000, 1) - if(casinoslave_price>1000 || casinoslave_price<1) + casinosentientprize_price = tgui_input_number(usr, "Select the desired price (1-1000)", "Set Price", null, null, 1000, 1) + if(casinosentientprize_price>1000 || casinosentientprize_price<1) to_chat(user,"Invalid price. ") return - to_chat(user,"You set the price to [casinoslave_price] ") + to_chat(user,"You set the price to [casinosentientprize_price] ") diff --git a/code/modules/casino/casino_book.dm b/code/modules/casino/casino_book.dm index 1b3ee5163e..f02a53abd0 100644 --- a/code/modules/casino/casino_book.dm +++ b/code/modules/casino/casino_book.dm @@ -120,141 +120,12 @@ EXCHANGE RATE
FROM = TO
- 5 Thalers = 1 casino chip
- 1 casino chip = 5 Thalers

+ 1 Thaler = 1 casino chip
+ 1 casino chip = 1 Thaler

- The special sentient prize is 100 chips! More about it in section below!

+ The special sentient prize is 200 chips! More about it in section below!

- Melee weapons - - Guns and 'guns' ((disclaimer, giving out guns will mean you get a weapons license as well with the shifts you have it, abusing these weapons will quickly get them removed!)) - - Gear - - Masks and hats - EVERYTHING IS 50 except chameleon! - - Costumes - All costumes are 100 except the hoodies which are 50! - - Toys and misc - ALL THESE ARE 50 - - Booze - ALL BOOZE IS 50 - - Pets - - Mechs - - Implants - + This section was outdated, someone better write it. Thats it for prizes!

diff --git a/code/modules/casino/slots.dm b/code/modules/casino/slots.dm new file mode 100644 index 0000000000..40c7e5af61 --- /dev/null +++ b/code/modules/casino/slots.dm @@ -0,0 +1,462 @@ + +//Original Casino Code created by Shadowfire117#1269 - Ported from CHOMPstation +//Modified by GhostActual#2055 for use with VOREstation + +/* + * Slot Machine + */ + +/obj/machinery/slot_machine + name = "slot machine" + desc = "A gambling machine designed to give you false hope and rob you of your wealth, hence why it's often called a one armed bandit." + icon = 'icons/obj/casino.dmi' + icon_state = "slotmachine" + anchored = 1 + density = 1 + power_channel = EQUIP + use_power = USE_POWER_IDLE + idle_power_usage = 10 + active_power_usage = 100 + light_power = 0.9 + light_range = 2 + light_color = "#B1FBBFF" + var/isbroken = 0 //1 if someone banged it with something heavy + var/ispowered = 1 //starts powered, changes with power_change() + var/busy = 0 + var/symbol1 = null + var/symbol2 = null + var/symbol3 = null + + var/datum/effect/effect/system/confetti_spread + var/confetti_strength = 8 + +/obj/machinery/slot_machine/update_icon() + cut_overlays() + if(!ispowered || isbroken) + icon_state = "slotmachine_off" + if(isbroken) //If the thing is smashed, add crack overlay on top of the unpowered sprite. + add_overlay("slotmachine_broken") + set_light(0) + set_light_on(FALSE) + return + + icon_state = "slotmachine" + set_light(2) + set_light_on(TRUE) + return + +/obj/machinery/slot_machine/power_change() + if(isbroken) //Broken shit can't be powered. + return + ..() + if(!(stat & NOPOWER)) + ispowered = 1 + update_icon() + else + spawn(rand(0, 15)) + ispowered = 0 + update_icon() + +/obj/machinery/slot_machine/attackby(obj/item/weapon/W as obj, mob/user as mob) + if(busy) + to_chat(user,"The slot machine is currently running. ") + return + if(W.is_wrench()) + playsound(src, W.usesound, 100, 1) + if(anchored) + user.visible_message("[user] begins unsecuring \the [src] from the floor.", "You start unsecuring \the [src] from the floor.") + else + user.visible_message("[user] begins securing \the [src] to the floor.", "You start securing \the [src] to the floor.") + + if(do_after(user, 20 * W.toolspeed)) + if(!src) return + to_chat(user, "You [anchored? "un" : ""]secured \the [src]!") + anchored = !anchored + return + + if(!anchored) + to_chat(user," The slot machine isn't secured.") + return + + var/handled = 0 + var/paid = 0 + + if(istype(W, /obj/item/weapon/spacecasinocash)) + var/obj/item/weapon/spacecasinocash/C = W + paid = insert_chip(C, user) + handled = 1 + + if(paid) + return + if(handled) + SStgui.update_uis(src) + return // don't smack that machine with your 2 chips + + else if(!(stat & NOPOWER)) + return + + else if(isbroken) + return + +/obj/machinery/slot_machine/proc/insert_chip(var/obj/item/weapon/spacecasinocash/cashmoney, mob/user) + if (ispowered == 0) + return + if (isbroken) + return + if (busy) + to_chat(user,"The slot machine is currently rolling. ") + return + if(cashmoney.worth < 5) + to_chat(user,"You dont have enough chips to gamble! ") + return + + to_chat(user,"You puts 5 credits in the slot machine and presses start.") + cashmoney.worth -= 5 + cashmoney.update_icon() + + if(cashmoney.worth <= 0) + usr.drop_from_inventory(cashmoney) + qdel(cashmoney) + cashmoney.update_icon() + + busy = 1 + icon_state = "slotmachine_rolling" + playsound(src.loc, 'sound/machines/slotmachine_pull.ogg', 15, 1) + + var/slot1 = rand(0,9) + switch(slot1) + if(0 to 3) symbol1 = "cherry" + if(4 to 4) symbol1 = "lemon" + if(5 to 5) symbol1 = "bell" + if(6 to 6) symbol1 = "four leaf clover" + if(7 to 7) symbol1 = "seven" + if(8 to 8) symbol1 = "diamond" + if(9 to 9) symbol1 = "platinum coin" + + var/slot2 = rand(0,16) + switch(slot2) + if(0 to 5) symbol2 = "cherry" + if(6 to 7) symbol2 = "lemon" + if(8 to 9) symbol2 = "bell" + if(10 to 11) symbol2 = "four leaf clover" + if(12 to 13) symbol2 = "seven" + if(14 to 15) symbol2 = "diamond" + if(16) symbol2 = "platinum coin" + + var/slot3 = rand(0,9) + switch(slot3) + if(0 to 3) symbol3 = "cherry" + if(4 to 4) symbol3 = "lemon" + if(5 to 5) symbol3 = "bell" + if(6 to 6) symbol3 = "four leaf clover" + if(7 to 7) symbol3 = "seven" + if(8 to 8) symbol3 = "diamond" + if(9 to 9) symbol3 = "platinum coin" + + var/output //Output variable to send out in chat after the large if statement. + var/winnings = 0 //How much money will be given if any. + var/platinumwin = 0 // If you win the platinum chip or not + var/celebrate = 0 + var/delaytime = 5 SECONDS + + + spawn(delaytime) + to_chat(user,"The slot machine flashes with bright colours as the slots lights up with a [symbol1], a [symbol2] and a [symbol3]!") + + if (symbol1 == "cherry" && symbol2 == "cherry" && symbol3 == "cherry") + output = "Three cherries! The slot machine deposits chips worth 25 credits!" + winnings = 25 + + if ((symbol1 != "cherry" && symbol2 == "cherry" && symbol3 == "cherry") || (symbol1 == "cherry" && symbol2 != "cherry" && symbol3 == "cherry") ||(symbol1 == "cherry" && symbol2 == "cherry" && symbol3 != "cherry")) + output = "Two cherries! The slot machine deposits a 10 credit chip!" + winnings = 10 + + if (symbol1 == "lemon" && symbol2 == "lemon" && symbol3 == "lemon") + output = "Three lemons! The slot machine deposits a 50 credit chip!" + winnings = 50 + + if (symbol1 == "watermelon" && symbol2 == "watermelon" && symbol3 == "watermelon") + output = "Three watermelons! The slot machine deposits chips worth 75 credits!" + winnings = 75 + + if (symbol1 == "bell" && symbol2 == "bell" && symbol3 == "bell") + output = "Three bells! The slot machine deposits chips a 100 credit chip!" + winnings = 100 + + if (symbol1 == "four leaf clover" && symbol2 == "four leaf clover" && symbol3 == "four leaf clover") + output = "Three four leaf clovers! The slot machine deposits a 200 credit chip!" + winnings = 200 + + if (symbol1 == "seven" && symbol2 == "seven" && symbol3 == "seven") + output = "Three sevens! The slot machine deposits a 500 credit chip!" + winnings = 500 + celebrate = 1 + + if (symbol1 == "diamond" && symbol2 == "diamond" && symbol3 == "diamond") + output = "Three diamonds! The slot machine deposits a 1000 credit chip!" + winnings = 1000 + celebrate = 1 + + if (symbol1 == "platinum coin" && symbol2 == "platinum coin" && symbol3 == "platinum coin") + output = "Three platinum coins! The slot machine deposits a platinum chip!" + platinumwin = TRUE + celebrate = 1 + + icon_state = initial(icon_state) // Set it back to the original iconstate. + + if(!output) // Is there anything to output? If not, consider it a loss. + to_chat(user,"Better luck next time!") + busy = FALSE + return + + to_chat(user,output) //Output message + + if(platinumwin) // Did they win the platinum chip? + new /obj/item/weapon/casino_platinum_chip(src.loc) + playsound(src.loc, 'sound/machines/slotmachine.ogg', 25, 1) + + if(winnings) //Did the person win? + icon_state = "slotmachine_winning" + playsound(src.loc, 'sound/machines/slotmachine.ogg', 25, 1) + spawn(delaytime) + spawn_casinochips(winnings, src.loc) + icon_state = "slotmachine" + + if(celebrate) // Happy celebrations! + src.confetti_spread = new /datum/effect/effect/system/confetti_spread() + src.confetti_spread.attach(src) //If somehow people start dragging slot machine + spawn(0) + for(var/i = 1 to confetti_strength) + src.confetti_spread.start() + sleep(10) + + busy = FALSE + +/* + * Station Slot Machine (takes space cash instead of chips) + */ + +/obj/machinery/station_slot_machine + name = "station slot machine" + desc = "A gambling machine owned by NanoTrasen, designed to take Thalers as opposed to casino chips." + icon = 'icons/obj/casino.dmi' + icon_state = "ntslotmachine" + anchored = 1 + density = 1 + power_channel = EQUIP + use_power = USE_POWER_IDLE + idle_power_usage = 10 + active_power_usage = 100 + light_power = 0.9 + light_range = 2 + light_color = "#B1FBBFF" + var/isbroken = 0 //1 if someone banged it with something heavy + var/ispowered = 1 //starts powered, changes with power_change() + var/busy = 0 + var/symbol1 = null + var/symbol2 = null + var/symbol3 = null + + var/datum/effect/effect/system/confetti_spread + var/confetti_strength = 8 + +/obj/machinery/station_slot_machine/update_icon() + cut_overlays() + if(!ispowered || isbroken) + icon_state = "ntslotmachine_off" + if(isbroken) //If the thing is smashed, add crack overlay on top of the unpowered sprite. + add_overlay("ntslotmachine_broken") + set_light(0) + set_light_on(FALSE) + return + + icon_state = "ntslotmachine" + set_light(2) + set_light_on(TRUE) + return + +/obj/machinery/station_slot_machine/power_change() + if(isbroken) //Broken shit can't be powered. + return + ..() + if(!(stat & NOPOWER)) + ispowered = 1 + update_icon() + else + spawn(rand(0, 15)) + ispowered = 0 + update_icon() + +/obj/machinery/station_slot_machine/attackby(obj/item/weapon/W as obj, mob/user as mob) + if(busy) + to_chat(user,"The slot machine is currently running. ") + return + if(W.is_wrench()) + playsound(src, W.usesound, 100, 1) + if(anchored) + user.visible_message("[user] begins unsecuring \the [src] from the floor.", "You start unsecuring \the [src] from the floor.") + else + user.visible_message("[user] begins securing \the [src] to the floor.", "You start securing \the [src] to the floor.") + + if(do_after(user, 20 * W.toolspeed)) + if(!src) return + to_chat(user, "You [anchored? "un" : ""]secured \the [src]!") + anchored = !anchored + return + + if(!anchored) + to_chat(user," The slot machine isn't secured.") + return + + var/handled = 0 + var/paid = 0 + + if(istype(W, /obj/item/weapon/spacecash)) + var/obj/item/weapon/spacecash/C = W + paid = insert_cash(C, user) + handled = 1 + if(paid) + return + if(handled) + SStgui.update_uis(src) + return // don't smack that machine with your 2 chips + + else if(!(stat & NOPOWER)) + return + + else if(isbroken) + return + +/obj/machinery/station_slot_machine/proc/insert_cash(var/obj/item/weapon/spacecash/cashmoney, mob/user) + if (ispowered == 0) + return + if (isbroken) + return + if (busy) + to_chat(user,"The slot machine is currently rolling. ") + return + if(cashmoney.worth < 5) + to_chat(user,"You dont have enough Thalers to gamble! ") + return + + to_chat(user,"You puts 5 Thalers in the slot machine and presses start.") + cashmoney.worth -= 5 + cashmoney.update_icon() + + if(cashmoney.worth <= 0) + usr.drop_from_inventory(cashmoney) + qdel(cashmoney) + cashmoney.update_icon() + + busy = 1 + icon_state = "ntslotmachine_rolling" + playsound(src.loc, 'sound/machines/slotmachine_pull.ogg', 15, 1) + + var/slot1 = rand(0,9) + switch(slot1) + if(0 to 3) symbol1 = "cherry" + if(4 to 4) symbol1 = "lemon" + if(5 to 5) symbol1 = "bell" + if(6 to 6) symbol1 = "four leaf clover" + if(7 to 7) symbol1 = "seven" + if(8 to 8) symbol1 = "diamond" + if(9 to 9) symbol1 = "platinum coin" + + var/slot2 = rand(0,16) + switch(slot2) + if(0 to 5) symbol2 = "cherry" + if(6 to 7) symbol2 = "lemon" + if(8 to 9) symbol2 = "bell" + if(10 to 11) symbol2 = "four leaf clover" + if(12 to 13) symbol2 = "seven" + if(14 to 15) symbol2 = "diamond" + if(16) symbol2 = "platinum coin" + + var/slot3 = rand(0,9) + switch(slot3) + if(0 to 3) symbol3 = "cherry" + if(4 to 4) symbol3 = "lemon" + if(5 to 5) symbol3 = "bell" + if(6 to 6) symbol3 = "four leaf clover" + if(7 to 7) symbol3 = "seven" + if(8 to 8) symbol3 = "diamond" + if(9 to 9) symbol3 = "platinum coin" + + var/output //Output variable to send out in chat after the large if statement. + var/winnings = 0 //How much money will be given if any. + var/platinumwin = 0 // If you win the platinum chip or not + var/celebrate = 0 + var/delaytime = 5 SECONDS + + + spawn(delaytime) + to_chat(user,"The slot machine flashes with bright colours as the slots lights up with a [symbol1], a [symbol2] and a [symbol3]!") + + if (symbol1 == "cherry" && symbol2 == "cherry" && symbol3 == "cherry") + output = "Three cherries! The slot machine deposits 25 Thalers!" + winnings = 25 + + if ((symbol1 != "cherry" && symbol2 == "cherry" && symbol3 == "cherry") || (symbol1 == "cherry" && symbol2 != "cherry" && symbol3 == "cherry") ||(symbol1 == "cherry" && symbol2 == "cherry" && symbol3 != "cherry")) + output = "Two cherries! The slot machine deposits 10 Thalers!" + winnings = 10 + + if (symbol1 == "lemon" && symbol2 == "lemon" && symbol3 == "lemon") + output = "Three lemons! The slot machine deposits 50 Thalers!" + winnings = 50 + + if (symbol1 == "watermelon" && symbol2 == "watermelon" && symbol3 == "watermelon") + output = "Three watermelons! The slot machine deposits 75 Thalers!" + winnings = 75 + + if (symbol1 == "bell" && symbol2 == "bell" && symbol3 == "bell") + output = "Three bells! The slot machine deposits 100 Thalers!" + winnings = 100 + + if (symbol1 == "four leaf clover" && symbol2 == "four leaf clover" && symbol3 == "four leaf clover") + output = "Three four leaf clovers! The slot machine deposits 200 Thalers!" + winnings = 200 + + if (symbol1 == "seven" && symbol2 == "seven" && symbol3 == "seven") + output = "Three sevens! The slot machine deposits 500 Thalers!" + winnings = 500 + celebrate = 1 + + if (symbol1 == "diamond" && symbol2 == "diamond" && symbol3 == "diamond") + output = "Three diamonds! The slot machine deposits 1000 Thalers!" + winnings = 1000 + celebrate = 1 + + if (symbol1 == "platinum coin" && symbol2 == "platinum coin" && symbol3 == "platinum coin") + output = "Three platinum coins! The slot machine deposits a platinum chip!" + platinumwin = TRUE; + celebrate = 1 + + icon_state = initial(icon_state) // Set it back to the original iconstate. + + if(!output) // Is there anything to output? If not, consider it a loss. + to_chat(user,"Better luck next time!") + busy = FALSE + return + + to_chat(user,output) //Output message + + if(platinumwin) // Did they win the platinum chip? + new /obj/item/weapon/casino_platinum_chip(src.loc) + playsound(src.loc, 'sound/machines/slotmachine.ogg', 25, 1) + + if(winnings) //Did the person win? + icon_state = "ntslotmachine_winning" + playsound(src.loc, 'sound/machines/slotmachine.ogg', 25, 1) + spawn(delaytime) + spawn_money(winnings, src.loc) + icon_state = "ntslotmachine" + + if(celebrate) // Happy celebrations! + src.confetti_spread = new /datum/effect/effect/system/confetti_spread() + src.confetti_spread.attach(src) //If somehow people start dragging slot machine + spawn(0) + for(var/i = 1 to confetti_strength) + src.confetti_spread.start() + sleep(10) + + busy = FALSE diff --git a/code/modules/casino/spawnergrenade_casino.dm b/code/modules/casino/spawnergrenade_casino.dm index c7a8611b86..4a3cf8e535 100644 --- a/code/modules/casino/spawnergrenade_casino.dm +++ b/code/modules/casino/spawnergrenade_casino.dm @@ -2,7 +2,7 @@ name = "Casino Creature Container (Cat)" desc = "It is set to detonate in 5 seconds. It will release a cat won from the casino prize vendor!" icon = 'icons/obj/casino.dmi' - icon_state = "casino" + icon_state = "casino_delivery" item_state = "flashbang" origin_tech = list(TECH_MATERIAL = 2, TECH_MAGNET = 2) spawner_type = /mob/living/simple_mob/animal/passive/cat @@ -75,6 +75,11 @@ name = "Casino Creature Container (Otie)" spawner_type = /mob/living/simple_mob/otie/friendly +/obj/item/weapon/grenade/spawnergrenade/casino/goldcrest + desc = "It is set to detonate in 5 seconds. It will release a bird won from the casino prize vendor!" + name = "Casino Creature Container (Bird)" + spawner_type = /mob/living/simple_mob/animal/passive/bird/goldcrest + // // Mecha // diff --git a/code/modules/client/stored_item.dm b/code/modules/client/stored_item.dm index dd91bf4e71..bff1ec3953 100644 --- a/code/modules/client/stored_item.dm +++ b/code/modules/client/stored_item.dm @@ -35,7 +35,7 @@ var/savefile/F = new /savefile(path) - if(!F) return 0 + if(!F) return 0 var/persist_item F["persist item"] >> persist_item @@ -224,8 +224,6 @@ persist_storable = FALSE /obj/item/weapon/gun/energy/sizegun/admin persist_storable = FALSE -/obj/item/weapon/gun/energy/sizegun/abductor - persist_storable = FALSE /obj/item/stack persist_storable = FALSE /obj/item/weapon/book @@ -252,3 +250,10 @@ persist_storable = FALSE /obj/item/weapon/rcd persist_storable = FALSE +<<<<<<< HEAD +======= +/obj/item/weapon/spacecash + persist_storable = FALSE +/obj/item/weapon/spacecasinocash + persist_storable = FALSE +>>>>>>> e5ae85f667... Merge pull request #13536 from Heroman3003/casino-changes diff --git a/code/modules/clothing/under/accessories/accessory.dm b/code/modules/clothing/under/accessories/accessory.dm index 88caaa83b9..7ae2f5f82b 100644 --- a/code/modules/clothing/under/accessories/accessory.dm +++ b/code/modules/clothing/under/accessories/accessory.dm @@ -300,6 +300,10 @@ name = "medal of exceptional heroism" desc = "An extremely rare golden medal awarded only by high ranking officials. To recieve such a medal is the highest honor and as such, very few exist. This medal is almost never awarded to anybody but distinguished veteran staff." +/obj/item/clothing/accessory/medal/gold/casino + name = "medal of true lucky winner" + desc = "A gaudy golden medal with a logo of a casino engraved on top. The only achievement you had to earn this was great luck or great richness, neither of which is an achievement. Still, it instills a feeling of hope and smell of fresh bagels." + // Base type for 'medals' found in a "dungeon" submap, as a sort of trophy to celebrate the player's conquest. /obj/item/clothing/accessory/medal/dungeon diff --git a/code/modules/clothing/under/accessories/accessory_vr.dm b/code/modules/clothing/under/accessories/accessory_vr.dm index 06ae598fc7..e03379a449 100644 --- a/code/modules/clothing/under/accessories/accessory_vr.dm +++ b/code/modules/clothing/under/accessories/accessory_vr.dm @@ -409,3 +409,33 @@ icon_state = "talon_pin" item_state = "talonpin" overlay_state = "talonpin" +<<<<<<< HEAD +======= + +//Casino Sentient Prize Collar + +/obj/item/clothing/accessory/collar/casinosentientprize + name = "disabled Sentient Prize Collar" + desc = "A collar worn by sentient prizes registered to a SPASM. Although the red text on it shows its disconnected and nonfunctional." + + icon_state = "casinoslave" + item_state = "casinoslave" + overlay_state = "casinoslave" + + var/sentientprizename = null //Name for system to put on collar description + var/ownername = null //Name for system to put on collar description + var/sentientprizeckey = null //Ckey for system to check who is the person and ensure no abuse of system or errors + var/sentientprizeflavor = null //Description to show on the SPASM + var/sentientprizeooc = null //OOC text to show on the SPASM + +/obj/item/clothing/accessory/collar/casinosentientprize/attack_self(mob/user as mob) + //keeping it blank so people don't tag and reset collar status + +/obj/item/clothing/accessory/collar/casinosentientprize_fake + name = "Sentient Prize Collar" + desc = "A collar worn by sentient prizes registered to a SPASM. This one has been disconnected from the system and is now an accessory!" + + icon_state = "casinoslave_owned" + item_state = "casinoslave_owned" + overlay_state = "casinoslave_owned" +>>>>>>> e5ae85f667... Merge pull request #13536 from Heroman3003/casino-changes diff --git a/code/modules/economy/casinocash_ch.dm b/code/modules/economy/casinocash_ch.dm index 99e0e36f26..d7576a1acf 100644 --- a/code/modules/economy/casinocash_ch.dm +++ b/code/modules/economy/casinocash_ch.dm @@ -1,3 +1,42 @@ +<<<<<<< HEAD:code/modules/economy/casinocash_ch.dm +======= + +//Original Casino Code created by Shadowfire117#1269 - Ported from CHOMPstation +//Modified by GhostActual#2055 for use with VOREstation + +/obj/machinery/chipmachine + name = "Casino Chip Exchange" + desc = "Takes all your cash and gives you chips back! No change and half refund!" + icon = 'icons/obj/casino.dmi' + icon_state ="chipmachine" + anchored = 1 + +/obj/machinery/chipmachine/attackby(obj/item/I as obj, mob/user as mob) + if(istype(I,/obj/item/weapon/spacecash) && (I:worth >= 5)) + //consume the money + if(prob(50)) + playsound(loc, 'sound/items/polaroid1.ogg', 50, 1) + else + playsound(loc, 'sound/items/polaroid2.ogg', 50, 1) + + user << "You insert [I] into [src]." + spawn_casinochips(round(I:worth/5), src.loc) + src.attack_hand(user) + qdel(I) + + if(istype(I,/obj/item/weapon/spacecasinocash)) + //consume the chips + if(prob(50)) + playsound(loc, 'sound/items/polaroid1.ogg', 50, 1) + else + playsound(loc, 'sound/items/polaroid2.ogg', 50, 1) + + user << "You insert [I] into [src]." + spawn_money(round(I:worth*5), src.loc) + src.attack_hand(user) + qdel(I) + +>>>>>>> e5ae85f667... Merge pull request #13536 from Heroman3003/casino-changes:code/modules/economy/casinocash.dm /obj/item/weapon/spacecasinocash name = "broken casino chip" desc = "It's worth nothing in a casino." @@ -28,7 +67,7 @@ h_user.drop_from_inventory(src) h_user.drop_from_inventory(SC) h_user.put_in_hands(SC) - user << "You combine the casino chips to a stack of [SC.worth] of credits." + user << "You combine the casino chips to a stack of [SC.worth] casino credits." qdel(src) /obj/item/weapon/spacecasinocash/update_icon() @@ -36,7 +75,7 @@ name = "[worth] casino credit\s" if(worth in list(1000,500,200,100,50,20,10,1)) icon_state = "spacecasinocash[worth]" - desc = "It's a stack of casino chips with a combined value of [worth] credits." + desc = "It's a stack of casino chips with a combined value of [worth] casino credits." return var/sum = src.worth var/num = 0 @@ -57,7 +96,7 @@ M.Turn(pick(-45, -27.5, 0, 0, 0, 0, 0, 0, 0, 27.5, 45)) banknote.transform = M src.overlays += banknote - src.desc = "They are worth [worth] of credits." + src.desc = "They are worth [worth] casino credits." /obj/item/weapon/spacecasinocash/proc/adjust_worth(var/adjust_worth = 0, var/update = 1) worth += adjust_worth @@ -140,7 +179,7 @@ /proc/spawn_casinochips(var/sum, spawnloc, mob/living/carbon/human/human_user as mob) var/obj/item/weapon/spacecasinocash/SC = new (spawnloc) - SC.set_worth(sum) + SC.set_worth(sum, TRUE) if (ishuman(human_user) && !human_user.get_active_hand()) human_user.put_in_hands(SC) return diff --git a/code/modules/vore/resizing/sizegun_vr.dm b/code/modules/vore/resizing/sizegun_vr.dm index 8decb8dde6..32eb241925 100644 --- a/code/modules/vore/resizing/sizegun_vr.dm +++ b/code/modules/vore/resizing/sizegun_vr.dm @@ -5,7 +5,7 @@ name = "size gun" //I have no idea why this was called shrink ray when this increased and decreased size. desc = "A highly advanced ray gun with a knob on the side to adjust the size you desire. Warning: Do not insert into mouth." icon = 'icons/obj/gun_vr.dmi' - icon_state = "sizegun" + icon_state = "sizegun-shrink100" item_state = "sizegun" item_icons = list(slot_l_hand_str = 'icons/mob/items/lefthand_guns_vr.dmi', slot_r_hand_str = 'icons/mob/items/righthand_guns_vr.dmi') fire_sound = 'sound/weapons/wave.ogg' @@ -82,7 +82,7 @@ creature well beyond any conceivable size. Only a handfull of these \ exist in the known universe and they are \ exclusively owned by NanoTrasen for research purposes." - icon_state = "sizegun_admin" + icon_state = "sizegun_admin-shrink100" item_state = "sizegun_admin" charge_cost = 0 projectile_type = /obj/item/projectile/beam/sizelaser/admin @@ -105,7 +105,7 @@ name = "alien size gun" desc = "A strange looking ray gun weapon with an adjustor knob on the side. The design is alien, but it bares a striking resemblence to the older model size guns that NT uses for research." catalogue_data = list(/datum/category_item/catalogue/anomalous/precursor_a/alien_sizegun) - icon_state = "sizegun-abductor" + icon_state = "sizegun-abductor-shrink100" item_state = "sizegun-abductor" charge_cost = 0 projectile_type = /obj/item/projectile/beam/sizelaser/admin/alien diff --git a/maps/submaps/admin_use_vr/fun.dm b/maps/submaps/admin_use_vr/fun.dm index 7fc4b52bdd..cf7609105f 100644 --- a/maps/submaps/admin_use_vr/fun.dm +++ b/maps/submaps/admin_use_vr/fun.dm @@ -3,7 +3,10 @@ requires_power = 0 dynamic_lighting = 0 - +/area/submap/casino_event + name = "\improper Space Casino" + requires_power = 0 + dynamic_lighting = 0 // NEVER EVER use these on an actual included map. diff --git a/maps/submaps/admin_use_vr/lucky_7.dmm b/maps/submaps/admin_use_vr/lucky_7.dmm new file mode 100644 index 0000000000..356e3cb461 --- /dev/null +++ b/maps/submaps/admin_use_vr/lucky_7.dmm @@ -0,0 +1,631 @@ +"aa" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/turf/simulated/floor/tiled,/area/submap/casino_event) +"ab" = (/obj/structure/table/borosilicate,/turf/simulated/floor/tiled/eris/steel/bar_dance,/area/submap/casino_event) +"ac" = (/obj/structure/table/borosilicate,/obj/structure/dancepole,/turf/simulated/floor/tiled/eris/steel/bar_dance,/area/submap/casino_event) +"ad" = (/obj/structure/table/borosilicate,/turf/simulated/floor/tiled/eris/steel/bar_light,/area/submap/casino_event) +"ae" = (/turf/simulated/wall,/area/submap/casino_event) +"af" = (/obj/structure/table/bench/padded,/obj/effect/floor_decal/spline/plain,/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/eris/steel/bar_dance,/area/submap/casino_event) +"ag" = (/obj/structure/table/bench/padded,/obj/effect/floor_decal/spline/plain,/turf/simulated/floor/tiled/eris/steel/bar_dance,/area/submap/casino_event) +"ah" = (/obj/structure/table/bench/padded,/obj/effect/floor_decal/spline/plain,/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled/eris/steel/bar_dance,/area/submap/casino_event) +"ai" = (/turf/simulated/floor/tiled/dark,/area/submap/casino_event) +"aj" = (/obj/structure/bed/chair/bay/comfy/blue,/turf/simulated/floor/tiled/dark,/area/submap/casino_event) +"ak" = (/obj/machinery/light,/turf/simulated/floor/tiled/dark,/area/submap/casino_event) +"al" = (/obj/structure/table/darkglass,/turf/simulated/floor/tiled/dark,/area/submap/casino_event) +"am" = (/obj/structure/bed/chair/bay/comfy/blue{dir = 1},/turf/simulated/floor/tiled/dark,/area/submap/casino_event) +"an" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/dark,/area/submap/casino_event) +"ao" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/dark,/area/submap/casino_event) +"ap" = (/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled/dark,/area/submap/casino_event) +"aq" = (/turf/simulated/floor/carpet/retro,/area/submap/casino_event) +"ar" = (/obj/machinery/computer/arcade/orion_trail,/turf/simulated/floor/carpet/retro,/area/submap/casino_event) +"as" = (/obj/machinery/computer/arcade/battle,/turf/simulated/floor/carpet/retro,/area/submap/casino_event) +"at" = (/obj/machinery/atm{pixel_y = 30},/turf/simulated/floor/carpet/retro,/area/submap/casino_event) +"au" = (/obj/structure/flora/pottedplant/largebush,/turf/simulated/floor/carpet/retro,/area/submap/casino_event) +"av" = (/obj/machinery/door/morgue{dir = 2; name = "Private Room"; req_access = null},/turf/simulated/floor/tiled/dark,/area/submap/casino_event) +"aw" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/carpet/retro,/area/submap/casino_event) +"ax" = (/obj/item/weapon/stool/baystool/padded{dir = 1},/turf/simulated/floor/carpet/retro,/area/submap/casino_event) +"ay" = (/obj/structure/flora/pottedplant/tall,/obj/effect/floor_decal/spline/plain{dir = 4},/turf/simulated/floor/carpet/turcarpet,/area/submap/casino_event) +"az" = (/turf/simulated/floor/carpet/brown,/area/submap/casino_event) +"aA" = (/obj/structure/table/woodentable,/obj/machinery/light{dir = 8},/obj/effect/floor_decal/spline/plain{dir = 4},/turf/simulated/floor/carpet/turcarpet,/area/submap/casino_event) +"aB" = (/obj/machinery/door/airlock{name = "Arcade"},/turf/simulated/floor/carpet/retro,/area/submap/casino_event) +"aC" = (/obj/structure/bed/chair/comfy/black{dir = 4},/turf/simulated/floor/carpet/retro,/area/submap/casino_event) +"aD" = (/obj/structure/table/gamblingtable,/turf/simulated/floor/carpet/retro,/area/submap/casino_event) +"aE" = (/obj/structure/bed/chair/comfy/black{dir = 8},/turf/simulated/floor/carpet/retro,/area/submap/casino_event) +"aF" = (/obj/machinery/clawmachine,/turf/simulated/floor/carpet/retro,/area/submap/casino_event) +"aG" = (/obj/structure/table/woodentable,/obj/machinery/light,/turf/simulated/floor/carpet/retro,/area/submap/casino_event) +"aH" = (/obj/structure/table/gamblingtable,/obj/item/weapon/storage/pill_bottle/dice_nerd,/obj/machinery/light,/turf/simulated/floor/carpet/retro,/area/submap/casino_event) +"aI" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/carpet/brown,/area/submap/casino_event) +"aJ" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/carpet/brown,/area/submap/casino_event) +"aK" = (/obj/structure/flora/pottedplant/tall,/obj/effect/floor_decal/spline/plain{dir = 8},/turf/simulated/floor/carpet/turcarpet,/area/submap/casino_event) +"aL" = (/obj/structure/closet,/obj/random/junk,/obj/random/junk,/obj/random/maintenance,/turf/simulated/floor/plating,/area/submap/casino_event) +"aM" = (/obj/structure/closet,/obj/random/junk,/obj/random/junk,/obj/random/maintenance,/obj/random/maintenance,/turf/simulated/floor/plating,/area/submap/casino_event) +"aN" = (/obj/structure/table/steel,/obj/random/junk,/obj/random/maintenance,/turf/simulated/floor/plating,/area/submap/casino_event) +"aO" = (/turf/simulated/floor/plating,/area/submap/casino_event) +"aP" = (/obj/random/junk,/turf/simulated/floor/plating,/area/submap/casino_event) +"aQ" = (/obj/structure/bed/chair/wood,/turf/simulated/floor/carpet/brown,/area/submap/casino_event) +"aR" = (/obj/structure/table/woodentable,/obj/machinery/light{dir = 4},/obj/effect/floor_decal/spline/plain{dir = 8},/turf/simulated/floor/carpet/turcarpet,/area/submap/casino_event) +"aS" = (/obj/effect/decal/cleanable/blood/oil,/turf/simulated/floor/plating,/area/submap/casino_event) +"aT" = (/obj/structure/catwalk,/turf/simulated/floor/plating,/area/submap/casino_event) +"aU" = (/obj/structure/table/woodentable,/turf/simulated/floor/carpet/brown,/area/submap/casino_event) +"aV" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/submap/casino_event) +"aW" = (/obj/random/trash,/obj/structure/railing{dir = 8},/obj/structure/railing{dir = 1},/obj/random/junk,/turf/simulated/floor/plating,/area/submap/casino_event) +"aX" = (/obj/random/trash,/obj/random/trash,/turf/simulated/floor/plating,/area/submap/casino_event) +"aY" = (/obj/random/trash,/obj/machinery/light/small{dir = 4},/obj/random/junk,/turf/simulated/floor/plating,/area/submap/casino_event) +"aZ" = (/obj/structure/bed/chair/wood{dir = 1},/turf/simulated/floor/carpet/brown,/area/submap/casino_event) +"ba" = (/obj/structure/window/basic,/turf/simulated/floor/carpet/brown,/area/submap/casino_event) +"bb" = (/obj/machinery/door/airlock{id_tag = "L7 PGR 1"; name = "Private Game Room 1"},/turf/simulated/floor/carpet/purple,/area/submap/casino_event) +"bc" = (/obj/machinery/door/airlock{id_tag = "L7 PGR 2"; name = "Private Game Room 2"},/turf/simulated/floor/carpet/green,/area/submap/casino_event) +"bd" = (/obj/machinery/door/airlock{id_tag = "L7 PGR 3"; name = "Private Game Room 3"},/turf/simulated/floor/carpet/blue2,/area/submap/casino_event) +"be" = (/obj/random/trash,/obj/random/trash,/obj/machinery/light/small,/obj/structure/railing{dir = 8},/obj/random/junk,/turf/simulated/floor/plating,/area/submap/casino_event) +"bf" = (/obj/random/trash,/obj/random/trash,/obj/random/junk,/obj/random/junk,/turf/simulated/floor/plating,/area/submap/casino_event) +"bg" = (/obj/random/trash_pile,/obj/random/trash,/obj/random/trash,/obj/random/junk,/turf/simulated/floor/plating,/area/submap/casino_event) +"bh" = (/obj/machinery/slot_machine,/turf/simulated/floor/carpet/brown,/area/submap/casino_event) +"bi" = (/obj/machinery/slot_machine,/obj/machinery/light{dir = 4},/turf/simulated/floor/carpet/brown,/area/submap/casino_event) +"bj" = (/obj/structure/closet/walllocker_double{dir = 8; name = "Game Cabinet"; pixel_x = -28},/obj/item/weapon/book/manual/wizzoffguide,/obj/item/weapon/deck/wizoff,/obj/item/weapon/storage/pill_bottle/dice_nerd,/obj/item/weapon/storage/pill_bottle/dice,/obj/item/weapon/deck/cards/casino,/obj/item/weapon/deck/cah,/obj/item/weapon/deck/cah/black,/obj/item/weapon/storage/dicecup,/turf/simulated/floor/carpet/purple,/area/submap/casino_event) +"bk" = (/turf/simulated/floor/carpet/purple,/area/submap/casino_event) +"bl" = (/obj/machinery/button/remote/airlock{id = "L7 PGR 1"; name = "Door Lock"; pixel_x = 24; pixel_y = 26; specialfunctions = 4},/turf/simulated/floor/carpet/purple,/area/submap/casino_event) +"bm" = (/obj/structure/closet/walllocker_double{dir = 8; name = "Game Cabinet"; pixel_x = -28},/obj/item/weapon/book/manual/wizzoffguide,/obj/item/weapon/deck/wizoff,/obj/item/weapon/storage/pill_bottle/dice_nerd,/obj/item/weapon/storage/pill_bottle/dice,/obj/item/weapon/deck/cards/casino,/obj/item/weapon/deck/cah,/obj/item/weapon/deck/cah/black,/obj/item/weapon/storage/dicecup,/turf/simulated/floor/carpet/green,/area/submap/casino_event) +"bn" = (/turf/simulated/floor/carpet/green,/area/submap/casino_event) +"bo" = (/obj/machinery/button/remote/airlock{id = "L7 PGR 2"; name = "Door Lock"; pixel_x = 24; pixel_y = 26; specialfunctions = 4},/turf/simulated/floor/carpet/green,/area/submap/casino_event) +"bp" = (/obj/structure/closet/walllocker_double{dir = 8; name = "Game Cabinet"; pixel_x = -28},/obj/item/weapon/book/manual/wizzoffguide,/obj/item/weapon/deck/wizoff,/obj/item/weapon/storage/pill_bottle/dice_nerd,/obj/item/weapon/storage/pill_bottle/dice,/obj/item/weapon/deck/cards/casino,/obj/item/weapon/deck/cah,/obj/item/weapon/deck/cah/black,/obj/item/weapon/storage/dicecup,/turf/simulated/floor/carpet/blue2,/area/submap/casino_event) +"bq" = (/turf/simulated/floor/carpet/blue2,/area/submap/casino_event) +"br" = (/obj/machinery/button/remote/airlock{id = "L7 PGR 3"; name = "Door Lock"; pixel_x = 24; pixel_y = 26; specialfunctions = 4},/turf/simulated/floor/carpet/blue2,/area/submap/casino_event) +"bs" = (/obj/structure/railing{dir = 1},/obj/random/trash_pile,/turf/simulated/floor/plating,/area/submap/casino_event) +"bt" = (/obj/random/trash_pile,/obj/random/trash,/obj/random/junk,/obj/random/junk,/turf/simulated/floor/plating,/area/submap/casino_event) +"bu" = (/obj/random/trash,/obj/random/junk,/turf/simulated/floor/plating,/area/submap/casino_event) +"bv" = (/obj/item/weapon/stool/baystool/padded{dir = 1},/turf/simulated/floor/carpet/brown,/area/submap/casino_event) +"bw" = (/obj/structure/bed/chair/comfy/beige,/turf/simulated/floor/carpet/purple,/area/submap/casino_event) +"bx" = (/obj/structure/bed/chair/comfy/beige,/turf/simulated/floor/carpet/green,/area/submap/casino_event) +"by" = (/obj/structure/bed/chair/comfy/beige,/turf/simulated/floor/carpet/blue2,/area/submap/casino_event) +"bz" = (/obj/machinery/door/airlock/maintenance/common{name = "Trash Collection"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/submap/casino_event) +"bA" = (/obj/structure/bed/chair/comfy/beige{dir = 4},/turf/simulated/floor/carpet/purple,/area/submap/casino_event) +"bB" = (/obj/structure/table/gamblingtable,/turf/simulated/floor/carpet/purple,/area/submap/casino_event) +"bC" = (/obj/structure/bed/chair/comfy/beige{dir = 8},/turf/simulated/floor/carpet/purple,/area/submap/casino_event) +"bD" = (/obj/structure/bed/chair/comfy/beige{dir = 4},/turf/simulated/floor/carpet/green,/area/submap/casino_event) +"bE" = (/obj/structure/table/gamblingtable,/turf/simulated/floor/carpet/green,/area/submap/casino_event) +"bF" = (/obj/structure/bed/chair/comfy/beige{dir = 8},/turf/simulated/floor/carpet/green,/area/submap/casino_event) +"bG" = (/obj/structure/bed/chair/comfy/beige{dir = 4},/turf/simulated/floor/carpet/blue2,/area/submap/casino_event) +"bH" = (/obj/structure/table/gamblingtable,/turf/simulated/floor/carpet/blue2,/area/submap/casino_event) +"bI" = (/obj/structure/bed/chair/comfy/beige{dir = 8},/turf/simulated/floor/carpet/blue2,/area/submap/casino_event) +"bJ" = (/obj/random/trash_pile,/turf/simulated/floor/plating,/area/submap/casino_event) +"bK" = (/obj/random/trash_pile,/obj/effect/floor_decal/rust,/obj/random/junk,/turf/simulated/floor/plating,/area/submap/casino_event) +"bL" = (/obj/effect/floor_decal/rust,/turf/simulated/floor/plating,/area/submap/casino_event) +"bM" = (/obj/effect/floor_decal/rust,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/submap/casino_event) +"bN" = (/obj/effect/floor_decal/rust,/obj/random/trash_pile,/turf/simulated/floor/plating,/area/submap/casino_event) +"bO" = (/obj/effect/floor_decal/rust,/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/submap/casino_event) +"bP" = (/obj/effect/floor_decal/rust,/obj/structure/closet/firecloset,/turf/simulated/floor/plating,/area/submap/casino_event) +"bQ" = (/obj/machinery/vending/cola,/turf/simulated/floor/tiled/dark,/area/submap/casino_event) +"bR" = (/obj/structure/bed/chair/sofa/left/black{dir = 4},/turf/simulated/floor/tiled/dark,/area/submap/casino_event) +"bS" = (/obj/structure/table/woodentable,/obj/item/weapon/book/manual/casino,/obj/item/weapon/pen,/turf/simulated/floor/tiled/dark,/area/submap/casino_event) +"bT" = (/obj/structure/bed/chair/sofa/right/black{dir = 8},/turf/simulated/floor/tiled/dark,/area/submap/casino_event) +"bU" = (/obj/structure/mirror{pixel_y = 38},/obj/structure/sink{pixel_y = 20},/turf/simulated/floor/tiled/white,/area/submap/casino_event) +"bV" = (/obj/structure/toilet{pixel_y = 10},/turf/simulated/floor/tiled/white,/area/submap/casino_event) +"bW" = (/obj/structure/table/woodentable,/obj/item/trash/asian_bowl,/obj/item/weapon/material/kitchen/utensil/fork/plastic,/obj/machinery/light{dir = 8},/turf/simulated/floor/carpet/brown,/area/submap/casino_event) +"bX" = (/obj/structure/bed/chair/comfy/beige{dir = 4},/obj/machinery/light{dir = 8},/turf/simulated/floor/carpet/purple,/area/submap/casino_event) +"bY" = (/obj/structure/bed/chair/wood{dir = 1},/turf/simulated/floor/carpet/purple,/area/submap/casino_event) +"bZ" = (/obj/structure/bed/chair/comfy/beige{dir = 8},/obj/machinery/light{dir = 4},/turf/simulated/floor/carpet/purple,/area/submap/casino_event) +"ca" = (/obj/structure/bed/chair/comfy/beige{dir = 4},/obj/machinery/light{dir = 8},/turf/simulated/floor/carpet/green,/area/submap/casino_event) +"cb" = (/obj/structure/bed/chair/wood{dir = 1},/turf/simulated/floor/carpet/green,/area/submap/casino_event) +"cc" = (/obj/structure/bed/chair/comfy/beige{dir = 8},/obj/machinery/light{dir = 4},/turf/simulated/floor/carpet/green,/area/submap/casino_event) +"cd" = (/obj/structure/bed/chair/comfy/beige{dir = 4},/obj/machinery/light{dir = 8},/turf/simulated/floor/carpet/blue2,/area/submap/casino_event) +"ce" = (/obj/structure/bed/chair/wood{dir = 1},/turf/simulated/floor/carpet/blue2,/area/submap/casino_event) +"cf" = (/obj/structure/bed/chair/comfy/beige{dir = 8},/obj/machinery/light{dir = 4},/turf/simulated/floor/carpet/blue2,/area/submap/casino_event) +"cg" = (/obj/structure/closet,/obj/random/junk,/obj/random/junk,/obj/random/maintenance,/obj/random/maintenance,/obj/effect/floor_decal/rust,/obj/random/contraband,/turf/simulated/floor/plating,/area/submap/casino_event) +"ch" = (/obj/machinery/door/airlock/maintenance/common,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/submap/casino_event) +"ci" = (/obj/machinery/door/airlock/maintenance/common,/turf/simulated/floor/tiled/dark,/area/submap/casino_event) +"cj" = (/obj/structure/bed/chair/sofa/black{dir = 4},/turf/simulated/floor/tiled/dark,/area/submap/casino_event) +"ck" = (/obj/structure/table/woodentable,/turf/simulated/floor/tiled/dark,/area/submap/casino_event) +"cl" = (/obj/structure/bed/chair/sofa/black{dir = 8},/turf/simulated/floor/tiled/dark,/area/submap/casino_event) +"cm" = (/obj/machinery/door/airlock{id_tag = "br bathroom"; name = "Bathroom"},/turf/simulated/floor/tiled/white,/area/submap/casino_event) +"cn" = (/turf/simulated/floor/tiled/white,/area/submap/casino_event) +"co" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/tiled/white,/area/submap/casino_event) +"cp" = (/obj/structure/closet,/obj/random/junk,/obj/random/junk,/obj/random/junk,/obj/random/maintenance,/obj/effect/floor_decal/rust,/turf/simulated/floor/plating,/area/submap/casino_event) +"cq" = (/obj/structure/railing{dir = 1},/turf/simulated/floor/plating,/area/submap/casino_event) +"cr" = (/obj/structure/catwalk,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/submap/casino_event) +"cs" = (/obj/structure/bed/chair/sofa/right/black{dir = 4},/turf/simulated/floor/tiled/dark,/area/submap/casino_event) +"ct" = (/obj/structure/bed/chair/sofa/left/black{dir = 8},/turf/simulated/floor/tiled/dark,/area/submap/casino_event) +"cu" = (/obj/structure/table/standard,/obj/machinery/button/remote/airlock{id = "br bathroom"; name = "Bathroom Lock"; pixel_x = -20; pixel_y = 10; specialfunctions = 4},/turf/simulated/floor/tiled/white,/area/submap/casino_event) +"cv" = (/obj/machinery/vending/wallmed1/public{pixel_x = 28},/turf/simulated/floor/tiled/white,/area/submap/casino_event) +"cw" = (/obj/structure/bed/chair/comfy/beige{dir = 1; icon_state = "comfychair_preview"},/turf/simulated/floor/carpet/purple,/area/submap/casino_event) +"cx" = (/obj/structure/bed/chair/comfy/beige{dir = 1; icon_state = "comfychair_preview"},/obj/machinery/light,/turf/simulated/floor/carpet/purple,/area/submap/casino_event) +"cy" = (/obj/structure/bed/chair/comfy/beige{dir = 1; icon_state = "comfychair_preview"},/turf/simulated/floor/carpet/green,/area/submap/casino_event) +"cz" = (/obj/structure/bed/chair/comfy/beige{dir = 1; icon_state = "comfychair_preview"},/obj/machinery/light,/turf/simulated/floor/carpet/green,/area/submap/casino_event) +"cA" = (/obj/structure/bed/chair/comfy/beige{dir = 1},/turf/simulated/floor/carpet/blue2,/area/submap/casino_event) +"cB" = (/obj/structure/bed/chair/comfy/beige{dir = 1},/obj/machinery/light,/turf/simulated/floor/carpet/blue2,/area/submap/casino_event) +"cC" = (/obj/machinery/door/airlock/maintenance/common,/turf/simulated/floor/plating,/area/submap/casino_event) +"cD" = (/turf/simulated/wall/r_wall,/area/submap/casino_event) +"cE" = (/obj/structure/table/steel,/obj/effect/floor_decal/rust,/obj/effect/decal/cleanable/blood/oil,/obj/item/device/flashlight,/turf/simulated/floor/plating,/area/submap/casino_event) +"cF" = (/obj/structure/table/rack/steel,/obj/random/maintenance,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/turf/simulated/floor/plating,/area/submap/casino_event) +"cG" = (/turf/simulated/floor/tiled,/area/submap/casino_event) +"cH" = (/obj/effect/floor_decal/corner/lightorange{dir = 5},/obj/effect/floor_decal/borderfloor/shifted{dir = 1},/obj/effect/floor_decal/corner/lightorange/border/shifted{dir = 1},/obj/structure/closet/secure_closet/brig{id = "Cell 2"},/turf/simulated/floor/tiled/dark,/area/submap/casino_event) +"cI" = (/obj/effect/floor_decal/borderfloor/shifted{dir = 1},/obj/effect/floor_decal/corner/lightorange/border/shifted{dir = 1},/obj/effect/floor_decal/corner/lightorange{dir = 5},/obj/machinery/light/small{dir = 1},/obj/structure/bed/padded,/obj/item/weapon/bedsheet,/turf/simulated/floor/tiled/dark,/area/submap/casino_event) +"cJ" = (/obj/effect/floor_decal/corner/lightorange{dir = 5},/obj/effect/floor_decal/borderfloor/shifted{dir = 1},/obj/effect/floor_decal/corner/lightorange/border/shifted{dir = 1},/obj/structure/table/steel,/turf/simulated/floor/tiled/dark,/area/submap/casino_event) +"cK" = (/obj/structure/table/steel,/obj/random/maintenance/engineering,/obj/random/junk,/obj/effect/floor_decal/rust,/obj/random/maintenance/engineering,/turf/simulated/floor/plating,/area/submap/casino_event) +"cL" = (/obj/effect/floor_decal/rust,/obj/machinery/light/small,/turf/simulated/floor/plating,/area/submap/casino_event) +"cM" = (/obj/structure/table/rack/steel,/obj/random/maintenance,/obj/random/junk,/obj/random/junk,/obj/effect/floor_decal/rust,/obj/effect/decal/cleanable/blood/oil,/obj/random/contraband,/turf/simulated/floor/plating,/area/submap/casino_event) +"cN" = (/obj/structure/table/rack/shelf,/obj/item/device/slow_sizegun,/obj/item/device/slow_sizegun,/obj/item/device/slow_sizegun,/obj/item/weapon/gun/energy/sizegun,/obj/item/weapon/gun/energy/sizegun,/obj/item/weapon/gun/energy/sizegun,/turf/simulated/floor/tiled/dark,/area/submap/casino_event) +"cO" = (/obj/machinery/atm{pixel_y = 30},/turf/simulated/floor/carpet/brown,/area/submap/casino_event) +"cP" = (/obj/machinery/casino_prize_dispenser,/obj/effect/floor_decal/spline/plain{dir = 10},/turf/simulated/floor/carpet/turcarpet,/area/submap/casino_event) +"cQ" = (/obj/effect/floor_decal/spline/plain,/obj/structure/table/woodentable,/obj/item/weapon/material/ashtray/glass,/turf/simulated/floor/carpet/turcarpet,/area/submap/casino_event) +"cR" = (/obj/machinery/casino_prize_dispenser,/obj/effect/floor_decal/spline/plain{dir = 6},/turf/simulated/floor/carpet/turcarpet,/area/submap/casino_event) +"cS" = (/obj/machinery/casinosentientprize_handler{casinosentientprize_sale = "enabled"; pixel_y = 32},/turf/simulated/floor/carpet/brown,/area/submap/casino_event) +"cT" = (/obj/machinery/chipmachine{pixel_y = 32},/turf/simulated/floor/carpet/brown,/area/submap/casino_event) +"cU" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/airlock/security,/turf/simulated/floor/tiled/dark,/area/submap/casino_event) +"cV" = (/obj/structure/table/rack/shelf,/obj/item/weapon/storage/box/roulette_balls_cheat,/obj/item/weapon/storage/box/roulette_balls_cheat,/turf/simulated/floor/tiled/dark,/area/submap/casino_event) +"cW" = (/obj/structure/table/rack/shelf,/obj/item/weapon/deck/cards/casino,/obj/item/weapon/deck/cards/casino,/obj/item/weapon/deck/cards/casino,/obj/item/weapon/deck/cards/casino,/turf/simulated/floor/tiled/dark,/area/submap/casino_event) +"cX" = (/obj/structure/table/rack/shelf,/obj/item/weapon/deck/cah,/obj/item/weapon/deck/cah,/obj/item/weapon/deck/cah/black,/obj/item/weapon/deck/schnapsen,/obj/item/weapon/deck/wizoff,/obj/item/weapon/deck/tarot,/obj/item/weapon/deck/egy,/turf/simulated/floor/tiled/dark,/area/submap/casino_event) +"cY" = (/obj/structure/table/rack/shelf,/obj/item/weapon/gun/energy/mouseray/metamorphosis/advanced,/obj/item/weapon/gun/energy/mouseray/metamorphosis/advanced,/obj/item/weapon/gun/energy/mouseray/metamorphosis/advanced,/turf/simulated/floor/tiled/dark,/area/submap/casino_event) +"cZ" = (/obj/effect/floor_decal/spline/plain{dir = 9},/obj/structure/flora/pottedplant/stoutbush,/turf/simulated/floor/carpet/turcarpet,/area/submap/casino_event) +"da" = (/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/submap/casino_event) +"db" = (/obj/structure/table/steel,/obj/item/weapon/spacecasinocash/c1000{pixel_x = -3; pixel_y = -3},/obj/item/weapon/spacecasinocash/c1000,/obj/item/weapon/spacecasinocash/c1000{pixel_x = 3; pixel_y = 3},/obj/item/weapon/spacecasinocash/c1000,/obj/item/weapon/spacecasinocash/c1000,/obj/item/weapon/spacecasinocash/c1000,/obj/item/weapon/spacecasinocash/c1000,/obj/item/weapon/spacecasinocash/c1000,/obj/item/weapon/spacecasinocash/c1000,/obj/item/weapon/spacecasinocash/c1000,/obj/item/weapon/spacecasinocash/c1000,/obj/item/weapon/spacecasinocash/c1000,/obj/item/weapon/spacecasinocash/c1000,/obj/item/weapon/spacecasinocash/c1000,/obj/item/weapon/spacecasinocash/c1000,/obj/item/weapon/spacecasinocash/c1000,/obj/item/weapon/spacecasinocash/c1000,/turf/simulated/floor/tiled/techfloor,/area/submap/casino_event) +"dc" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/techfloor,/area/submap/casino_event) +"dd" = (/obj/structure/table/rack/steel,/obj/item/weapon/spacecash/c1000{pixel_x = 6; pixel_y = 6},/obj/item/weapon/spacecash/c1000{pixel_x = 3; pixel_y = 3},/obj/item/weapon/spacecash/c1000,/turf/simulated/floor/tiled/techfloor,/area/submap/casino_event) +"de" = (/obj/structure/closet,/obj/random/junk,/obj/random/junk,/obj/random/maintenance,/obj/random/maintenance/engineering,/obj/item/device/flashlight/color,/obj/structure/railing{dir = 4},/turf/simulated/floor/plating,/area/submap/casino_event) +"df" = (/obj/structure/table/rack/shelf,/obj/item/weapon/spacecasinocash/c1000,/obj/item/weapon/spacecasinocash/c1000,/obj/item/weapon/spacecasinocash/c1000,/obj/item/weapon/spacecasinocash/c1000,/obj/item/weapon/spacecasinocash/c1000,/turf/simulated/floor/tiled/dark,/area/submap/casino_event) +"dg" = (/obj/structure/table/rack/shelf,/obj/item/device/bodysnatcher,/obj/item/device/bodysnatcher,/obj/item/device/sleevemate,/obj/item/device/sleevemate,/turf/simulated/floor/tiled/dark,/area/submap/casino_event) +"dh" = (/obj/structure/flora/pottedplant/unusual,/obj/machinery/light{dir = 8},/turf/simulated/floor/carpet/brown,/area/submap/casino_event) +"di" = (/obj/structure/bed/chair/wood{dir = 4},/turf/simulated/floor/carpet/brown,/area/submap/casino_event) +"dj" = (/obj/structure/bed/chair/wood{dir = 8},/turf/simulated/floor/carpet/brown,/area/submap/casino_event) +"dk" = (/obj/machinery/light/floortube{dir = 8},/obj/structure/casino_table/roulette_chart,/turf/simulated/floor/carpet/brown,/area/submap/casino_event) +"dl" = (/obj/structure/casino_table/roulette_table,/turf/simulated/floor/carpet/brown,/area/submap/casino_event) +"dm" = (/obj/structure/casino_table/craps,/obj/item/weapon/dice{pixel_x = 4; pixel_y = 6},/obj/machinery/light/floortube{dir = 8},/obj/item/weapon/dice{pixel_x = 4; pixel_y = 6},/obj/item/weapon/storage/dicecup,/turf/simulated/floor/carpet/brown,/area/submap/casino_event) +"dn" = (/obj/structure/casino_table/craps{dir = 1},/obj/item/weapon/dice{pixel_x = 4; pixel_y = 6},/turf/simulated/floor/carpet/brown,/area/submap/casino_event) +"do" = (/obj/structure/table/woodentable,/obj/effect/floor_decal/spline/plain{dir = 8},/turf/simulated/floor/carpet/turcarpet,/area/submap/casino_event) +"dp" = (/obj/machinery/shower{pixel_y = 20},/obj/structure/curtain/open/shower,/obj/effect/floor_decal/steeldecal/steel_decals5,/obj/effect/floor_decal/steeldecal/steel_decals10{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals10{dir = 6},/obj/random/soap,/turf/simulated/floor/tiled,/area/submap/casino_event) +"dq" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/carpet/green,/area/submap/casino_event) +"dr" = (/obj/machinery/chipmachine{pixel_y = 32},/obj/machinery/atm{pixel_x = 32},/turf/simulated/floor/carpet/green,/area/submap/casino_event) +"ds" = (/obj/structure/toilet{pixel_y = 10},/turf/simulated/floor/tiled/kafel_full,/area/submap/casino_event) +"dt" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/carpet/purple,/area/submap/casino_event) +"du" = (/obj/machinery/chipmachine{pixel_y = 32},/obj/machinery/atm{pixel_x = 32},/turf/simulated/floor/carpet/purple,/area/submap/casino_event) +"dv" = (/obj/structure/sink{dir = 8; pixel_x = -13; pixel_y = -4},/obj/structure/mirror{pixel_x = -24},/turf/simulated/floor/tiled/kafel_full,/area/submap/casino_event) +"dw" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/carpet/blue2,/area/submap/casino_event) +"dx" = (/obj/machinery/chipmachine{pixel_y = 32},/obj/machinery/atm{pixel_x = 32},/turf/simulated/floor/carpet/blue2,/area/submap/casino_event) +"dy" = (/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled/kafel_full,/area/submap/casino_event) +"dz" = (/turf/simulated/floor/carpet/sblucarpet,/area/submap/casino_event) +"dA" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/carpet/sblucarpet,/area/submap/casino_event) +"dB" = (/obj/machinery/chipmachine{pixel_y = 32},/obj/machinery/atm{pixel_x = 32},/turf/simulated/floor/carpet/sblucarpet,/area/submap/casino_event) +"dC" = (/obj/machinery/door/airlock{id_tag = "br bathroom"; name = "Bathroom"},/turf/simulated/floor/tiled/kafel_full,/area/submap/casino_event) +"dD" = (/turf/simulated/floor/carpet/purcarpet,/area/submap/casino_event) +"dE" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/carpet/purcarpet,/area/submap/casino_event) +"dF" = (/obj/machinery/chipmachine{pixel_y = 32},/obj/machinery/atm{pixel_x = 32},/turf/simulated/floor/carpet/purcarpet,/area/submap/casino_event) +"dG" = (/obj/effect/floor_decal/corner/lightorange{dir = 5},/obj/effect/floor_decal/borderfloor/shifted{dir = 1},/obj/effect/floor_decal/corner/lightorange/border/shifted{dir = 1},/obj/structure/closet/secure_closet/brig{id = "Cell 1"},/turf/simulated/floor/tiled/dark,/area/submap/casino_event) +"dH" = (/obj/structure/table/steel,/obj/item/stack/material/diamond{amount = 50; pixel_x = -5; pixel_y = -5},/obj/item/stack/material/diamond{amount = 50},/obj/item/stack/material/diamond{amount = 50; pixel_x = 5; pixel_y = 5},/turf/simulated/floor/tiled/techfloor,/area/submap/casino_event) +"dI" = (/turf/simulated/floor/tiled/techfloor,/area/submap/casino_event) +"dJ" = (/obj/random/junk,/obj/random/junk,/obj/random/junk,/obj/random/maintenance,/obj/random/maintenance,/obj/random/maintenance/engineering,/obj/structure/table/rack/steel,/obj/random/contraband,/obj/structure/railing,/obj/structure/railing{dir = 4},/turf/simulated/floor/plating,/area/submap/casino_event) +"dK" = (/obj/structure/table/rack/shelf,/obj/item/weapon/storage/box/roulette_balls_fancy,/obj/item/weapon/storage/box/roulette_balls_fancy,/obj/item/weapon/storage/box/roulette_balls_fancy,/turf/simulated/floor/tiled/dark,/area/submap/casino_event) +"dL" = (/obj/structure/table/rack/shelf,/obj/item/weapon/storage/pill_bottle/dice,/obj/item/weapon/storage/pill_bottle/dice,/obj/item/weapon/storage/pill_bottle/dice,/turf/simulated/floor/tiled/dark,/area/submap/casino_event) +"dM" = (/obj/structure/table/woodentable,/obj/item/trash/asian_bowl,/turf/simulated/floor/carpet/brown,/area/submap/casino_event) +"dN" = (/obj/structure/table/woodentable,/obj/item/weapon/material/kitchen/utensil/fork/plastic,/turf/simulated/floor/carpet/brown,/area/submap/casino_event) +"dO" = (/obj/machinery/light{dir = 4},/turf/simulated/floor/carpet/brown,/area/submap/casino_event) +"dP" = (/obj/structure/casino_table/blackjack_r{dir = 4},/turf/simulated/floor/carpet/brown,/area/submap/casino_event) +"dQ" = (/obj/item/weapon/stool/padded{dir = 8},/turf/simulated/floor/carpet/brown,/area/submap/casino_event) +"dR" = (/obj/effect/floor_decal/spline/plain{dir = 10},/obj/structure/flora/pottedplant/stoutbush,/turf/simulated/floor/carpet/turcarpet,/area/submap/casino_event) +"dS" = (/obj/structure/casino_table/roulette_chart,/turf/simulated/floor/carpet/green,/area/submap/casino_event) +"dT" = (/obj/structure/casino_table/roulette_table,/turf/simulated/floor/carpet/green,/area/submap/casino_event) +"dU" = (/obj/structure/casino_table/roulette_chart,/turf/simulated/floor/carpet/purple,/area/submap/casino_event) +"dV" = (/obj/structure/casino_table/roulette_table,/turf/simulated/floor/carpet/purple,/area/submap/casino_event) +"dW" = (/obj/structure/casino_table/roulette_chart,/turf/simulated/floor/carpet/blue2,/area/submap/casino_event) +"dX" = (/obj/structure/casino_table/roulette_table,/turf/simulated/floor/carpet/blue2,/area/submap/casino_event) +"dY" = (/obj/structure/casino_table/craps,/obj/item/weapon/dice{pixel_x = 4; pixel_y = 6},/turf/simulated/floor/carpet/sblucarpet,/area/submap/casino_event) +"dZ" = (/obj/structure/casino_table/craps{dir = 1},/obj/item/weapon/dice{pixel_x = 4; pixel_y = 6},/obj/item/weapon/dice{pixel_x = 4; pixel_y = 6},/turf/simulated/floor/carpet/sblucarpet,/area/submap/casino_event) +"ea" = (/obj/structure/casino_table/craps,/obj/item/weapon/dice{pixel_x = 4; pixel_y = 6},/turf/simulated/floor/carpet/purcarpet,/area/submap/casino_event) +"eb" = (/obj/structure/casino_table/craps{dir = 1},/obj/item/weapon/dice{pixel_x = 4; pixel_y = 6},/obj/item/weapon/dice{pixel_x = 4; pixel_y = 6},/turf/simulated/floor/carpet/purcarpet,/area/submap/casino_event) +"ec" = (/obj/structure/table/steel,/obj/random/cash/huge{pixel_y = 8},/obj/random/cash/huge,/obj/item/weapon/bikehorn{pixel_x = -7; pixel_y = 7},/turf/simulated/floor/tiled/techfloor,/area/submap/casino_event) +"ed" = (/obj/structure/table/rack/shelf,/obj/item/weapon/storage/pill_bottle/dice_nerd,/obj/item/weapon/storage/pill_bottle/dice_nerd,/obj/item/weapon/storage/pill_bottle/dice_nerd,/turf/simulated/floor/tiled/dark,/area/submap/casino_event) +"ee" = (/obj/machinery/door/airlock{name = "Breakroom"; req_access = list(101)},/turf/simulated/floor/tiled/dark,/area/submap/casino_event) +"ef" = (/obj/item/weapon/stool/padded{dir = 4},/turf/simulated/floor/carpet/brown,/area/submap/casino_event) +"eg" = (/obj/structure/casino_table/blackjack_m{dir = 4},/obj/item/weapon/deck/cards/casino,/obj/machinery/light/floortube{dir = 8},/turf/simulated/floor/carpet/brown,/area/submap/casino_event) +"eh" = (/obj/machinery/button/remote/airlock{id = "roulette_1"; name = "Door Lock"; pixel_x = 24; pixel_y = -26; specialfunctions = 4},/turf/simulated/floor/carpet/green,/area/submap/casino_event) +"ei" = (/obj/machinery/button/remote/airlock{id = "roulette_2"; name = "Door Lock"; pixel_x = 24; pixel_y = -26; specialfunctions = 4},/turf/simulated/floor/carpet/purple,/area/submap/casino_event) +"ej" = (/obj/machinery/button/remote/airlock{id = "roulette_3"; name = "Door Lock"; pixel_x = 24; pixel_y = -26; specialfunctions = 4},/turf/simulated/floor/carpet/blue2,/area/submap/casino_event) +"ek" = (/obj/machinery/button/remote/airlock{id = "craps_1"; name = "Door Lock"; pixel_x = 24; pixel_y = -26; specialfunctions = 4},/turf/simulated/floor/carpet/sblucarpet,/area/submap/casino_event) +"el" = (/obj/machinery/button/remote/airlock{id = "craps_2"; name = "Door Lock"; pixel_x = 24; pixel_y = -26; specialfunctions = 4},/turf/simulated/floor/carpet/purcarpet,/area/submap/casino_event) +"em" = (/obj/machinery/door/airlock/highsecurity{locked = 1; name = "Safe"; req_access = list(101); req_one_access = null},/turf/simulated/floor/tiled/techfloor,/area/submap/casino_event) +"en" = (/obj/structure/table/rack/shelf,/obj/item/weapon/storage/box/roulette_balls_normal,/obj/item/weapon/storage/box/roulette_balls_normal,/turf/simulated/floor/tiled/dark,/area/submap/casino_event) +"eo" = (/obj/structure/table/rack/shelf,/obj/item/weapon/storage/dicecup,/obj/item/weapon/storage/dicecup,/obj/item/weapon/storage/dicecup,/turf/simulated/floor/tiled/dark,/area/submap/casino_event) +"ep" = (/obj/structure/table/rack/shelf,/obj/item/weapon/spacecash/c1000,/obj/item/weapon/spacecash/c1000,/obj/item/weapon/spacecash/c1000,/obj/item/weapon/spacecash/c1000,/obj/item/weapon/spacecash/c1000,/turf/simulated/floor/tiled/dark,/area/submap/casino_event) +"eq" = (/obj/structure/table/woodentable,/obj/random/drinkbottle,/turf/simulated/floor/carpet/brown,/area/submap/casino_event) +"er" = (/obj/structure/casino_table/blackjack_l{dir = 4},/turf/simulated/floor/carpet/brown,/area/submap/casino_event) +"es" = (/obj/structure/closet/walllocker_double{dir = 8; name = "Game Cabinet"; pixel_x = -28},/obj/item/weapon/storage/box/roulette_balls_normal,/obj/item/weapon/storage/box/roulette_balls_fancy,/obj/item/weapon/storage/box/roulette_balls_cheat,/turf/simulated/floor/carpet/green,/area/submap/casino_event) +"et" = (/obj/structure/casino_table/craps{dir = 1},/obj/item/weapon/dice,/obj/item/weapon/dice{pixel_x = 4; pixel_y = 6},/turf/simulated/floor/carpet/brown,/area/submap/casino_event) +"eu" = (/obj/machinery/door/airlock{id_tag = "roulette_1"; name = "Private Roulette Room 1"},/turf/simulated/floor/carpet/green,/area/submap/casino_event) +"ev" = (/obj/machinery/door/airlock{id_tag = "roulette_2"; name = "Private Roulette Room 2"},/turf/simulated/floor/carpet/purple,/area/submap/casino_event) +"ew" = (/obj/machinery/door/airlock{id_tag = "roulette_3"; name = "Private Roulette Room 3"},/turf/simulated/floor/carpet/blue2,/area/submap/casino_event) +"ex" = (/obj/machinery/door/airlock{id_tag = "craps_1"; name = "Private Craps Room 1"},/turf/simulated/floor/carpet/sblucarpet,/area/submap/casino_event) +"ey" = (/obj/machinery/door/airlock{id_tag = "craps_2"; name = "Private Craps Room 2"},/turf/simulated/floor/carpet/purcarpet,/area/submap/casino_event) +"ez" = (/obj/machinery/door/airlock/glass_security{req_access = list(101); req_one_access = null},/turf/simulated/floor/tiled,/area/submap/casino_event) +"eA" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/red/bordercorner2{dir = 4},/obj/structure/flora/pottedplant/unusual,/turf/simulated/floor/tiled,/area/submap/casino_event) +"eB" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/red/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/submap/casino_event) +"eC" = (/obj/effect/floor_decal/borderfloor{dir = 5},/obj/effect/floor_decal/corner/red/border{dir = 5},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/red/bordercorner2{dir = 4},/turf/simulated/floor/tiled,/area/submap/casino_event) +"eD" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/obj/machinery/vending/security{dir = 8; req_access = list(101)},/turf/simulated/floor/tiled,/area/submap/casino_event) +"eE" = (/obj/structure/table/woodentable,/obj/random/maintenance/foodstuff,/turf/simulated/floor/carpet/brown,/area/submap/casino_event) +"eF" = (/obj/structure/flora/pottedplant/tropical,/turf/simulated/floor/tiled,/area/submap/casino_event) +"eG" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/submap/casino_event) +"eH" = (/obj/machinery/door/airlock/maintenance/common,/obj/effect/floor_decal/rust,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/submap/casino_event) +"eI" = (/obj/structure/coatrack,/turf/simulated/floor/carpet/brown,/area/submap/casino_event) +"eJ" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/red/bordercorner2{dir = 8},/turf/simulated/floor/tiled,/area/submap/casino_event) +"eK" = (/obj/structure/table/reinforced,/obj/item/device/radio/headset/casino,/obj/item/device/radio/headset/casino,/obj/item/device/radio/headset/casino,/obj/item/device/radio/headset/casino,/obj/item/device/radio/headset/casino/bowman,/obj/item/device/radio/headset/casino/bowman,/turf/simulated/floor/tiled,/area/submap/casino_event) +"eL" = (/obj/structure/table/glass,/obj/machinery/vending/wallmed1/public{pixel_y = -32},/obj/item/weapon/backup_implanter,/obj/item/weapon/backup_implanter,/obj/item/weapon/backup_implanter,/obj/item/weapon/backup_implanter,/obj/item/weapon/backup_implanter,/turf/simulated/floor/tiled/white,/area/submap/casino_event) +"eM" = (/obj/random/trash_pile,/obj/random/maintenance,/obj/effect/floor_decal/rust,/obj/structure/railing{dir = 4},/turf/simulated/floor/plating,/area/submap/casino_event) +"eN" = (/turf/simulated/floor/lino,/area/submap/casino_event) +"eO" = (/obj/structure/casino_table/craps{dir = 1},/obj/item/weapon/dice{pixel_x = 4; pixel_y = 6},/obj/item/weapon/dice{pixel_x = 4; pixel_y = 6},/turf/simulated/floor/carpet/brown,/area/submap/casino_event) +"eP" = (/obj/structure/closet,/turf/simulated/floor/tiled/white,/area/submap/casino_event) +"eQ" = (/obj/machinery/light{dir = 1},/obj/machinery/vending/loadout/uniform,/turf/simulated/floor/tiled/white,/area/submap/casino_event) +"eR" = (/obj/machinery/transhuman/autoresleever,/turf/simulated/floor/tiled/white,/area/submap/casino_event) +"eS" = (/obj/effect/floor_decal/borderfloor{dir = 9},/obj/effect/floor_decal/corner/red/border{dir = 9},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/red/bordercorner2{dir = 1},/obj/machinery/vending/wallmed1/public{pixel_y = 28},/obj/structure/table/rack,/obj/item/weapon/spacecasinocash/c500,/obj/item/weapon/spacecasinocash/c500,/obj/item/weapon/spacecasinocash/c500,/turf/simulated/floor/tiled,/area/submap/casino_event) +"eT" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/red/bordercorner2{dir = 4},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/submap/casino_event) +"eU" = (/obj/effect/floor_decal/borderfloor{dir = 5},/obj/effect/floor_decal/corner/red/border{dir = 5},/obj/structure/closet/firecloset,/turf/simulated/floor/tiled,/area/submap/casino_event) +"eV" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/submap/casino_event) +"eW" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/firstaid/regular,/obj/item/device/radio,/turf/simulated/floor/tiled,/area/submap/casino_event) +"eX" = (/obj/structure/bed/chair/office/light{dir = 4},/turf/simulated/floor/tiled,/area/submap/casino_event) +"eY" = (/obj/item/modular_computer/console{dir = 8},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/submap/casino_event) +"eZ" = (/obj/random/trash_pile,/obj/effect/floor_decal/rust,/obj/structure/railing{dir = 4},/turf/simulated/floor/plating,/area/submap/casino_event) +"fa" = (/obj/machinery/door/airlock/maintenance/common,/turf/simulated/floor/wood,/area/submap/casino_event) +"fb" = (/obj/structure/table/woodentable,/obj/item/trash/bowl,/turf/simulated/floor/carpet/brown,/area/submap/casino_event) +"fc" = (/obj/machinery/door/airlock{id_tag = "blackjack_1"; name = "Private Blackjack Room 1"},/turf/simulated/floor/carpet/bcarpet,/area/submap/casino_event) +"fd" = (/obj/machinery/door/airlock{id_tag = "blackjack_2"; name = "Private Blackjack Room 2"},/turf/simulated/floor/carpet/gaycarpet,/area/submap/casino_event) +"fe" = (/obj/machinery/door/airlock{id_tag = "blackjack_3"; name = "Private Blackjack Room 3"},/turf/simulated/floor/carpet/turcarpet,/area/submap/casino_event) +"ff" = (/obj/structure/table/reinforced,/obj/machinery/button/remote/blast_door{id = "casino_check"},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/submap/casino_event) +"fg" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/submap/casino_event) +"fh" = (/obj/structure/table/reinforced,/obj/item/ammo_magazine/m45{pixel_x = -5; pixel_y = -3},/obj/item/ammo_magazine/m45,/obj/item/ammo_magazine/m45{pixel_x = 5; pixel_y = 3},/turf/simulated/floor/tiled,/area/submap/casino_event) +"fi" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/obj/structure/table/reinforced,/obj/item/weapon/handcuffs{pixel_y = -5},/obj/item/weapon/handcuffs,/obj/item/weapon/handcuffs{pixel_y = 5},/turf/simulated/floor/tiled,/area/submap/casino_event) +"fj" = (/obj/structure/casino_table/blackjack_m{dir = 4},/obj/machinery/light/floortube{dir = 8},/obj/item/weapon/deck/cards/casino,/turf/simulated/floor/carpet/brown,/area/submap/casino_event) +"fk" = (/obj/machinery/chipmachine{pixel_x = -32},/obj/machinery/atm{pixel_y = 30},/turf/simulated/floor/carpet/bcarpet,/area/submap/casino_event) +"fl" = (/turf/simulated/floor/carpet/bcarpet,/area/submap/casino_event) +"fm" = (/obj/machinery/button/remote/airlock{id = "blackjack_1"; name = "Door Lock"; pixel_x = 24; pixel_y = 26; specialfunctions = 4},/turf/simulated/floor/carpet/bcarpet,/area/submap/casino_event) +"fn" = (/obj/structure/closet/walllocker_double{dir = 8; name = "Game Cabinet"; pixel_x = -28},/obj/item/weapon/storage/box/roulette_balls_normal,/obj/item/weapon/storage/box/roulette_balls_fancy,/obj/item/weapon/storage/box/roulette_balls_cheat,/turf/simulated/floor/carpet/purple,/area/submap/casino_event) +"fo" = (/obj/machinery/chipmachine{pixel_x = -32},/obj/machinery/atm{pixel_y = 30},/turf/simulated/floor/carpet/gaycarpet,/area/submap/casino_event) +"fp" = (/turf/simulated/floor/carpet/gaycarpet,/area/submap/casino_event) +"fq" = (/obj/machinery/button/remote/airlock{id = "blackjack_2"; name = "Door Lock"; pixel_x = 24; pixel_y = 26; specialfunctions = 4},/turf/simulated/floor/carpet/gaycarpet,/area/submap/casino_event) +"fr" = (/obj/structure/closet/walllocker_double{dir = 8; name = "Game Cabinet"; pixel_x = -28},/obj/item/weapon/storage/box/roulette_balls_normal,/obj/item/weapon/storage/box/roulette_balls_fancy,/obj/item/weapon/storage/box/roulette_balls_cheat,/turf/simulated/floor/carpet/blue2,/area/submap/casino_event) +"fs" = (/obj/machinery/chipmachine{pixel_x = -32},/obj/machinery/atm{pixel_y = 30},/turf/simulated/floor/carpet/turcarpet,/area/submap/casino_event) +"ft" = (/turf/simulated/floor/carpet/turcarpet,/area/submap/casino_event) +"fu" = (/obj/machinery/button/remote/airlock{id = "blackjack_3"; name = "Door Lock"; pixel_x = 24; pixel_y = 26; specialfunctions = 4},/turf/simulated/floor/carpet/turcarpet,/area/submap/casino_event) +"fv" = (/obj/structure/closet/walllocker_double{dir = 8; name = "Game Cabinet"; pixel_x = -28},/obj/item/weapon/storage/pill_bottle/dice,/obj/item/weapon/storage/pill_bottle/dice_nerd,/obj/item/weapon/storage/dicecup,/turf/simulated/floor/carpet/sblucarpet,/area/submap/casino_event) +"fw" = (/obj/structure/bed/double/padded,/obj/item/weapon/bedsheet/reddouble,/turf/simulated/floor/wood,/area/submap/casino_event) +"fx" = (/obj/item/weapon/stool/baystool/padded,/turf/simulated/floor/carpet/blue2,/area/submap/casino_event) +"fy" = (/obj/item/modular_computer/console{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/red/border{dir = 10},/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/corner/red/bordercorner2{dir = 9},/turf/simulated/floor/tiled,/area/submap/casino_event) +"fz" = (/obj/structure/bed/chair/office/light,/turf/simulated/floor/tiled,/area/submap/casino_event) +"fA" = (/obj/structure/table/reinforced,/obj/item/weapon/handcuffs,/obj/item/weapon/handcuffs,/obj/item/ammo_casing/spent,/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/red/border{dir = 6},/obj/effect/floor_decal/borderfloor/corner2,/obj/effect/floor_decal/corner/red/bordercorner2,/turf/simulated/floor/tiled,/area/submap/casino_event) +"fB" = (/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/red/border{dir = 10},/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/corner/red/bordercorner2{dir = 9},/turf/simulated/floor/tiled,/area/submap/casino_event) +"fC" = (/obj/item/weapon/gun/projectile/shotgun/pump{ammo_type = /obj/item/ammo_casing/a12g/pellet; pixel_x = 1; pixel_y = 4},/obj/item/weapon/gun/projectile/shotgun/pump{ammo_type = /obj/item/ammo_casing/a12g/pellet; pixel_x = 2; pixel_y = -6},/obj/structure/table/rack/gun_rack,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/obj/effect/floor_decal/borderfloor/corner2,/obj/effect/floor_decal/corner/red/bordercorner2,/turf/simulated/floor/tiled,/area/submap/casino_event) +"fD" = (/obj/structure/table/rack,/obj/item/ammo_magazine/ammo_box/b12g/pellet{pixel_x = 3; pixel_y = -3},/obj/item/ammo_magazine/ammo_box/b12g/pellet{pixel_x = -5; pixel_y = -3},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/obj/item/ammo_magazine/ammo_box/b12g/pellet{pixel_x = 3; pixel_y = 3},/obj/item/ammo_magazine/ammo_box/b12g/pellet{pixel_x = -5; pixel_y = 3},/turf/simulated/floor/tiled,/area/submap/casino_event) +"fE" = (/obj/structure/table/rack,/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/red/border{dir = 6},/obj/item/clothing/suit/armor/bulletproof/alt{pixel_x = -6},/obj/item/clothing/suit/armor/bulletproof/alt{pixel_x = 6},/turf/simulated/floor/tiled,/area/submap/casino_event) +"fF" = (/obj/structure/table/rack/shelf,/turf/simulated/floor/tiled/dark,/area/submap/casino_event) +"fG" = (/obj/structure/table/rack/shelf,/obj/item/device/radio/headset/casino,/obj/item/device/radio/headset/casino,/obj/item/device/radio/headset/casino,/obj/item/device/radio/headset/casino,/obj/item/device/radio/headset/casino,/obj/item/device/radio/headset/casino,/obj/item/device/radio/headset/casino/bowman,/obj/item/device/radio/headset/casino/bowman,/obj/item/device/radio/headset/casino/bowman,/turf/simulated/floor/tiled/dark,/area/submap/casino_event) +"fH" = (/obj/machinery/telecomms/allinone/casino,/turf/simulated/floor/tiled/dark,/area/submap/casino_event) +"fI" = (/obj/structure/table/woodentable,/obj/item/trash/plate,/turf/simulated/floor/carpet/brown,/area/submap/casino_event) +"fJ" = (/obj/structure/casino_table/blackjack_l{dir = 8},/turf/simulated/floor/carpet/brown,/area/submap/casino_event) +"fK" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/carpet/bcarpet,/area/submap/casino_event) +"fL" = (/obj/structure/bed/chair/comfy/black,/turf/simulated/floor/carpet/bcarpet,/area/submap/casino_event) +"fM" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/carpet/gaycarpet,/area/submap/casino_event) +"fN" = (/obj/structure/bed/chair/comfy/red,/turf/simulated/floor/carpet/gaycarpet,/area/submap/casino_event) +"fO" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/carpet/turcarpet,/area/submap/casino_event) +"fP" = (/obj/structure/bed/chair/comfy/green,/turf/simulated/floor/carpet/turcarpet,/area/submap/casino_event) +"fQ" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/submap/casino_event) +"fR" = (/obj/machinery/door/airlock/glass,/turf/simulated/floor/tiled/white,/area/submap/casino_event) +"fS" = (/obj/structure/table/reinforced,/obj/machinery/door/window/brigdoor/eastleft{dir = 2},/obj/item/weapon/pen,/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "casino_check"; opacity = 0},/turf/simulated/floor/tiled,/area/submap/casino_event) +"fT" = (/obj/structure/table/reinforced,/obj/machinery/door/window/brigdoor/eastright{dir = 2},/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "casino_check"; opacity = 0},/turf/simulated/floor/tiled,/area/submap/casino_event) +"fU" = (/obj/structure/table/woodentable,/obj/item/trash/plate,/obj/item/weapon/material/kitchen/utensil/fork/plastic,/turf/simulated/floor/carpet/brown,/area/submap/casino_event) +"fV" = (/obj/structure/casino_table/blackjack_m{dir = 8},/obj/machinery/light/floortube{dir = 4},/obj/item/weapon/deck/cards/casino,/turf/simulated/floor/carpet/brown,/area/submap/casino_event) +"fW" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/carpet/bcarpet,/area/submap/casino_event) +"fX" = (/obj/structure/casino_table/blackjack_l{dir = 1},/turf/simulated/floor/carpet/bcarpet,/area/submap/casino_event) +"fY" = (/obj/item/weapon/stool/padded{dir = 4},/turf/simulated/floor/carpet/blue2,/area/submap/casino_event) +"fZ" = (/obj/structure/casino_table/blackjack_r{dir = 1},/turf/simulated/floor/carpet/bcarpet,/area/submap/casino_event) +"ga" = (/obj/machinery/light{dir = 4},/turf/simulated/floor/carpet/bcarpet,/area/submap/casino_event) +"gb" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/carpet/gaycarpet,/area/submap/casino_event) +"gc" = (/obj/structure/casino_table/blackjack_l{dir = 1},/turf/simulated/floor/carpet/gaycarpet,/area/submap/casino_event) +"gd" = (/obj/structure/casino_table/blackjack_l,/turf/simulated/floor/carpet/blue2,/area/submap/casino_event) +"ge" = (/obj/structure/casino_table/blackjack_r{dir = 1},/turf/simulated/floor/carpet/gaycarpet,/area/submap/casino_event) +"gf" = (/obj/machinery/light{dir = 4},/turf/simulated/floor/carpet/gaycarpet,/area/submap/casino_event) +"gg" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/carpet/turcarpet,/area/submap/casino_event) +"gh" = (/obj/structure/casino_table/blackjack_l{dir = 1},/turf/simulated/floor/carpet/turcarpet,/area/submap/casino_event) +"gi" = (/obj/structure/casino_table/blackjack_m,/obj/machinery/light/floortube{dir = 1},/obj/item/weapon/deck/cards/casino,/turf/simulated/floor/carpet/blue2,/area/submap/casino_event) +"gj" = (/obj/structure/casino_table/blackjack_r{dir = 1},/turf/simulated/floor/carpet/turcarpet,/area/submap/casino_event) +"gk" = (/obj/machinery/light{dir = 4},/turf/simulated/floor/carpet/turcarpet,/area/submap/casino_event) +"gl" = (/obj/machinery/door/airlock/glass,/turf/simulated/floor/tiled,/area/submap/casino_event) +"gm" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/industrial/danger/corner{dir = 4},/turf/simulated/floor/tiled,/area/submap/casino_event) +"gn" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/industrial/danger{dir = 1},/turf/simulated/floor/tiled,/area/submap/casino_event) +"go" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/lightgrey/border{dir = 1},/obj/effect/floor_decal/industrial/danger/corner{dir = 8},/turf/simulated/floor/tiled,/area/submap/casino_event) +"gp" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/lightgrey/border{dir = 1},/turf/simulated/floor/tiled,/area/submap/casino_event) +"gq" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/lightgrey/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/lightgrey/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/submap/casino_event) +"gr" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/lightgrey/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/lightgrey/bordercorner2{dir = 4},/turf/simulated/floor/tiled,/area/submap/casino_event) +"gs" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/lightgrey/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/submap/casino_event) +"gt" = (/turf/simulated/floor/wood,/area/submap/casino_event) +"gu" = (/obj/structure/flora/pottedplant/stoutbush,/obj/effect/floor_decal/spline/plain{dir = 10},/obj/machinery/light{dir = 1},/turf/simulated/floor/carpet/turcarpet,/area/submap/casino_event) +"gv" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/fancy/cigar/havana{pixel_x = -2; pixel_y = 2},/obj/item/weapon/storage/fancy/cigar{pixel_x = 2; pixel_y = 3},/obj/effect/floor_decal/spline/plain,/turf/simulated/floor/carpet/turcarpet,/area/submap/casino_event) +"gw" = (/obj/structure/flora/pottedplant/stoutbush,/obj/effect/floor_decal/spline/plain{dir = 6},/obj/machinery/light{dir = 1},/turf/simulated/floor/carpet/turcarpet,/area/submap/casino_event) +"gx" = (/obj/structure/casino_table/blackjack_r{dir = 8},/turf/simulated/floor/carpet/brown,/area/submap/casino_event) +"gy" = (/obj/item/weapon/stool/baystool/padded{dir = 1},/turf/simulated/floor/carpet/bcarpet,/area/submap/casino_event) +"gz" = (/obj/item/weapon/stool/baystool/padded{dir = 1},/turf/simulated/floor/carpet/gaycarpet,/area/submap/casino_event) +"gA" = (/obj/item/weapon/stool/baystool/padded{dir = 1},/turf/simulated/floor/carpet/turcarpet,/area/submap/casino_event) +"gB" = (/obj/effect/floor_decal/spline/plain{dir = 4},/turf/simulated/floor/wood,/area/submap/casino_event) +"gC" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/carpet/brown,/area/submap/casino_event) +"gD" = (/obj/machinery/light,/turf/simulated/floor/tiled,/area/submap/casino_event) +"gE" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/lightgrey/bordercorner,/turf/simulated/floor/tiled,/area/submap/casino_event) +"gF" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/lightgrey/border,/turf/simulated/floor/tiled,/area/submap/casino_event) +"gG" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/lightgrey/border,/obj/machinery/light,/turf/simulated/floor/tiled,/area/submap/casino_event) +"gH" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/lightgrey/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/submap/casino_event) +"gI" = (/obj/structure/casino_table/blackjack_l,/turf/simulated/floor/carpet/brown,/area/submap/casino_event) +"gJ" = (/obj/structure/casino_table/blackjack_m,/obj/machinery/light/floortube{dir = 1},/obj/item/weapon/deck/cards/casino,/turf/simulated/floor/carpet/brown,/area/submap/casino_event) +"gK" = (/obj/structure/casino_table/blackjack_r,/turf/simulated/floor/carpet/brown,/area/submap/casino_event) +"gL" = (/obj/structure/bed/chair/wood,/turf/simulated/floor/wood,/area/submap/casino_event) +"gM" = (/obj/item/weapon/stool/padded{dir = 1},/turf/simulated/floor/carpet/brown,/area/submap/casino_event) +"gN" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/wood,/area/submap/casino_event) +"gO" = (/obj/structure/table/woodentable,/obj/item/pizzabox/margherita,/turf/simulated/floor/wood,/area/submap/casino_event) +"gP" = (/obj/structure/table/woodentable,/obj/item/weapon/flame/candle,/turf/simulated/floor/wood,/area/submap/casino_event) +"gQ" = (/obj/structure/table/woodentable,/turf/simulated/floor/wood,/area/submap/casino_event) +"gR" = (/obj/structure/table/woodentable,/obj/item/weapon/material/ashtray/glass,/turf/simulated/floor/wood,/area/submap/casino_event) +"gS" = (/obj/structure/table/woodentable,/obj/random/maintenance/foodstuff,/turf/simulated/floor/wood,/area/submap/casino_event) +"gT" = (/obj/structure/table/woodentable,/obj/random/drinkbottle,/turf/simulated/floor/wood,/area/submap/casino_event) +"gU" = (/obj/structure/table/woodentable,/obj/effect/floor_decal/spline/plain{dir = 8},/obj/item/clothing/mask/smokable/pipe,/turf/simulated/floor/carpet/turcarpet,/area/submap/casino_event) +"gV" = (/obj/structure/bed/chair/wood{dir = 1},/turf/simulated/floor/wood,/area/submap/casino_event) +"gW" = (/obj/machinery/light,/turf/simulated/floor/wood,/area/submap/casino_event) +"gX" = (/obj/machinery/light,/turf/simulated/floor/carpet/brown,/area/submap/casino_event) +"gY" = (/obj/effect/floor_decal/borderfloor{dir = 9},/obj/effect/floor_decal/corner/grey/border{dir = 9},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/submap/casino_event) +"gZ" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/grey/border{dir = 1},/obj/machinery/vending/wallmed1/public{pixel_y = 28},/turf/simulated/floor/tiled,/area/submap/casino_event) +"ha" = (/obj/effect/floor_decal/borderfloor{dir = 5},/obj/effect/floor_decal/corner/grey/border{dir = 5},/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/submap/casino_event) +"hb" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/grey/border{dir = 8},/turf/simulated/floor/tiled,/area/submap/casino_event) +"hc" = (/obj/machinery/washing_machine,/turf/simulated/floor/tiled,/area/submap/casino_event) +"hd" = (/obj/structure/table/standard,/obj/item/weapon/towel/random,/obj/item/weapon/towel/random,/turf/simulated/floor/tiled,/area/submap/casino_event) +"he" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/grey/border{dir = 4},/turf/simulated/floor/tiled,/area/submap/casino_event) +"hf" = (/obj/machinery/washing_machine,/obj/item/clothing/under/modjump3,/turf/simulated/floor/tiled,/area/submap/casino_event) +"hg" = (/obj/structure/table/standard,/obj/item/clothing/under/suit_jacket/really_black{pixel_x = 5; pixel_y = 10},/turf/simulated/floor/tiled,/area/submap/casino_event) +"hh" = (/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/grey/border{dir = 10},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/submap/casino_event) +"hi" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/grey/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/submap/casino_event) +"hj" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/grey/bordercorner,/turf/simulated/floor/tiled,/area/submap/casino_event) +"hk" = (/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/grey/border{dir = 6},/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/submap/casino_event) +"hl" = (/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/grey/border{dir = 10},/turf/simulated/floor/tiled,/area/submap/casino_event) +"hm" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/grey/border,/turf/simulated/floor/tiled,/area/submap/casino_event) +"hn" = (/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/grey/border{dir = 6},/turf/simulated/floor/tiled,/area/submap/casino_event) +"ho" = (/obj/effect/floor_decal/corner/lightgrey{dir = 10},/obj/effect/floor_decal/corner/lightgrey{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals9{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals9,/obj/effect/floor_decal/steeldecal/steel_decals9{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals9{dir = 1},/obj/machinery/vending/bepis,/turf/simulated/floor/tiled/monotile,/area/submap/casino_event) +"hp" = (/obj/effect/floor_decal/corner/lightgrey{dir = 10},/obj/effect/floor_decal/corner/lightgrey{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals9{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals9,/obj/effect/floor_decal/steeldecal/steel_decals9{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals9{dir = 1},/obj/machinery/vending/sol,/turf/simulated/floor/tiled/monotile,/area/submap/casino_event) +"hq" = (/obj/effect/floor_decal/spline/plain{dir = 1},/turf/simulated/floor/carpet/brown,/area/submap/casino_event) +"hr" = (/obj/machinery/door/airlock{id_tag = "L7 Room 1"; name = "Private Room 1"},/turf/simulated/floor/wood,/area/submap/casino_event) +"hs" = (/obj/machinery/door/airlock{id_tag = "L7 Room 2"; name = "Private Room 2"},/turf/simulated/floor/wood,/area/submap/casino_event) +"ht" = (/obj/machinery/door/airlock{id_tag = "L7 Room 3"; name = "Private Room 3"},/turf/simulated/floor/wood,/area/submap/casino_event) +"hu" = (/obj/machinery/door/airlock{id_tag = "L7 Room 4"; name = "Private Room 4"},/turf/simulated/floor/wood,/area/submap/casino_event) +"hv" = (/obj/machinery/door/airlock{id_tag = "L7 VIP Room"; name = "VIP Room"},/turf/simulated/floor/wood,/area/submap/casino_event) +"hw" = (/obj/structure/toilet{dir = 4},/obj/machinery/button/remote/airlock{id = "casino_stall_1"; name = "Door Lock"; pixel_x = 24; pixel_y = 26; specialfunctions = 4},/turf/simulated/floor/tiled/white,/area/submap/casino_event) +"hx" = (/obj/structure/closet/secure_closet/personal/cabinet,/obj/item/weapon/towel/random,/turf/simulated/floor/wood,/area/submap/casino_event) +"hy" = (/obj/structure/toilet{dir = 4},/obj/machinery/button/remote/airlock{id = "casino_stall_2"; name = "Door Lock"; pixel_x = 24; pixel_y = 26; specialfunctions = 4},/turf/simulated/floor/tiled/white,/area/submap/casino_event) +"hz" = (/obj/machinery/button/remote/airlock{id = "L7 Room 1"; name = "Door Lock"; pixel_x = 24; pixel_y = 26; specialfunctions = 4},/turf/simulated/floor/wood,/area/submap/casino_event) +"hA" = (/obj/machinery/button/remote/airlock{id = "L7 Room 2"; name = "Door Lock"; pixel_x = 24; pixel_y = 26; specialfunctions = 4},/turf/simulated/floor/wood,/area/submap/casino_event) +"hB" = (/obj/machinery/button/remote/airlock{id = "L7 Room 3"; name = "Door Lock"; pixel_x = 24; pixel_y = 26; specialfunctions = 4},/turf/simulated/floor/wood,/area/submap/casino_event) +"hC" = (/obj/machinery/button/remote/airlock{id = "L7 Room 4"; name = "Door Lock"; pixel_x = 24; pixel_y = 26; specialfunctions = 4},/turf/simulated/floor/wood,/area/submap/casino_event) +"hD" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/wood,/area/submap/casino_event) +"hE" = (/obj/structure/bed/chair/comfy/black,/turf/simulated/floor/wood,/area/submap/casino_event) +"hF" = (/obj/structure/undies_wardrobe,/turf/simulated/floor/wood,/area/submap/casino_event) +"hG" = (/obj/structure/closet/secure_closet/personal/cabinet,/obj/item/weapon/storage/pill_bottle/happy,/obj/item/clothing/under/bathrobe,/obj/item/clothing/under/bathrobe,/turf/simulated/floor/wood,/area/submap/casino_event) +"hH" = (/obj/structure/bed/chair/sofa/right/purp,/turf/simulated/floor/wood,/area/submap/casino_event) +"hI" = (/obj/structure/bed/chair/sofa/left/purp,/turf/simulated/floor/wood,/area/submap/casino_event) +"hJ" = (/obj/structure/table/woodentable,/turf/simulated/floor/carpet/purcarpet,/area/submap/casino_event) +"hK" = (/obj/structure/table/woodentable,/obj/random/drinkbottle,/obj/machinery/light{dir = 8},/turf/simulated/floor/wood,/area/submap/casino_event) +"hL" = (/obj/structure/undies_wardrobe,/obj/machinery/light{dir = 8},/turf/simulated/floor/wood,/area/submap/casino_event) +"hM" = (/obj/item/weapon/flame/candle/candelabra/everburn,/obj/structure/table/fancyblack,/turf/simulated/floor/wood,/area/submap/casino_event) +"hN" = (/obj/random/drinkbottle,/obj/structure/table/fancyblack,/turf/simulated/floor/wood,/area/submap/casino_event) +"hO" = (/obj/structure/bed/double/padded,/obj/item/weapon/bedsheet/captaindouble,/obj/structure/curtain/open/bed,/turf/simulated/floor/carpet/purcarpet,/area/submap/casino_event) +"hP" = (/obj/structure/bed/chair/comfy/black{dir = 1},/turf/simulated/floor/wood,/area/submap/casino_event) +"hQ" = (/obj/structure/bed/double/padded,/obj/item/weapon/bedsheet/yellowdouble,/turf/simulated/floor/wood,/area/submap/casino_event) +"hR" = (/obj/structure/bed/double/padded,/obj/item/weapon/bedsheet/purpledouble,/turf/simulated/floor/wood,/area/submap/casino_event) +"hS" = (/obj/structure/bed/double/padded,/obj/item/weapon/bedsheet/orangedouble,/turf/simulated/floor/wood,/area/submap/casino_event) +"hT" = (/obj/structure/bed/double/padded,/obj/item/weapon/bedsheet/greendouble,/turf/simulated/floor/wood,/area/submap/casino_event) +"hU" = (/obj/structure/bed/double/padded,/obj/item/weapon/bedsheet/bluedouble,/turf/simulated/floor/wood,/area/submap/casino_event) +"hV" = (/obj/structure/bed/chair/sofa/left/purp{dir = 1},/turf/simulated/floor/wood,/area/submap/casino_event) +"hW" = (/obj/structure/bed/chair/sofa/right/purp{dir = 1},/turf/simulated/floor/wood,/area/submap/casino_event) +"hX" = (/obj/structure/table/rack/shelf,/obj/item/weapon/deck/cards,/obj/item/weapon/deck/cards,/obj/item/weapon/deck/cards,/obj/item/weapon/deck/cards,/turf/simulated/floor/tiled/dark,/area/submap/casino_event) +"hY" = (/obj/effect/floor_decal/steeldecal/steel_decals10,/obj/effect/floor_decal/steeldecal/steel_decals10{dir = 4},/turf/simulated/floor/tiled/freezer,/area/submap/casino_event) +"hZ" = (/obj/effect/floor_decal/spline/plain{dir = 9},/turf/simulated/floor/water/pool,/area/submap/casino_event) +"ia" = (/obj/effect/floor_decal/spline/plain{dir = 1},/turf/simulated/floor/water/pool,/area/submap/casino_event) +"ib" = (/obj/effect/floor_decal/spline/plain{dir = 5},/turf/simulated/floor/water/pool,/area/submap/casino_event) +"ic" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/white,/area/submap/casino_event) +"id" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/tiled/white,/area/submap/casino_event) +"ie" = (/obj/effect/floor_decal/spline/plain{dir = 8},/turf/simulated/floor/water/pool,/area/submap/casino_event) +"if" = (/obj/item/weapon/bikehorn/rubberducky,/turf/simulated/floor/water/pool,/area/submap/casino_event) +"ig" = (/obj/effect/floor_decal/spline/plain{dir = 4},/turf/simulated/floor/water/pool,/area/submap/casino_event) +"ih" = (/obj/random/soap,/obj/structure/table/standard,/turf/simulated/floor/tiled/white,/area/submap/casino_event) +"ii" = (/obj/machinery/shower{dir = 1},/obj/structure/curtain/open/shower,/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals10{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals10{dir = 10},/turf/simulated/floor/tiled,/area/submap/casino_event) +"ij" = (/obj/structure/table/glass,/obj/random/soap,/obj/item/weapon/towel/random,/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/white,/area/submap/casino_event) +"ik" = (/turf/simulated/floor/water/pool,/area/submap/casino_event) +"il" = (/obj/effect/floor_decal/spline/plain{dir = 4},/obj/machinery/light{dir = 4},/turf/simulated/floor/water/pool,/area/submap/casino_event) +"im" = (/obj/machinery/holoplant,/turf/simulated/floor/tiled/white,/area/submap/casino_event) +"in" = (/obj/effect/floor_decal/spline/plain{dir = 10},/turf/simulated/floor/water/pool,/area/submap/casino_event) +"io" = (/obj/effect/floor_decal/spline/plain,/turf/simulated/floor/water/pool,/area/submap/casino_event) +"ip" = (/obj/effect/floor_decal/spline/plain{dir = 6},/turf/simulated/floor/water/pool,/area/submap/casino_event) +"iq" = (/obj/structure/casino_table/blackjack_r,/turf/simulated/floor/carpet/blue2,/area/submap/casino_event) +"ir" = (/obj/machinery/door/airlock{id_tag = "br bathroom"; name = "Bathroom"},/turf/simulated/floor/wood,/area/submap/casino_event) +"is" = (/obj/item/weapon/stool/padded{dir = 8},/turf/simulated/floor/carpet/blue2,/area/submap/casino_event) +"it" = (/obj/item/weapon/stool/padded{dir = 1},/turf/simulated/floor/carpet/blue2,/area/submap/casino_event) +"iu" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/carpet/blue2,/area/submap/casino_event) +"iv" = (/obj/structure/casino_table/blackjack_l{dir = 8},/turf/simulated/floor/carpet/blue2,/area/submap/casino_event) +"iw" = (/obj/structure/casino_table/blackjack_m{dir = 8},/obj/machinery/light/floortube{dir = 4},/obj/item/weapon/deck/cards/casino,/turf/simulated/floor/carpet/blue2,/area/submap/casino_event) +"ix" = (/obj/item/weapon/stool/baystool/padded{dir = 8},/turf/simulated/floor/carpet/blue2,/area/submap/casino_event) +"iy" = (/obj/structure/casino_table/blackjack_r{dir = 8},/turf/simulated/floor/carpet/blue2,/area/submap/casino_event) +"iz" = (/obj/structure/casino_table/blackjack_l{dir = 1},/turf/simulated/floor/carpet/blue2,/area/submap/casino_event) +"iA" = (/obj/structure/casino_table/blackjack_m{dir = 1},/obj/item/weapon/deck/cards/casino,/turf/simulated/floor/carpet/blue2,/area/submap/casino_event) +"iB" = (/obj/structure/casino_table/blackjack_r{dir = 1},/turf/simulated/floor/carpet/blue2,/area/submap/casino_event) +"iC" = (/obj/item/weapon/stool/baystool/padded{dir = 1},/turf/simulated/floor/carpet/blue2,/area/submap/casino_event) +"iD" = (/obj/structure/bed/double/padded,/obj/item/weapon/bedsheet/browndouble,/turf/simulated/floor/wood,/area/submap/casino_event) +"iE" = (/obj/structure/bed/double/padded,/obj/item/weapon/bedsheet/double,/turf/simulated/floor/wood,/area/submap/casino_event) +"iF" = (/obj/machinery/button/remote/airlock{id = "L7 Room 5"; name = "Door Lock"; pixel_x = 24; pixel_y = 26; specialfunctions = 4},/turf/simulated/floor/wood,/area/submap/casino_event) +"iG" = (/obj/machinery/door/airlock{id_tag = "casino_stall_1"; name = "Stall 1"},/turf/simulated/floor/tiled/white,/area/submap/casino_event) +"iH" = (/obj/machinery/door/airlock{name = "Backroom"},/turf/simulated/floor/wood,/area/submap/casino_event) +"iI" = (/obj/structure/closet/walllocker_double{dir = 8; name = "Game Cabinet"; pixel_x = -28},/obj/item/weapon/storage/pill_bottle/dice,/obj/item/weapon/storage/pill_bottle/dice_nerd,/obj/item/weapon/storage/dicecup,/turf/simulated/floor/carpet/purcarpet,/area/submap/casino_event) +"iJ" = (/obj/machinery/computer/timeclock/premade/north,/turf/simulated/floor/tiled,/area/submap/casino_event) +"iK" = (/obj/machinery/item_bank{pixel_y = 28},/turf/simulated/floor/tiled,/area/submap/casino_event) +"iL" = (/turf/space,/area/submap/casino_event) +"iM" = (/obj/structure/casino_table/craps,/obj/machinery/light/floortube{dir = 8},/obj/item/weapon/dice{pixel_x = 4; pixel_y = 6},/obj/item/weapon/storage/dicecup,/turf/simulated/floor/carpet/brown,/area/submap/casino_event) +"iN" = (/obj/structure/sink{pixel_y = 20},/obj/structure/mirror{pixel_y = 38},/turf/simulated/floor/tiled/white,/area/submap/casino_event) +"iO" = (/obj/effect/floor_decal/spline/plain{dir = 1},/turf/simulated/floor/wood,/area/submap/casino_event) +"iP" = (/obj/structure/casino_table/blackjack_m{dir = 1},/obj/item/weapon/deck/cards/casino,/turf/simulated/floor/carpet/bcarpet,/area/submap/casino_event) +"iQ" = (/obj/structure/casino_table/blackjack_m{dir = 1},/obj/item/weapon/deck/cards/casino,/turf/simulated/floor/carpet/gaycarpet,/area/submap/casino_event) +"iR" = (/obj/structure/casino_table/blackjack_m{dir = 1},/obj/item/weapon/deck/cards/casino,/turf/simulated/floor/carpet/turcarpet,/area/submap/casino_event) +"iS" = (/obj/structure/sink{pixel_y = 20},/obj/structure/mirror{pixel_y = 38},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/tiled/white,/area/submap/casino_event) +"iT" = (/obj/machinery/door/airlock{id_tag = "casino_stall_2"; name = "Stall 2"},/turf/simulated/floor/tiled/white,/area/submap/casino_event) +"iU" = (/obj/structure/toilet{dir = 8},/turf/simulated/floor/tiled/kafel_full,/area/submap/casino_event) +"iV" = (/obj/machinery/recharge_station,/turf/simulated/floor/tiled/white,/area/submap/casino_event) +"iW" = (/obj/machinery/door/airlock{id_tag = "casino_stall_3"; name = "Stall 3"},/turf/simulated/floor/tiled/white,/area/submap/casino_event) +"iX" = (/obj/machinery/button/remote/airlock{id = "L7 VIP Room"; name = "Door Lock"; pixel_x = 24; pixel_y = 26; specialfunctions = 4},/turf/simulated/floor/wood,/area/submap/casino_event) +"iY" = (/obj/effect/overmap/visitable/sector/common_gateway/lucky7,/turf/space,/area/submap/casino_event) +"iZ" = (/obj/effect/landmark/hidden_level,/turf/space,/area/submap/casino_event) +"ja" = (/obj/structure/closet/walllocker_double{dir = 8; name = "Game Cabinet"; pixel_x = -28},/obj/item/weapon/deck/cards/casino,/obj/item/weapon/deck/cards,/turf/simulated/floor/carpet/bcarpet,/area/submap/casino_event) +"jb" = (/obj/structure/closet/walllocker_double{dir = 8; name = "Game Cabinet"; pixel_x = -28},/obj/item/weapon/deck/cards/casino,/obj/item/weapon/deck/cards,/turf/simulated/floor/carpet/gaycarpet,/area/submap/casino_event) +"jc" = (/obj/structure/closet/walllocker_double{dir = 8; name = "Game Cabinet"; pixel_x = -28},/obj/item/weapon/deck/cards/casino,/obj/item/weapon/deck/cards,/turf/simulated/floor/carpet/turcarpet,/area/submap/casino_event) +"jd" = (/obj/effect/floor_decal/spline/plain{dir = 5},/turf/simulated/floor/wood,/area/submap/casino_event) +"je" = (/obj/machinery/door/airlock{id_tag = "L7 Room 5"; name = "Private Room 5"},/turf/simulated/floor/wood,/area/submap/casino_event) +"jn" = (/obj/machinery/door/airlock{name = "Tournament Room"},/turf/simulated/floor/carpet/blue2,/area/submap/casino_event) +"jq" = (/obj/structure/flora/pottedplant/tall,/turf/simulated/floor/carpet/brown,/area/submap/casino_event) +"jx" = (/obj/machinery/vending/foodasian,/turf/simulated/floor/lino,/area/submap/casino_event) +"jy" = (/obj/machinery/vending/fooditalian,/turf/simulated/floor/lino,/area/submap/casino_event) +"jz" = (/obj/machinery/vending/foodfast,/turf/simulated/floor/lino,/area/submap/casino_event) +"jA" = (/obj/machinery/vending/fooddessert{dir = 1},/turf/simulated/floor/lino,/area/submap/casino_event) +"jB" = (/obj/machinery/vending/foodstuffing{dir = 1},/turf/simulated/floor/lino,/area/submap/casino_event) +"jC" = (/obj/machinery/vending/foodfish,/turf/simulated/floor/lino,/area/submap/casino_event) +"jD" = (/obj/machinery/vending/foodveggie,/turf/simulated/floor/lino,/area/submap/casino_event) +"jE" = (/obj/machinery/vending/foodmeat,/turf/simulated/floor/lino,/area/submap/casino_event) +"jG" = (/obj/machinery/vending/foodfish{dir = 1},/turf/simulated/floor/lino,/area/submap/casino_event) +"jH" = (/obj/machinery/vending/foodmeat{dir = 1},/turf/simulated/floor/lino,/area/submap/casino_event) +"jI" = (/obj/machinery/vending/deluxe_boozeomat/open,/turf/simulated/floor/lino,/area/submap/casino_event) +"jJ" = (/obj/machinery/vending/deluxe_cigs/open,/turf/simulated/floor/lino,/area/submap/casino_event) +"jK" = (/obj/machinery/vending/deluxe_dinner/open,/turf/simulated/floor/lino,/area/submap/casino_event) + +(1,1,1) = {" +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaaaaaaaaaaiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaaaaabacabaaaaiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaaabadabadabaaiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaeaeafagagagahaeaeiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaeaiaiaiaiaiaiaiaeiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaeajajaiakaiajajaeiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaealalaiaeaialalaeiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaeamamaianaiamamaeiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaeaiaiaiaiaiaiaiaeaeaaaaaaaeaaaaaaaeaeiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaeaeaoaiaiaiapaeaeaqarasaratasarasauaeiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaeaeaeavavavaeaeaeawaxaxaxaqaxaxaxaqaaiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaeayazazazazazazaeaqaqaqaqaqaqaqaqaqaaiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaeaAazazazazazazaBaqaqaqaqaqaCaDaEaqaaiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaeayazazazazazazaeaqaFaGaFaqaCaHaEaqaeiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaeaeaeazazazaeaeaeaeaeaeaeaeaeaeaeaeaeaeaaaaaaaeaeaeiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaeaeaeaeaeaeaeaeiLiLiLiLiLiLiLiLaeaIazazazazazazazazazaJazazazazazaJazazazazazazaKaeiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaeaLaMaNaOaOaPaeiLiLiLiLiLiLiLiLaaaQaQazazazazazazazazazazazazazazazazazazazazazaRaeiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaeaSaTaTaTaOaOaeiLiLiLiLiLiLiLiLaaaUaUazazazazazazazazazazazazazazazazazazazazazaKaeiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaeaVaTaPaWaXaYaeiLiLiLiLiLiLiLiLaaaZaZazazazbabaaeaeaebbaeaeaeaeaebcaeaeaeaeaebdaeaeaeiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaeaOaTaSbebfbgaeiLiLiLiLiLiLiLiLaeazazazazazbhbiaebjbkblbkbkaebmbnbobnbnaebpbqbrbqbqaeiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaeaOaTbsaebtbuaeiLiLiLiLiLiLiLiLaeazazazazazbvbvaebkbwbwbwbkaebnbxbxbxbnaebqbybybybqaeiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaeaeaeaeaeaeaeaeaebzaeaeaeaeaeaeaaaaaaaeaeaeaeaeaQaQazazazbabaaebAbBbBbBbCaebDbEbEbEbFaebGbHbHbHbIaeaeaeaeiLaeaeaeaeiLaeaeaeaeiLaeaeaeaeiLaeaeaeaeiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaeaOaOaSbJbKbLaOaObMbNaebObPaebQbRbSbTaiaebUbVaebWaUazazazbhbiaebXbBbYbBbZaecabEcbbEccaecdbHcebHcfaedpdsaeiLaedpdsaeiLaedpdsaeiLaedpdsaeiLaedpdsaeiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaecgaTaTaTaTbMbMaTaTbMchaTaTciaicjckclaicmcncoaeaZaZazazazbvbvaebAbBbBbBbCaebDbEbEbEbFaebGbHbHbHbIaedvdyaeiLaedvdyaeiLaedvdyaeiLaedvdyaeiLaedvdyaeiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaecpaTaOaPaObJaScqcqcqaeaOcraeaicsckctaiaecucvaeazazazazazazazaebkcwcxcwbkaebncyczcybnaebqcAcBcAbqaeaedCaeaeaeaedCaeaeaeaedCaeaeaeaedCaeaeaeaedCaeaeaeiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLcDcDcDcDcDaecCcDcDcDcDcDcEaOcFaeaOaTaeaiaiaiaiaiaeaeaeaeaeaeazazazaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaehxgthEhTaehxgthEhRaehxgthEhUaehxgthEhSaehxgthEfwaeiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLcDcHcIcJcDcGcGcDcHcIcJcDcKcLcMaeaSbMaeaiaiaiaiaiaiaicNaeazazazazazaJazcOcScPcQcRazcTazaJazazazazazazaJazazaehFgtgWgtaehFgtgWgtaehFgtgWgtaehFgtgWgtaehFgtgWgtaeiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLcDaiaiaicUcGcGcUaiaiaicDcDcDcDcDaObMaecVaiaicWcXaiaicYaeazazazazazazazazazazazazazazazazazazazazazazazazcZaeaeiHaeaeaeaeiHaeaeaeaeiHaeaeaeaeiHaeaeaeaeiHaeaeaeiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLcDcDcDcDcDcGdacDcDcDcDcDdbdcddcDdebMaecVaiaihXdfaiaidgaedhazdiaUaUdjazazazazazazazazazazdkdlazazdmdnazazdoaeesbndqdraefnbkdtduaefrbqdwdxaefvdzdAdBaeiIdDdEdFaeaeaeaeaeaeaeaeaeaeaeaeaeaeiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLcDdGcIcJcDcGcGcDdGcIcJcDdHdIddcDdJaTaedKaiaidLdfaiaiaiaeazazdidMdNdjdOaeaIazdPdQdOaeaIazazazazazazazazazdRaebndSdTbnaebkdUdVbkaebqdWdXbqaedzdYdZdzaedDeaebdDaebqbqfxbqbqbqbqfxbqbqbqbqaeiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLcDaiaiaicUcGcGcUaiaiaicDecdIddcDaOaTaedKaiaieddfaiaiaieeazazazazazazazazazefegdQazazazazazazazazazazazazazaebnbnehbnaebkbkeibkaebqbqejbqaedzdzekdzaedDdDeldDaefYgdgiiqisfYgdgiiqisbqbqaeiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLcDcDcDcDcDcGdacDcDcDcDcDcDemcDcDbNaTaeenaiaieoepaiaiaiaeazazdiaUeqdjazazazazerdQazazazazdkdlazaziMetazazdOaeaeaeeuaeaeaeaeevaeaeaeaeewaeaeaeaeexaeaeaeaeeyaeaebqitititbqbqitititbqiubqaeiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaecGcGcGcGezcGeAeBcGeCcCbLaTaeaiaiaiaiaiaiaiaiaeaIazdiaUeEdjazazazazazazazazazazazazazazazazazazazazazazazazazazazazazazazazazazazazazazazazazazazazaebqbqbqbqbqbqbqbqbqfYivbqaeiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaeeFcGcGcGezcGcGcGcGeGaeaeeHaeaiaiaiaeaeaeaeaeaeeIazazazazazdOaeaIazazazdOaeaIazazazazazazazazazazazazazazazazazazazazazazazazazazazazazazazazazazazjnbqbqbqbqbqbqbqbqbqfYiwixaeiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaeaeaeaeaeaeaeezaeaeaeeJcGeKcGeDaeeMbMaeaiaiaiaejxjyjxjzjyjzazdieEaUdjazazazazazazazazazazdkdlazaziMeOazazazazazazazazazazazazazazazazazazazazazazazazazazazjqaebqbqbqbqbqbqbqbqbqfYiybqaeiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaeePeQePeRaeeScGeTeUaeeVcGeWeXeYaeeZaTfaaiaiaiaeeNeNeNeNeNeNazdiaUfbdjazazazazdPdQazazazazazazazazazazazazazaeaeaefcaeaeaeaeaefdaeaeaeaeaefeaeaeaeaeaeaeaeaeaeaebqiuiuiubqbqiuiuiubqitbqaeiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaecncncncnaeeVcGcGffaefgcGfhcGfiaeaSaOaeaiaiaiaejAjGjBjAjBjHazazazazazazazazeffjdQazazazazazazazazazazazazdOaefkflfmflflaefofpfqfpfpaefsftfuftftaeiLiLiLiLiLiLaefYiziAiBisfYiziAiBisbqbqaeiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaeaeaeaeaeaeaeeLeLcncnaefyfzcGfAaefBcGfCfDfEaeaPaOaefFfGfHaejCjDjEjIjJjKazdiaUfIdjdOaeaIazerdQdOaeaIazazeffJazazazdPdQazaeflfKfLfKflaefpfMfNfMfpaeftfOfPfOftaeiLiLiLiLiLiLaebqbqiCbqbqbqbqiCbqbqbqbqaeiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaecGcGfQiKiJaeaeaefRaeaeaefSfTaeaeaeezaeaeaeaeaeaeaeaeaeaeaeeNeNeNeNeNeNazdifUaUdjazcOazazazazazcTazazazeffVdQazeffjdQazaefWfXiPfZgaaegbgciQgegfaeggghiRgjgkaeiLiLiLiLiLiLaeaeaeaeaeaeaeaeaeaeaeaeaeaeiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaecGcGcGcGcGcGcGcGcGcGglgmgngngogpgqcGgrgpgsglgtgtgtgugvgwgTiOiOiOiOiOjdazazazazazazazazazazazazazazazazefgxazazazerdQazaejaflgyflflaejbfpgzfpfpaejcftgAftftaeiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaecGcGcGcGcGcGcGcGcGcGglcGcGcGcGcGcGcGcGcGcGglgtgtgtgtgtgtgtgtgtgtgtgtgBazbababababaazazgCazazbababababaazazazgCazazazazaeaeiHaeaeaeaeaeiHaeaeaeaeaeiHaeaeaeaeiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaecGcGcGcGcGcGcGgDcGcGglgEgFgGgFgFgFgFgGgFgHglgtgtgtgtgtgtgtgtgtgtgtgtgBazbhbhbhbhbhazgIgJgKazbhbhbhbhbhazazgIgJgKazazdOaehxgtgthEhQaehxgtgthEiDaehxgtgthEiEaeiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaecGcGgDcGcGaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegtgLgLgLgtgLgLgLgtgLgLgLgBazbvbvbvbvbvazgMgMgMazbvbvbvbvbvazazgMgMgMazazcZaehFgtgWgtgtaehFgtgWgtgtaehFgtgWgtgtaeiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaeaeaeaeaeaeaeiLiLiLiLiLiLiLiLiLaehwiGiNiNiSaegNgOgPgQgtgQgRgSgtgQgPgTgBazbababababaazazazazazbababababaazazbababaazazgUaeaedCaeaeaeaeaedCaeaeaeaeaedCaeaeaeaeiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaeaeaecncncnirgtgVgVgVgtgVgVgVgtgVgVgVgBazbhbhbhbhbhazazazazazbhbhbhbhbhazazbhbhbhazazdRaedpdyaeiLiLaedpdyaeiLiLaedpdyaeiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaehyiTcncncnaegtgtgtgtgWgtgtgtgWgtgtgtgBgXbvbvbvbvbvgXazazazgXbvbvbvbvbvgXazbvbvbvgXazazaedviUaeiLiLaedviUaeiLiLaedviUaeiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaeaeaecncncnaeaeaaaaaaaeaaaaaaaeaaaaaaaeaeaeaeaeaeaeaeazazazaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeiLiLaeaeaeaeiLiLaeaeaeaeiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaeiViWcncncoaeiLiLiLiLiLiLiLiLiLiLiLiLiLaegYgZgZgZhaaeazazazaeiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaeaeaeaeaeaeaeiLiLiLiLiLiLiLiLiLiLiLiLiLaahbhccGhdheaeazazazaaiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaahbhfcGhgheaeazazazaaiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaahbhccGcGheaeazazazaaiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaehhhicGhjhkaeazazazaeiLiLiLiLiLiLiLaeaeaeaeiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaeaeaeaeaeaehlhmhnaeaeazazazaeaeaeaeaeaeaeaeaehohpaeaeaeaeiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaeayazazazazhqhqhqazaJazazazaJazazazazazazazazhqhqaJazaKaeiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaeaAazazazazazazazazazazazazazazazazazazazazazazazazazaRaeiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaeayazazgXazazazazazazazgXazazazazazazazgXazazazazazazaKaeiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaeaehraeaeaehsaeaeaehtaeaeaehuaeaeaejeaeaeaehvaeaeaeaeaeaeiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaegthzhxaegthAhxaegthBhxaegthChxaegtiFhxaegtiXgtgtgthDgtaeiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaehEgthFaehEgthFaehEgthFaehEgthFaehEgthFaehGgthHhIdDdDhJaeiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaehKgtgtaehKgtgtaehKgtgtaehKgtgtaehKgtgtaehLgthMhNdDdDhOaeiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaehPgthQaehPgthRaehPgthSaehPgthTaehPgthUaegtgthVhWdDdDhJaeiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaegtgtgtaegtgtgtaegtgtgtaegtgtgtaegtgtgtaegtgtgtgtgtgWgtaeiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaecmaeaeaecmaeaeaecmaeaeaecmaeaeaecmaeaeaecmaeaeaeaeaeaeaeiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaecnbUbVaecnbUbVaecnbUbVaecnbUbVaecnbUbVaecnbUbVhYhZiaibaeiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaeiccncnaeiccncnaeiccncnaeiccncnaeiccncnaeidcncnhYieifigaeiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaecnihiiaecnihiiaecnihiiaecnihiiaecnihiiaeijcncnhYieikilaeiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeidcncnhYieikigaeiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaeiicnimhYinioipaeiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLaeaeaeaeaeaeaeaeaeiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiYiZiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +iLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiLiL +"} From f64d19b948bbda323501e56062d62f415bd69dce Mon Sep 17 00:00:00 2001 From: Nadyr <41974248+Darlantanis@users.noreply.github.com> Date: Sun, 28 Aug 2022 18:32:03 -0400 Subject: [PATCH 2/5] powder that makes you say yes --- .../machinery/casino_prize_dispenser_ch.dm | 354 ------------------ 1 file changed, 354 deletions(-) diff --git a/code/game/machinery/casino_prize_dispenser_ch.dm b/code/game/machinery/casino_prize_dispenser_ch.dm index 6f7d64b6f9..ea284064ca 100644 --- a/code/game/machinery/casino_prize_dispenser_ch.dm +++ b/code/game/machinery/casino_prize_dispenser_ch.dm @@ -1,4 +1,3 @@ -<<<<<<< HEAD:code/game/machinery/casino_prize_dispenser_ch.dm // Use this define to register a prize! // * n - The proper name of the purchasable // * o - The object type path of the purchasable to spawn @@ -401,356 +400,3 @@ /obj/machinery/casino_prize_dispenser/process() //Might not need this, but just to be safe for now if(stat & (BROKEN|NOPOWER)) return -======= - -//Original Casino Code created by Shadowfire117#1269 - Ported from CHOMPstation -//Modified by GhostActual#2055 for use with VOREstation - -// Use this define to register a prize! -// * n - The proper name of the purchasable -// * o - The object type path of the purchasable to spawn -// * r - The amount to dispense -// * p - The price of the purchasable in chips -// * l - The restriction of the item -#define CASINO_PRIZE(n, o, r, p, l) n = new /datum/data/casino_prize(n, o, r, p, l) - -/datum/data/casino_prize - var/equipment_path = null - var/equipment_amt = 1 - var/cost = 0 - var/category = null - var/restriction = null - -/datum/data/casino_prize/New(name, path, amt, cost, restriction) - src.name = name - src.equipment_path = path - src.equipment_amt = amt - src.cost = cost - src.category = category - src.restriction = restriction - -/obj/machinery/casino_prize_dispenser - name = "Casino Prize Exchanger" - desc = "Exchange your chips to obtain wonderful prizes! Hoepfully you'll get to keep some of them for a while." - icon = 'icons/obj/casino.dmi' - icon_state ="casino_prize_dispenser" - var/icon_vend ="casino_prize_dispenser-vend" - anchored = 1 - density = 1 - opacity = 0 - var/list/item_list - - clicksound = "button" - var/vending_sound = "machines/vending/vending_drop.ogg" - - // Power - use_power = USE_POWER_IDLE - idle_power_usage = 10 - var/vend_power_usage = 150 //actuators and stuff - - // Vending-related - var/datum/data/casino_prize/currently_vending = null // What we're requesting payment for right now - var/list/log = list() //Log only SS13 staff is allowed to look at, CKEYS are listed here for record keeping of prizes and players for events! - - var/category_weapons = 2 //For listing categories, if false then prizes of this categories cant be obtained nor bought for post-shift enjoyment - var/category_gear = 2 //If 1 prizes will be only logged - var/category_clothing = 2 //If 2 prizes will both be logged and spawned - var/category_misc = 2 - var/category_drinks = 2 - var/category_implants = 1 - var/category_event = 1 //For special events, holidays, etc - -/obj/machinery/casino_prize_dispenser/Initialize() - . = ..() - power_change() - - item_list = list() - item_list["Weapons"] = list( - CASINO_PRIZE("Scepter", /obj/item/weapon/scepter, 1, 2500, "weapons"), - CASINO_PRIZE("Rapier", /obj/item/weapon/melee/rapier, 1, 3000, "weapons"), - CASINO_PRIZE("Chain of Command", /obj/item/weapon/melee/chainofcommand, 1, 1250, "weapons"), - CASINO_PRIZE("Golden Bat", /obj/item/weapon/material/twohanded/baseballbat/gold, 1, 1000, "weapons"), - CASINO_PRIZE("Size Gun", /obj/item/weapon/gun/energy/sizegun, 1, 1500, "weapons"), - CASINO_PRIZE("Gradual Size Gun", /obj/item/device/slow_sizegun, 1, 1500, "weapons"), - CASINO_PRIZE("Metamorphosis Ray", /obj/item/weapon/gun/energy/mouseray/metamorphosis, 1, 6000, "weapons"), - CASINO_PRIZE("Net Gun", /obj/item/weapon/gun/energy/netgun, 1, 3000, "weapons"), - ) - item_list["Gear"] = list( - CASINO_PRIZE("Experimental Welder", /obj/item/weapon/weldingtool/experimental, 1, 500, "gear"), - CASINO_PRIZE("Chemsprayer", /obj/item/weapon/reagent_containers/spray/chemsprayer, 1, 1250, "gear"), - CASINO_PRIZE("Bluespace Beaker", /obj/item/weapon/reagent_containers/glass/beaker/bluespace, 1, 1000, "gear"), - CASINO_PRIZE("Cryo Beaker", /obj/item/weapon/reagent_containers/glass/beaker/noreact, 1, 1000, "gear"), - CASINO_PRIZE("Golden Pickaxe", /obj/item/weapon/pickaxe/gold, 1, 1000, "gear"), - ) - item_list["Clothing"] = list( - CASINO_PRIZE("Shark mask", /obj/item/clothing/mask/shark, 1, 250, "clothing"), - CASINO_PRIZE("Pig mask", /obj/item/clothing/mask/pig, 1, 250, "clothing"), - CASINO_PRIZE("Luchador mask", /obj/item/clothing/mask/luchador, 1, 250, "clothing"), - CASINO_PRIZE("Horse mask", /obj/item/clothing/mask/horsehead, 1, 250, "clothing"), - CASINO_PRIZE("Goblin mask", /obj/item/clothing/mask/goblin, 1, 250, "clothing"), - CASINO_PRIZE("Fake moustache", /obj/item/clothing/mask/fakemoustache, 1, 250, "clothing"), - CASINO_PRIZE("Dolphin mask", /obj/item/clothing/mask/dolphin, 1, 250, "clothing"), - CASINO_PRIZE("Demon mask", /obj/item/clothing/mask/demon, 1, 250, "clothing"), - CASINO_PRIZE("Chameleon mask", /obj/item/clothing/under/chameleon, 1, 1000, "clothing"), - CASINO_PRIZE("Chameleon tie", /obj/item/clothing/accessory/chameleon, 1, 750, "clothing"), - CASINO_PRIZE("Ian costume", /obj/item/clothing/suit/storage/hooded/costume/ian, 1, 250, "clothing"), - CASINO_PRIZE("Carp costume", /obj/item/clothing/suit/storage/hooded/costume/carp, 1, 250, "clothing"), - CASINO_PRIZE("Plague doctor costume", /obj/item/weapon/storage/box/casino/costume_plaguedoctor, 1, 500, "clothing"), - CASINO_PRIZE("Wizard costume", /obj/item/weapon/storage/box/casino/costume_wizard, 1, 500, "clothing"), - CASINO_PRIZE("Pirate costume", /obj/item/weapon/storage/box/casino/costume_pirate, 1, 500, "clothing"), - CASINO_PRIZE("Commie costume", /obj/item/weapon/storage/box/casino/costume_commie, 1, 500, "clothing"), - CASINO_PRIZE("Marine costume", /obj/item/weapon/storage/box/casino/costume_marine, 1, 500, "clothing"), - CASINO_PRIZE("Cowboy costume", /obj/item/weapon/storage/box/casino/costume_cowboy, 1, 500, "clothing"), - CASINO_PRIZE("Golden Collar", /obj/item/clothing/accessory/collar/gold, 1, 250, "clothing"), - CASINO_PRIZE("Decorative Casino Sentient Prize Collar", /obj/item/clothing/accessory/collar/casinosentientprize_fake, 1, 100, "clothing"), - ) - item_list["Donk Soft"] = list( - CASINO_PRIZE("Donk-Soft shotgun", /obj/item/weapon/gun/projectile/shotgun/pump/toy, 1, 1000, "misc"), - CASINO_PRIZE("Donk-Soft mosin-nagant", /obj/item/weapon/gun/projectile/shotgun/pump/toy/moistnugget, 1, 1000, "misc"), - CASINO_PRIZE("Donk-Soft pistol", /obj/item/weapon/gun/projectile/pistol/toy, 1, 800, "misc"), - CASINO_PRIZE("Donk-Soft levergun", /obj/item/weapon/gun/projectile/shotgun/pump/toy/levergun, 1, 1000, "misc"), - CASINO_PRIZE("Donk-Soft commemorative pistol", /obj/item/weapon/gun/projectile/pistol/toy/n99, 1, 750, "misc"), - CASINO_PRIZE("Donk-Soft revolver", /obj/item/weapon/gun/projectile/revolver/toy, 1, 750, "misc"), - CASINO_PRIZE("Donk-Soft big-iron", /obj/item/weapon/gun/projectile/revolver/toy/big_iron, 1, 750, "misc"), - CASINO_PRIZE("Donk-Soft crossbow", /obj/item/weapon/gun/projectile/revolver/toy/crossbow, 1, 600, "misc"), - CASINO_PRIZE("Donk-Soft sawn off shotgun", /obj/item/weapon/gun/projectile/revolver/toy/sawnoff, 1, 800, "misc"), - CASINO_PRIZE("Donk-Soft SMG", /obj/item/weapon/gun/projectile/automatic/toy, 1, 1200, "misc"), - CASINO_PRIZE("Foam Darts", /obj/item/ammo_magazine/ammo_box/foam, 1, 100, "misc"), - CASINO_PRIZE("Riot Darts", /obj/item/ammo_magazine/ammo_box/foam/riot, 1, 200, "misc"), - ) - item_list["Miscellaneous"] = list( - CASINO_PRIZE("Winner's Medal", /obj/item/clothing/accessory/medal/gold/casino, 1, 30000, "misc"), - CASINO_PRIZE("Golden ID card", /obj/item/weapon/card/id/gold, 1, 1000, "misc"), - CASINO_PRIZE("Gold-trimmed pen", /obj/item/weapon/pen/fountain5, 1, 50, "misc"), - CASINO_PRIZE("Golden pen", /obj/item/weapon/pen/fountain7, 1, 350, "misc"), - CASINO_PRIZE("Toy sword", /obj/item/toy/sword, 1, 200, "misc"), - CASINO_PRIZE("Waterflower", /obj/item/weapon/reagent_containers/spray/waterflower, 1, 100, "misc"), - CASINO_PRIZE("Horse stick", /obj/item/toy/stickhorse, 1, 100, "misc"), - CASINO_PRIZE("Toy katana", /obj/item/toy/katana, 1, 200, "misc"), - CASINO_PRIZE("Magic conch", /obj/item/toy/eight_ball/conch, 1, 100, "misc"), - CASINO_PRIZE("Magic eight ball", /obj/item/toy/eight_ball, 1, 100, "misc"), - CASINO_PRIZE("Foam sword", /obj/item/weapon/material/sword/foam, 1, 200, "misc"), - CASINO_PRIZE("Whistle", /obj/item/toy/bosunwhistle, 1, 100, "misc"), - CASINO_PRIZE("Golden cup", /obj/item/weapon/reagent_containers/food/drinks/golden_cup, 1, 250, "misc"), - CASINO_PRIZE("Quality cigars", /obj/item/weapon/storage/fancy/cigar/havana, 1, 100, "misc"), - CASINO_PRIZE("Golden zippo lighter", /obj/item/weapon/flame/lighter/zippo/gold, 1, 100, "misc"), - CASINO_PRIZE("Candelabra", /obj/item/weapon/flame/candle/candelabra/everburn, 1, 400, "misc"), - CASINO_PRIZE("Casino wallet", /obj/item/weapon/storage/wallet/casino, 1, 200, "misc"), - CASINO_PRIZE("Casino cards", /obj/item/weapon/deck/cards/casino, 1, 200, "misc"), - CASINO_PRIZE("Instrument: Accordion", /obj/item/instrument/accordion, 1, 500, "misc"), - CASINO_PRIZE("Instrument: Banjo", /obj/item/instrument/banjo, 1, 500, "misc"), - CASINO_PRIZE("Instrument: Musical bikehorn", /obj/item/instrument/bikehorn, 1, 500, "misc"), - CASINO_PRIZE("Instrument: Electric guitar", /obj/item/instrument/eguitar, 1, 500, "misc"), - CASINO_PRIZE("Instrument: Glockenspiel", /obj/item/instrument/glockenspiel, 1, 500, "misc"), - CASINO_PRIZE("Instrument: Guitar", /obj/item/instrument/guitar, 1, 500, "misc"), - CASINO_PRIZE("Instrument: Harmonica", /obj/item/instrument/harmonica, 1, 500, "misc"), - CASINO_PRIZE("Instrument: Synthethic Piano", /obj/item/instrument/piano_synth, 1, 500, "misc"), - CASINO_PRIZE("Instrument: Recorder", /obj/item/instrument/recorder, 1, 500, "misc"), - CASINO_PRIZE("Instrument: Saxophone", /obj/item/instrument/saxophone, 1, 500, "misc"), - CASINO_PRIZE("Instrument: Trombone", /obj/item/instrument/trombone, 1, 500, "misc"), - CASINO_PRIZE("Instrument: Trumpet", /obj/item/instrument/trumpet, 1, 500, "misc"), - CASINO_PRIZE("Instrument: Violin", /obj/item/instrument/violin, 1, 500, "misc"), - CASINO_PRIZE("Instrument: Xylophone", /obj/item/instrument/xylophone, 1, 500, "misc"), - CASINO_PRIZE("Instrument: Golden fiddle", /obj/item/instrument/violin/golden, 1, 1500, "misc"), - CASINO_PRIZE("Instrument: Trumpet (warning: spooky)", /obj/item/instrument/trumpet/spectral, 1, 1000, "misc"), - CASINO_PRIZE("Instrument: Trombone (warning: spooky)", /obj/item/instrument/trombone/spectral, 1, 1000, "misc"), - CASINO_PRIZE("Instrument: Saxophone (warning: spooky)", /obj/item/instrument/saxophone/spectral, 1, 1000, "misc"), - CASINO_PRIZE("Instrument: Musical Moth (you monster)", /obj/item/instrument/musicalmoth, 1, 500, "misc"), - ) - item_list["Drinks"] = list( - CASINO_PRIZE("Redeemer's brew", /obj/item/weapon/reagent_containers/food/drinks/bottle/redeemersbrew, 1, 150, "drinks"), - CASINO_PRIZE("Poison wine", /obj/item/weapon/reagent_containers/food/drinks/bottle/pwine, 1, 150, "drinks"), - CASINO_PRIZE("Patron", /obj/item/weapon/reagent_containers/food/drinks/bottle/patron, 1, 150, "drinks"), - CASINO_PRIZE("Holy water", /obj/item/weapon/reagent_containers/food/drinks/bottle/holywater, 1, 150, "drinks"), - CASINO_PRIZE("Goldschlager", /obj/item/weapon/reagent_containers/food/drinks/bottle/goldschlager, 1, 150, "drinks"), - CASINO_PRIZE("Champagne", /obj/item/weapon/reagent_containers/food/drinks/bottle/champagne, 1, 150, "drinks"), - CASINO_PRIZE("Bottle of Nothing", /obj/item/weapon/reagent_containers/food/drinks/bottle/bottleofnothing, 1, 150, "drinks"), - CASINO_PRIZE("Whiskey bliss", /obj/item/weapon/reagent_containers/food/drinks/bottle/specialwhiskey, 1, 150, "drinks"), - ) - item_list["Pets"] = list( - CASINO_PRIZE("Cat", /obj/item/weapon/grenade/spawnergrenade/casino, 1, 700, "pets"), - CASINO_PRIZE("Chicken", /obj/item/weapon/grenade/spawnergrenade/casino/chicken, 1, 700, "pets"), - CASINO_PRIZE("Cow", /obj/item/weapon/grenade/spawnergrenade/casino/cow, 1, 700, "pets"), - CASINO_PRIZE("Corgi", /obj/item/weapon/grenade/spawnergrenade/casino/corgi, 1, 900, "pets"), - CASINO_PRIZE("Fox", /obj/item/weapon/grenade/spawnergrenade/casino/fox, 1, 700, "pets"), - CASINO_PRIZE("Red panda", /obj/item/weapon/grenade/spawnergrenade/casino/redpanda, 1, 1200, "pets"), - CASINO_PRIZE("Otie", /obj/item/weapon/grenade/spawnergrenade/casino/otie, 1, 1500, "pets"), - CASINO_PRIZE("Snake", /obj/item/weapon/grenade/spawnergrenade/casino/snake, 1, 900, "pets"), - CASINO_PRIZE("Penguin", /obj/item/weapon/grenade/spawnergrenade/casino/penguin, 1, 900, "pets"), - CASINO_PRIZE("Fennec", /obj/item/weapon/grenade/spawnergrenade/casino/fennec, 1, 1200, "pets"), - CASINO_PRIZE("Bird", /obj/item/weapon/grenade/spawnergrenade/casino/goldcrest, 1, 1500, "pets"), - CASINO_PRIZE("Capture Crystal", /obj/item/capture_crystal, 1, 3000, "pets"), - ) - -/obj/machinery/casino_prize_dispenser/power_change() - ..() - if(stat & BROKEN) - icon_state = "[initial(icon_state)]-broken" - else - if(!(stat & NOPOWER)) - icon_state = initial(icon_state) - else - spawn(rand(0, 15)) - icon_state = "[initial(icon_state)]-off" - -/obj/machinery/casino_prize_dispenser/attack_hand(mob/user as mob) - if(stat & (BROKEN|NOPOWER)) - return - tgui_interact(user) - -/obj/machinery/casino_prize_dispenser/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(currently_vending) - if(istype(W, /obj/item/weapon/spacecasinocash)) - to_chat(usr, "Please select prize on display with sufficient amount of chips.") - else - SStgui.update_uis(src) - return // don't smack that machine with your 2 chips - - if(istype(W, /obj/item/weapon/spacecasinocash)) - attack_hand(user) - return - ..() - -/obj/machinery/casino_prize_dispenser/proc/pay_with_chips(var/obj/item/weapon/spacecasinocash/cashmoney, mob/user, var/price) - //"cashmoney_:[cashmoney] user:[user] currently_vending:[currently_vending]" - if(price > cashmoney.worth) - to_chat(usr, "\icon[cashmoney] That is not enough chips.") - return 0 - - if(istype(cashmoney, /obj/item/weapon/spacecasinocash)) - visible_message("\The [usr] inserts some chips into \the [src].") - cashmoney.worth -= price - - if(cashmoney.worth <= 0) - usr.drop_from_inventory(cashmoney) - qdel(cashmoney) - else - cashmoney.update_icon() - return 1 - -/obj/machinery/casino_prize_dispenser/ui_assets(mob/user) - return list( - get_asset_datum(/datum/asset/spritesheet/vending), - ) - -/obj/machinery/casino_prize_dispenser/tgui_data(mob/user) - var/list/data[0] - - data["items"] = list() - for(var/cat in item_list) - var/list/cat_items = list() - for(var/prize_name in item_list[cat]) - var/datum/data/casino_prize/prize = item_list[cat][prize_name] - cat_items[prize_name] = list("name" = prize_name, "price" = prize.cost, "restriction" = prize.restriction) - data["items"][cat] = cat_items - return data - -/obj/machinery/casino_prize_dispenser/tgui_interact(mob/user, datum/tgui/ui = null) - // Open the window - ui = SStgui.try_update_ui(user, src, ui) - if(!ui) - ui = new(user, src, "CasinoPrizeDispenser", name) - ui.open() - -/obj/machinery/casino_prize_dispenser/tgui_act(action, params) - if(stat & (BROKEN|NOPOWER)) - return - if(usr.stat || usr.restrained()) - return - if(..()) - return TRUE - . = TRUE - switch(action) - if("purchase") - var/paid = FALSE - var/category = params["cat"] - var/restriction_category = params["restriction"] - var/restriction_check = 0 - var/item_given = FALSE - var/name = params["name"] - var/price = params["price"] - var/datum/data/casino_prize/bi = item_list[category][name] - switch(restriction_category) - if("weapons") - restriction_check = category_weapons - if("gear") - restriction_check = category_gear - if("clothing") - restriction_check = category_clothing - if("misc") - restriction_check = category_misc - if("drinks") - restriction_check = category_drinks - if("implants") - restriction_check = category_implants - if("event") - restriction_check = category_event - else - to_chat(usr, "Prize checkout error has occured, purchase cancelled.") - return FALSE - - if(restriction_check < 1) - to_chat(usr, "[name] is restricted, this prize can't be bought.") - return FALSE - if(restriction_check > 1) - item_given = TRUE - - if(price <= 0 && item_given == TRUE) - vend(bi, usr) - return TRUE - - currently_vending = bi - - if(istype(usr.get_active_hand(), /obj/item/weapon/spacecasinocash)) - var/obj/item/weapon/spacecasinocash/cash = usr.get_active_hand() - paid = pay_with_chips(cash, usr, price) - else - to_chat(usr, "Payment failure: Improper payment method, please provide chips.") - return TRUE // we set this because they shouldn't even be able to get this far, and we want the UI to update. - if(paid) - if(item_given == TRUE) - vend(bi, usr) - - speak("Thank you for your purchase, your [bi] has been logged.") - do_logging(currently_vending, usr, bi) - . = TRUE - else - to_chat(usr, "Payment failure: unable to process payment.") - -/obj/machinery/casino_prize_dispenser/proc/vend(datum/data/casino_prize/bi, mob/user) - SStgui.update_uis(src) - - if(ispath(bi.equipment_path, /obj/item/stack)) - new bi.equipment_path(loc, bi.equipment_amt) - playsound(src, 'sound/machines/vending/vending_drop.ogg', 100, 1) - return TRUE - - for(var/i in 1 to bi.equipment_amt) - new bi.equipment_path(loc) - playsound(src, 'sound/machines/vending/vending_drop.ogg', 100, 1) - - currently_vending = null - use_power(vend_power_usage) //actuators and stuff - flick("[icon_state]-vend",src) - - -/obj/machinery/casino_prize_dispenser/proc/do_logging(item, mob/user, datum/data/casino_prize/bi) - var/prize_log = "{ckey:[user.ckey]character_name:[user.name]item_path: [bi.equipment_path]}" - log[++log.len] = prize_log - //Currently doesnt have an ingame way to show. Can only be viewed through View-Variables, to ensure theres no chance of players ckeys exposed - Jack - -/obj/machinery/casino_prize_dispenser/proc/speak(var/message) - if(stat & NOPOWER) - return - - if(!message) - return - - for(var/mob/O in hearers(src, null)) - O.show_message("\The [src] beeps, \"[message]\"",2) - return - -/obj/machinery/casino_prize_dispenser/process() //Might not need this, but just to be safe for now - if(stat & (BROKEN|NOPOWER)) - return ->>>>>>> e5ae85f667... Merge pull request #13536 from Heroman3003/casino-changes:code/modules/casino/casino_prize_vendor.dm From d8b6de1db0239cc96d392dbb2d1ad850a8de1dfc Mon Sep 17 00:00:00 2001 From: Nadyr <41974248+Darlantanis@users.noreply.github.com> Date: Sun, 28 Aug 2022 18:33:36 -0400 Subject: [PATCH 3/5] powder that makes you say yes --- code/modules/client/stored_item.dm | 3 --- 1 file changed, 3 deletions(-) diff --git a/code/modules/client/stored_item.dm b/code/modules/client/stored_item.dm index bff1ec3953..88dbbe2ee8 100644 --- a/code/modules/client/stored_item.dm +++ b/code/modules/client/stored_item.dm @@ -250,10 +250,7 @@ persist_storable = FALSE /obj/item/weapon/rcd persist_storable = FALSE -<<<<<<< HEAD -======= /obj/item/weapon/spacecash persist_storable = FALSE /obj/item/weapon/spacecasinocash persist_storable = FALSE ->>>>>>> e5ae85f667... Merge pull request #13536 from Heroman3003/casino-changes From 8ddbe6094e15307a6899127242402cf3440fe8b0 Mon Sep 17 00:00:00 2001 From: Nadyr <41974248+Darlantanis@users.noreply.github.com> Date: Sun, 28 Aug 2022 18:34:35 -0400 Subject: [PATCH 4/5] powder that makes you say yes --- code/modules/clothing/under/accessories/accessory_vr.dm | 3 --- 1 file changed, 3 deletions(-) diff --git a/code/modules/clothing/under/accessories/accessory_vr.dm b/code/modules/clothing/under/accessories/accessory_vr.dm index e03379a449..5e3ed3b104 100644 --- a/code/modules/clothing/under/accessories/accessory_vr.dm +++ b/code/modules/clothing/under/accessories/accessory_vr.dm @@ -409,8 +409,6 @@ icon_state = "talon_pin" item_state = "talonpin" overlay_state = "talonpin" -<<<<<<< HEAD -======= //Casino Sentient Prize Collar @@ -438,4 +436,3 @@ icon_state = "casinoslave_owned" item_state = "casinoslave_owned" overlay_state = "casinoslave_owned" ->>>>>>> e5ae85f667... Merge pull request #13536 from Heroman3003/casino-changes From a21d776ca2a140df99dd3eb10776478260f6b33f Mon Sep 17 00:00:00 2001 From: Nadyr <41974248+Darlantanis@users.noreply.github.com> Date: Sun, 28 Aug 2022 18:36:59 -0400 Subject: [PATCH 5/5] powder that makes you say yes --- code/modules/economy/casinocash_ch.dm | 49 +++------------------------ 1 file changed, 5 insertions(+), 44 deletions(-) diff --git a/code/modules/economy/casinocash_ch.dm b/code/modules/economy/casinocash_ch.dm index d7576a1acf..b33d5b6811 100644 --- a/code/modules/economy/casinocash_ch.dm +++ b/code/modules/economy/casinocash_ch.dm @@ -1,42 +1,3 @@ -<<<<<<< HEAD:code/modules/economy/casinocash_ch.dm -======= - -//Original Casino Code created by Shadowfire117#1269 - Ported from CHOMPstation -//Modified by GhostActual#2055 for use with VOREstation - -/obj/machinery/chipmachine - name = "Casino Chip Exchange" - desc = "Takes all your cash and gives you chips back! No change and half refund!" - icon = 'icons/obj/casino.dmi' - icon_state ="chipmachine" - anchored = 1 - -/obj/machinery/chipmachine/attackby(obj/item/I as obj, mob/user as mob) - if(istype(I,/obj/item/weapon/spacecash) && (I:worth >= 5)) - //consume the money - if(prob(50)) - playsound(loc, 'sound/items/polaroid1.ogg', 50, 1) - else - playsound(loc, 'sound/items/polaroid2.ogg', 50, 1) - - user << "You insert [I] into [src]." - spawn_casinochips(round(I:worth/5), src.loc) - src.attack_hand(user) - qdel(I) - - if(istype(I,/obj/item/weapon/spacecasinocash)) - //consume the chips - if(prob(50)) - playsound(loc, 'sound/items/polaroid1.ogg', 50, 1) - else - playsound(loc, 'sound/items/polaroid2.ogg', 50, 1) - - user << "You insert [I] into [src]." - spawn_money(round(I:worth*5), src.loc) - src.attack_hand(user) - qdel(I) - ->>>>>>> e5ae85f667... Merge pull request #13536 from Heroman3003/casino-changes:code/modules/economy/casinocash.dm /obj/item/weapon/spacecasinocash name = "broken casino chip" desc = "It's worth nothing in a casino." @@ -67,7 +28,7 @@ h_user.drop_from_inventory(src) h_user.drop_from_inventory(SC) h_user.put_in_hands(SC) - user << "You combine the casino chips to a stack of [SC.worth] casino credits." + user << "You combine the casino chips to a stack of [SC.worth] credits." qdel(src) /obj/item/weapon/spacecasinocash/update_icon() @@ -75,7 +36,7 @@ name = "[worth] casino credit\s" if(worth in list(1000,500,200,100,50,20,10,1)) icon_state = "spacecasinocash[worth]" - desc = "It's a stack of casino chips with a combined value of [worth] casino credits." + desc = "It's a stack of casino chips with a combined value of [worth] credits." return var/sum = src.worth var/num = 0 @@ -96,7 +57,7 @@ M.Turn(pick(-45, -27.5, 0, 0, 0, 0, 0, 0, 0, 27.5, 45)) banknote.transform = M src.overlays += banknote - src.desc = "They are worth [worth] casino credits." + src.desc = "They are worth [worth] credits." /obj/item/weapon/spacecasinocash/proc/adjust_worth(var/adjust_worth = 0, var/update = 1) worth += adjust_worth @@ -179,7 +140,7 @@ /proc/spawn_casinochips(var/sum, spawnloc, mob/living/carbon/human/human_user as mob) var/obj/item/weapon/spacecasinocash/SC = new (spawnloc) - SC.set_worth(sum, TRUE) + SC.set_worth(sum) if (ishuman(human_user) && !human_user.get_active_hand()) human_user.put_in_hands(SC) return @@ -207,4 +168,4 @@ else if(result == 2) comment = "Joker" user.visible_message("[user] has thrown \the [src]. It lands on [comment]! ", \ - "You throw \the [src]. It lands on [comment]! ") \ No newline at end of file + "You throw \the [src]. It lands on [comment]! ")