Fuck you and your persistence system
This commit is contained in:
@@ -218,6 +218,8 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
|
||||
var/hide_ckey = FALSE //pref for hiding if your ckey shows round-end or not
|
||||
|
||||
var/list/tcg_cards = list()
|
||||
|
||||
/datum/preferences/New(client/C)
|
||||
parent = C
|
||||
|
||||
|
||||
@@ -656,6 +656,14 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
|
||||
modified_limbs = safe_json_decode(limbmodstr)
|
||||
else
|
||||
modified_limbs = list()
|
||||
|
||||
var/tcgcardstr
|
||||
S["tcg_cards"] >> tcgcardstr
|
||||
if(length(tcgcardstr))
|
||||
tcg_cards = safe_json_decode(tcgcardstr)
|
||||
else
|
||||
tcg_cards = list()
|
||||
|
||||
S["chosen_limb_id"] >> chosen_limb_id
|
||||
S["hide_ckey"] >> hide_ckey //saved per-character
|
||||
|
||||
@@ -1091,6 +1099,11 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
|
||||
else
|
||||
S["loadout"] << safe_json_encode(list())
|
||||
|
||||
if(length(tcg_cards))
|
||||
S["tcg_cards"] << safe_json_encode(tcg_cards)
|
||||
else
|
||||
S["tcg_cards"] << safe_json_encode(list())
|
||||
|
||||
cit_character_pref_save(S)
|
||||
|
||||
return 1
|
||||
|
||||
@@ -227,6 +227,8 @@
|
||||
"Epic" = 9,
|
||||
"Rare" = 30)
|
||||
|
||||
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!"
|
||||
@@ -454,5 +456,35 @@
|
||||
user.put_in_hands(choice)
|
||||
cards.Remove(choice)
|
||||
update_icon()
|
||||
if(length(cards) == 0)
|
||||
qdel(src)
|
||||
return
|
||||
. = ..()
|
||||
|
||||
/obj/item/tcgcard_binder
|
||||
name = "Trading Card Binder"
|
||||
desc = "A TCG-branded card binder, specifically for your infinite collection of TCG cards!"
|
||||
icon = 'icons/obj/tcg/misc.dmi'
|
||||
icon_state = "binder"
|
||||
|
||||
var/list/cards = list()
|
||||
|
||||
/obj/item/tcgcard_binder/attackby(obj/item/I, mob/living/user, params)
|
||||
if(istype(I, /obj/item/tcg_card))
|
||||
var/obj/item/tcg_card/card = I
|
||||
card.forceMove(src)
|
||||
cards.Add(card)
|
||||
. = ..()
|
||||
|
||||
/obj/item/tcgcard_binder/attack_hand(mob/living/carbon/user)
|
||||
if(loc == user)
|
||||
var/list/choices = list()
|
||||
for(var/obj/item/tcg_card/card in cards)
|
||||
choices[card] = image(icon = card.icon, icon_state = card.icon_state)
|
||||
var/obj/item/tcg_card/choice = show_radial_menu(user, src, choices, require_near = TRUE, tooltips = TRUE)
|
||||
if(choice)
|
||||
choice.forceMove(get_turf(src))
|
||||
user.put_in_hands(choice)
|
||||
cards.Remove(choice)
|
||||
return
|
||||
. = ..()
|
||||
|
||||
Reference in New Issue
Block a user