It is currently 25 Apr 2024, 09:43
   
Text Size

Hour of Devastation development -- 176/186 uploaded

Moderator: CCGHQ Admins

Re: Hour of Devastation development -- 78 uploaded and compl

Postby Xander9009 » 26 Jun 2017, 22:39

merdok wrote:The Locust God has bug, its activated ability is causing it to tap.
Fixed. I also changed this and the two companion gods' on-death triggers a bit. They'll need to be tested to make sure I didn't much them up.
_______________________________
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
User avatar
Xander9009
Programmer
 
Posts: 2905
Joined: 29 Jun 2013, 07:44
Location: Indiana, United States
Has thanked: 121 times
Been thanked: 445 times

Re: Hour of Devastation development -- 78 uploaded and compl

Postby fallenangle » 27 Jun 2017, 03:36

I'd like to do Overwhelming Splendor, if someone hasn't already done it
fallenangle
 
Posts: 319
Joined: 20 Jul 2013, 02:31
Has thanked: 73 times
Been thanked: 41 times

Re: Hour of Devastation development -- 78 uploaded and compl

Postby Splinterverse » 27 Jun 2017, 09:32

fallenangle wrote:I'd like to do Overwhelming Splendor, if someone hasn't already done it
Go for it.

I am back online for a bit and will be coding the other spoiled cards from yesterday and today. Will post when I am finished.
---------------------------------------------
The DOTP2014 CW is updated nightly between 11 PM and 12 AM EST.
Known Issues/Bugs |
Impossible Cards List | Update Your Land Pools
Splinterverse
 
Posts: 918
Joined: 04 Sep 2016, 13:32
Has thanked: 150 times
Been thanked: 75 times

Re: Hour of Devastation development -- 88 uploaded and compl

Postby Splinterverse » 27 Jun 2017, 11:23

Finished coding for today. Soonest I will code again is potentially tomorrow morning.

OP updated.

Art added for all newly spoiled cards, including HQ for Champion of Wits, Djeru, With Eyes Open, God-Pharoah's Gift, and Overwhelming Splendor.

The following cards were coded but NOT tested (all have been uploaded to CW):
Champion of Wits + token
Hashep Oasis
Hollow One
Ifnir Deadlands
Ipnu Rivulet
Ramunap Ruins
Shefet Dunes
Unraveling Mummy

I have also coded God-Pharaoh's Gift, but I am uncertain how to make the token have haste only for 1 turn when the rest of the continuous abilities are more or less permanent. Perhaps a delayed trigger that grants a CA with EOT as duration? Here's the code: https://pastebin.com/pHkyXsz0

If anyone feels like adding the Haste mentioned above and put the card in the CW, feel free. Just add your name to the author block with mine.
---------------------------------------------
The DOTP2014 CW is updated nightly between 11 PM and 12 AM EST.
Known Issues/Bugs |
Impossible Cards List | Update Your Land Pools
Splinterverse
 
Posts: 918
Joined: 04 Sep 2016, 13:32
Has thanked: 150 times
Been thanked: 75 times

Re: Hour of Devastation development -- 88 uploaded and compl

Postby fallenangle » 27 Jun 2017, 14:07

Splinterverse, what you suggested is exactly what I would do. Assuming I didn't make any stupid mistakes, this code should be what you need for God-Pharaoh's Gift:

