Decks are saveable!

This commit is contained in:
SmArtKar
2021-02-17 18:50:23 +03:00
parent 015bd0b145
commit 756be084bc
5 changed files with 84 additions and 34 deletions
+32 -15
View File
@@ -493,24 +493,41 @@ SUBSYSTEM_DEF(job)
if(ishuman(H) && H.client && N)
if(H.client && H.client.prefs && length(H.client.prefs.tcg_cards))
var/obj/item/tcgcard_binder/binder = new(get_turf(H))
if(!H.equip_to_slot_if_possible(binder, SLOT_IN_BACKPACK, disable_warning = TRUE, bypass_equip_delay_self = TRUE))
qdel(binder)
else
for(var/card_type in H.client.prefs.tcg_cards)
var/obj/item/tcg_card/card = new(get_turf(H), card_type, H.client.prefs.tcg_cards[card_type])
card.forceMove(binder)
binder.cards.Add(card)
binder.check_for_exodia()
H.equip_to_slot_if_possible(binder, SLOT_IN_BACKPACK, disable_warning = TRUE, bypass_equip_delay_self = TRUE)
for(var/card_type in H.client.prefs.tcg_cards)
if(card_type == "decks")
for(var/deck in H.client.prefs.tcg_cards["decks"])
var/obj/item/tcgcard_deck/new_deck = new(get_turf(H))
new_deck.forceMove(binder)
binder.decks.Add(new_deck)
for(var/cardy in deck)
var/obj/item/tcg_card/card = new(get_turf(H), cardy, deck[cardy])
card.forceMove(new_deck)
new_deck.contents.Add(card)
continue
var/obj/item/tcg_card/card = new(get_turf(H), card_type, H.client.prefs.tcg_cards[card_type])
card.forceMove(binder)
binder.cards.Add(card)
binder.check_for_exodia()
else
if(H && N.client.prefs && length(N.client.prefs.tcg_cards))
var/obj/item/tcgcard_binder/binder = new(get_turf(H))
if(!H.equip_to_slot_if_possible(binder, SLOT_IN_BACKPACK, disable_warning = TRUE, bypass_equip_delay_self = TRUE))
qdel(binder)
else
for(var/card_type in N.client.prefs.tcg_cards)
var/obj/item/tcg_card/card = new(get_turf(H), card_type, H.client.prefs.tcg_cards[card_type])
card.forceMove(binder)
binder.cards.Add(card)
H.equip_to_slot_if_possible(binder, SLOT_IN_BACKPACK, disable_warning = TRUE, bypass_equip_delay_self = TRUE)
for(var/card_type in N.client.prefs.tcg_cards)
if(card_type == "decks")
for(var/deck in N.client.prefs.tcg_cards["decks"])
var/obj/item/tcgcard_deck/new_deck = new(get_turf(H))
new_deck.forceMove(binder)
binder.decks.Add(new_deck)
for(var/cardy in deck)
var/obj/item/tcg_card/card = new(get_turf(H), cardy, deck[cardy])
card.forceMove(new_deck)
new_deck.contents.Add(card)
continue
var/obj/item/tcg_card/card = new(get_turf(H), card_type, H.client.prefs.tcg_cards[card_type])
card.forceMove(binder)
binder.cards.Add(card)
binder.check_for_exodia()
return H
/*
@@ -361,14 +361,4 @@ SUBSYSTEM_DEF(persistence)
if(!original_human || original_human.stat == DEAD || !(original_human == ending_human))
continue
var/obj/item/tcgcard_binder/binder = locate() in ending_human
if(!binder || !length(binder.cards))
continue
var/list/card_types = list()
for(var/obj/item/tcg_card/card in binder.cards)
//if(!card.illegal) //Uncomment if you want to block syndie cards from saving
card_types[card.datum_type] = card.illegal
ending_human.client.prefs.tcg_cards = card_types
ending_human.client.prefs.save_character(TRUE)
ending_human.SaveTCGCards()