Board index
Programs with AI or Rules Enforcement
Magic: The Gathering - Duels of the Planeswalkers
New MTG Cards and Decks (2010, 2012, 2013, 2014, 2015, Magic Duels)
2013




[2013] Sanguine Feast deck
Moderator: CCGHQ Admins
11 posts
• Page 1 of 1
[2013] Sanguine Feast deck
by MisterBenn » 06 Jul 2012, 04:44
Hi, I've played around for a while with this deck and it's ready to put out there now. It's Red/Black vampires, mostly Innistrad but a few other older vampires are in there too. It's balanced versus the original 2013 decks and I've played a number of games with and against it without issues. Having said that, there could easily be issues or subtleties that I haven't caught yet, I'll look into anything that gets brought up. I know for sure that Bloodline Keeper is in need of a Transform mechanic, for the moment the card just gains the abilities of Lord of Lineage rather than becoming it.
Hope you have fun with it and please report any bugs. If we start building a repository of cards or decks, feel free to take anything worthwhile or let me know what standard is being used and I'll repackage it as needed.
Sanguine Feast for DOTP 2013:
Version 0.2:http://www20.zippyshare.com/v/38007685/file.html
Hope you have fun with it and please report any bugs. If we start building a repository of cards or decks, feel free to take anything worthwhile or let me know what standard is being used and I'll repackage it as needed.
Sanguine Feast for DOTP 2013:
Version 0.2:http://www20.zippyshare.com/v/38007685/file.html
- Version info | Open
- Code: Select all
v0.2 7/7/2013
DECK CHANGES:
Infiltration Lens is in for Sword of Vengeance. SoV was too slow most of the time.
FIXES:
Fixed Vampire Token artwork.
Completed Bloodline Keeper's ability (still only a substitute for Transform though).
Fixed Stensia Bloodhall.
Corrected trigger in Exquisite Blood.
Moved creature type detection outside the cost as per thefiremind's advice.
Cleaned up the cards a little, allocated combat FX matching the images and removed the extraneous target effects.
Used EffectController() instead of Object():GetPlayer() in Olivia Voldaren as suggested. Still works :)
Split Stromkirk Captain's abilities into seperate layers.
KNOWN ISSUES:
Nightbird's Clutches sometimes hangs the game if you play it from Flashback when asking which mana to tap. Need to look into.
v0.1 Initial (clusterfuck) Version
Last edited by MisterBenn on 07 Jul 2012, 02:41, edited 2 times in total.
- MisterBenn
- Posts: 97
- Joined: 19 Mar 2011, 16:19
- Has thanked: 24 times
- Been thanked: 11 times
Re: [2013] Sanguine Feast deck
by thefiremind » 06 Jul 2012, 08:48
First of all, thanks! I wanted to code a Vampire deck sooner or later, and having some cards ready will be useful. Now I'm looking at the cards and I'll tell you if I see anything wrong.
You forgot the condition of controlling 5 or more Vampires on Bloodline Keeper. You should change the availability of the ability like this:
But, now that I look at it better... are you sure that EffectDC is useful to store the transforming state? Shouldn't you use ObjectDC? I think that EffectDC is wiped after the ability has been used.
In Exquisite Blood you wrote TRIGGER_PLAYER_LOST_LIFE instead of PLAYER_LOST_LIFE.
Falkenrath Aristocrat probably won't work like this. If you need to read an information from a card that you use as a cost, you have to follow the example of Bosh, Iron Golem. Make the cost type "generic" instead of "sacrifice" and add a RESOLUTION_TIME_ACTION inside it, that stores the card subtype and then sacrifices it. Inside the ability you'll access the register where you stored the card subtype and see if it was a Human (and you are checking for a Vampire at the moment, instead of a Human).
About Fires of Undeath and Nightbird's Clutches... are you sure that Flashback cannot be used as in DotP2012? The FLASHBACK_COST block still exists, according to the readings from the executable.
Why did you write <SFX text="TARGET_BITE_PLAY" /> in most Vampires at the end of the code? The SFX block with "_PLAY" has sense only inside an ability (and with "TARGET_" only inside an ability which has a target).
I was sure I would have found something wrong on Olivia Voldaren... she gave me some problems when I coded her in DotP2012. You see, the condition Object():GetController() ~= Object():GetPlayer() has no sense... they are checked at the same time so they will always be the same, until GetController returns nil which will happen when Olivia won't be in play, already covered by the other condition.
You have to save the current controller in a pointer and check Object():GetController() against it. Try to save it in EffectDC first, then if it doesn't work, try with ObjectDC (hoping that I'm not forgetting some case where ObjectDC should be wiped).
Did you test Rush of Blood? Maybe the developers like to do things more complicated than they should be, but if you look at the code for Chameleon Colossus, you see that the power is stored outside the CONTINUOUS_ACTION. I think it's because if you change the target's power again, the value inside the CONTINUOUS_ACTION could change in real time, which would be wrong.
Stensia Bloodhall probably already glows when you just have
because it counts itself as available mana (while it obviously shouldn't). I had the same problem with Terrain Generator in DotP2012 and the fix is easy: add an AVAILABILITY block that requires the ability cost plus the mana produced by the land. In this case:
In Stromkirk Captain I suggest you to make a separate CONTINUOUS_ACTION for granting first strike, with layer="6". It's always good to respect the layers, and now that they can be set for each action, we can always do that.
You forgot the condition of controlling 5 or more Vampires on Bloodline Keeper. You should change the availability of the ability like this:
- Code: Select all
<AVAILABILITY>
if EffectDC():Get_Int( 0 ) ~= 1 then
local filter = Object():GetFilter()
filter:Clear()
filter:SetZone( ZONE_IN_PLAY )
filter:AddSubType( CREATURE_TYPE_VAMPIRE )
filter:SetController( EffectController() )
filter:NotTargetted()
return filter:CountStopAt( 5 ) == 5
end
return false
</AVAILABILITY>
But, now that I look at it better... are you sure that EffectDC is useful to store the transforming state? Shouldn't you use ObjectDC? I think that EffectDC is wiped after the ability has been used.
In Exquisite Blood you wrote TRIGGER_PLAYER_LOST_LIFE instead of PLAYER_LOST_LIFE.
Falkenrath Aristocrat probably won't work like this. If you need to read an information from a card that you use as a cost, you have to follow the example of Bosh, Iron Golem. Make the cost type "generic" instead of "sacrifice" and add a RESOLUTION_TIME_ACTION inside it, that stores the card subtype and then sacrifices it. Inside the ability you'll access the register where you stored the card subtype and see if it was a Human (and you are checking for a Vampire at the moment, instead of a Human).
About Fires of Undeath and Nightbird's Clutches... are you sure that Flashback cannot be used as in DotP2012? The FLASHBACK_COST block still exists, according to the readings from the executable.
Why did you write <SFX text="TARGET_BITE_PLAY" /> in most Vampires at the end of the code? The SFX block with "_PLAY" has sense only inside an ability (and with "TARGET_" only inside an ability which has a target).
I was sure I would have found something wrong on Olivia Voldaren... she gave me some problems when I coded her in DotP2012. You see, the condition Object():GetController() ~= Object():GetPlayer() has no sense... they are checked at the same time so they will always be the same, until GetController returns nil which will happen when Olivia won't be in play, already covered by the other condition.
You have to save the current controller in a pointer and check Object():GetController() against it. Try to save it in EffectDC first, then if it doesn't work, try with ObjectDC (hoping that I'm not forgetting some case where ObjectDC should be wiped).
Did you test Rush of Blood? Maybe the developers like to do things more complicated than they should be, but if you look at the code for Chameleon Colossus, you see that the power is stored outside the CONTINUOUS_ACTION. I think it's because if you change the target's power again, the value inside the CONTINUOUS_ACTION could change in real time, which would be wrong.
Stensia Bloodhall probably already glows when you just have