Code: Select all
<?xml version="1.0"?>
<CARD_V2 ExportVersion="1">
    <FILENAME text="GODPHARAOHS_GIFT_CW" />
    <CARDNAME text="GODPHARAOHS_GIFT" />
    <TITLE>
        <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[God-Pharaoh’s Gift]]></LOCALISED_TEXT>
        <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[God-Pharaoh’s Gift]]></LOCALISED_TEXT>
        <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[God-Pharaoh’s Gift]]></LOCALISED_TEXT>
        <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[God-Pharaoh’s Gift]]></LOCALISED_TEXT>
        <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[God-Pharaoh’s Gift]]></LOCALISED_TEXT>
        <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[God-Pharaoh’s Gift]]></LOCALISED_TEXT>
        <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[God-Pharaoh’s Gift]]></LOCALISED_TEXT>
        <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[God-Pharaoh’s Gift]]></LOCALISED_TEXT>
        <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[God-Pharaoh’s Gift]]></LOCALISED_TEXT>
        <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[God-Pharaoh’s Gift]]></LOCALISED_TEXT>
        <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[God-Pharaoh’s Gift]]></LOCALISED_TEXT>
    </TITLE>
    <MULTIVERSEID value="0" />
    <ARTID value="GODPHARAOHS_GIFT" />
    <ARTIST name="Titus Lanter" />
    <CASTING_COST cost="{7}" />
    <TYPE metaname="Artifact" />
    <EXPANSION value="HOU" />
    <RARITY metaname="R" />
    <TRIGGERED_ABILITY>
        <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[At the beginning of combat on your turn, you may exile a creature card from your graveyard. If you do, create a token that’s a copy of that card, except it’s a 4/4 black Zombie. It gains haste until end of turn.]]></LOCALISED_TEXT>
        <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[At the beginning of combat on your turn, you may exile a creature card from your graveyard. If you do, create a token that’s a copy of that card, except it’s a 4/4 black Zombie. It gains haste until end of turn.]]></LOCALISED_TEXT>
        <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[At the beginning of combat on your turn, you may exile a creature card from your graveyard. If you do, create a token that’s a copy of that card, except it’s a 4/4 black Zombie. It gains haste until end of turn.]]></LOCALISED_TEXT>
        <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[At the beginning of combat on your turn, you may exile a creature card from your graveyard. If you do, create a token that’s a copy of that card, except it’s a 4/4 black Zombie. It gains haste until end of turn.]]></LOCALISED_TEXT>
        <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[At the beginning of combat on your turn, you may exile a creature card from your graveyard. If you do, create a token that’s a copy of that card, except it’s a 4/4 black Zombie. It gains haste until end of turn.]]></LOCALISED_TEXT>
        <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[At the beginning of combat on your turn, you may exile a creature card from your graveyard. If you do, create a token that’s a copy of that card, except it’s a 4/4 black Zombie. It gains haste until end of turn.]]></LOCALISED_TEXT>
        <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[At the beginning of combat on your turn, you may exile a creature card from your graveyard. If you do, create a token that’s a copy of that card, except it’s a 4/4 black Zombie. It gains haste until end of turn.]]></LOCALISED_TEXT>
        <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[At the beginning of combat on your turn, you may exile a creature card from your graveyard. If you do, create a token that’s a copy of that card, except it’s a 4/4 black Zombie. It gains haste until end of turn.]]></LOCALISED_TEXT>
        <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[At the beginning of combat on your turn, you may exile a creature card from your graveyard. If you do, create a token that’s a copy of that card, except it’s a 4/4 black Zombie. It gains haste until end of turn.]]></LOCALISED_TEXT>
        <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[At the beginning of combat on your turn, you may exile a creature card from your graveyard. If you do, create a token that’s a copy of that card, except it’s a 4/4 black Zombie. It gains haste until end of turn.]]></LOCALISED_TEXT>
        <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[At the beginning of combat on your turn, you may exile a creature card from your graveyard. If you do, create a token that’s a copy of that card, except it’s a 4/4 black Zombie. It gains haste until end of turn.]]></LOCALISED_TEXT>
        <TRIGGER value="BEGINNING_OF_PLAYERS_STEP" simple_qualifier="controller">
            return MTG():GetStep() == STEP_BEGIN_COMBAT
        </TRIGGER>
        <MAY always_prompt="1" />
        <TARGET tag="SPL_CARD_QUERY_CHOOSE_CARD_TO_EXILE" definition="0" compartment="0" count="1" />
        <TARGET_DEFINITION id="0">
            local filter = ClearFilter()
            filter:SetZone(ZONE_GRAVEYARD)
            filter:Add(FE_TYPE, OP_IS, CARD_TYPE_CREATURE)
        </TARGET_DEFINITION>
        <RESOLUTION_TIME_ACTION>
            local target = EffectDC():Get_Targets(0) and EffectDC():Get_Targets(0):Get_CardPtr(0)
            if target ~= nil then
                MTG():PutTokenCopiesOntoBattlefield( target, 1, EffectController(), EffectDC():Make_Chest(4) )
                target:Exile()
            end
        </RESOLUTION_TIME_ACTION>
      <RESOLUTION_TIME_ACTION>
      local token = EffectDC():Get_Chest(4) and EffectDC():Get_Chest(4):Get_CardPtr(0)
      if token ~= nil then
      local delayDC = EffectDC():Make_Chest(7)
         delayDC:Set_CardPtr(0, token)
         delayDC:Protect_CardPtr(0)
         MTG():CreateDelayedTrigger(7, delayDC)
         end
      </RESOLUTION_TIME_ACTION>
        <CONTINUOUS_ACTION layer="4">
            local token = EffectDC():Get_Chest(4) and EffectDC():Get_Chest(4):Get_CardPtr(0)
            if token ~= nil then
                token:GetCurrentCharacteristics():SubType_GetWritable():ClearAllOfType(CARD_TYPE_CREATURE)
                token:GetCurrentCharacteristics():SubType_GetWritable():Add(CREATURE_TYPE_ZOMBIE)
            end
        </CONTINUOUS_ACTION>
        <CONTINUOUS_ACTION layer="5">
            local token = EffectDC():Get_Chest(4) and EffectDC():Get_Chest(4):Get_CardPtr(0)
            if token ~= nil then
                token:GetCurrentCharacteristics():Colour_Set(COLOUR_BLACK)
            end
        </CONTINUOUS_ACTION>
        <CONTINUOUS_ACTION layer="7B">
            local token = EffectDC():Get_Chest(4) and EffectDC():Get_Chest(4):Get_CardPtr(0)
            if token ~= nil then
                local characteristics = token:GetCurrentCharacteristics()
                if characteristics ~= nil then
                    characteristics:Power_Set(4)
                    characteristics:Toughness_Set(4)
                end
            end
        </CONTINUOUS_ACTION>
        <DURATION>
            return false
        </DURATION>
    </TRIGGERED_ABILITY>
   
   <TRIGGERED_ABILITY resource_id="7" replacement_effect="1">
   <TRIGGER value="STATE_BASED_EFFECTS">
   return TriggerObject() == EffectDC():Get_CardPtr(0)
   </TRIGGER>
   <CONTINUOUS_ACTION layer="6">
   if TriggerObject() ~= nil then
   TriggerObject():GetCurrentCharacteristics():Bool_Set( CHARACTERISTIC_HASTE, 1 )
   end
   </CONTINUOUS_ACTION>
   <DURATION simple_duration="UntilEOT" />
   </TRIGGERED_ABILITY>
   
    <!-- SPOILER -->
    <AUTHOR><![CDATA[Splinterverse]]></AUTHOR>
    <EDITORS><![CDATA[Splinterverse, fallenangle]]></EDITORS>
    <DATE><![CDATA[27-06-17]]></DATE>
