diff --git a/code/__defines/sound.dm b/code/__defines/sound.dm index 92e20aa8b0..12af47d17a 100644 --- a/code/__defines/sound.dm +++ b/code/__defines/sound.dm @@ -248,3 +248,11 @@ 'sound/ambience/thor/birds_stinger2.ogg',\ 'sound/ambience/thor/birds_stinger3.ogg'\ ) + +// Credits: +// These are spliced audio extracts from "Casino - Las Vegas Slot Machines" by martialway47, on freesound.org. +#define AMBIENCE_CASINO list(\ + 'sound/ambience/casino/casino_1.ogg',\ + 'sound/ambience/casino/casino_2.ogg',\ + 'sound/ambience/casino/casino_3.ogg'\ + ) diff --git a/code/modules/casino/casino_cards.dm b/code/modules/casino/casino_cards.dm index e13eca7494..d87abb5d5e 100644 --- a/code/modules/casino/casino_cards.dm +++ b/code/modules/casino/casino_cards.dm @@ -2,31 +2,6 @@ //Original Casino Code created by Shadowfire117#1269 - Ported from CHOMPstation //Modified by GhostActual#2055 for use with VOREstation -/obj/item/deck/cards/casino/Initialize(mapload) - . = ..() - var/datum/playingcard/casino/P - for(var/suit in list("spades","clubs","diamonds","hearts")) - - var/colour - if(suit == "spades" || suit == "clubs") - colour = "black_" - else - colour = "red_" - - for(var/number in list("ace","two","three","four","five","six","seven","eight","nine","ten")) - P = new() - P.name = "[number] of [suit]" - P.card_icon = "casino_[colour]num" - P.back_icon = "casino_card_back" - cards += P - - for(var/number in list("jack","queen","king")) - P = new() - P.name = "[number] of [suit]" - P.card_icon = "casino_[colour]col" - P.back_icon = "casino_card_back" - cards += P - /datum/playingcard/casino name = "playing card" card_icon = "card_back" @@ -47,3 +22,12 @@ desc = "A deck of playing cards from the golden goose casino, comes without a joker card!" icon = 'icons/obj/playing_cards.dmi' icon_state = "casino_deck" + card_icon_prefix = "casino_" + +/obj/item/deck/cards/casino/init_jokers() + return + +/obj/item/deck/cards/casino/triple + name = "big deck of casino cards" + desc = "A triply-sized deck of playing cards from the golden goose casino, comes without a joker card!" + deck_size = 3 diff --git a/code/modules/games/cards.dm b/code/modules/games/cards.dm index fbcb0b66ac..d91cc8cb35 100644 --- a/code/modules/games/cards.dm +++ b/code/modules/games/cards.dm @@ -21,37 +21,48 @@ icon_state = "deck" drop_sound = 'sound/items/drop/paper.ogg' pickup_sound = 'sound/items/pickup/paper.ogg' + var/card_icon_prefix = "" + var/deck_size = 1 // # of times we will generate cards within this deck + +/obj/item/deck/cards/proc/init_cards() + PROTECTED_PROC(TRUE) + var/datum/playingcard/pcard + for(var/i = 0, i < deck_size, i++) + for(var/suit in list("spades","clubs","diamonds","hearts")) + var/colour + switch(suit) + if("clubs", "spades") + colour = "black_" + else + colour = "red_" + + for(var/number in list("ace","two","three","four","five","six","seven","eight","nine","ten")) + pcard = new() + pcard.name = "[number] of [suit]" + pcard.card_icon = "[card_icon_prefix][colour]num" + pcard.back_icon = "[card_icon_prefix]card_back" + cards += pcard + + for(var/number in list("jack","queen","king")) + pcard = new() + pcard.name = "[number] of [suit]" + pcard.card_icon = "[card_icon_prefix][colour]col" + pcard.back_icon = "[card_icon_prefix]card_back" + cards += pcard // Make it so. + + init_jokers() + +/obj/item/deck/cards/proc/init_jokers() + var/datum/playingcard/pcard + for(var/i = 0, i<2, i++) + pcard = new() + pcard.name = "joker" + pcard.card_icon = "joker" + cards += pcard /obj/item/deck/cards/Initialize(mapload) . = ..() - var/datum/playingcard/P - for(var/suit in list("spades","clubs","diamonds","hearts")) - - var/colour - if(suit == "spades" || suit == "clubs") - colour = "black_" - else - colour = "red_" - - for(var/number in list("ace","two","three","four","five","six","seven","eight","nine","ten")) - P = new() - P.name = "[number] of [suit]" - P.card_icon = "[colour]num" - P.back_icon = "card_back" - cards += P - - for(var/number in list("jack","queen","king")) - P = new() - P.name = "[number] of [suit]" - P.card_icon = "[colour]col" - P.back_icon = "card_back" - cards += P - - for(var/i = 0, i<2, i++) - P = new() - P.name = "joker" - P.card_icon = "joker" - cards += P + init_cards() /obj/item/deck/attackby(obj/O, mob/user) if(istype(O,/obj/item/hand)) @@ -363,38 +374,7 @@ /obj/item/deck/cards/triple name = "big deck of cards" desc = "A simple deck of playing cards with triple the number of cards." - -/obj/item/deck/cards/triple/Initialize(mapload) - . = ..() - var/datum/playingcard/P - for(var/a = 0, a<3, a++) - for(var/suit in list("spades","clubs","diamonds","hearts")) - - var/colour - if(suit == "spades" || suit == "clubs") - colour = "black_" - else - colour = "red_" - - for(var/number in list("ace","two","three","four","five","six","seven","eight","nine","ten")) - P = new() - P.name = "[number] of [suit]" - P.card_icon = "[colour]num" - P.back_icon = "card_back" - cards += P - - for(var/number in list("jack","queen","king")) - P = new() - P.name = "[number] of [suit]" - P.card_icon = "[colour]col" - P.back_icon = "card_back" - cards += P - - for(var/i = 0, i<2, i++) - P = new() - P.name = "joker" - P.card_icon = "joker" - cards += P + deck_size = 3 /obj/item/pack/ name = "Card Pack" diff --git a/maps/gateway_vr/lucky_7.dm b/maps/gateway_vr/lucky_7.dm index 66a6dd9486..f4fad497c5 100644 --- a/maps/gateway_vr/lucky_7.dm +++ b/maps/gateway_vr/lucky_7.dm @@ -13,6 +13,8 @@ /area/awaymission/lucky7 icon_state = "away1" + ambience = AMBIENCE_CASINO + flags = AREA_FLAG_IS_NOT_PERSISTENT | AREA_BLOCK_INSTANT_BUILDING /area/awaymission/lucky7/casinofloor name = "\improper Gateway - Casino Floor" @@ -29,6 +31,7 @@ /area/awaymission/lucky7/privategameroom name = "\improper Gateway - Private Game Room One" icon_state = "arcade2" + flags = AREA_FLAG_IS_NOT_PERSISTENT | AREA_SOUNDPROOF | AREA_FORBID_EVENTS | AREA_BLOCK_INSTANT_BUILDING /area/awaymission/lucky7/privategameroom/two name = "\improper Gateway - Private Game Room Two" @@ -36,9 +39,25 @@ /area/awaymission/lucky7/privategameroom/three name = "\improper Gateway - Private Game Room Three" +/area/awaymission/lucky7/privategameroom/four + name = "\improper Gateway - Private Game Room Four" + +/area/awaymission/lucky7/privategameroom/five + name = "\improper Gateway - Private Game Room Five" + +/area/awaymission/lucky7/privategameroom/six + name = "\improper Gateway - Private Game Room Six" + +/area/awaymission/lucky7/privategameroom/seven + name = "\improper Gateway - Private Game Room Seven" + +/area/awaymission/lucky7/privategameroom/eight + name = "\improper Gateway - Private Game Room Eight" + /area/awaymission/lucky7/privateroom name = "\improper Gateway - Private Room One" icon_state = "crew_quarters" + flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_FLAG_IS_NOT_PERSISTENT | AREA_FORBID_EVENTS | AREA_FORBID_SINGULO | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING | AREA_BLOCK_INSTANT_BUILDING /area/awaymission/lucky7/privateroom/two name = "\improper Gateway - Private Room Two" @@ -56,10 +75,42 @@ name = "\improper Gateway - Private Room Five" icon_state = "crew_quarters" +/area/awaymission/lucky7/privateroom/six + name = "\improper Gateway - Private Room Six" + icon_state = "crew_quarters" + +/area/awaymission/lucky7/privateroom/seven + name = "\improper Gateway - Private Room Seven" + icon_state = "crew_quarters" + +/area/awaymission/lucky7/privateroom/eight + name = "\improper Gateway - Private Room Eight" + icon_state = "crew_quarters" + /area/awaymission/lucky7/privateroom/vip name = "\improper Gateway - VIP Room" icon_state = "crew_quarters" +/area/awaymission/lucky7/dorms + name = "\improper Gateway - Dorms" + icon_state = "crew_quarters" + flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_FLAG_IS_NOT_PERSISTENT | AREA_FORBID_EVENTS | AREA_FORBID_SINGULO | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING | AREA_BLOCK_INSTANT_BUILDING + +/area/awaymission/lucky7/dorms/one + name = "\improper Gateway - Dorm 1" + +/area/awaymission/lucky7/dorms/two + name = "\improper Gateway - Dorm 2" + +/area/awaymission/lucky7/dorms/three + name = "\improper Gateway - Dorm 3" + +/area/awaymission/lucky7/dorms/four + name = "\improper Gateway - Dorm 4" + +/area/awaymission/lucky7/dorms/five + name = "\improper Gateway - Dorm 5" + /area/awaymission/lucky7/security name = "\improper Gateway - Security" icon_state = "security" @@ -137,4 +188,4 @@ icon_state = "entry_3" /obj/machinery/telecomms/allinone/casino - freq_listening = list(PUB_FREQ, CSN_FREQ) \ No newline at end of file + freq_listening = list(PUB_FREQ, CSN_FREQ) diff --git a/sound/ambience/casino/casino_1.ogg b/sound/ambience/casino/casino_1.ogg new file mode 100644 index 0000000000..c6323c2e34 Binary files /dev/null and b/sound/ambience/casino/casino_1.ogg differ diff --git a/sound/ambience/casino/casino_2.ogg b/sound/ambience/casino/casino_2.ogg new file mode 100644 index 0000000000..332556b892 Binary files /dev/null and b/sound/ambience/casino/casino_2.ogg differ diff --git a/sound/ambience/casino/casino_3.ogg b/sound/ambience/casino/casino_3.ogg new file mode 100644 index 0000000000..29659a05a4 Binary files /dev/null and b/sound/ambience/casino/casino_3.ogg differ