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:
Shadowfire117
2019-07-22 01:59:43 +02:00
parent b1c91f6704
commit a5f0b88225
14 changed files with 1773 additions and 24 deletions
+173
View File
@@ -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
+4 -1
View File
@@ -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"