</CARD_V2>
fallenangle
 
Posts: 319
Joined: 20 Jul 2013, 02:31
Has thanked: 73 times
Been thanked: 41 times

Re: Hour of Devastation development -- 88 uploaded and compl

Postby Xander9009 » 27 Jun 2017, 16:46

There are two ways you could do it. The first is the way that was already suggested, but the trigger should preferably not be STATE_BASED_ACTION if you can manage it. I'd use PHENOMENON_ENCOUNTERED and immediately follow up the creation of the trigger with CW_General_FireTrigger(). If you use this function, you'll need to make a trigger constant for, like, "CW_FAKE_CA_TRIGGER" (since it could be reused on any cards that need to do the same thing). You could also skip that and just go straight for "MTG():FireTrigger(TRIGGER_PHENOMENON_ENCOUNTERED, EffectSource())". EffectSource would become TriggerObject(), though that's pretty much unnecessary.

The second method would probably be a little easier to do, and that would be to have a CONTINUOUS_ACTION that contains some code that shuts it down at the appropriate time. This could be done in a few ways. You could have an RTA run before the CA which stores the current turn number. In the CA< if the current turn number isn't what it started as, do nothing. Or, in the CA, make sure EffectDC():Get_Int(0) == 0 (change int(0) to something that's not in use, if needed). If it's not, then grant haste and check the current step. If it's the end of turn, set int(0) to 1. This will mean the next time it tries to run, int(0) will NOT be 0, and it'll do nothing. You could also have the CA check the turn number without a helper RTA by simply having it check the turn number, and if it's 0 (int defaults), then set it to the current turn number. This will only happen once since from then on it'll never be 0 again. Otherwise, it's the same and the first RTA+CA option.

