It is currently 19 Apr 2024, 08:53
   
Text Size

[fixed]Riptide Mangler

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

[fixed]Riptide Mangler

Postby client h » 29 Mar 2021, 15:27

Hi,

When you activate Riptide Mangler's ability to change it's base power to target creature's power Riptide Mangler taps (which shouldn't happen) and then Riptide Mangler goes to the graveyard.


Regards


ManaLink 3.0 Dec 2020 updated with the March 2021 update
Attachments
Riptide Mangler.zip
(1.86 KiB) Downloaded 95 times
Last edited by Aswan jaguar on 29 Mar 2021, 18:00, edited 1 time in total.
Reason: fixed
client h
 
Posts: 72
Joined: 23 Jun 2013, 10:49
Has thanked: 1 time
Been thanked: 1 time

Re: Riptide Mangler

Postby Aswan jaguar » 29 Mar 2021, 17:59

Fixed in commit 4578bde ("Riptide Mangler fix ability taps & sets toughness to 0.", 2021-03-29).
Fixed also ability lasted till eot. However I don't understand how to make it clear previous effects though. How to set such a mode in set_pt_legacy(). Effects are invisible but they will be adding with each activation and we know that leads to errors eventually.
---
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: [fixed]Riptide Mangler

Postby drool66 » 29 Mar 2021, 18:55

May I humbly suggest a solution similar to the one I used with Sentinel (see commit 513e5db from 3/8/21), which I took from Tree of Redemption? Otherwise I guess create_a_card_type() would work too. Either would probably be better than a legacy-based solution - with that you'll probably also run into problems like this one. real_set_pt() and get_base_power / _toughness probably need some kind of update for these kind of cards as well...
To clear previous effects take a look at create_targetted_legacy_effect_no_repeat() / find_repeat_legacy_effect()
User avatar
drool66
Programmer
 
Posts: 1163
Joined: 25 Nov 2010, 22:38
Has thanked: 186 times
Been thanked: 267 times

Re: [fixed]Riptide Mangler

Postby Aswan jaguar » 30 Mar 2021, 08:29

The interaction you say works fine not like level up did. Seems to work fine also with counters other change base power/toughness effects and switch p/t effects, too. In my limited tests I see only one problem and this is with cards that change only base power or only base toughness like Riptide Mangler does.
e.g If a Sorceress Queen change Riptide Mangler to 0/2 and then it's own ability targets a Grizzle Bear 2/2 and so it's power becomes 2 it will become a 2/3 instead of a 2/2. So it also applies it's original toughness every time it activates while it should keep the toughness from the effect it last changed that.
EDIT: This is the same bug Sentinel had. With your implementation Sentinel doesn't work correctly with other change base toughness effects. Target it with Sorceress Queen after Sentinel has changed it's toughness and Sorceress Queen effect will be added to that.

I believe the way to have these work correctly is to have two different functions and effects one for power and a different one for toughness and also different end effects so they end only power or only toughness effects when they are overwritten or end.
Of course it would be a lot better if it is possible for you to have their current functions do that instead of having to change all these cards.
Last edited by Aswan jaguar on 30 Mar 2021, 11:40, edited 2 times in total.
Reason: edited
---
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: [fixed]Riptide Mangler

Postby drool66 » 01 Apr 2021, 22:44

Yeah, that's kind of what I'm saying - the Sorceress Queen method that uses counter_power, and the method setting event_result of EVENT_POWER/TOUGHNESS don't work well together, and I think we should go with the latter since among other things, I'm pretty sure it honors timestamps properly. This can almost certainly be done within the functions without changing the cards that call them. I'll give it a shot & test with pump effects, multiple base and current p/t setting effects, and switch p/t effects. Can you think of anything else to test it against?
User avatar
drool66
Programmer
 
Posts: 1163
Joined: 25 Nov 2010, 22:38
Has thanked: 186 times
Been thanked: 267 times

Re: [fixed]Riptide Mangler

Postby Aswan jaguar » 02 Apr 2021, 06:01

I would only suggest that you have fresh in mind and have open the official rules for this kind of effects while doing this. If you make your changes I would also like to test those please attach manalinkEh.dll.
---
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: [fixed]Riptide Mangler

Postby Korath » 02 Apr 2021, 15:14

The system in Shandalar has worked very well; I suggest porting it, which should be straightforward. The idea is that you can combine the layers determining a creature's base and current power (or toughness) if you keep track of both separately at the same time; when you process an effect that changes base power, you take the difference between the new value and the running base power, then change both the running base and running current values by that.

