[MIRROR] Luckier 7 event map content + Card deck init improvement/bugfixing (#11735)

Co-authored-by: Jenny <ghosttehspychecka@gmail.com>
Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
This commit is contained in:
CHOMPStation2StaffMirrorBot
2025-09-25 16:31:36 -07:00
committed by GitHub
parent 9811a5edf7
commit a493e176e2
7 changed files with 109 additions and 86 deletions

View File

@@ -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'\
)

View File

@@ -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

View File

@@ -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"

View File

@@ -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)
freq_listening = list(PUB_FREQ, CSN_FREQ)

Binary file not shown.

Binary file not shown.

Binary file not shown.