I'd probably personally end up going with one of these options (probably checking for "STEP_END_OF_TURN"), but either method should work fine. fallenangle's code should do the trick. Though, like I mentioned I'd switch away from STATE_BASED_EFFECTSso you can manually fire it without affecting other cards. (This allows you to be 100% certain it takes effect immediately like it should.) However, it's unlikely to ever cause problems, so it's not a big deal if you just leave with STATE_BASED_EFFECTS. Heck, I'm pretty sure all morph cards use that trigger, too. But do make sure to call MTG():FireTrigger(TRIGGER_STATE_BASED_EFFECTS) if you leave it as that (or if you use any other trigger based method).

EDIT: Oh, and fallenangle, don't forget that when you add a second editor, you need a second date. Those two fields should always have the same number of entries.
Last edited by Xander9009 on 28 Jun 2017, 03:42, edited 1 time in total.
_______________________________
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
User avatar
Xander9009
Programmer
 
Posts: 2905
Joined: 29 Jun 2013, 07:44
Location: Indiana, United States
Has thanked: 121 times
Been thanked: 445 times

Re: Hour of Devastation development -- 88 uploaded and compl

Postby Xander9009 » 27 Jun 2017, 19:48

Remember how you asked about a card having a multiverseid of 0? Well, yes, it does cause problems. It let the AI's characteristics manager (or planeswalker manager, if they didn't have the other; or ANY manager since they all have an MID of 0) use my planeswalkers' abilities. Both Nicol Bolas, God-Pharaoh and Nicol Bolas, the Deceiver. It even used the abilities before I'd played the cards. They just had to exist... So yeah, those will need set to something non-0 in the mean-time.
_______________________________
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
User avatar
Xander9009
Programmer
 
Posts: 2905
Joined: 29 Jun 2013, 07:44
Location: Indiana, United States
Has thanked: 121 times
Been thanked: 445 times

Re: Hour of Devastation development -- 88 uploaded and compl

Postby fallenangle » 27 Jun 2017, 20:24

I'm pretty sure that cards can't fire state-based Triggers on other cards. I agree with Xander that a custom, fake Trigger would be best; but if you stick with STATE_BASED_EFFECTS (NOT STATE_BASED_ACTIONS), then you'll want this:

