It is currently 24 Apr 2024, 04:02
   
Text Size

[confirm]Tree of Redemption or Red Sun's Zenith- error

Report wrong Card behavior to get it fixed.
PLEASE ADD SAVEGAMES TO YOUR TOPIC !

Moderators: BAgate, drool66, Aswan jaguar, gmzombie, stassy, CCGHQ Admins

[confirm]Tree of Redemption or Red Sun's Zenith- error

Postby Wally » 30 May 2020, 05:01

On AI casting Tree of Redemption

Game continued after closing parameters window (I'll post these parameters errors as references in case we get someone who knows how to read them again)

bad parameters
get_card_instance(1, -1)
0: 0x02509628
1: 0x024C041E
2: 0x02477513
3: 0x02519635
4: 0x024F731D
5: 0x024F7A46
6: 0x004368C6
7: 0x024CE347
8: 0x0043BFAA
9: 0x004399BD
10: 0x0047902C
11: 0x004946E9
12: 0x76186359
13: 0x77367C24
14: 0x77367BF4
Attachments
AUTOSAVE.zip
(2.53 KiB) Downloaded 120 times
Last edited by Aswan jaguar on 30 May 2020, 14:09, edited 1 time in total.
Reason: confirmed
Wally
 
Posts: 233
Joined: 05 Mar 2009, 04:39
Location: Australia
Has thanked: 2 times
Been thanked: 14 times

Re: Tree of Redemption - bad parameters

Postby Aswan jaguar » 30 May 2020, 12:42

Possibly related:
viewtopic.php?f=86&t=18763&p=224800&hilit=Tree+of+Redemption#p224800

EDIT: The fault is either Tree of Redemption or Red Sun's Zenith or could be the interaction of both in AI computation. If either is missing no error is produced.
---
Trying to squash some bugs and playtesting.
User avatar
Aswan jaguar
Super Tester Elite
 
Posts: 8078
Joined: 13 May 2010, 12:17
Has thanked: 730 times
Been thanked: 458 times

Re: [confirm]Tree of Redemption or Red Sun's Zenith- error

Postby drool66 » 30 May 2020, 23:56

The dump can be avoided by either:
a) removing all instances in Tree of Redemption to parent_card_controller, parent_card. Replacing them with player, card means the tree's toughness change effect doesn't work - obviously not a fix

b) In RSZ, changing
Code: Select all
         int dc = damage_target0(player, card, instance->info_slot);
         if( instance->targets[0].card > -1 && is_what(instance->targets[0].player, instance->targets[0].card, TYPE_CREATURE) ){
            get_card_instance(player, dc)->targets[3].card |= DMG_EXILE_IF_LETHALLY_DAMAGED_THIS_WAY;
         }
to
Code: Select all
         if( instance->targets[0].card > -1 && is_what(instance->targets[0].player, instance->targets[0].card, TYPE_CREATURE) ){
            set_special_flags(instance->targets[0].player, instance->targets[0].card, SF_LETHAL_DAMAGE_EXILE);
            exile_if_would_be_put_into_graveyard(player, card, instance->targets[0].player, instance->targets[0].card, 1);
         }
         damage_target0(player, card, instance->info_slot);
Thing is, this is exactly what DMG_EXILE_IF_LETHALLY_DAMAGED_THIS_WAY is trying to do, and to the same targets; I really don't know why we get the error. I'm sure it has something to do with me not understanding the difference between parent_card_controller, parent_card & player, card. I don't know if I should apply this fix if I don't know exactly why it works, so I can better understand whether it will break anything else.
User avatar
drool66
Programmer
 
Posts: 1163
Joined: 25 Nov 2010, 22:38
Has thanked: 186 times
Been thanked: 267 times


Return to Bug Reports

Who is online

Users browsing this forum: No registered users and 27 guests


Who is online

In total there are 27 users online :: 0 registered, 0 hidden and 27 guests (based on users active over the past 10 minutes)
Most users ever online was 4143 on 23 Jan 2024, 08:21

Users browsing this forum: No registered users and 27 guests

Login Form