- Code: Select all
<AVAILABILITY>
return EffectController():CanAfford("{4}{B}{R}") == 1
</AVAILABILITY>
In Stromkirk Captain I suggest you to make a separate CONTINUOUS_ACTION for granting first strike, with layer="6". It's always good to respect the layers, and now that they can be set for each action, we can always do that.
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
Currently busy with life...
-
thefiremind - Programmer
- Posts: 3515
- Joined: 07 Nov 2011, 10:55
- Has thanked: 118 times
- Been thanked: 722 times
Re: [2013] Sanguine Feast deck
by MisterBenn » 06 Jul 2012, 15:09
Hi thefiremind. Thanks a lot for your forensic feedback! Clearly I haven't really been scientific enough with my testing so far, too many of those are basic errors and I appreciate you writing them all out.
Regarding Flashback, I have no idea if a better way exists. I didn't try to salvage anything from 2012 for this, I just settled on what I did based upon the fact that it could be triggered correctly from the graveyard, would trigger any "spell played" triggers and the AI could understand it. It didn't occur to me that 2012 flashback might be transferrable: I'll see what you're suggesting.
The <SFX text="TARGET_BITE_PLAY" /> is just in a few redundant places as I went through the cards in a single sweep late on putting in the effects. I'll pass through again and clear some out.
With Olivia's card, I am interested in what you put about Object():GetController() ~= Object():GetPlayer(). I used that happily since it occurs many times in the vanilla cards. So far I've seen her behave as she should but I'll take a look.
Rush of Blood is still in the wad file but not actually in the deck as Fires of Undeath helped the deck a lot more. What you are suggesting sounds very true, I'll improve the card that way when/if I put it in the side deck.
I need to look at Stensia Bloodhall closely, I played a final game last night and at the moment it plays as "Once you can afford
{B}{R}, you can play the ability for no mana cost". I'll bear in mind your point about availability when I go back in.
Once again thanks for the advice, in general the issue is that I'm learning the ropes and can't roll out cards with the same precision as some people yet! I'll put in all the things pointed out and repost soon, probably tonight.
Regarding Flashback, I have no idea if a better way exists. I didn't try to salvage anything from 2012 for this, I just settled on what I did based upon the fact that it could be triggered correctly from the graveyard, would trigger any "spell played" triggers and the AI could understand it. It didn't occur to me that 2012 flashback might be transferrable: I'll see what you're suggesting.
The <SFX text="TARGET_BITE_PLAY" /> is just in a few redundant places as I went through the cards in a single sweep late on putting in the effects. I'll pass through again and clear some out.
With Olivia's card, I am interested in what you put about Object():GetController() ~= Object():GetPlayer(). I used that happily since it occurs many times in the vanilla cards. So far I've seen her behave as she should but I'll take a look.
Rush of Blood is still in the wad file but not actually in the deck as Fires of Undeath helped the deck a lot more. What you are suggesting sounds very true, I'll improve the card that way when/if I put it in the side deck.
I need to look at Stensia Bloodhall closely, I played a final game last night and at the moment it plays as "Once you can afford

