It is currently 02 Aug 2025, 09:18
   
Text Size

Problem with Rhys the Redeemed (Crashing)

Moderator: CCGHQ Admins

Problem with Rhys the Redeemed (Crashing)

Postby RiiakShiNal » 26 Jul 2012, 15:35

I am having a problem with a new deck I have created and am testing out. When I have Rhys the Redeemed in play and have been using the abilities then after a while the game will crash, I believe it is an issue with too much in play after a while, but I'm not 100% sure so if someone else could test either my Rhys the Redeemed or the theory that having too much in play makes the game crash I would appreciate it.

My test deck (land determined automatically other than Wirewood Lodge):

And my code for Rhys the Redeemed:
Code: Select all
<?xml version='1.0'?>
<CARD_V2>
   <FILENAME text="RHYS_THE_REDEEMED_147393" />
   <CARDNAME text="RHYS_THE_REDEEMED" />
   <TITLE>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Rhys the Redeemed]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Rhys l'Affranchi]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Rhys el redimido]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Rhys der Rehabilitierte]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Rhys il Redento]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[贖われし者、ライズ]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Rhys the Redeemed]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Риз Возвращенный]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Rhys, o Redimido]]></LOCALISED_TEXT>
   </TITLE>
   <MULTIVERSEID value="147393" />
   <ARTID value="RSN147393" />
   <ARTIST name="Steve Prescott" />
   <CASTING_COST cost="{G/W}" />
   <FLAVOURTEXT>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Whole again in honor and horn.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Enfin complet par honneur et par corne.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Nuevamente completo, en honor y en cuernos.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Ehre und Hörner sind wiederhergestellt.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Di nuovo intero, in corna e onore.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[名誉と角を再びすべて取り戻す。]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Whole again in honor and horn.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[И вот опять он цел и невредим, почет ему и слава.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Inteiro novamente, honra e chifre.]]></LOCALISED_TEXT>
   </FLAVOURTEXT>
   <SUPERTYPE metaname="Legendary" />
   <TYPE metaname="Creature" />
   <SUB_TYPE metaname="Elf" />
   <SUB_TYPE metaname="Warrior" />
   <EXPANSION value="SHM" />
   <RARITY metaname="R" />
   <POWER value="1" />
   <TOUGHNESS value="1" />
   <TOKEN_REGISTRATION reservation="5" type="TOKEN_ELF_WARRIOR_1_1_GW" />
   <ACTIVATED_ABILITY auto_skip="1" filter_zone="ZONE_IN_PLAY">
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{2}{d}, {T}: Put a 1/1 green and white Elf Warrior creature token into play.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{2}{d}, {T} : Mettez en jeu un jeton de créature 1/1 verte et blanche Elfe et Guerrier.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{2}{d}, {T}: Pon en juego una ficha de criatura Guerrero Elfo verde y blanca 1/1.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{2}{d}, {T}: Bringe einen 1/1 grünen und weißen |(Elf, Krieger)|-Kreaturenspielstein ins Spiel.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{2}{d}, {T}: Metti in gioco una pedina creatura Guerriero Elfo 1/1 bianca e verde.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{2}{d}, {T}:緑であり白である1/1のエルフ・戦士・クリーチャー・トークンを1体場に出す。]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{2}{d}, {T}: Put a 1/1 green and white Elf Warrior creature token into play.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{2}{d}, {T}: положите в игру одну фишку существа 1/1 зеленый и белый Эльф Воин.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{2}{d}, {T}: Coloque em jogo uma ficha de criatura verde e branca 1/1 do tipo Elfo Guerreiro.]]></LOCALISED_TEXT>
      <COST type="Mana" cost="{2}{G/W}" />
      <COST type="TapSelf" />
      <RESOLUTION_TIME_ACTION>
         MTG():PutTokensIntoPlay( "TOKEN_ELF_WARRIOR_1_1_GW", 1, EffectController() )
      </RESOLUTION_TIME_ACTION>
   </ACTIVATED_ABILITY>
   <ACTIVATED_ABILITY filter_zone="ZONE_IN_PLAY">
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{4}{d}{d}, {T}: For each creature token you control, put a token into play that's a copy of that creature.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{4}{d}{d}, {T} : Pour chaque jeton de créature que vous contrôlez, mettez en jeu un jeton qui est une copie de cette créature.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{4}{d}{d}, {T}: Por cada ficha de criatura que controles, pon en juego una ficha que es una copia de esa criatura.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{4}{d}{d}, {T}: Bringe für jeden Kreaturenspielstein, den du kontrollierst, einen Spielstein ins Spiel, der eine Kopie dieser Kreatur ist.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{4}{d}{d}, {T}: Per ogni pedina creatura che controlli, metti in gioco una pedina che è una copia di quella creatura.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{4}{d}{d}, {T}:あなたがコントロールするクリーチャー・トークン1体につき、そのクリーチャーのコピーであるトークンを1体場に出す。]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{4}{d}{d}, {T}: For each creature token you control, put a token into play that's a copy of that creature.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{4}{d}{d}, {T}: за каждую фишку существа под вашим контролем положите в игру одну фишку, являющуюся копией того существа.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{4}{d}{d}, {T}: Para cada ficha de criatura que você controla, coloque em jogo uma ficha que seja uma cópia daquela criatura.]]></LOCALISED_TEXT>
      <COST type="Mana" cost="{4}{G/W}{G/W}" />
      <COST type="TapSelf" />
      <FILTER>
         return CreaturesYouControl() and (FilteredCard():IsToken() ~= 0)
      </FILTER>
      <RESOLUTION_TIME_ACTION>
         if (FilteredCard() ~= nil) then
            MTG():PutTokensIntoPlayFromSpec( FilteredCard():GetSpec(), 1, EffectController() )
         end
      </RESOLUTION_TIME_ACTION>
   </ACTIVATED_ABILITY>
