diff --git a/code/controllers/subsystem/persistence/_persistence.dm b/code/controllers/subsystem/persistence/_persistence.dm index 8cc879e79c..b9706e606c 100644 --- a/code/controllers/subsystem/persistence/_persistence.dm +++ b/code/controllers/subsystem/persistence/_persistence.dm @@ -367,8 +367,8 @@ SUBSYSTEM_DEF(persistence) var/list/card_types = list() for(var/obj/item/tcg_card/card in binder.cards) - //if(!card.illegal) //Nope, don't want free cards as traitor/ops! - card_types.Add(card.datum_type)sss + //if(!card.illegal) //Uncomment if you want to block syndie cards from saving + 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 82ed1173a5..14ca197fe1 100644 --- a/code/modules/tcg/cards.dm +++ b/code/modules/tcg/cards.dm @@ -92,7 +92,7 @@ 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! + to_chat(user, "It's a low-quality copy of a real card. TCG Gaming Community won't probably accept it.") //Doesn't do crap, just for lulz /obj/item/tcg_card/openTip(location, control, params, user) //Overriding for nice UI if(flipped) @@ -253,25 +253,15 @@ 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." +/obj/item/cardpack/syndicate //More cards. Perfect stuff for gaming gang + name = "Trading Card Pack: Nuclear Danger" + desc = "Contains twelve cards of varying rarity from 2560 Core Set and 2560 Nuclear Danger. This pack was stamped by Waffle Co." icon_state = "cardpack_syndicate" - series = list(/datum/tcg_card/pack_1) //, /datum/tcg_card/nuclear) + series = list(/datum/tcg_card/pack_1, /datum/tcg_card/pack_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) . = ..() @@ -562,6 +552,11 @@ for(var/card_type in subtypesof(/datum/tcg_card)) var/datum/tcg_card/card_dat = new card_type + + if(card_dat.name == "Eldritch Horror" && (card_type in card_types)) //We already have Exodia saved + qdel(card_dat) + return + if(card_dat.name == "Stupid Coder" || card_dat.name == "Eldritch Horror") //It would be stupid if we require exodia or system cards to get exodia continue qdel(card_dat) @@ -571,3 +566,13 @@ var/obj/item/tcg_card/card = new(get_turf(src), /datum/tcg_card/pack_star/exodia) card.forceMove(src) cards.Add(card) + +/obj/item/tcgcard_binder/full/Initialize() //For admemes. + . = ..() + for(var/cardtype in subtypesof(/datum/tcg_card)) + var/obj/item/tcg_card/card = new(get_turf(src), cardtype) + if(card.card_datum.name == "Stupid Coder") + qdel(card) + continue + card.forceMove(src) + cards.Add(card) \ No newline at end of file diff --git a/code/modules/tcg/pack_1.dm b/code/modules/tcg/pack_1.dm index 52056fa4ed..da3215d0bf 100644 --- a/code/modules/tcg/pack_1.dm +++ b/code/modules/tcg/pack_1.dm @@ -800,9 +800,9 @@ /datum/tcg_card/pack_1/engineer_plasmaman name = "Station Engineer (Plasmaman)" - desc = "Station Engineers maintain the intricate and delicate web of machinery that keeps you and everyone else aboard your station alive. No pressure there then." + desc = "The ever industrious plasmamen are well suited to engineering work due to their natural radiation resistance." rules = "Immune to all spells except Security and Syndicate ones." - icon_state = "The ever industrious plasmamen are well suited to engineering work due to their natural radiation resistance." + icon_state = "engineer_plasmeme" mana_cost = 5 attack = 2 diff --git a/code/modules/tcg/pack_nuclear.dm b/code/modules/tcg/pack_nuclear.dm new file mode 100644 index 0000000000..84552870d5 --- /dev/null +++ b/code/modules/tcg/pack_nuclear.dm @@ -0,0 +1,232 @@ +/datum/tcg_card/pack_nuclear + pack = 'icons/obj/tcg/pack_nuclear.dmi' + +/datum/tcg_card/pack_nuclear/cayenne + name = "Cayenne" + desc = "A failed Syndicate experiment in weaponized space carp technology, it now serves as a lovable mascot." + rules = "Only playable when there are other Syndicate units on the field." + icon_state = "cayenne" + + mana_cost = 4 + attack = 4 + health = 3 + + faction = "Syndicate" + rarity = "Rare" + card_type = "Unit" + +/datum/tcg_card/pack_nuclear/esword + name = "Energy Sword" + desc = "Hard-light sword that doesn't leave burns. Don't ask questions." + rules = "" + icon_state = "esword" + + mana_cost = 3 + attack = 2 + health = 0 + + faction = "Syndicate" + rarity = "Common" + card_type = "Equipment" + +/datum/tcg_card/pack_nuclear/stechkin + name = "Stechkin Pistol" + desc = "A small, easily concealable 10mm handgun. Has a threaded barrel for suppressors." + rules = "When equipping this card, flip it so opponent won't see it. Flip the card after the first attack." + icon_state = "stechkin" + + mana_cost = 2 + attack = 2 + health = 0 + + faction = "Syndicate" + rarity = "Common" + card_type = "Equipment" + +/datum/tcg_card/pack_nuclear/c20r + name = "C-20R SMG" + desc = "A bullpup two-round burst .45 SMG, designated 'C-20r'. Has a 'Scarborough Arms - Per falcis, per pravitas' buttstamp." + rules = "After attack, flip a coin. If heads, leave the weapon. If tails, unequip this card." + icon_state = "c20r" + + mana_cost = 4 + attack = 4 + health = 0 + + faction = "Syndicate" + rarity = "Rare" + card_type = "Equipment" + +/datum/tcg_card/pack_nuclear/l6saw + name = "L6 Saw LMG" + desc = "A heavily modified 1.95x129mm light machine gun, designated 'L6 SAW'. Has 'Aussec Armoury - 2531' engraved on the receiver below the designation." + rules = "After equipped unit dies, this card goes to the bottom of draw deck" + icon_state = "l6saw" + + mana_cost = 8 + attack = 6 + health = 0 + + faction = "Syndicate" + rarity = "Equipment" + card_type = "Unit" + +/datum/tcg_card/pack_nuclear/bulldog + name = "Bulldog Shotgun" + desc = "A semi-auto, mag-fed shotgun for combat in narrow corridors, nicknamed 'Bulldog' by boarding parties. Compatible only with specialized 8-round drum magazines." + rules = "After attack, deal 1 damage to enemy units next to the attacked one." + icon_state = "bulldog" + + mana_cost = 3 + attack = 3 + health = 0 + + faction = "Syndicate" + rarity = "Rare" + card_type = "Equipment" + +/datum/tcg_card/pack_nuclear/nuke_op_leader + name = "Nuclear Team Commander" + desc = "All commanders of elite nuclear teams are equipped with high-tier gear and weaponery. And, sometimes, gaming cards." + rules = "Squad Tactics. Give all Syndicate units on your side +1/0." + icon_state = "nuke_op_leader" + + mana_cost = 5 + attack = 3 + health = 4 + + faction = "Syndicate" + rarity = "Epic" + card_type = "Unit" + +/datum/tcg_card/pack_nuclear/nuke_op + name = "Nuclear Team Commander" + desc = "An unequipped nuclear operative, ready to buy some gear and go full ham!" + rules = "Squad Tactics. On summon: Search your deck for Syndicate equipment. Equip it on this unit. Shuffle it afterwards." + icon_state = "nuke_op" + + mana_cost = 3 + attack = 2 + health = 3 + + faction = "Syndicate" + rarity = "Common" + card_type = "Unit" + +/datum/tcg_card/pack_nuclear/dark_gygax + name = "Dark Gygax" + desc = "A lightweight exosuit, painted in a dark scheme. This model appears to have some modifications." + rules = "Squad Tactics." + icon_state = "dark_gygax" + + mana_cost = 6 + attack = 8 + health = 4 + + faction = "Syndicate" + rarity = "Epic" + card_type = "Unit" + +/datum/tcg_card/pack_nuclear/mauler + name = "Mauler" + desc = "Heavy-duty, combat exosuit, developed off of the existing Marauder model. A perfect killing machine equipped with best weaponery in the world." + rules = "Squad Tactics. Deadeye." + icon_state = "mauler" + + mana_cost = 8 + attack = 8 + health = 8 + + faction = "Syndicate" + rarity = "Legendary" + card_type = "Unit" + +/datum/tcg_card/pack_nuclear/saboteur + name = "Syndicate Saboteur Cyborg" + desc = "A streamlined engineering cyborg, equipped with covert modules. Allows to sabotage all the systems you want without being suspicious." + rules = "Block the first spell your opponent plays against your hero." + icon_state = "saboteur" + + mana_cost = 3 + attack = 1 + health = 3 + + faction = "Syndicate" + rarity = "Rare" + card_type = "Unit" + +/datum/tcg_card/pack_nuclear/medic + name = "Syndicate Medical Cyborg" + desc = "A combat medical cyborg. Has limited offensive potential, but makes more than up for it with its support capabilities." + rules = "Each turn you can give one of your units 0/+1." + icon_state = "medic" + + mana_cost = 4 + attack = 1 + health = 2 + + faction = "Syndicate" + rarity = "Rare" + card_type = "Unit" + +/datum/tcg_card/pack_nuclear/combat + name = "Syndicate Assault Cyborg" + desc = "A cyborg designed and programmed for systematic extermination of non-Syndicate personnel." + rules = "Squad Tactics. Fury." + icon_state = "combat" + + mana_cost = 5 + attack = 4 + health = 4 + + faction = "Syndicate" + rarity = "Rare" + card_type = "Unit" + +/datum/tcg_card/pack_nuclear/emag + name = "Cryptographic Sequencer" + desc = "It's a card with a magnetic strip attached to some circuitry." + rules = "Convert an enemy silicon unit to your side." + icon_state = "emag" + + mana_cost = 4 + + faction = "Syndicate" + rarity = "Common" + card_type = "Spell" + +/datum/tcg_card/pack_nuclear/bomb + name = "Syndicate Bomb" + desc = "A large and menacing device. Can be bolted down with a wrench." + rules = "Deal 6 damage to all units on the field after 2 turns." + icon_state = "bomb" + + mana_cost = 6 + + faction = "Syndicate" + rarity = "Rare" + card_type = "Spell" + +/datum/tcg_card/pack_nuclear/assault_pod + name = "Assault Pod" + desc = "Raining Steel. Nothing personnel, just disky." + rules = "Summon up to 3 units from your hand with 4 mana discount each." + icon_state = "assault_pod" + + mana_cost = 8 + + faction = "Syndicate" + rarity = "Epic" + card_type = "Spell" + +/datum/tcg_card/pack_nuclear/c4 + name = "C4" + desc = "A bunch of plastic explosives wired together." + rules = "Deal 2 damage to an enemy unit." + icon_state = "c4" + + mana_cost = 1 + + faction = "Syndicate" + rarity = "Common" + card_type = "Spell" diff --git a/code/modules/tcg/pack_star.dm b/code/modules/tcg/pack_star.dm index 6c39231c8b..b43747914d 100644 --- a/code/modules/tcg/pack_star.dm +++ b/code/modules/tcg/pack_star.dm @@ -255,7 +255,7 @@ 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 ." - icon_state = "exodia_narie" + icon_state = "exodia_narsie" mana_cost = 8 diff --git a/icons/obj/tcg/pack_nuclear.dmi b/icons/obj/tcg/pack_nuclear.dmi new file mode 100644 index 0000000000..0926f30847 Binary files /dev/null and b/icons/obj/tcg/pack_nuclear.dmi differ diff --git a/icons/obj/tcg/pack_star.dmi b/icons/obj/tcg/pack_star.dmi index 157989465a..273f4c62ef 100644 Binary files a/icons/obj/tcg/pack_star.dmi and b/icons/obj/tcg/pack_star.dmi differ diff --git a/tgstation.dme b/tgstation.dme index 252ef0732b..a81f2a4fee 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -3493,6 +3493,7 @@ #include "code\modules\surgery\organs\vocal_cords.dm" #include "code\modules\tcg\cards.dm" #include "code\modules\tcg\pack_1.dm" +#include "code\modules\tcg\pack_nuclear.dm" #include "code\modules\tcg\pack_star.dm" #include "code\modules\tgchat\message.dm" #include "code\modules\tgchat\to_chat.dm"