Once again thanks for the advice, in general the issue is that I'm learning the ropes and can't roll out cards with the same precision as some people yet! I'll put in all the things pointed out and repost soon, probably tonight.
- MisterBenn
- Posts: 97
- Joined: 19 Mar 2011, 16:19
- Has thanked: 24 times
- Been thanked: 11 times
Re: [2013] Sanguine Feast deck
by thefiremind » 06 Jul 2012, 15:26
Maybe it works in this case, but it seems strange to me... as far as I know, GetPlayer() is a short way to say "return the controller if there's one, otherwise return the owner". But I just had an idea. I'm not sure if it works, but it's worth trying: change the condition to Object():GetController() ~= EffectController(). Unless the information about EffectController() gets wiped earlier than I think, EffectController() should always be the controller of the effect source when the effect started.MisterBenn wrote:With Olivia's card, I am interested in what you put about Object():GetController() ~= Object():GetPlayer(). I used that happily since it occurs many times in the vanilla cards. So far I've seen her behave as she should but I'll take a look.
Yes, strange things happen because the game starts paying the costs, tries to tap the land for mana or for the ability (whichever comes first), then tries to tap it for the other purpose, too, but it can't. I wanted to code Leafdrake Roost when I made the Simic deck, but then I realised that it was impossible because I had to know what kind of mana is produced by the enchanted land, and require one more mana of that type for the ability to be available. In that case, if I remember well, the ability was having only the effect to tap the enchanted land, without doing anything else.MisterBenn wrote:I need to look at Stensia Bloodhall closely, I played a final game last night and at the moment it plays as "Once you can afford{B}{R}, you can play the ability for no mana cost". I'll bear in mind your point about availability when I go back in.
P.S.: Keep your hopes high about a proper Bloodline Keeper... I can't assure you, but Aiodren could have had the right idea!
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
Currently busy with life...
-
thefiremind - Programmer
- Posts: 3515
- Joined: 07 Nov 2011, 10:55
- Has thanked: 118 times
- Been thanked: 722 times
Re: [2013] Sanguine Feast deck
by MisterBenn » 07 Jul 2012, 02:41
I've had a session of bugfixing and reuploaded the file. I really should have waited another day before posting it, it was in quite a state yesterday. Shouldn't have started drinking during the playtesting then decided to upload! Anyway I've gone through all the advice, and directly tested some more cards so there should be much less stupid mistakes this time.
- MisterBenn
- Posts: 97
- Joined: 19 Mar 2011, 16:19
- Has thanked: 24 times
- Been thanked: 11 times
Re: [2013] Sanguine Feast deck
by Aiodren » 07 Jul 2012, 09:22
I made a working Bloodline Keeper with the refined transformation mechanicthefiremind wrote:P.S.: Keep your hopes high about a proper Bloodline Keeper... I can't assure you, but Aiodren could have had the right idea!

