diff --git a/code/modules/client/preference_setup/loadout/loadout_fluffitems_vr.dm b/code/modules/client/preference_setup/loadout/loadout_fluffitems_vr.dm index c63f709505..6db48e9160 100644 --- a/code/modules/client/preference_setup/loadout/loadout_fluffitems_vr.dm +++ b/code/modules/client/preference_setup/loadout/loadout_fluffitems_vr.dm @@ -1239,6 +1239,13 @@ ckeywhitelist = list("satinisle") character_name = list("Parriz Tavakdavi") +/datum/gear/fluff/dark_tarot + path = /obj/item/deck/dark_tarot + display_name = "dark rose tarot deck" + ckeywhitelist = list("satinisle") + character_name = list("Millie Orlen") + + // T CKEYS /datum/gear/fluff/ascian_medal path = /obj/item/clothing/accessory/medal/silver/unity/tabiranth diff --git a/code/modules/games/tarot.dm b/code/modules/games/tarot.dm index 44407c9ca2..4ba7b26498 100644 --- a/code/modules/games/tarot.dm +++ b/code/modules/games/tarot.dm @@ -41,3 +41,59 @@ cooldown = world.time else return + +///Fluff item, using a separate item rather than a subitem to customise New() + +/obj/item/deck/dark_tarot + name = "dark rose tarot deck" + desc = "A limited edition tarot deck for the scene-girl inclined!" + icon_state = "dark_tarot" + +/obj/item/deck/dark_tarot/New() + ..() + + var/datum/playingcard/P + for(var/name in list("fool","magician","high priestess","empress","emperor","hierophant","lovers","chariot","strength","hermit","wheel of fortune","justice","hanged man","death","temperance","devil","tower","star","moon","sun","judgement","world","white dragon with blue eyes","charred lizard","dark lotus","bash","reverse","rules","acid","abyss","maw")) + P = new() + P.name = "[name]" + if(name == "high priestess") + P.card_icon = "dark_high_priestess" + else if(name == "wheel of fortune") + P.card_icon = "dark_wheel" + else if(name == "hanged man") + P.card_icon = "dark_hanged" + else if(name == "white dragon with blue eyes") + P.card_icon = "dark_dragon" + else if(name == "charred lizard") + P.card_icon = "dark_lizard" + else if(name == "dark lotus") + P.card_icon = "dark_lotus" + else + P.card_icon = "dark_[name]" + P.back_icon = "dark_back_tarot" + cards += P + for(var/suit in list("wands","pentacles","cups","swords")) + for(var/number in list("ace","two","three","four","five","six","seven","eight","nine","ten","page","knight","queen","king")) + P = new() + P.name = "[number] of [suit]" + P.card_icon = "dark_[suit]" + P.back_icon = "dark_back_tarot" + cards += P + +/obj/item/deck/dark_tarot/shuffle() + var/mob/living/user = usr + if (cooldown < world.time - 10) + var/list/newcards = list() + while(cards.len) + var/datum/playingcard/P = pick(cards) + P.name = replacetext(P.name," reversed","") + if(prob(50)) + P.name += " reversed" + newcards += P + cards -= P + cards = newcards + playsound(src, 'sound/items/cardshuffle.ogg', 50, 1) + user.visible_message("\The [user] shuffles [src].") + cooldown = world.time + else + return diff --git a/icons/obj/playing_cards.dmi b/icons/obj/playing_cards.dmi index 0f2e51923a..fd1679a323 100644 Binary files a/icons/obj/playing_cards.dmi and b/icons/obj/playing_cards.dmi differ