diff --git a/code/game/objects/items/weapons/gift_wrappaper.dm b/code/game/objects/items/weapons/gift_wrappaper.dm index dfa2bd32f54..45c788385bc 100644 --- a/code/game/objects/items/weapons/gift_wrappaper.dm +++ b/code/game/objects/items/weapons/gift_wrappaper.dm @@ -91,6 +91,7 @@ /obj/random/figure, /obj/item/deck/cards, /obj/item/deck/cards/tiny, + /obj/item/deck/unum, /obj/item/toy/minimeteor, /obj/item/toy/redbutton, /obj/item/toy/figure/owl, diff --git a/code/modules/arcade/prize_datums.dm b/code/modules/arcade/prize_datums.dm index 89ee8029fa1..65a7002534c 100644 --- a/code/modules/arcade/prize_datums.dm +++ b/code/modules/arcade/prize_datums.dm @@ -141,6 +141,12 @@ GLOBAL_DATUM_INIT(global_prizes, /datum/prizes, new()) typepath = /obj/item/clothing/gloves/ring/shadow cost = 40 +/datum/prize_item/unum + name = "Deck of UNUM! Cards" + desc = "Everyone's favorite card game!" + typepath = /obj/item/deck/unum + cost = 45 + /datum/prize_item/double_tiny_cards name = "Double Deck of Tiny Cards" desc = "Anyone fancy a tiny game of 108-card Pickup?" diff --git a/code/modules/client/preference/loadout/loadout_general.dm b/code/modules/client/preference/loadout/loadout_general.dm index d2f07321089..16f1ed8eef0 100644 --- a/code/modules/client/preference/loadout/loadout_general.dm +++ b/code/modules/client/preference/loadout/loadout_general.dm @@ -118,6 +118,10 @@ display_name = "Deck of tarot cards" path = /obj/item/deck/tarot +/datum/gear/unum + display_name = "Deck of UNUM! cards" + path = /obj/item/deck/unum + /datum/gear/headphones display_name = "Headphones" path = /obj/item/clothing/ears/headphones diff --git a/code/modules/economy/merch_items.dm b/code/modules/economy/merch_items.dm index 2ea99175cfa..7273cd9cb1f 100644 --- a/code/modules/economy/merch_items.dm +++ b/code/modules/economy/merch_items.dm @@ -68,6 +68,13 @@ cost = 200 category = MERCH_CAT_TOY +/datum/merch_item/unum + name = "UNUM!" + desc = "Everyone's favorite card game!" + typepath = /obj/item/deck/unum + cost = 200 + category = MERCH_CAT_TOY + /datum/merch_item/katana name = "Replica Katana" desc = "Woefully underpowered in D20." diff --git a/code/modules/games/unum.dm b/code/modules/games/unum.dm new file mode 100644 index 00000000000..5f4da0aa17a --- /dev/null +++ b/code/modules/games/unum.dm @@ -0,0 +1,33 @@ +/// A deck of unum cards. Classic. +/obj/item/deck/unum + name = "\improper UNUM! deck" + desc = "A deck of UNUM! cards. House rules to argue over not included." + icon_state = "deck_unum_full" + card_style = "unum" + +/obj/item/deck/unum/build_deck() + for(var/color in list("Red", "Yellow", "Green", "Blue")) + cards += new /datum/playingcard("[color] 0", "sc_[color] 0_[card_style]", "singlecard_down_[card_style]") + for(var/k in 0 to 1) + cards += new /datum/playingcard("[color] skip", "sc_[color] skip_[card_style]", "singlecard_down_[card_style]") + cards += new /datum/playingcard("[color] reverse", "sc_[color] reverse_[card_style]", "singlecard_down_[card_style]") + cards += new /datum/playingcard("[color] draw 2", "sc_[color] draw 2_[card_style]", "singlecard_down_[card_style]") + for(var/i in 1 to 9) + cards += new /datum/playingcard("[color] [i]", "sc_[color] [i]_[card_style]", "singlecard_down_[card_style]") + for(var/k in 0 to 3) + cards += new /datum/playingcard("Wildcard", "sc_Wildcard_[card_style]", "singlecard_down_[card_style]") + cards += new /datum/playingcard("Draw 4", "sc_Draw 4_[card_style]", "singlecard_down_[card_style]") + +/obj/item/deck/unum/update_icon_state() + if(!length(cards)) + icon_state = "deck_[card_style]_empty" + return + var/percent = round((length(cards) / deck_total) * 100) + switch(percent) + if(0 to 20) + icon_state = "deck_[deck_style ? "[deck_style]_" : ""][card_style]_low" + if(21 to 50) + icon_state = "deck_[deck_style ? "[deck_style]_" : ""][card_style]_half" + else + icon_state = "deck_[deck_style ? "[deck_style]_" : ""][card_style]_full" + diff --git a/code/modules/mining/machine_vending.dm b/code/modules/mining/machine_vending.dm index 3a92de585ac..c3f070d0b91 100644 --- a/code/modules/mining/machine_vending.dm +++ b/code/modules/mining/machine_vending.dm @@ -343,6 +343,7 @@ EQUIPMENT("Dnd set", /obj/item/storage/box/characters, 500), EQUIPMENT("Dice set", /obj/item/storage/box/dice, 250), EQUIPMENT("Cards", /obj/item/deck/cards, 150), + EQUIPMENT("UNUM!", /obj/item/deck/unum, 200), EQUIPMENT("Guitar", /obj/item/instrument/guitar, 750), EQUIPMENT("Synthesizer", /obj/item/instrument/piano_synth, 1500), EQUIPMENT("Diamond Pickaxe", /obj/item/pickaxe/diamond, 2000), diff --git a/icons/obj/playing_cards.dmi b/icons/obj/playing_cards.dmi index 468e6af9d00..1ff9f3409e5 100644 Binary files a/icons/obj/playing_cards.dmi and b/icons/obj/playing_cards.dmi differ diff --git a/paradise.dme b/paradise.dme index 2a32d10c181..5e55095651a 100644 --- a/paradise.dme +++ b/paradise.dme @@ -1736,6 +1736,7 @@ #include "code\modules\games\52card.dm" #include "code\modules\games\cards.dm" #include "code\modules\games\tarot.dm" +#include "code\modules\games\unum.dm" #include "code\modules\hallucinations\hallucinations.dm" #include "code\modules\hallucinations\effects\common.dm" #include "code\modules\hallucinations\effects\major.dm"