Code: Select all
    <?xml version="1.0"?>
    <CARD_V2 ExportVersion="1">
        <FILENAME text="GODPHARAOHS_GIFT_CW" />
        <CARDNAME text="GODPHARAOHS_GIFT" />
        <TITLE>
            <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[God-Pharaoh’s Gift]]></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[God-Pharaoh’s Gift]]></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[God-Pharaoh’s Gift]]></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[God-Pharaoh’s Gift]]></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[God-Pharaoh’s Gift]]></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[God-Pharaoh’s Gift]]></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[God-Pharaoh’s Gift]]></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[God-Pharaoh’s Gift]]></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[God-Pharaoh’s Gift]]></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[God-Pharaoh’s Gift]]></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[God-Pharaoh’s Gift]]></LOCALISED_TEXT>
        </TITLE>
        <MULTIVERSEID value="0" />
        <ARTID value="GODPHARAOHS_GIFT" />
        <ARTIST name="Titus Lanter" />
        <CASTING_COST cost="{7}" />
        <TYPE metaname="Artifact" />
        <EXPANSION value="HOU" />
        <RARITY metaname="R" />
        <TRIGGERED_ABILITY>
            <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[At the beginning of combat on your turn, you may exile a creature card from your graveyard. If you do, create a token that’s a copy of that card, except it’s a 4/4 black Zombie. It gains haste until end of turn.]]></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[At the beginning of combat on your turn, you may exile a creature card from your graveyard. If you do, create a token that’s a copy of that card, except it’s a 4/4 black Zombie. It gains haste until end of turn.]]></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[At the beginning of combat on your turn, you may exile a creature card from your graveyard. If you do, create a token that’s a copy of that card, except it’s a 4/4 black Zombie. It gains haste until end of turn.]]></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[At the beginning of combat on your turn, you may exile a creature card from your graveyard. If you do, create a token that’s a copy of that card, except it’s a 4/4 black Zombie. It gains haste until end of turn.]]></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[At the beginning of combat on your turn, you may exile a creature card from your graveyard. If you do, create a token that’s a copy of that card, except it’s a 4/4 black Zombie. It gains haste until end of turn.]]></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[At the beginning of combat on your turn, you may exile a creature card from your graveyard. If you do, create a token that’s a copy of that card, except it’s a 4/4 black Zombie. It gains haste until end of turn.]]></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[At the beginning of combat on your turn, you may exile a creature card from your graveyard. If you do, create a token that’s a copy of that card, except it’s a 4/4 black Zombie. It gains haste until end of turn.]]></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[At the beginning of combat on your turn, you may exile a creature card from your graveyard. If you do, create a token that’s a copy of that card, except it’s a 4/4 black Zombie. It gains haste until end of turn.]]></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[At the beginning of combat on your turn, you may exile a creature card from your graveyard. If you do, create a token that’s a copy of that card, except it’s a 4/4 black Zombie. It gains haste until end of turn.]]></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[At the beginning of combat on your turn, you may exile a creature card from your graveyard. If you do, create a token that’s a copy of that card, except it’s a 4/4 black Zombie. It gains haste until end of turn.]]></LOCALISED_TEXT>
            <LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[At the beginning of combat on your turn, you may exile a creature card from your graveyard. If you do, create a token that’s a copy of that card, except it’s a 4/4 black Zombie. It gains haste until end of turn.]]></LOCALISED_TEXT>
            <TRIGGER value="BEGINNING_OF_PLAYERS_STEP" simple_qualifier="controller">
                return MTG():GetStep() == STEP_BEGIN_COMBAT
            </TRIGGER>
            <MAY always_prompt="1" />
            <TARGET tag="SPL_CARD_QUERY_CHOOSE_CARD_TO_EXILE" definition="0" compartment="0" count="1" />
            <TARGET_DEFINITION id="0">
                local filter = ClearFilter()
                filter:SetZone(ZONE_GRAVEYARD)
                filter:Add(FE_TYPE, OP_IS, CARD_TYPE_CREATURE)
            </TARGET_DEFINITION>
            <RESOLUTION_TIME_ACTION>
                local target = EffectDC():Get_Targets(0) and EffectDC():Get_Targets(0):Get_CardPtr(0)
                if target ~= nil then
                    MTG():PutTokenCopiesOntoBattlefield( target, 1, EffectController(), EffectDC():Make_Chest(4) )
                    target:Exile()
                end
            </RESOLUTION_TIME_ACTION>
          <RESOLUTION_TIME_ACTION>
          local token = EffectDC():Get_Chest(4) and EffectDC():Get_Chest(4):Get_CardPtr(0)
          if token ~= nil then
          local delayDC = EffectDC():Make_Chest(7)
             delayDC:Set_CardPtr(0, token)
             delayDC:Protect_CardPtr(0)
             MTG():CreateDelayedTrigger(7, delayDC)
             MTG():FireTrigger(TRIGGER_STATE_BASED_EFFECTS)
             end
          </RESOLUTION_TIME_ACTION>
            <CONTINUOUS_ACTION layer="4">
                local token = EffectDC():Get_Chest(4) and EffectDC():Get_Chest(4):Get_CardPtr(0)
                if token ~= nil then
                    token:GetCurrentCharacteristics():SubType_GetWritable():ClearAllOfType(CARD_TYPE_CREATURE)
                    token:GetCurrentCharacteristics():SubType_GetWritable():Add(CREATURE_TYPE_ZOMBIE)
                end
            </CONTINUOUS_ACTION>
            <CONTINUOUS_ACTION layer="5">
                local token = EffectDC():Get_Chest(4) and EffectDC():Get_Chest(4):Get_CardPtr(0)
                if token ~= nil then
                    token:GetCurrentCharacteristics():Colour_Set(COLOUR_BLACK)
                end
            </CONTINUOUS_ACTION>
            <CONTINUOUS_ACTION layer="7B">
                local token = EffectDC():Get_Chest(4) and EffectDC():Get_Chest(4):Get_CardPtr(0)
                if token ~= nil then
                    local characteristics = token:GetCurrentCharacteristics()
                    if characteristics ~= nil then
                        characteristics:Power_Set(4)
                        characteristics:Toughness_Set(4)
                    end
                end
            </CONTINUOUS_ACTION>
            <DURATION>
                return false
            </DURATION>
        </TRIGGERED_ABILITY>
       
       <TRIGGERED_ABILITY resource_id="7" replacement_effect="1">
       <TRIGGER value="STATE_BASED_EFFECTS">
       return TriggerObject() == EffectDC():Get_CardPtr(0)
       </TRIGGER>
       <CONTINUOUS_ACTION layer="6">
       if TriggerObject() ~= nil then
       TriggerObject():GetCurrentCharacteristics():Bool_Set( CHARACTERISTIC_HASTE, 1 )
       end
       </CONTINUOUS_ACTION>
       <DURATION simple_duration="UntilEOT" />
       </TRIGGERED_ABILITY>
       
        <!-- SPOILER -->
        <AUTHOR><![CDATA[Splinterverse]]></AUTHOR>
        <EDITORS><![CDATA[Splinterverse, fallenangle]]></EDITORS>
        <DATE><![CDATA[27-06-17, 27-06-17]]></DATE>
    </CARD_V2>
