diff --git a/code/controllers/subsystem/persistence/_persistence.dm b/code/controllers/subsystem/persistence/_persistence.dm
index 12cbb5c9da..7b8074f3ca 100644
--- a/code/controllers/subsystem/persistence/_persistence.dm
+++ b/code/controllers/subsystem/persistence/_persistence.dm
@@ -367,7 +367,8 @@ SUBSYSTEM_DEF(persistence)
var/list/card_types = list()
for(var/obj/item/tcg_card/card in binder.cards)
- card_types.Add(card.datum_type)
+ if(!card.illegal) //Nope, don't want free cards as traitor/ops!
+ card_types.Add(card.datum_type)
ending_human.client.prefs.tcg_cards = card_types
ending_human.client.prefs.save_character()
diff --git a/code/modules/tcg/cards.dm b/code/modules/tcg/cards.dm
index 65448c1687..0208881b2d 100644
--- a/code/modules/tcg/cards.dm
+++ b/code/modules/tcg/cards.dm
@@ -73,6 +73,7 @@
var/flipped = FALSE
var/tapped = FALSE
var/special = FALSE
+ var/illegal = FALSE
/obj/item/tcg_card/special
special = TRUE
@@ -90,6 +91,8 @@
to_chat(user, "Rarity: [card_datum.rarity]")
to_chat(user, "Card Type: [card_datum.card_type]")
to_chat(user, "It's effect is: [card_datum.rules]")
+ if(illegal)
+ to_chat(user, "It's a low-quality copy of a real card. TCG Gaming Community won't probably accept it.") //Always examine your cards baby! It might be a cheap syndicate knockoff and it won't save!
/obj/item/tcg_card/openTip(location, control, params, user) //Overriding for nice UI
if(flipped)
@@ -105,7 +108,7 @@
It's effect is: [card_datum.rules]"
openToolTip(user,src,params,title = name,content = desc_content,theme = "")
-/obj/item/tcg_card/New(loc, new_datum)
+/obj/item/tcg_card/New(loc, new_datum, illegal_card = FALSE)
. = ..()
if(!special)
datum_type = new_datum
@@ -114,6 +117,7 @@
icon_state = card_datum.icon_state
name = card_datum.name
desc = card_datum.desc
+ illegal = illegal_card
/obj/item/tcg_card/attack_hand(mob/user)
var/list/possible_actions = list(
@@ -281,7 +285,7 @@
. = ..()
var/list/cards = buildCardListWithRarity(card_count, guaranteed_count)
for(var/template in cards)
- new /obj/item/tcg_card(get_turf(user), template)
+ new /obj/item/tcg_card(get_turf(user), template, illegal)
to_chat(user, "Wow! Check out these cards!")
playsound(loc, 'sound/items/poster_ripped.ogg', 20, TRUE)
if(prob(contains_coin))
diff --git a/code/modules/uplink/uplink_items/uplink_badass.dm b/code/modules/uplink/uplink_items/uplink_badass.dm
index 7264046948..9181096124 100644
--- a/code/modules/uplink/uplink_items/uplink_badass.dm
+++ b/code/modules/uplink/uplink_items/uplink_badass.dm
@@ -90,5 +90,5 @@
name = "TCG Nuclear Cardpack"
desc = "A cardpack filled with top-tier TCG cards."
item = /obj/item/cardpack/syndicate
- cost = 8 //Why so pricey? Cuz it's free 24 cards for a traitor!
+ cost = 4