Page 1 of 1

Planechase for DOTP2014

PostPosted: 23 Jun 2019, 10:44
by Splinterverse
--Original post removed.--

The mode has been fully developed and is now available for play in DOTP2014 if you are using the CW mod.

See this thread for more details:
viewtopic.php?f=109&t=28654

Re: Planechase for DOTP2014

PostPosted: 23 Jun 2019, 19:48
by Splinterverse
OP updated with additional plane cards and notes. :)

Re: Planechase for DOTP2014

PostPosted: 23 Jun 2019, 20:43
by Splinterverse
OP updated with a new issue. Files updated to address when a plane is sent to the hand accidentally.

Re: Planechase for DOTP2014

PostPosted: 23 Jun 2019, 21:11
by Splinterverse
-- REMOVED SINCE ISSUE HAS BEEN SUCCESSFULLY RESOLVED --

Re: Planechase for DOTP2014

PostPosted: 24 Jun 2019, 00:48
by Splinterverse
-- REMOVED SINCE ISSUE HAS BEEN SUCCESSFULLY RESOLVED --

Re: Planechase for DOTP2014

PostPosted: 26 Jun 2019, 12:53
by Splinterverse
Issue #2 was corrected. The OP has been updated with all of the corrections as well as new artwork for the planes.

Re: Planechase for DOTP2014

PostPosted: 27 Jun 2019, 00:24
by Splinterverse
I've updated the OP with many more Plane cards as well as the first Phenomenon card. I've also included some in-game screen caps of the Plane cards. Enjoy!

Re: Planechase for DOTP2014

PostPosted: 30 Jun 2019, 12:20
by Splinterverse
All but 2 of the Planechase cards have been coded. I am hoping to release as part of the Community Wad very soon! Stay tuned . . .

Re: Planechase for DOTP2014

PostPosted: 30 Jun 2019, 18:09
by Xander9009
For your issue of the LinkedDC in a prerequisite block, this is a known limitation, unfortunately. The typical solution is to use RSN_ObjectDC instead. Just make sure that it's protected across zone changes if needed.

Alternatively, you can also implement an AI-only limit. But that would be a bit complicated, so I'd go for the RSN_ObjectDC.

Re: Planechase for DOTP2014

PostPosted: 30 Jun 2019, 21:50
by Splinterverse
Xander9009 wrote:For your issue of the LinkedDC in a prerequisite block, this is a known limitation, unfortunately. The typical solution is to use RSN_ObjectDC instead. Just make sure that it's protected across zone changes if needed.

Alternatively, you can also implement an AI-only limit. But that would be a bit complicated, so I'd go for the RSN_ObjectDC.
I've tried a constant and an AI only limit, but neither worked. In fact, if there is anything in that prerequisite block other than "return true", the AI doesn't want to roll the planar die.

It works fine as is, it just means that it will show activate-able when you don't have the mana for it. Nothing will happen if you activate it when you don't have the mana. It will just display a message. The limit is 10 right now, but the AI gives up after 6 failed attempts and I've yet to play a game where I wanted to roll more than 10 times in a match. And I've played a ton of games. We can always make the limit higher as well.

Re: Planechase for DOTP2014

PostPosted: 03 Jul 2019, 15:46
by Splinterverse
Aside from 2 (nearly) impossible cards, I've got every Planechase card coded and tested. Now, I just need help getting 5 of the cards fixed since everything I've tried hasn't worked. Once that's done, I will release the whole thing to the CW (including a pre-built Planechase deck with all of the cards for ease of dropping it into your game).

If anyone reading this can review the code and make suggestions on possible fixes that would be great. You can't really test or try these (except in isolation) because I haven't released all of the supporting cards/files yet. So I'm more looking for code review/comment.

Here are my problem cards . . .

Agyrem The card's first two abilities work beautifully and as intended. The third ability is where the problem is. The phrase "until a player planeswalks" is not managed by a trigger in the DOTP2014 implementation. It is managed by the plane leaving the battlefield (because it will only leave as a result of planeswalking). I've tried several things, but none have worked. This link contains several attempts on that ability: https://pastebin.com/YikGCeqe.

Eloren Wilds It's first ability works great. It's the second (Chaos) ability that is the issue, and it's similar to Agyrem. I need to get it to recognize that the players have planeswalked away from it and stop the Chaos effect. Here's a link to the code I've attempted for this ability: https://pastebin.com/M4pS5JiG.

Glen Elendra The issue with this card concerns its first ability only. I don't think I can use Interrogate for it. (Or if I can, I'm unsure how to do so.) Here's a link to what I've attempted: https://pastebin.com/D2xVHtBy

Mirrored Depths This one has issues with it's first ability only. No matter what I try, it won't counter a spell when the coin flip is a loss. I really think the issue is countering the spell rather than processing the flip. Maybe the combination of coin flipping and countering a spell in the same ability is just bugged? Here's a link to code for the ability: https://pastebin.com/rnCS5UHD

The Maelstrom The first ability is not working (Chaos ability is good). I've tried so many versions of this. I re-coded it a couple times even. Sometimes it will prompt and ask if you want to reveal the card, but then it never does anything beyond that. See this link for existing attempts: https://pastebin.com/hq2uYhy6

A couple things to keep in mind . . .

