mirror of
https://github.com/CHOMPstation/CHOMPstation.git
synced 2026-08-30 15:36:21 +01:00
Heres the big one folks, the casino!
New space map with room to add more interesting event places! ((Will be revealed when event happens ;3)) Casino ship! It has waiting lounge, medbay, security wing, engineering closet, janitor closet, emergency eva storage, bar, stripper poles and lap dance rooms, large gambling area, exchange booth, several dorms, staff only area with staff R&R, restroom and showers, cockpit and the casino managers private quarters! ((As above)) Casino shuttle! That’s right, gamblers and casino staff can be brought back and forth easily enough in a comfortable casino shuttle! ((As above above)) Casino roulette table, its fully functional with rolling and even nice sound to fill the atmosphere with that rolling ball! Casino card table, a three parts table for a dealer to work at with up to 3 or even 5 players to sit at! Casino slot machine, it eats chips and sometimes spits out rewards when you get three of a kind! Also got a lovely little sound effect when you win! Casino chips, they work like similarly to thalers but has can only be used for slot machine and gambling and rewards in casino, Theres chips for values of 1, 10, 20, 50, 100, 200, 500 and 1000! A fancy casino platinum chip that looks pretty fancy! The wheel of fortune, its interval for roll results can be adjusted on the fly to suit how many lottery entries there are or for other events! Stripper pole, finally people can dance and grind on a pole, interacting with the pole makes the dancer swing around and move in front or behind the pole! Three special bluespace deluxe machines for drinking and dining! - The deluxe dispenser, this bad boy can hold up to 90 cartridges and can restock anything the soft drink, hard drink and coffe dispensers can do, and even more! - The deluxe dining distributor, holds a big variety of food and also tools and gear for a chef, nice and compact storage! - The deluxe drink distributor, this one holds a lot more drinks than the standard booze o mat, and there’s not much one can’t mix with this and the deluxe dispenser! A fancy new jukebox! This one plays music specifically for the casino unlike the normal jukebox! A looong manual on how to play casino games, get prizes, even got info for casino staff and also ooc info!
This commit is contained in:
@@ -0,0 +1,173 @@
|
||||
/obj/item/weapon/spacecasinocash
|
||||
name = "broken casino chip"
|
||||
desc = "It's worth nothing in a casino."
|
||||
gender = PLURAL
|
||||
icon = 'icons/obj/casino.dmi'
|
||||
icon_state = "spacecasinocash1"
|
||||
opacity = 0
|
||||
density = 0
|
||||
anchored = 0.0
|
||||
force = 1.0
|
||||
throwforce = 1.0
|
||||
throw_speed = 1
|
||||
throw_range = 2
|
||||
w_class = ITEMSIZE_SMALL
|
||||
var/access = list()
|
||||
access = access_crate_cash
|
||||
var/worth = 0
|
||||
|
||||
/obj/item/weapon/spacecasinocash/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
if(istype(W, /obj/item/weapon/spacecasinocash))
|
||||
if(istype(W, /obj/item/weapon/spacecasinocash/ewallet)) return 0
|
||||
|
||||
var/obj/item/weapon/spacecasinocash/SC = W
|
||||
|
||||
SC.adjust_worth(src.worth)
|
||||
if(istype(user, /mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/h_user = user
|
||||
|
||||
h_user.drop_from_inventory(src)
|
||||
h_user.drop_from_inventory(SC)
|
||||
h_user.put_in_hands(SC)
|
||||
user << "<span class='notice'>You combine the casino chips to a stack of [SC.worth] of credits.</span>"
|
||||
qdel(src)
|
||||
|
||||
/obj/item/weapon/spacecasinocash/update_icon()
|
||||
overlays.Cut()
|
||||
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."
|
||||
return
|
||||
var/sum = src.worth
|
||||
var/num = 0
|
||||
for(var/i in list(1000,500,200,100,50,20,10,1))
|
||||
while(sum >= i && num < 50)
|
||||
sum -= i
|
||||
num++
|
||||
var/image/banknote = image('icons/obj/casino.dmi', "spacecasinocash[i]")
|
||||
var/matrix/M = matrix()
|
||||
M.Translate(rand(-6, 6), rand(-4, 8))
|
||||
M.Turn(pick(-45, -27.5, 0, 0, 0, 0, 0, 0, 0, 27.5, 45))
|
||||
banknote.transform = M
|
||||
src.overlays += banknote
|
||||
if(num == 0) // Less than one credit, let's just make it look like 1 for ease
|
||||
var/image/banknote = image('icons/obj/casino.dmi', "spacecasinocash1")
|
||||
var/matrix/M = matrix()
|
||||
M.Translate(rand(-6, 6), rand(-4, 8))
|
||||
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."
|
||||
|
||||
/obj/item/weapon/spacecasinocash/proc/adjust_worth(var/adjust_worth = 0, var/update = 1)
|
||||
worth += adjust_worth
|
||||
if(worth > 0)
|
||||
if(update)
|
||||
update_icon()
|
||||
return worth
|
||||
else
|
||||
qdel(src)
|
||||
return 0
|
||||
|
||||
/obj/item/weapon/spacecasinocash/proc/set_worth(var/new_worth = 0, var/update = 1)
|
||||
worth = max(0, new_worth)
|
||||
if(update)
|
||||
update_icon()
|
||||
return worth
|
||||
|
||||
/obj/item/weapon/spacecasinocash/attack_self()
|
||||
var/amount = input(usr, "How much credits worth of chips do you want to take? (0 to [src.worth])", "Take chips", 20) as num
|
||||
amount = round(Clamp(amount, 0, src.worth))
|
||||
|
||||
if(!amount)
|
||||
return
|
||||
|
||||
adjust_worth(-amount)
|
||||
var/obj/item/weapon/spacecasinocash/SC = new (usr.loc)
|
||||
SC.set_worth(amount)
|
||||
usr.put_in_hands(SC)
|
||||
|
||||
/obj/item/weapon/spacecasinocash/c1
|
||||
name = "1 credit casino chip"
|
||||
icon_state = "spacecasinocash1"
|
||||
desc = "It's worth 1 credit."
|
||||
worth = 1
|
||||
|
||||
/obj/item/weapon/spacecasinocash/c10
|
||||
name = "10 credit casino chip"
|
||||
icon_state = "spacecasinocash10"
|
||||
desc = "It's worth 10 credits."
|
||||
worth = 10
|
||||
|
||||
/obj/item/weapon/spacecasinocash/c20
|
||||
name = "20 credit casino chip"
|
||||
icon_state = "spacecasinocash20"
|
||||
desc = "It's worth 20 credits."
|
||||
worth = 20
|
||||
|
||||
/obj/item/weapon/spacecasinocash/c50
|
||||
name = "50 credit casino chip"
|
||||
icon_state = "spacecasinocash50"
|
||||
desc = "It's worth 50 credits."
|
||||
worth = 50
|
||||
|
||||
/obj/item/weapon/spacecasinocash/c100
|
||||
name = "100 credit casino chip"
|
||||
icon_state = "spacecasinocash100"
|
||||
desc = "It's worth 100 credits."
|
||||
worth = 100
|
||||
|
||||
/obj/item/weapon/spacecasinocash/c200
|
||||
name = "200 credit casino chip"
|
||||
icon_state = "spacecasinocash200"
|
||||
desc = "It's worth 200 credits."
|
||||
worth = 200
|
||||
|
||||
/obj/item/weapon/spacecasinocash/c500
|
||||
name = "500 credit casino chip"
|
||||
icon_state = "spacecasinocash500"
|
||||
desc = "It's worth 500 credits."
|
||||
worth = 500
|
||||
|
||||
/obj/item/weapon/spacecasinocash/c1000
|
||||
name = "1000 credit casino chip"
|
||||
icon_state = "spacecasinocash1000"
|
||||
desc = "It's worth 1000 credits."
|
||||
worth = 1000
|
||||
|
||||
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)
|
||||
if (ishuman(human_user) && !human_user.get_active_hand())
|
||||
human_user.put_in_hands(SC)
|
||||
return
|
||||
|
||||
/obj/item/weapon/spacecasinocash/ewallet
|
||||
name = "Casino chip card"
|
||||
icon_state = "efundcard"
|
||||
desc = "A casino card that can hold credits."
|
||||
var/owner_name = "" //So the ATM can set it so the EFTPOS can put a valid name on transactions.
|
||||
attack_self() return //Don't act
|
||||
attackby() return //like actual
|
||||
update_icon() return //space cash
|
||||
|
||||
/obj/item/weapon/spacecasinocash/ewallet/examine(mob/user)
|
||||
..(user)
|
||||
if (!(user in view(2)) && user!=src.loc) return
|
||||
user << "<font color='#6F6FE2'>Casino chip card's owner: [src.owner_name]. credits remaining: [src.worth].</font>"
|
||||
|
||||
/obj/item/weapon/casin_platinum_chip
|
||||
name = "platinum chip"
|
||||
desc = "Ringa-a-Ding-Ding!"
|
||||
icon = 'icons/obj/casino.dmi'
|
||||
icon_state = "platinum_chip"
|
||||
opacity = 0
|
||||
density = 0
|
||||
anchored = 0.0
|
||||
force = 1.0
|
||||
throwforce = 1.0
|
||||
throw_speed = 1
|
||||
throw_range = 2
|
||||
w_class = ITEMSIZE_SMALL
|
||||
@@ -9,15 +9,17 @@
|
||||
var/artist // Song's creator
|
||||
var/duration // Song length in deciseconds
|
||||
var/secret // Show up in regular playlist or secret playlist?
|
||||
var/casino // Music for casino jukebox
|
||||
var/lobby // Be one of the choices for lobby music?
|
||||
|
||||
/datum/track/New(var/url, var/title, var/duration, var/artist = "", var/secret = 0, var/lobby = 0)
|
||||
/datum/track/New(var/url, var/title, var/duration, var/artist = "", var/secret = 0, var/lobby = 0, var/casino = 0)
|
||||
src.url = url
|
||||
src.title = title
|
||||
src.artist = artist
|
||||
src.duration = duration
|
||||
src.secret = secret
|
||||
src.lobby = lobby
|
||||
src.casino = casino
|
||||
|
||||
/datum/track/proc/display()
|
||||
var str = "\"[title]\""
|
||||
@@ -58,6 +60,7 @@ var/global/list/all_lobby_tracks = list()
|
||||
if(istext(entry["artist"]))
|
||||
T.artist = entry["artist"]
|
||||
T.secret = entry["secret"] ? 1 : 0
|
||||
T.casino = entry["casino"] ? 1 : 0
|
||||
T.lobby = entry["lobby"] ? 1 : 0
|
||||
all_jukebox_tracks += T
|
||||
if(T.lobby)
|
||||
|
||||
@@ -103,3 +103,45 @@
|
||||
chloral spawn_reagent = "chloralhydrate"
|
||||
cryoxadone spawn_reagent = "cryoxadone"
|
||||
clonexadone spawn_reagent = "clonexadone"
|
||||
|
||||
// Chems that are used but not meant for cargo supplies, at least for now.
|
||||
champagne spawn_reagent = "champagne"
|
||||
grapesoda spawn_reagent = "grapesoda"
|
||||
singulo spawn_reagent = "singulo"
|
||||
doctor_delight spawn_reagent = "doctor_delight"
|
||||
nothing spawn_reagent = "nothing"
|
||||
banana spawn_reagent = "banana"
|
||||
honey spawn_reagent = "honey"
|
||||
egg spawn_reagent = "egg"
|
||||
coco spawn_reagent = "coco"
|
||||
cherryjelly spawn_reagent = "cherryjelly"
|
||||
carrot spawn_reagent = "carrot"
|
||||
apple spawn_reagent = "apple"
|
||||
tomato spawn_reagent = "tomato"
|
||||
nutbutter spawn_reagent = "nutbutter" //ha
|
||||
soymilk spawn_reagent = "soymilk"
|
||||
grenadine spawn_reagent = "grenadine"
|
||||
gingerale spawn_reagent = "gingerale"
|
||||
royrogers spawn_reagent = "royrogers"
|
||||
patron spawn_reagent = "patron"
|
||||
goldschlager spawn_reagent = "goldschlager"
|
||||
gelatin spawn_reagent = "gelatin"
|
||||
melonliquor spawn_reagent = "melonliquor"
|
||||
bluecuracao spawn_reagent = "bluecuracao"
|
||||
thirteenloko spawn_reagent = "thirteenloko"
|
||||
deadrum spawn_reagent = "deadrum"
|
||||
sake spawn_reagent = "sake"
|
||||
acidspit spawn_reagent = "acidspit"
|
||||
amasec spawn_reagent = "amasec"
|
||||
beepsky_smash spawn_reagent = "beepsky_smash"
|
||||
atomicbomb spawn_reagent = "atomicbomb"
|
||||
nuka_cola spawn_reagent = "nuka_cola"
|
||||
threemileisland spawn_reagent = "threemileisland"
|
||||
manhattan_proj spawn_reagent = "manhattan_proj"
|
||||
psilocybin spawn_reagent = "psilocybin"
|
||||
moonshine spawn_reagent = "moonshine"
|
||||
specialwhiskey spawn_reagent = "specialwhiskey"
|
||||
unathiliquor spawn_reagent = "unathiliquor"
|
||||
winebrandy spawn_reagent = "winebrandy"
|
||||
snaps spawn_reagent = "snaps"
|
||||
|
||||
Reference in New Issue
Block a user