- Code: Select all
<?xml version='1.0'?>
<CARD_V2 custom="true">
<FILENAME text="BLOODLINE_KEEPER_DECK_888819908" />
<CARDNAME text="BLOODLINE_KEEPER_DECK" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Bloodline Keeper]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Blutlinien-Bewahrer]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Bloodline Keeper]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Bloodline Keeper]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Bloodline Keeper]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Bloodline Keeper]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Bloodline Keeper]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Bloodline Keeper]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Bloodline Keeper]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="888819908" />
<ARTID value="BLOODLINE KEEPER" />
<FRAMECOLOUR name="B" />
<COLOUR value="B" />
<ARTIST name="Jason Chan" />
<CASTING_COST cost="{2}{B}{B}" />
<TYPE metaname="Creature" order_de-DE="0" order_es-ES="0" order_fr-FR="0" order_it-IT="0" order_jp-JA="0" />
<SUB_TYPE metaname="Vampire" order_de-DE="0" order_es-ES="0" order_fr-FR="0" order_it-IT="0" order_jp-JA="0" />
<EXPANSION value="ISD" />
<RARITY metaname="R" />
<POWER value="3" />
<TOUGHNESS value="3" />
<TOKEN_REGISTRATION reservation="1" type="VAMPIRE_TOKEN_2_2_888263122" />
<TOKEN_REGISTRATION reservation="1" type="BLOODLINE_KEEPER_888819909" />
<TOKEN_REGISTRATION reservation="1" type="LORD_OF_LINEAGE_888819910" />
<TRIGGERED_ABILITY internal="1" filter_zone="ZONE_IN_PLAY" active_zone="ZONE_TRANSITION">
<TRIGGER value="ZONECHANGE_TRANSITION" simple_qualifier="self" to_zone="ZONE_IN_PLAY" />
<RESOLUTION_TIME_ACTION>
local oNewTokenI = MTG():ObtainToken("BLOODLINE_KEEPER_888819909", EffectController())
local oNewTokenII = MTG():ObtainToken("LORD_OF_LINEAGE_888819910", EffectController())
oNewTokenI:PutIntoPlay(EffectController())
oNewTokenII:PutIntoPlay(EffectController())
ObjectDC():Set_ProtectedCardPtr(53, oNewTokenI)
ObjectDC():Set_ProtectedCardPtr(54, oNewTokenII)
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY filter_zone="ZONE_IN_PLAY" active_zone="ZONE_IN_PLAY">
<TRIGGER value="ZONECHANGE_END" simple_qualifier="self" to_zone="ZONE_IN_PLAY" />
<RESOLUTION_TIME_ACTION>
local target_creatureI = ObjectDC():Get_ProtectedCardPtr(53)
local target_creatureII = ObjectDC():Get_ProtectedCardPtr(54)
if ( target_creatureI ~= nil ) then
target_creatureI:StoreCopiableValues(ObjectDC():Make_Chest(1)) -- this grabs the copiable values from the target and puts them into a datachest
ObjectDC():Protect_CardPtr( COMPARTMENT_ID_EFFECT_SOURCE ) -- this stops the effect from being wiped when we complete the zonechange
end
if ( target_creatureII ~= nil ) then
target_creatureII:StoreCopiableValues(ObjectDC():Make_Chest(2)) -- this grabs the copiable values from the target and puts them into a datachest
end
if ObjectDC():Get_Chest(1) ~= nil and ObjectDC():Get_Chest(2) ~= nil then
target_creatureI:RemoveFromGame()
target_creatureII:RemoveFromGame()
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
if EffectSource() ~= nil and ObjectDC():Get_Chest(1) ~= nil then
MTG():ObjectDataChest():Int_Set( 52, 1 )
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<STATIC_ABILITY filter_zone="ZONE_IN_PLAY">
<CONTINUOUS_ACTION layer="1">
local characteristics = Object():GetCurrentCharacteristics()
if MTG():ObjectDataChest():Int_Get( 52 ) == 1 then
EffectSource():UseCopiableValues(ObjectDC():Get_Chest(1))
characteristics:CardType_GetWritable( EffectSource() ):Add( CARD_TYPE_CREATURE , EffectSource() )
characteristics:SubType_GetWritable( EffectSource() ):Add( CREATURE_TYPE_VAMPIRE , EffectSource() )
end
if MTG():ObjectDataChest():Int_Get( 52 ) == 2 then
EffectSource():UseCopiableValues(ObjectDC():Get_Chest(2))
characteristics:CardType_GetWritable( EffectSource() ):Add( CARD_TYPE_CREATURE , EffectSource() )
characteristics:SubType_GetWritable( EffectSource() ):Add( CREATURE_TYPE_VAMPIRE , EffectSource() )
end
if MTG():ObjectDataChest():Int_Get( 52 ) ~= 1 and MTG():ObjectDataChest():Int_Get( 1 ) ~= 2 then
EffectSource():UseCopiableValues(ObjectDC():Get_ProtectedCardPtr( COMPARTMENT_ID_EFFECT_SOURCE ))
end
</CONTINUOUS_ACTION>
</STATIC_ABILITY>
<STATIC_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Flying]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Vol]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Vuela.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Fliegend]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Volare]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[飛行]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[비행]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Полет]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Voar]]></LOCALISED_TEXT>
<CONTINUOUS_ACTION>
local characteristics = Object():GetCurrentCharacteristics()
characteristics:Characteristic_Set( CHARACTERISTIC_FLYING, 1 )
</CONTINUOUS_ACTION>
</STATIC_ABILITY>
<STATIC_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{T}: Put a 2/2 black Vampire creature token with flying onto the battlefield.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{T}: Put a 2/2 black Vampire creature token with flying onto the battlefield.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{T}: Put a 2/2 black Vampire creature token with flying onto the battlefield.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{T}: Bringe einen 2/2 schwarzen Vampir-Kreaturenspielstein mit Flugfähigkeit ins Spiel.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{T}: Put a 2/2 black Vampire creature token with flying onto the battlefield.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{T}: Put a 2/2 black Vampire creature token with flying onto the battlefield.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{T}: Put a 2/2 black Vampire creature token with flying onto the battlefield.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{T}: Put a 2/2 black Vampire creature token with flying onto the battlefield.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{T}: Put a 2/2 black Vampire creature token with flying onto the battlefield.]]></LOCALISED_TEXT>
</STATIC_ABILITY>
<STATIC_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{B}: Transform Bloodline Keeper. Activate this ability only if you control five or more Vampires.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{B}: Transform Bloodline Keeper. Activate this ability only if you control five or more Vampires.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{B}: Transform Bloodline Keeper. Activate this ability only if you control five or more Vampires.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{B}: Transformiere den Blutlinien-Bewahrer. Aktiviere diese Fähigkeit nur, falls du fünf oder mehr Vampire kontrollierst.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{B}: Transform Bloodline Keeper. Activate this ability only if you control five or more Vampires.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{B}: Transform Bloodline Keeper. Activate this ability only if you control five or more Vampires.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{B}: Transform Bloodline Keeper. Activate this ability only if you control five or more Vampires.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{B}: Transform Bloodline Keeper. Activate this ability only if you control five or more Vampires.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{B}: Transform Bloodline Keeper. Activate this ability only if you control five or more Vampires.]]></LOCALISED_TEXT>
</STATIC_ABILITY>
</CARD_V2>
- Code: Select all
<?xml version='1.0'?>
<CARD_V2 custom="true">
<FILENAME text="BLOODLINE_KEEPER_888819909" />
<CARDNAME text="BLOODLINE_KEEPER" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Bloodline Keeper]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Blutlinien-Bewahrer]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Bloodline Keeper]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Bloodline Keeper]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Bloodline Keeper]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Bloodline Keeper]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Bloodline Keeper]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Bloodline Keeper]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Bloodline Keeper]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="888819909" />
<ARTID value="BLOODLINE KEEPER" />
<FRAMECOLOUR name="B" />
<COLOUR value="B" />
<ARTIST name="Jason Chan" />
<CASTING_COST cost="{2}{B}{B}" />
<TYPE metaname="" order_de-DE="0" order_es-ES="0" order_fr-FR="0" order_it-IT="0" order_jp-JA="0" />
<SUB_TYPE metaname="" order_de-DE="0" order_es-ES="0" order_fr-FR="0" order_it-IT="0" order_jp-JA="0" />
<EXPANSION value="ISD" />
<RARITY metaname="R" />
<POWER value="3" />
<TOUGHNESS value="3" />
<TOKEN_REGISTRATION reservation="1" type="VAMPIRE_TOKEN_2_2_888263122" />
<STATIC_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Flying]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Vol]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Vuela.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Fliegend]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Volare]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[飛行]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[비행]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Полет]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Voar]]></LOCALISED_TEXT>
<CONTINUOUS_ACTION>
local characteristics = Object():GetCurrentCharacteristics()
characteristics:Characteristic_Set( CHARACTERISTIC_FLYING, 1 )
</CONTINUOUS_ACTION>
</STATIC_ABILITY>
<ACTIVATED_ABILITY filter_zone="ZONE_IN_PLAY">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{T}: Put a 2/2 black Vampire creature token with flying onto the battlefield.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{T}: Put a 2/2 black Vampire creature token with flying onto the battlefield.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{T}: Put a 2/2 black Vampire creature token with flying onto the battlefield.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{T}: Bringe einen 2/2 schwarzen Vampir-Kreaturenspielstein mit Flugfähigkeit ins Spiel.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{T}: Put a 2/2 black Vampire creature token with flying onto the battlefield.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{T}: Put a 2/2 black Vampire creature token with flying onto the battlefield.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{T}: Put a 2/2 black Vampire creature token with flying onto the battlefield.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{T}: Put a 2/2 black Vampire creature token with flying onto the battlefield.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{T}: Put a 2/2 black Vampire creature token with flying onto the battlefield.]]></LOCALISED_TEXT>
<COST type="TapSelf" />
<RESOLUTION_TIME_ACTION>
PutTokensIntoPlay( "VAMPIRE_TOKEN_2_2_888263122",1 )
</RESOLUTION_TIME_ACTION>
<AI_AVAILABILITY behaviour="InResponseOrDuringCombatOrBeforeMyUntap" />
<AI_BASE_SCORE score="600" zone="in_play" />
</ACTIVATED_ABILITY>
<ACTIVATED_ABILITY filter_zone="ZONE_IN_PLAY">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{B}: Transform Bloodline Keeper. Activate this ability only if you control five or more Vampires.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{B}: Transform Bloodline Keeper. Activate this ability only if you control five or more Vampires.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{B}: Transform Bloodline Keeper. Activate this ability only if you control five or more Vampires.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{B}: Transformiere den Blutlinien-Bewahrer. Aktiviere diese Fähigkeit nur, falls du fünf oder mehr Vampire kontrollierst.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{B}: Transform Bloodline Keeper. Activate this ability only if you control five or more Vampires.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{B}: Transform Bloodline Keeper. Activate this ability only if you control five or more Vampires.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{B}: Transform Bloodline Keeper. Activate this ability only if you control five or more Vampires.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{B}: Transform Bloodline Keeper. Activate this ability only if you control five or more Vampires.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{B}: Transform Bloodline Keeper. Activate this ability only if you control five or more Vampires.]]></LOCALISED_TEXT>
<AVAILABILITY>
local filter = Object():GetFilter()
filter:Clear()
filter:SetZone( ZONE_IN_PLAY )
filter:SetController( Object():GetPlayer() )
filter:AddSubType(CREATURE_TYPE_VAMPIRE)
if filter:Count() < 5 then
return false
else
return true
end
</AVAILABILITY>
<COST type="Mana" cost="{B}" />
<RESOLUTION_TIME_ACTION>
MTG():ObjectDataChest():Int_Set( 52, 2 )
</RESOLUTION_TIME_ACTION>
</ACTIVATED_ABILITY>
</CARD_V2>
- Code: Select all
<?xml version='1.0'?>
<CARD_V2 custom="true">
<FILENAME text="LORD_OF_LINEAGE_888819910" />
<CARDNAME text="LORD_OF_LINEAGE" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Lord Of Lineage]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Fürst des Geschlechts]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Lord Of Lineage]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Lord Of Lineage]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Lord Of Lineage]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Lord Of Lineage]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Lord Of Lineage]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Lord Of Lineage]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Lord Of Lineage]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="888819910" />
<ARTID value="LORD OF LINEAGE" />
<FRAMECOLOUR name="B" />
<COLOUR value="B" />
<ARTIST name="Jason Chan" />
<CASTING_COST cost="" />
<TYPE metaname="" order_de-DE="0" order_es-ES="0" order_fr-FR="0" order_it-IT="0" order_jp-JA="0" />
<SUB_TYPE metaname="" order_de-DE="0" order_es-ES="0" order_fr-FR="0" order_it-IT="0" order_jp-JA="0" />
<EXPANSION value="ISD" />
<RARITY metaname="R" />
<POWER value="5" />
<TOUGHNESS value="5" />
<TOKEN_REGISTRATION reservation="1" type="VAMPIRE_TOKEN_2_2_888263122" />
<STATIC_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Flying]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Vol]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Vuela.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Fliegend]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Volare]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[飛行]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[비행]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Полет]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Voar]]></LOCALISED_TEXT>
<CONTINUOUS_ACTION>
local characteristics = Object():GetCurrentCharacteristics()
characteristics:Characteristic_Set( CHARACTERISTIC_FLYING, 1 )
</CONTINUOUS_ACTION>
</STATIC_ABILITY>
<STATIC_ABILITY layer="7C">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Other Vampire creatures you control get +2/+2.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Other Vampire creatures you control get +2/+2.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Andere Vampir-Kreaturen, die du kontrollierst, erhalten +2/+2.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Other Vampire creatures you control get +2/+2.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Other Vampire creatures you control get +2/+2.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Other Vampire creatures you control get +2/+2.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Other Vampire creatures you control get +2/+2.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Other Vampire creatures you control get +2/+2.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Other Vampire creatures you control get +2/+2.]]></LOCALISED_TEXT>
<FILTER>
return FilteredCard() ~= Object() and CreaturesYouControlOfType( CREATURE_TYPE_VAMPIRE )
</FILTER>
<CONTINUOUS_ACTION>
FilteredCard():GetCurrentCharacteristics():Power_Add( 2 )
FilteredCard():GetCurrentCharacteristics():Toughness_Add( 2 )
</CONTINUOUS_ACTION>
<AI_BASE_SCORE score="600" zone="in_play" />
</STATIC_ABILITY>
<ACTIVATED_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{T}: Put a 2/2 black Vampire creature token with flying onto the battlefield.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{T}: Bringe einen 2/2 schwarzen Vampir-Kreaturenspielstein mit Flugfähigkeit ins Spiel.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{T}: Put a 2/2 black Vampire creature token with flying onto the battlefield.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{T}: Put a 2/2 black Vampire creature token with flying onto the battlefield.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{T}: Put a 2/2 black Vampire creature token with flying onto the battlefield.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{T}: Put a 2/2 black Vampire creature token with flying onto the battlefield.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{T}: Put a 2/2 black Vampire creature token with flying onto the battlefield.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{T}: Put a 2/2 black Vampire creature token with flying onto the battlefield.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{T}: Put a 2/2 black Vampire creature token with flying onto the battlefield.]]></LOCALISED_TEXT>
<COST type="TapSelf" />
<RESOLUTION_TIME_ACTION>
PutTokensIntoPlay( "VAMPIRE_TOKEN_2_2_888263122",1 )
</RESOLUTION_TIME_ACTION>
<AI_AVAILABILITY behaviour="InResponseOrDuringCombatOrBeforeMyUntap" />
<AI_BASE_SCORE score="600" zone="in_play" />
</ACTIVATED_ABILITY>
</CARD_V2>

Re: [2013] Sanguine Feast deck
by thefiremind » 07 Jul 2012, 09:49
I'd prefer to make transform cards with only 2 XML files. Are you sure you can't do the same as Delver of Secrets?
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
Currently busy with life...
-
thefiremind - Programmer
- Posts: 3515
- Joined: 07 Nov 2011, 10:55
- Has thanked: 118 times
- Been thanked: 722 times
Re: [2013] Sanguine Feast deck
by Aiodren » 07 Jul 2012, 10:13
The problem with that is that the effects are in granted abilities and don't show on the card until it's in play so you have a blank creature in hand. I didn't find a quick way to display the effects, so i just made another token. This has the added benefit that the effect text is in black like normal, instead of blue like in all granted abilities.thefiremind wrote:I'd prefer to make transform cards with only 2 XML files. Are you sure you can't do the same as Delver of Secrets?
Re: [2013] Sanguine Feast deck
by MisterBenn » 10 Aug 2012, 22:18
I noticed something with Lord of Lineage that might be bad news for the transform mechanic we have at the moment. If you cast a Rite of Replication on Lord of Lineage in its transformed form, no copies are produced. Unless I didn't bring everything across when I used the transform code, there might be an issue here.
- MisterBenn
- Posts: 97
- Joined: 19 Mar 2011, 16:19
- Has thanked: 24 times
- Been thanked: 11 times
Re: [2013] Sanguine Feast deck
by Aiodren » 11 Aug 2012, 10:11
Hmmm... this is interesting but i think i know the problem. You copy the Lord of Lineage token (because you copy the transformed Bloodline Keeper, which is in fact a copy of the Lord of Lineage token) but the token has neither a card type nor any subtypes, so it is invisible. The Bloodline Keeper grants the types and subtypes to it, so you can't properly copy the token. We have to find a way to grant those things to the token if it's copied but not if it's summoned (because then we would have the same problems that i wanted to defeat by making it this way...). I will think about this.MisterBenn wrote:I noticed something with Lord of Lineage that might be bad news for the transform mechanic we have at the moment. If you cast a Rite of Replication on Lord of Lineage in its transformed form, no copies are produced. Unless I didn't bring everything across when I used the transform code, there might be an issue here.
Re: [2013] Sanguine Feast deck
by sadlyblue » 11 Aug 2012, 13:50
Try adding a trigger to add them when the creature comes into play.
Of course it won't solve if something is preventing come-into-play triggers.
Of course it won't solve if something is preventing come-into-play triggers.
11 posts
• Page 1 of 1
Who is online
Users browsing this forum: No registered users and 332 guests