fallenangle
 
Posts: 319
Joined: 20 Jul 2013, 02:31
Has thanked: 73 times
Been thanked: 41 times

Re: Hour of Devastation development -- 88 uploaded and compl

Postby Splinterverse2 » 28 Jun 2017, 00:37

Xander9009 wrote:Remember how you asked about a card having a multiverseid of 0? Well, yes, it does cause problems. It let the AI's characteristics manager (or planeswalker manager, if they didn't have the other; or ANY manager since they all have an MID of 0) use my planeswalkers' abilities. Both Nicol Bolas, God-Pharaoh and Nicol Bolas, the Deceiver. It even used the abilities before I'd played the cards. They just had to exist... So yeah, those will need set to something non-0 in the mean-time.
Do you have a way to fix this for the ones we have uploaded already? I can definitely use something moving forward.
Splinterverse2
 
Posts: 52
Joined: 20 Sep 2016, 13:52
Has thanked: 13 times
Been thanked: 0 time

Re: Hour of Devastation development -- 88 uploaded and compl

Postby Xander9009 » 28 Jun 2017, 04:04

I'll write up a quick script to pull out any cards with a MID of 0 and then I'll just manually go through and assign a random one. Not a big deal. I already went through and manually added subtypes to all of the cards, so this should be easier than that haha. I'll see about getting the spoiler grabber to assign a random large number to the field to use. I may have to update the generator plugin as well. It might not actually even try to get the MID from a spoiler; I don't remember how I coded that particular bit.

@fallenangle, one card should be able to fire any trigger on any card. STATE_BASED_EFFECTS (I corrected my previous post, thank you) can't have any parameters, so you couldn't have a TriggerObject(), but as long as you call MTG():FireTrigger(SOME_TRIGGER), any currently active triggered ability with that trigger value should get it, no matter what card the ability originates from or what card the trigger is on.

That said, I do think that going with a custom one would be better to avoid any unforeseen issues. I doubt there would be any, but I'm certain that using a custom one will be safe, so that's preferable, generally. Because of the missing TriggerObject(), I don't think your code will work as it's written. In order for a manually fired trigger to have a TriggerObject(), it has to have the object passed as a parameter, and that particular trigger must support that parameter. I tried a bunch of the unused triggers and only a couple of them supported having a parameter, one of which was PHENOMENON_ENCOUNTERED, which is why I went with that one (Riiak suggested that one, too, I think). So, you'll need to either remove the TriggerObject() check in the trigger, or you'll need to use a different trigger and pass the source as a parameter. (Although, if you test it and I'm wrong, please let me know. It's always useful to have new information.)

Now, I'm going to go fix the MIDs, and then I'm going to test the blocking functions we were discussing. Let's hope that goes well. :)
_______________________________
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
User avatar
Xander9009
Programmer
 
Posts: 2905
Joined: 29 Jun 2013, 07:44
Location: Indiana, United States
Has thanked: 121 times
Been thanked: 445 times

Re: Hour of Devastation development -- 88 uploaded and compl

Postby Xander9009 » 28 Jun 2017, 06:53