1.) To facilitate Planechase in DOTP2014, we don't use EffectController() much on most plane cards because it is the AI planar deck controller who, for all intents and purposes, is not really playing the game. The AI planar deck controller exists to play the plane cards, maintain the planar deck, and allow for planar die rolling.
2.) As a result of #1 above, most of the planes' triggered abilities require first determining who the current player is because they are the trigger player rather than the Effect Controller. (For example, "rolling Chaos" on the planar die is a trigger. The EffectController() of the plane is not doing that. It's the active player.) In fact, we have to eliminate the EffectController from some triggers, filters, etc., because we don't want the EffectController doing anything on its own.
3.) You will see a function I created that returns the current player . . . CW_Planechase_GetCurrentPlayer(). This has been tested and works so it shouldn't be the issue for any of the problem cards.

I appreciate any help you can provide. Having played many games with Planechase to test these 80+ cards, it is a lot of fun. I can't wait to share it with everyone.

Re: Planechase for DOTP2014

PostPosted: 03 Jul 2019, 19:41
by fallenangle
Dear Splinterverse,

Thanks for your message. It's been a VERY long time since I've done anything with DOTP, so I can't promise I'll have any ideas that you haven't tried. That said, I'll offer what suggestions come to mind.

Agyrem - Where does the Planar Deck actually live (i.e., what zone)? Alternatively, can we count the number of cards in it and get the relative position of a card? I'm not sure I fully understand how planechase works; but if my memory serves me, rolling Chaos planeswalks. If this is so, then the plane you walk away from is put onto the bottom of the planar deck, then shuffled (or maybe not shuffled?). At any event, if you could track where the current plane is in the plane deck versus its current position there, that might open up a way to do things.

Eloren Wilds - Same thing.

Glen Elendra - Doesn't the plane effect all players? I think there is an interrogation, or maybe just a trigger, that checks if players lost life from combat damage. Give that to all players, then have it check at end of combat if this is true for non-active players. If it is, ask the active player if he or she wants to swap creatures. You can make the trigger go away when planeswalking, or the plane is nil, or back in the planar deck somewhere.

Mirrored Depths - Why not create a triggered ability that checks the coin flip and sets a DC or LinkedDC based on it? Then, you may another, pre-trigger ability for "SPELL_ABOUT_TO_RESOLVE" that checks that DC. If there's a match, counter the stack object, or the spell that you've put into another chest somewhere. I think multiple abilities are the way to go on this one.

The Maelstrom - Chaos Warp, Avycyn's Return, and other similar cards should get you the permanent flip question you want. For planeswalking to it, you might be able to check if its planar deck position changed during the active player's turn. If it ends up on the top, the active player must have planeswalked to it. The rest of the ability should just be a BEGINNING_OF_PLAYERS_STEP triggered ability.

Again, I have no idea if any of this will work. It's what I'd try if I were going to code these things, though. Good luck!

Re: Planechase for DOTP2014

PostPosted: 03 Jul 2019, 19:57
by Splinterverse
fallenangle wrote:Dear Splinterverse,

Thanks for your message. It's been a VERY long time since I've done anything with DOTP, so I can't promise I'll have any ideas that you haven't tried. That said, I'll offer what suggestions come to mind.

Agyrem - Where does the Planar Deck actually live (i.e., what zone)? Alternatively, can we count the number of cards in it and get the relative position of a card? I'm not sure I fully understand how planechase works; but if my memory serves me, rolling Chaos planeswalks. If this is so, then the plane you walk away from is put onto the bottom of the planar deck, then shuffled (or maybe not shuffled?). At any event, if you could track where the current plane is in the plane deck versus its current position there, that might open up a way to do things.

Eloren Wilds - Same thing.

Glen Elendra - Doesn't the plane effect all players? I think there is an interrogation, or maybe just a trigger, that checks if players lost life from combat damage. Give that to all players, then have it check at end of combat if this is true for non-active players. If it is, ask the active player if he or she wants to swap creatures. You can make the trigger go away when planeswalking, or the plane is nil, or back in the planar deck somewhere.

Mirrored Depths - Why not create a triggered ability that checks the coin flip and sets a DC or LinkedDC based on it? Then, you may another, pre-trigger ability for "SPELL_ABOUT_TO_RESOLVE" that checks that DC. If there's a match, counter the stack object, or the spell that you've put into another chest somewhere. I think multiple abilities are the way to go on this one.

The Maelstrom - Chaos Warp, Avycyn's Return, and other similar cards should get you the permanent flip question you want. For planeswalking to it, you might be able to check if its planar deck position changed during the active player's turn. If it ends up on the top, the active player must have planeswalked to it. The rest of the ability should just be a BEGINNING_OF_PLAYERS_STEP triggered ability.

Again, I have no idea if any of this will work. It's what I'd try if I were going to code these things, though. Good luck!
Thanks fallenangle! Glad to see you back here, even if it ends up being brief.

The way I made it work with DOTP2014 is to designate one of the players in free-for-all as the "planar deck controller" and essentially muting that player from doing anything else. That player has a control card on the battlefield that any player can activate to "roll the die". The results are displayed for all to see and depending on the result, everyone planeswalks or the person who rolled the die experiences the chaos effect. It was the only way to create an additional deck. It does limit us to free-for-all mode with it, but I think that's ok. It's definitely worth it to get to play with all of these cards.

I'm in the midst of coding M20, but when I'm done with that (or taking a break), I'll dive deep into your suggestions. I really appreciate the response and I hope you stick around!!!

Re: Planechase for DOTP2014

PostPosted: 06 Jul 2019, 11:51
by Splinterverse
Development is complete. All coded cards are working, fully tested and uploaded.

For more information, see viewtopic.php?f=109&t=28654