Grep for raw_base_pt and raw_characteristic_pt for the backend; individual cards and effects then should call either set_base_pt() or set_characteristic_pt() during EVENT_POWER/EVENT_TOUGHNESS instead of assigning to event_result. Things not to worry about for now:
  • Stashing the values in aux->base_power/base_toughness; this is solely an optimization.
  • Stashing the values in aux->raw_power/raw_toughness; this is used when summing power or toughness (for e.g. Ghalta, Primal Hunger, where the difference between a creature with negative and zero power matters), which Manalink hasn't ever attempted to do right.
  • The stuff in card_not_in_play_power()/card_not_in_play_toughness, which compute the current power/toughness of */* creatures in libraries/graveyards/exile etc.
User avatar
Korath
DEVELOPER
 
Posts: 3707
Joined: 02 Jun 2013, 05:57
Has thanked: 496 times
Been thanked: 1106 times

Re: [fixed]Riptide Mangler

Postby Aswan jaguar » 06 Apr 2021, 18:07

What I have found so far drool66 for your attempt on this:
Aswan jaguar wrote:e.g If a Sorceress Queen change :roll: Riptide Mangler to 0/2 and then it's own ability targets a Grizzle Bear 2/2 and so it's power becomes 2 it will become a 2/3 instead of a 2/2. So it also applies it's original toughness every time it activates while it should keep the toughness from the effect it last changed that.
This is still bugged.
Other bug: Apply Sorceress Queen effect to Riptide Mangler it is now a 0/2 creature target with Riptide Mangler a 6/4 creature he is now a 6/3 should be 6/2 (bug above) now turn ends so Riptide Mangler has to go back to his last change to 6/3 but becomes 0/3 his original p/t.
---
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: [fixed]Riptide Mangler

Postby Aswan jaguar » 09 Apr 2021, 13:04

With your new attempt drool66:
The bugs with Riptide Mangler have been fixed, but Sentinel which has the same ability but for toughness is bugged. e.g Attack with Sentinel target it with Sorceress Queen effect it become a 0/2 let's say it gets blocked by a 2/2 creature and activate it's ability it should become now a 0/3 creature but it remains a 0/2.
Also Attack with Sentinel it gets blocked by a 2/2 creature and activate it's ability it is now a 1/3 creature. Now target Sentinel with Sorceress Queen effect it becomes a 0/2 creature correctly but if you reactivate Sentinel it doesn't become a 0/3 but remains a 0/2.

Wall of Tombstones also gets back to his origin p/t after other p/t base change end at eot and counts just the creatures in your graveyard not 1+creatures in your graveyard.
Also Invert // Invent effect doesn't end at eot.

I didn't test every card of course just 5,6 special cases.
---
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: [fixed]Riptide Mangler

Postby drool66 » 09 Apr 2021, 18:46

Thank you very much for checking them out.
  1. I'm glad you caught Sentinel - it's clear no card should hold its base p/t value internally any more, and should use
    Code: Select all
    real_set_pt(instance->parent_controller, instance->parent_card, instance->parent_controller, instance->parent_card, pow, tou, SET_PT_CULL_OTHERS_FROM_SAME_SOURCE)
    I also updated Tree of Redemption to do the same
  2. I missed implementing Wall of Tombstones entirely
  3. Invert//Invent is frustrating because I went to all the trouble of making its changes permanent because that's what it says on the card. Looks like a WotC mistake since they changed how it works in Gatherer. At least fixing it was just a matter of discarding the changes in git
Looks like the system holds up when implemented correctly. I think it's ready to push to git - what do you think?
User avatar
drool66
Programmer
 
Posts: 1163
Joined: 25 Nov 2010, 22:38
Has thanked: 186 times
Been thanked: 267 times

Re: [fixed]Riptide Mangler

Postby Aswan jaguar » 09 Apr 2021, 19:17

drool66 wrote:Invert//Invent is frustrating because I went to all the trouble of making its changes permanent because that's what it says on the card. Looks like a WotC mistake since they changed how it works in Gatherer. At least fixing it was just a matter of discarding the changes in git
We do have it correct in rules text comments in source, though.
drool66 wrote:Looks like the system holds up when implemented correctly. I think it's ready to push to git - what do you think?
After your latest changes it certainly seems better from what we had.
---
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: [fixed]Riptide Mangler

Postby drool66 » 13 Apr 2021, 02:34

Committed in 263320c
User avatar
drool66
Programmer
 
Posts: 1163
Joined: 25 Nov 2010, 22:38
Has thanked: 186 times
Been thanked: 267 times


Return to Archived Reports

Who is online

Users browsing this forum: No registered users and 93 guests


Who is online

In total there are 93 users online :: 0 registered, 0 hidden and 93 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 93 guests

Login Form