Uploaded the 1.2.1 local input file for MID support. I'm not bothering to post the notice in that thread since it's so minor. That said, MID's will now be randomly assigned to the spoiled cards as they're pulled from the sites. The MID will be between 909990000 and 909999999, which keeps it in range, gives it 10,000 possibilities (enough that it shouldn't randomly overlap), and small enough to allow them all to keep the same "90999" prefix for easy searching later, if needed.

The spoilers in the folder already have had these assigned, and all currently uploaded cards with a MID of 0 have been given a random one (except for Powder Keg, which actually has a real one, and a handful of tokens, which were given token MIDs).

EDIT: There are, however, several lands that have none...
_______________________________
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
User avatar
Xander9009
Programmer
 
Posts: 2905
Joined: 29 Jun 2013, 07:44
Location: Indiana, United States
Has thanked: 121 times
Been thanked: 445 times

Re: Hour of Devastation development -- 94 uploaded and compl

Postby Splinterverse » 28 Jun 2017, 10:38

Finished coding for today.

OP updated.

Coded/uploaded but NOT tested:
-Chaos Maw + HQ art
-Endless Sands
-Hour of Promise + HQ art
-Imminent Doom + HQ art
-Ominous Sphinx
-Razaketh's Ritual + HQ art

HQ art uploaded:
-Fervent Paincaster
-Gilded Cerodon
-Hope Tender
-Resilient Khenra eternalize token
-Sinuous Striker

Hopefully back again tomorrow morning to code for a bit.
---------------------------------------------
The DOTP2014 CW is updated nightly between 11 PM and 12 AM EST.
Known Issues/Bugs |
Impossible Cards List | Update Your Land Pools
Splinterverse
 
Posts: 918
Joined: 04 Sep 2016, 13:32
Has thanked: 150 times
Been thanked: 75 times

Re: Hour of Devastation development -- 94 uploaded and compl

Postby Splinterverse » 28 Jun 2017, 10:57

@Xander9009, do you see any issues with the filter in this code:

Code: Select all
<RESOLUTION_TIME_ACTION>
         local filter = ClearFilter()
         CW_Filter_SubType(filter, PLANESWALKER_TYPE_NISSA, OP_IS, ZONE_BATTLEFIELD)
         filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
         if filter:CountStopAt(1) == 1 then
            EffectController():GainLife(2)
         end
      </RESOLUTION_TIME_ACTION>
I tested that in isolation and it doesn't appear to work. I had Nissa, Worldwaker on the battlefield.
---------------------------------------------
The DOTP2014 CW is updated nightly between 11 PM and 12 AM EST.
Known Issues/Bugs |
Impossible Cards List | Update Your Land Pools
Splinterverse
 
Posts: 918
Joined: 04 Sep 2016, 13:32
Has thanked: 150 times
Been thanked: 75 times

Re: Hour of Devastation development -- 94 uploaded and compl

Postby Splinterverse2 » 28 Jun 2017, 13:11

FYI. We are going to need a custom characteristic AND trigger for both Embalm and Eternalize. See http://www.magic-ville.com/fr/carte?ref=hou055

If anyone has time to set those up, it would be much appreciated.
Splinterverse2
 
Posts: 52
Joined: 20 Sep 2016, 13:52
Has thanked: 13 times
Been thanked: 0 time

Re: Hour of Devastation development -- 94 uploaded and compl

Postby Xander9009 » 28 Jun 2017, 16:55

Triggers are created, and are named "CW_TRIGGER_EMBALM" and "CW_TRIGGER_ETERNALIZE". I also realized there's ALREADY a generic trigger that can be used for forcing a quick update: CW_TRIGGER_GENERIC. Apparently, I thought of this possibility a long time ago, and have since forgotten it.

Nope. There was a bug in the filter subtype function. Fixed now.

EDIT: I overlooked the bit about characteristics. They're added now, too.
CW_CHARACTERISTIC_EMBALM
CW_CHARACTERISTIC_ETERNALIZE
_______________________________
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
User avatar
Xander9009
Programmer
 
Posts: 2905
Joined: 29 Jun 2013, 07:44
Location: Indiana, United States
Has thanked: 121 times
Been thanked: 445 times

PreviousNext

Return to 2014

Who is online

Users browsing this forum: No registered users and 46 guests

cron

Who is online

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

Login Form