</CARD_V2>
When I play the deck and just leave Rhys the Redeemed in my hand, then there are no crashes (even with 100 1/1 Green Elf Warrior tokens in play). When I play Rhys the Redeemed if I use the first ability (even without the second ability being on the card, it's easy to comment out an ability for testing purposes) and get to somewhere over 100 total tokens (max should be 200 since Rhys the Redeemed creates 1/1 Green/White Elf Warrior tokens) then after a couple of turns (randomly after I reach over 100 tokens) the game will crash. If someone can find something wrong in my code then great I'll fix it as soon as possible. If it turns out to be an issue with too many tokens or too many cards on the field or something then I may be slap out of luck with this deck (would have to include a warning if I release the deck about getting out too many tokens). I have already verified that the problem does not deal with creatures getting too large as I have had up over 6800/6800 and have done more than 894,700 damage in a single turn without crashes (though opponent health does not seem to go below -9999).

If need be I can also post the code for all the other cards (that I made) as well.

Edit: I just finished a test where I played Rhys the Redeemed and used both abilities while keeping the token count below 100 and I played till I had 0 cards in my library with no crash so I think my theory about having too many tokens/objects on the field may be correct.

Edit 2: I have attached all the cards (including the 1/1 G/W Elf Warrior token which I forgot to include above) and the deck packaged in a zip (not wadded for easy examination/modification) just in case there is some issue with one of the other cards causing the problem (which I doubt, but just in case). It should also make it easier for people to re-produce my problem (the crash).
Attachments
My Elf Test Deck.zip
(43.07 KiB) Downloaded 311 times
Last edited by RiiakShiNal on 27 Jul 2012, 03:22, edited 1 time in total.
RiiakShiNal
Programmer
 
Posts: 2188
Joined: 16 May 2011, 21:37
Has thanked: 75 times
Been thanked: 497 times

Re: Problem with Rhys the Redeemed (Crashing)

Postby BlindWillow » 27 Jul 2012, 01:12

It seems to be the token registration, as far as I can tell. I changed the following:

<TOKEN_REGISTRATION reservation="5" type="TOKEN_ELF_WARRIOR_1_1_GW" />

to

<TOKEN_REGISTRATION reservation="1" type="TOKEN_ELF_WARRIOR_1_1_GW" />

and had no problems with well over two hundred tokens of various kinds (including 100 of Rhys's elf warrior tokens) on the battlefield. When I changed the code back to what you had, the game crashed the moment I had 100 of Rhys's elf warrior tokens.
BlindWillow
 
Posts: 213
Joined: 19 Jul 2012, 00:26
Has thanked: 11 times
Been thanked: 46 times

Re: Problem with Rhys the Redeemed (Crashing)

Postby RiiakShiNal » 27 Jul 2012, 02:58

BlindWillow wrote:It seems to be the token registration, as far as I can tell. I changed the following:

<TOKEN_REGISTRATION reservation="5" type="TOKEN_ELF_WARRIOR_1_1_GW" />

to

<TOKEN_REGISTRATION reservation="1" type="TOKEN_ELF_WARRIOR_1_1_GW" />

and had no problems with well over two hundred tokens of various kinds (including 100 of Rhys's elf warrior tokens) on the battlefield. When I changed the code back to what you had, the game crashed the moment I had 100 of Rhys's elf warrior tokens.
Hmmm.... Doesn't seem to work for me. Even if I have the reservation set to 1 when I get to more than 100 tokens it still crashes after a few turns (which turn after still seems to be random). I have no problem with having 100 of Rhys' G/W tokens in play if they are the only tokens I have, but when I get over 100 crashes start happening again. If you had no problem with more than 200 tokens then maybe the problem lies with having more than 100 tokens with the same CARDNAME text because I have been playing with Elvish Promenade and Imperious Perfect which create 1/1 green Elf Warrior tokens and the tokens have the same CARDNAME (FILENAME is different of course), so I'll see what happens if I change the CARDNAME and report back.

Edit: Nope, changing the CARDNAME from "ELF_WARRIOR" to "ELF_WARRIOR_GW" had no effect. Out of curiosity what version of DotP 2013 are you using (Skidrow, Theta, or other)?

Edit 2: I just tried using the Skidrow version (normally I use Theta) and the problem still exists, but it seems to take longer to manifest (more turns). I managed to get to 200 tokens (100 1/1 G Elf Warriors & 100 1/1 G/W Elf Warriors) and somewhere around 10-15 turns later it crashed.
RiiakShiNal
Programmer
 
Posts: 2188
Joined: 16 May 2011, 21:37
Has thanked: 75 times
Been thanked: 497 times

Re: Problem with Rhys the Redeemed (Crashing)

Postby BlindWillow » 27 Jul 2012, 16:37

RiiakShiNal wrote:Out of curiosity what version of DotP 2013 are you using (Skidrow, Theta, or other)?
I am using Skidrow. I went for at least ten turns after having more than 100 tokens on the battlefield with no crashing. However, I didn't have additional kinds of elf tokens out.

I can't imagine it's the problem (and I assumed it wasn't since the game crashed for me immediately after the change to the token reservation tag), but I also changed the code for the first ability to:

Code: Select all
      <RESOLUTION_TIME_ACTION>
      local token_count = 1
      if token_count &gt; 0 then
   MTG():PutTokensIntoPlay( "TOKEN_ELF_WARRIOR_1_1_GW", token_count, EffectController() )
      end
      </RESOLUTION_TIME_ACTION>
Here's the code I'm using for Rhys's elf warrior tokens:

Code: Select all
<CARD_V2>
  <FILENAME text="TOKEN_ELF_WARRIOR_1_1_GW" />
  <CARDNAME text="ELF_WARRIOR" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[ELF WARRIOR]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[ELFE ET GUERRIER]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[GUERRERO ELFO]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[ELF, KRIEGER]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[GUERRIERO ELFO]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[エルフ・戦士]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[ELF WARRIOR]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[ЭЛЬФА ВОИН]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[ELFO GUERREIRO]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="9169991" />
  <ARTID value="9169991" />
  <COLOUR value="GW" />
  <ARTIST name="Carl Frank" />
  <CASTING_COST cost="" />
  <TYPE metaname="Creature" />
  <SUB_TYPE metaname="Elf" order_de-DE="0" order_es-ES="1" order_fr-FR="0" order_it-IT="1" order_jp-JA="0" order_ko-KR="0" order_pt-BR="0" order_ru-RU="0" />
  <SUB_TYPE metaname="Warrior" order_de-DE="1" order_es-ES="0" order_fr-FR="1" order_it-IT="0" order_jp-JA="1" order_ko-KR="1" order_pt-BR="1" order_ru-RU="1" />
  <EXPANSION value="DPG" />
  <RARITY metaname="T" />
  <POWER value="1" />
  <TOUGHNESS value="1" />
  <TOKEN />
  <SFX text="COMBAT_BLADE_LARGE_ATTACK" power_boundary_min="4" power_boundary_max="-1" />
  <SFX text="COMBAT_BLADE_SMALL_ATTACK" power_boundary_min="1" power_boundary_max="3" />
</CARD_V2>
I don't know if that will make a difference. Maybe the game would have crashed for me too if I had kept going. I'll do some more testing tonight if nothing works for you.
BlindWillow
 
Posts: 213
Joined: 19 Jul 2012, 00:26
Has thanked: 11 times
Been thanked: 46 times

Re: Problem with Rhys the Redeemed (Crashing)

Postby RiiakShiNal » 27 Jul 2012, 17:05

Due to the random crashing of this problem to properly test I try to get out as many tokens as I can until I hit 200 then just play until either it crashes or I run out of cards in my deck (this is why I noticed the problem still exists at least for me on the Skidrow version). If I can get out 200 tokens relatively early then last the other ~40 turns then I think the problem is probably solved.

Well, the code we have for the elf warrior tokens is pretty close with the only real differences being the Korean title, multiverse id, art id, artist name, and expansion (none of which affect how the token plays). The changes you made to the first ability are functionally identical so I don't expect any change there either.

I will, however, try out your changes a little later and see if it makes a difference (I'm grasping at straws at this point).
RiiakShiNal
Programmer
 
Posts: 2188
Joined: 16 May 2011, 21:37
Has thanked: 75 times
Been thanked: 497 times

Re: Problem with Rhys the Redeemed (Crashing)

Postby BlindWillow » 28 Jul 2012, 04:08

There's no need to grasp at straws, I think. It does appear to be a bug in the game engine. I performed a couple tests that couldn't possibly be anything else (first test: changed Midnight Haunting and Sprout to create 100 tokens each, second test: switched over to Talrand's deck and changed Day of the Dragons and Talrand's Invocation to create 100 tokens each). The game crashed after 2-3 turns each time after putting 200 tokens onto the battlefield.
BlindWillow
 
Posts: 213
Joined: 19 Jul 2012, 00:26
Has thanked: 11 times
Been thanked: 46 times

Re: Problem with Rhys the Redeemed (Crashing)

Postby RiiakShiNal » 28 Jul 2012, 15:00

Well, at least I can stop looking for a problem in my code, though it really is a pain for something I had in mind. Once I got everything working I was going to put in Llanowar Mentor as well so I could double the Elf Druid tokens as well (which would work even better for Gilt-Leaf Archdruid), but now that you have confirmed that you get the crashes as well using other cards I'll probably need to look at limiting how many tokens any deck I make, creates (or add warnings).

Thanks for helping me test and confirming at least one problem (even if it wasn't the one I wanted to confirm).
RiiakShiNal
Programmer
 
Posts: 2188
Joined: 16 May 2011, 21:37
Has thanked: 75 times
Been thanked: 497 times


Return to Programming Talk

Who is online

Users browsing this forum: No registered users and 2 guests

Main Menu

User Menu

Our Partners


Who is online

In total there are 2 users online :: 0 registered, 0 hidden and 2 guests (based on users active over the past 10 minutes)
Most users ever online was 7303 on 15 Jul 2025, 20:46

Users browsing this forum: No registered users and 2 guests

Login Form