Re: Card Creation Request Thread
Does any have Rhystic Study?
High Quality Resources for Collectible Card Games and Home of the CCGHQ Team
https://www.slightlymagic.net/forum/
https://www.slightlymagic.net/forum/viewtopic.php?f=64&t=4557
Works like a charm so far.sumomole wrote:I know what you said nowthefiremind wrote:Try my code and you'll see that protecting the card pointer doesn't have any effect. In fact, if you substitute the ZONECHANGE_BEGIN trigger with a ZONECHANGE_END trigger and protect the card pointer before setting the delayed trigger, you'll be able to do one more action (exiling the spell), but it won't be attached to the creature.sumomole wrote:I do not quite understand what you meansumomole wrote:if a card with haunt is removed from the graveyard in response to its haunt ability triggering, the haunt ability will resolve.If you address the card with Object(), the pointer will never be lost and in this case the haunt ability will resolve AND haunt the target creature.MTG Salvation wrote:If a card with haunt is removed from the graveyard in response to its haunt ability triggering, the haunt ability will resolve. But since the card can't be removed from the game, it won't haunt the target creature.
EDIT: Test this?
NEMESiS wrote:Does any have Rhystic Study?
<TRIGGERED_ABILITY auto_skip="1">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Whenever an opponent casts a spell, you may draw a card unless that player pays {1}.]]></LOCALISED_TEXT>
<TRIGGER value="SPELL_PLAYED">
return TriggerPlayer():GetTeam() ~= EffectController():GetTeam()
</TRIGGER>
<RESOLUTION_TIME_ACTION>
local opponent = TriggerPlayer()
if opponent ~= nil and opponent:CanAfford("{1}") == 1 then
opponent:BeginNewMultipleChoice()
opponent:AddMultipleChoiceAnswer( "CARD_QUERY_OPTION_PAY_1" )
opponent:AddMultipleChoiceAnswer( "CARD_QUERY_DO_NOTHING" )
opponent:AskMultipleChoiceQuestion( "CARD_QUERY_MC_CHOOSE_MODE" )
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local opponent = TriggerPlayer()
local decision = Object():GetMultipleChoiceResult()
if opponent ~= nil and opponent:CanAfford("{1}") == 1 then
if decision ~= 1 then
opponent:TapLand("{1}")
else
EffectDC():Set_Int(0, 1)
end
else
EffectDC():Set_Int(0, 1)
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local player = EffectController()
if player:IsAI() == 0 and EffectDC():Get_Int(0) == 1 then
player:BeginNewMultipleChoice()
player:AddMultipleChoiceAnswer( "CARD_QUERY_OPTION_YES" )
player:AddMultipleChoiceAnswer( "CARD_QUERY_OPTION_NO" )
player:AskMultipleChoiceQuestion( "CARD_QUERY_DRAW_A_CARD")
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local player = EffectController()
if player:IsAI() == 0 and EffectDC():Get_Int(0) == 1 then
local decision = Object():GetMultipleChoiceResult()
if decision == 0 then
player:DrawCard()
end
elseif CountCardsInLibrary(player) > 5 and EffectDC():Get_Int(0) == 1 then
player:DrawCard()
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>I didn't notice that you wrote PutIntoHand rather than PutInHand...Scion of Darkness wrote:Fire i need some more help the code you sent removes the top card as expected but fails to return them to hand can you take a look please?
If you search for SCRIPT_LOG.TXT in your game directory and open it, I'm sure that you can find a clue about that.Forecast isn't a problem... well, not a big one. The annoying thing is that DotP can't notice if there's something that can be done only during the upkeep, so you aren't given the time to do that unless you are responding to something else. That's why I added a "dummy" trigger that does nothing but giving you time to activate the forecast (if you can affordbecauseafrica wrote:is it possible to code Proclamation of Rebirth ? I will be happy if somebody make it
(maybe without forecast)
). The only downside is that if you have multiple cards with forecast in your hand, each one will give you that time and you'll have to wait for too long. In short, if someone wants to make a forecast deck, we'll need a better idea. The "dummy" trigger:thefiremind wrote:Forecast isn't a problem... well, not a big one. The annoying thing is that DotP can't notice if there's something that can be done only during the upkeep, so you aren't given the time to do that unless you are responding to something else. That's why I added a "dummy" trigger that does nothing but giving you time to activate the forecast (if you can affordbecauseafrica wrote:is it possible to code Proclamation of Rebirth ? I will be happy if somebody make it
(maybe without forecast)![]()
). The only downside is that if you have multiple cards with forecast in your hand, each one will give you that time and you'll have to wait for too long. In short, if someone wants to make a forecast deck, we'll need a better idea.
<TRIGGERED_ABILITY priority="-10" active_zone="ZONE_HAND">
<TRIGGER value="BEGINNING_OF_STEP" simple_qualifier="controller">
local filter = Object():GetFilter()
filter:Clear()
filter:NotTargetted()
filter:SetZone( ZONE_HAND )
filter:SetController( EffectController() )
filter:AddCardName( Object():GetCardName() )
local total = filter:EvaluateObjects()
if total > 0 then
if Object() == filter:GetNthEvaluatedObject(0) then
filter:Clear()
filter:AddCardType( CARD_TYPE_CREATURE )
filter:SetPlayer( EffectController() )
filter:SetZone( ZONE_GRAVEYARD )
filter:SetConvertedCostMax(1)
if filter:CountStopAt( 1 ) == 1 then
return ( EffectController():MyTurn() ~= 0 ) and ( MTG():GetStep() == STEP_UPKEEP ) and ( EffectController():CanAfford("{5}{W}") == 1 )
end
end
end
return false
</TRIGGER>
<RESOLUTION_TIME_ACTION />
</TRIGGERED_ABILITY>Thank you.sumomole wrote:NEMESiS wrote:Does any have Rhystic Study?
- Code: Select all
<TRIGGERED_ABILITY auto_skip="1">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Whenever an opponent casts a spell, you may draw a card unless that player pays {1}.]]></LOCALISED_TEXT>
<TRIGGER value="SPELL_PLAYED">
return TriggerPlayer():GetTeam() ~= EffectController():GetTeam()
</TRIGGER>
<RESOLUTION_TIME_ACTION>
local opponent = TriggerPlayer()
if opponent ~= nil and opponent:CanAfford("{1}") == 1 then
opponent:BeginNewMultipleChoice()
opponent:AddMultipleChoiceAnswer( "CARD_QUERY_OPTION_PAY_1" )
opponent:AddMultipleChoiceAnswer( "CARD_QUERY_DO_NOTHING" )
opponent:AskMultipleChoiceQuestion( "CARD_QUERY_MC_CHOOSE_MODE" )
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local opponent = TriggerPlayer()
local decision = Object():GetMultipleChoiceResult()
if opponent ~= nil and opponent:CanAfford("{1}") == 1 then
if decision ~= 1 then
opponent:TapLand("{1}")
else
EffectDC():Set_Int(0, 1)
end
else
EffectDC():Set_Int(0, 1)
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local player = EffectController()
if player:IsAI() == 0 and EffectDC():Get_Int(0) == 1 then
player:BeginNewMultipleChoice()
player:AddMultipleChoiceAnswer( "CARD_QUERY_OPTION_YES" )
player:AddMultipleChoiceAnswer( "CARD_QUERY_OPTION_NO" )
player:AskMultipleChoiceQuestion( "CARD_QUERY_DRAW_A_CARD")
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local player = EffectController()
if player:IsAI() == 0 and EffectDC():Get_Int(0) == 1 then
local decision = Object():GetMultipleChoiceResult()
if decision == 0 then
player:DrawCard()
end
elseif CountCardsInLibrary(player) > 5 and EffectDC():Get_Int(0) == 1 then
player:DrawCard()
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
Here you go:Master Necro wrote:
And I really, really need the Golgari Cluestone.
Could you please take a good look at the previous page of this topic?MalevolentZero wrote:Phyrexian Unlife
Thanks a million man!NEMESiS wrote:
Here you go: