diff --git a/code/game/objects/items/storage/uplink_kits.dm b/code/game/objects/items/storage/uplink_kits.dm index 97012528a0..15fc42b469 100644 --- a/code/game/objects/items/storage/uplink_kits.dm +++ b/code/game/objects/items/storage/uplink_kits.dm @@ -526,3 +526,7 @@ new /obj/item/book/granter/martial/carp(src) new /obj/item/clothing/suit/hooded/carp_costume(src) new /obj/item/staff/bostaff(src) + +/obj/item/storage/box/syndie_kit/sleepytime/cardpack/PopulateContents() + . = ..() + new /obj/item/cardpack/syndicate(src) diff --git a/code/modules/cargo/packs/costumes_toys.dm b/code/modules/cargo/packs/costumes_toys.dm index 8091c233ef..c0bd25b028 100644 --- a/code/modules/cargo/packs/costumes_toys.dm +++ b/code/modules/cargo/packs/costumes_toys.dm @@ -344,6 +344,12 @@ /datum/supply_pack/costumes_toys/randomised/tcg/generate() . = ..() var/cardpacktype + var/list/cardtypes = subtypesof(/obj/item/cardpack) + for(var/cardtype in cardtypes) + var/obj/item/cardpack/pack = new cardtype(.) + if(pack.illegal) + cardtypes.Remove(cardtype) + qdel(pack) for(var/i in 1 to 10) - cardpacktype = pick(subtypesof(/obj/item/cardpack)) + cardpacktype = pick(cardtypes) new cardpacktype(.) diff --git a/code/modules/tcg/cards.dm b/code/modules/tcg/cards.dm index db2f24c64a..65448c1687 100644 --- a/code/modules/tcg/cards.dm +++ b/code/modules/tcg/cards.dm @@ -80,6 +80,8 @@ /obj/item/tcg_card/examine(mob/user) . = ..() sleep(2) //So it prints this shit after the examine + if(flipped) + return to_chat(user, "This card has following stats:") to_chat(user, "Mana cost: [card_datum.mana_cost]") to_chat(user, "Health: [card_datum.health]") @@ -90,6 +92,8 @@ to_chat(user, "It's effect is: [card_datum.rules]") /obj/item/tcg_card/openTip(location, control, params, user) //Overriding for nice UI + if(flipped) + return ..() var/desc_content = "[desc]
\ This card has following stats:
\ Mana cost: [card_datum.mana_cost]
\ @@ -108,6 +112,8 @@ card_datum = new datum_type icon = card_datum.pack icon_state = card_datum.icon_state + name = card_datum.name + desc = card_datum.desc /obj/item/tcg_card/attack_hand(mob/user) var/list/possible_actions = list( @@ -212,7 +218,7 @@ icon_state = "cardpack" w_class = WEIGHT_CLASS_TINY ///The card series to look in - var/series = /datum/tcg_card/pack_1 + var/list/series = list(/datum/tcg_card/pack_1, /datum/tcg_card/exodia) ///Chance of the pack having a coin in it out of 10 var/contains_coin = -1 ///The amount of cards to draw from the rarity table @@ -222,7 +228,8 @@ "Common" = 900, "Rare" = 300, "Epic" = 50, - "Legendary" = 3) + "Legendary" = 3, + "Exodia" = 1) //Basically 0.1%, it doesn't have guar. rarity ///The amount of cards to draw from the guarenteed rarity table var/guaranteed_count = 1 ///The guaranteed rarity table, acts about the same as the rarity table. it can have as many or as few raritys as you'd like @@ -231,15 +238,37 @@ "Epic" = 9, "Rare" = 30) + var/illegal = FALSE //Can cargo get it? + custom_price = PRICE_EXPENSIVE /obj/item/cardpack/series_one name = "Trading Card Pack: 2560 Core Set" desc = "Contains six cards of varying rarity from the 2560 Core Set. Collect them all!" icon_state = "cardpack" - series = /datum/tcg_card/pack_1 + series = list(/datum/tcg_card/pack_1, /datum/tcg_card/exodia) contains_coin = 10 +/obj/item/cardpack/syndicate //Higher chances more cards no exodia + name = "Trading Card Pack: Nuclear Cards" + desc = "Contains twelve cards of varying rarity from the 2560 Core Set. This pack was stamped by Waffle Co." + icon_state = "cardpack_syndicate" + series = list(/datum/tcg_card/pack_1) //, /datum/tcg_card/nuclear) + contains_coin = 100 + + card_count = 10 + rarity_table = list( + "Common" = 400, + "Rare" = 160, + "Epic" = 40, + "Legendary" = 10) + + guaranteed_count = 2 + guar_rarity = list( + "Legendary" = 5, + "Epic" = 10, + "Rare" = 20) + /obj/item/cardpack/equipped(mob/user, slot, initial) . = ..() transform = matrix() @@ -263,9 +292,11 @@ /obj/item/cardpack/proc/buildCardListWithRarity(card_cnt, rarity_cnt) var/list/return_cards = list() - var/list/cards = subtypesof(series) + var/list/cards = list() + for(var/card_type in series) + cards.Add(subtypesof(card_type)) var/list/possible_cards = list() - var/list/rarity_cards = list("Legendary" = list(), "Epic" = list(), "Rare" = list(), "Common" = list()) + var/list/rarity_cards = list("Exodia" = list(), "Legendary" = list(), "Epic" = list(), "Rare" = list(), "Common" = list()) for(var/card in cards) var/datum/tcg_card/new_card = new card() possible_cards[card] = rarity_table[new_card.rarity] diff --git a/code/modules/tcg/pack_star.dm b/code/modules/tcg/pack_star.dm index 01f8f4c87a..6c39231c8b 100644 --- a/code/modules/tcg/pack_star.dm +++ b/code/modules/tcg/pack_star.dm @@ -224,7 +224,10 @@ //Ultimate Exodia cards. I really, really doubt that someone will ever find them. -/datum/tcg_card/pack_star/exodia_singulo +/datum/tcg_card/exodia + pack = 'icons/obj/tcg/pack_star.dmi' + +/datum/tcg_card/exodia/exodia_singulo name = "Singularity" desc = "A monstrous gravitational singularity, pitch black(but not quiet) and very menacings." rules = "This card doesn't leave field. At the end of each turn: Remove all the cards from the field." @@ -236,7 +239,7 @@ rarity = "Legendary" card_type = "Spell" -/datum/tcg_card/pack_star/exodia_tesla +/datum/tcg_card/exodia/exodia_tesla name = "Energy Orb" desc = "An orb made out of hypercharged plasma. An ultimate bug zapper." rules = "This card doesn't leave field. Every turn all units take 2 damage." @@ -245,10 +248,10 @@ mana_cost = 8 faction = "Exodia" - rarity = "Legendary" + rarity = "Exodia" card_type = "Spell" -/datum/tcg_card/pack_star/exodia_narie +/datum/tcg_card/exodia/exodia_narie name = "Nar-Sie" desc = "An avatar of the Nar-Sie, one of the Eldritch Gods." rules = "This card doesn't leave field. Every turn all friendly units take 1 damage and you restore 1 lifeshard ." @@ -257,10 +260,10 @@ mana_cost = 8 faction = "Exodia" - rarity = "Legendary" + rarity = "Exodia" card_type = "Spell" -/datum/tcg_card/pack_star/exodia_ratvar +/datum/tcg_card/exodia/exodia_ratvar name = "Ratvar" desc = "Ratvar, the god of cogs and clockwork mechanisms, was trapped by Nar-Sie a long ago." rules = "This card doesn't leave field. Every turn enemy hero recieves 1 lifeshard damage." @@ -269,7 +272,7 @@ mana_cost = 8 faction = "Exodia" - rarity = "Legendary" + rarity = "Exodia" card_type = "Spell" /datum/tcg_card/pack_star/exodia @@ -281,20 +284,20 @@ mana_cost = 8 faction = "Exodia" - rarity = "Legendary" + rarity = "Exodia" card_type = "Spell" /obj/item/tcg_card/special/exodia_singulo - datum_type = /datum/tcg_card/pack_star/exodia_singulo + datum_type = /datum/tcg_card/exodia/exodia_singulo /obj/item/tcg_card/special/exodia_tesla - datum_type = /datum/tcg_card/pack_star/exodia_tesla + datum_type = /datum/tcg_card/exodia/exodia_tesla /obj/item/tcg_card/special/exodia_narie - datum_type = /datum/tcg_card/pack_star/exodia_narie + datum_type = /datum/tcg_card/exodia/exodia_narie /obj/item/tcg_card/special/exodia_ratvar - datum_type = /datum/tcg_card/pack_star/exodia_ratvar + datum_type = /datum/tcg_card/exodia/exodia_ratvar /obj/item/tcg_card/special/exodia datum_type = /datum/tcg_card/pack_star/exodia diff --git a/code/modules/uplink/uplink_items/uplink_badass.dm b/code/modules/uplink/uplink_items/uplink_badass.dm index 43e5523bad..e820a90e0f 100644 --- a/code/modules/uplink/uplink_items/uplink_badass.dm +++ b/code/modules/uplink/uplink_items/uplink_badass.dm @@ -78,3 +78,11 @@ limited_stock = 1 cant_discount = TRUE include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) + +/datum/uplink_item/badass/cardpack + name = "TCG Card Operatives Bundle" + desc = "A pack full of goodies required to work as a TCG Card Operative. A warm pajama, a mug of cocoa, a plushie and a pack full of rare 2560 Core Set cards!" + item = /obj/item/storage/box/syndie_kit/sleepytime/cardpack + cost = 20 + include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) + diff --git a/icons/obj/tcg/misc.dmi b/icons/obj/tcg/misc.dmi index 51ed6e2cf3..2844ec5d0a 100644 Binary files a/icons/obj/tcg/misc.dmi and b/icons/obj/tcg/misc.dmi differ