Commit 61b14e65 authored by wind2009's avatar wind2009

Merge remote-tracking branch 'upstream/ROTA' into master

parents b1c787f1 95b57fa2
...@@ -19,7 +19,6 @@ function c10960419.initial_effect(c) ...@@ -19,7 +19,6 @@ function c10960419.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
c10960419.material_race=RACE_SPELLCASTER c10960419.material_race=RACE_SPELLCASTER
c10960419.toss_dice=true
function c10960419.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c10960419.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsFaceup() and chkc~=e:GetHandler() end if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsFaceup() and chkc~=e:GetHandler() end
if chk==0 then return true end if chk==0 then return true end
......
...@@ -20,7 +20,6 @@ function c11808215.initial_effect(c) ...@@ -20,7 +20,6 @@ function c11808215.initial_effect(c)
e2:SetOperation(c11808215.diceop) e2:SetOperation(c11808215.diceop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
c11808215.toss_dice=true
function c11808215.thfilter(c) function c11808215.thfilter(c)
return c:IsCode(47292920) and c:IsAbleToHand() return c:IsCode(47292920) and c:IsAbleToHand()
end end
......
...@@ -24,9 +24,8 @@ function c11819473.initial_effect(c) ...@@ -24,9 +24,8 @@ function c11819473.initial_effect(c)
e2:SetOperation(c11819473.sumop) e2:SetOperation(c11819473.sumop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
c11819473.toss_coin=true
function c11819473.thfilter1(c) function c11819473.thfilter1(c)
return not c:IsCode(11819473) and c.toss_coin and c:IsAbleToHand() return not c:IsCode(11819473) and c:IsEffectProperty(aux.EffectCategoryFilter(CATEGORY_COIN)) and c:IsAbleToHand()
end end
function c11819473.thfilter2(c,p) function c11819473.thfilter2(c,p)
return c:IsAbleToHand(p) return c:IsAbleToHand(p)
......
...@@ -12,7 +12,6 @@ function c12148078.initial_effect(c) ...@@ -12,7 +12,6 @@ function c12148078.initial_effect(c)
e1:SetOperation(c12148078.activate) e1:SetOperation(c12148078.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
c12148078.toss_dice=true
function c12148078.cfilter(c,e,tp) function c12148078.cfilter(c,e,tp)
return c:IsDiscardable() return c:IsDiscardable()
and Duel.IsExistingMatchingCard(c12148078.spfilter,tp,LOCATION_DECK+LOCATION_HAND,0,1,c,e,tp,6) and Duel.IsExistingMatchingCard(c12148078.spfilter,tp,LOCATION_DECK+LOCATION_HAND,0,1,c,e,tp,6)
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
function c126218.initial_effect(c) function c126218.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_ATKCHANGE) e1:SetCategory(CATEGORY_DICE+CATEGORY_ATKCHANGE)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP) e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
...@@ -13,7 +13,6 @@ function c126218.initial_effect(c) ...@@ -13,7 +13,6 @@ function c126218.initial_effect(c)
e1:SetOperation(c126218.activate) e1:SetOperation(c126218.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
c126218.toss_dice=true
function c126218.target(e,tp,eg,ep,ev,re,r,rp,chk) function c126218.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsFaceup,tp,0,LOCATION_MZONE,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(Card.IsFaceup,tp,0,LOCATION_MZONE,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_DICE,nil,0,tp,1) Duel.SetOperationInfo(0,CATEGORY_DICE,nil,0,tp,1)
......
...@@ -36,7 +36,6 @@ function c15130912.initial_effect(c) ...@@ -36,7 +36,6 @@ function c15130912.initial_effect(c)
e3:SetOperation(c15130912.coinop2) e3:SetOperation(c15130912.coinop2)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
c15130912.toss_coin=true
function c15130912.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c15130912.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
local zone=1<<c:GetSequence() local zone=1<<c:GetSequence()
......
...@@ -38,7 +38,6 @@ function c15317640.initial_effect(c) ...@@ -38,7 +38,6 @@ function c15317640.initial_effect(c)
e4:SetOperation(c15317640.desop) e4:SetOperation(c15317640.desop)
c:RegisterEffect(e4) c:RegisterEffect(e4)
end end
c15317640.toss_coin=true
function c15317640.addct(e,tp,eg,ep,ev,re,r,rp,chk) function c15317640.addct(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,2,0,0x1f) Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,2,0,0x1f)
......
...@@ -16,7 +16,7 @@ function c15521027.initial_effect(c) ...@@ -16,7 +16,7 @@ function c15521027.initial_effect(c)
--tohand --tohand
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(15521027,1)) e2:SetDescription(aux.Stringid(15521027,1))
e2:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH) e2:SetCategory(CATEGORY_DICE+CATEGORY_TOHAND+CATEGORY_SEARCH)
e2:SetType(EFFECT_TYPE_IGNITION) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1) e2:SetCountLimit(1)
...@@ -27,6 +27,7 @@ function c15521027.initial_effect(c) ...@@ -27,6 +27,7 @@ function c15521027.initial_effect(c)
--sort deck --sort deck
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(15521027,2)) e3:SetDescription(aux.Stringid(15521027,2))
e3:SetCategory(CATEGORY_DICE)
e3:SetType(EFFECT_TYPE_IGNITION) e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1) e3:SetCountLimit(1)
...@@ -35,7 +36,6 @@ function c15521027.initial_effect(c) ...@@ -35,7 +36,6 @@ function c15521027.initial_effect(c)
e3:SetOperation(c15521027.opd) e3:SetOperation(c15521027.opd)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
c15521027.toss_dice=true
function c15521027.spfilter(c) function c15521027.spfilter(c)
return c:IsSetCard(0x26) and c:IsType(TYPE_MONSTER) and c:IsAbleToRemoveAsCost() return c:IsSetCard(0x26) and c:IsType(TYPE_MONSTER) and c:IsAbleToRemoveAsCost()
end end
......
...@@ -12,7 +12,6 @@ function c15744417.initial_effect(c) ...@@ -12,7 +12,6 @@ function c15744417.initial_effect(c)
e1:SetOperation(c15744417.operation) e1:SetOperation(c15744417.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
c15744417.toss_dice=true
function c15744417.target(e,tp,eg,ep,ev,re,r,rp,chk) function c15744417.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_DICE,nil,0,tp,3) Duel.SetOperationInfo(0,CATEGORY_DICE,nil,0,tp,3)
......
...@@ -12,7 +12,6 @@ function c16135253.initial_effect(c) ...@@ -12,7 +12,6 @@ function c16135253.initial_effect(c)
e1:SetOperation(c16135253.operation) e1:SetOperation(c16135253.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
c16135253.toss_dice=true
function c16135253.condition(e,tp,eg,ep,ev,re,r,rp) function c16135253.condition(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsLocation(LOCATION_GRAVE) and e:GetHandler():IsReason(REASON_BATTLE) return e:GetHandler():IsLocation(LOCATION_GRAVE) and e:GetHandler():IsReason(REASON_BATTLE)
end end
......
...@@ -25,7 +25,6 @@ function c16625614.initial_effect(c) ...@@ -25,7 +25,6 @@ function c16625614.initial_effect(c)
e4:SetOperation(c16625614.operation) e4:SetOperation(c16625614.operation)
c:RegisterEffect(e4) c:RegisterEffect(e4)
end end
c16625614.toss_coin=true
function c16625614.efilter(e,te) function c16625614.efilter(e,te)
local tc=te:GetHandler() local tc=te:GetHandler()
return not tc:IsCode(94212438) return not tc:IsCode(94212438)
......
...@@ -27,7 +27,6 @@ function c17032740.initial_effect(c) ...@@ -27,7 +27,6 @@ function c17032740.initial_effect(c)
c:RegisterEffect(e5) c:RegisterEffect(e5)
end end
c17032740.material_setcode=0x8 c17032740.material_setcode=0x8
c17032740.toss_coin=true
function c17032740.splimit(e,se,sp,st) function c17032740.splimit(e,se,sp,st)
return not e:GetHandler():IsLocation(LOCATION_EXTRA) return not e:GetHandler():IsLocation(LOCATION_EXTRA)
end end
......
...@@ -12,7 +12,6 @@ function c17530001.initial_effect(c) ...@@ -12,7 +12,6 @@ function c17530001.initial_effect(c)
e1:SetOperation(c17530001.operation) e1:SetOperation(c17530001.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
c17530001.toss_dice=true
function c17530001.target(e,tp,eg,ep,ev,re,r,rp,chk) function c17530001.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_DICE,nil,0,tp,1) Duel.SetOperationInfo(0,CATEGORY_DICE,nil,0,tp,1)
......
...@@ -28,7 +28,6 @@ function c21598948.initial_effect(c) ...@@ -28,7 +28,6 @@ function c21598948.initial_effect(c)
e3:SetOperation(c21598948.mtop) e3:SetOperation(c21598948.mtop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
c21598948.toss_coin=true
function c21598948.atkcon(e,tp,eg,ep,ev,re,r,rp) function c21598948.atkcon(e,tp,eg,ep,ev,re,r,rp)
return tp~=Duel.GetTurnPlayer() return tp~=Duel.GetTurnPlayer()
end end
......
...@@ -12,7 +12,6 @@ function c2196767.initial_effect(c) ...@@ -12,7 +12,6 @@ function c2196767.initial_effect(c)
e1:SetOperation(c2196767.desop) e1:SetOperation(c2196767.desop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
c2196767.toss_coin=true
function c2196767.destg(e,tp,eg,ep,ev,re,r,rp,chk) function c2196767.destg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_COIN,nil,0,tp,3) Duel.SetOperationInfo(0,CATEGORY_COIN,nil,0,tp,3)
......
...@@ -11,7 +11,6 @@ function c22802010.initial_effect(c) ...@@ -11,7 +11,6 @@ function c22802010.initial_effect(c)
e1:SetOperation(c22802010.activate) e1:SetOperation(c22802010.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
c22802010.toss_dice=true
function c22802010.filter(c,lv) function c22802010.filter(c,lv)
return c:IsFaceup() and (c:IsLevelBelow(lv) or c:IsRankBelow(lv)) return c:IsFaceup() and (c:IsLevelBelow(lv) or c:IsRankBelow(lv))
end end
......
...@@ -2,34 +2,7 @@ ...@@ -2,34 +2,7 @@
---@param c Card ---@param c Card
function c23846921.initial_effect(c) function c23846921.initial_effect(c)
--coin --coin
local e1=Effect.CreateEffect(c) aux.EnableArcanaCoin(c,EVENT_SUMMON_SUCCESS,EVENT_FLIP_SUMMON_SUCCESS,EVENT_SPSUMMON_SUCCESS)
e1:SetDescription(aux.Stringid(23846921,0))
e1:SetCategory(CATEGORY_COIN)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetTarget(c23846921.cointg)
e1:SetOperation(c23846921.coinop)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2)
local e3=e1:Clone()
e3:SetCode(EVENT_FLIP_SUMMON_SUCCESS)
c:RegisterEffect(e3)
end
c23846921.toss_coin=true
function c23846921.cointg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_COIN,nil,0,tp,1)
end
function c23846921.coinop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) or c:IsFacedown() then return end
local res=0
if c:IsHasEffect(73206827) then
res=1-Duel.SelectOption(tp,60,61)
else res=Duel.TossCoin(tp,1) end
c23846921.arcanareg(c,res)
end end
function c23846921.arcanareg(c,coin) function c23846921.arcanareg(c,coin)
--coin effect --coin effect
...@@ -58,10 +31,10 @@ function c23846921.arcanareg(c,coin) ...@@ -58,10 +31,10 @@ function c23846921.arcanareg(c,coin)
e2:SetOperation(c23846921.thop) e2:SetOperation(c23846921.thop)
e2:SetReset(RESET_EVENT+RESETS_STANDARD) e2:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e2) c:RegisterEffect(e2)
c:RegisterFlagEffect(36690018,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,coin,63-coin) c:RegisterFlagEffect(FLAG_ID_ARCANA_COIN,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,coin,63-coin)
end end
function c23846921.skipcon(e,tp,eg,ep,ev,re,r,rp) function c23846921.skipcon(e,tp,eg,ep,ev,re,r,rp)
return ep==tp and e:GetHandler():GetFlagEffectLabel(36690018)==1 return ep==tp and e:GetHandler():GetFlagEffectLabel(FLAG_ID_ARCANA_COIN)==1
end end
function c23846921.skipcost(e,tp,eg,ep,ev,re,r,rp,chk) function c23846921.skipcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToGraveAsCost,tp,LOCATION_MZONE,0,2,nil) end if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToGraveAsCost,tp,LOCATION_MZONE,0,2,nil) end
...@@ -82,7 +55,7 @@ function c23846921.skipop(e,tp,eg,ep,ev,re,r,rp) ...@@ -82,7 +55,7 @@ function c23846921.skipop(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
end end
function c23846921.thcon(e,tp,eg,ep,ev,re,r,rp) function c23846921.thcon(e,tp,eg,ep,ev,re,r,rp)
return ep~=tp and e:GetHandler():GetFlagEffectLabel(36690018)==0 return ep~=tp and e:GetHandler():GetFlagEffectLabel(FLAG_ID_ARCANA_COIN)==0
end end
function c23846921.thtg(e,tp,eg,ep,ev,re,r,rp,chk) function c23846921.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
......
...@@ -13,7 +13,6 @@ function c25551951.initial_effect(c) ...@@ -13,7 +13,6 @@ function c25551951.initial_effect(c)
e1:SetOperation(c25551951.desop) e1:SetOperation(c25551951.desop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
c25551951.toss_coin=true
function c25551951.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c25551951.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and chkc:IsControler(1-tp) end if chkc then return chkc:IsOnField() and chkc:IsControler(1-tp) end
if chk==0 then return Duel.IsExistingTarget(aux.TRUE,tp,0,LOCATION_ONFIELD,1,nil) end if chk==0 then return Duel.IsExistingTarget(aux.TRUE,tp,0,LOCATION_ONFIELD,1,nil) end
......
...@@ -24,7 +24,6 @@ function s.initial_effect(c) ...@@ -24,7 +24,6 @@ function s.initial_effect(c)
e2:SetOperation(s.drop) e2:SetOperation(s.drop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
s.toss_coin=true
function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false) if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
......
...@@ -24,7 +24,6 @@ function c26273196.initial_effect(c) ...@@ -24,7 +24,6 @@ function c26273196.initial_effect(c)
e2:SetOperation(c26273196.matop) e2:SetOperation(c26273196.matop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
c26273196.toss_coin=true
function c26273196.matcon(e,tp,eg,ep,ev,re,r,rp) function c26273196.matcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_FUSION) return e:GetHandler():IsSummonType(SUMMON_TYPE_FUSION)
end end
......
...@@ -31,7 +31,6 @@ function c28112535.initial_effect(c) ...@@ -31,7 +31,6 @@ function c28112535.initial_effect(c)
e5:SetOperation(c28112535.desop) e5:SetOperation(c28112535.desop)
c:RegisterEffect(e5) c:RegisterEffect(e5)
end end
c28112535.toss_coin=true
function c28112535.atklimit(e,tp,eg,ep,ev,re,r,rp) function c28112535.atklimit(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
......
...@@ -56,10 +56,10 @@ function c30439101.discon(e,tp,eg,ep,ev,re,r,rp) ...@@ -56,10 +56,10 @@ function c30439101.discon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c30439101.cfilter,1,nil,tp) return eg:IsExists(c30439101.cfilter,1,nil,tp)
end end
function c30439101.distg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c30439101.distg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(1-tp) and aux.NegateMonsterFilter(chkc) end if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(1-tp) and chkc:IsFaceup() end
if chk==0 then return Duel.IsExistingTarget(aux.NegateMonsterFilter,tp,0,LOCATION_MZONE,1,nil) end if chk==0 then return Duel.IsExistingTarget(Card.IsFaceup,tp,0,LOCATION_MZONE,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISABLE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISABLE)
local g=Duel.SelectTarget(tp,aux.NegateMonsterFilter,tp,0,LOCATION_MZONE,1,1,nil) local g=Duel.SelectTarget(tp,Card.IsFaceup,tp,0,LOCATION_MZONE,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_DISABLE,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_DISABLE,g,1,0,0)
end end
function c30439101.disop(e,tp,eg,ep,ev,re,r,rp) function c30439101.disop(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -12,7 +12,6 @@ function c30707994.initial_effect(c) ...@@ -12,7 +12,6 @@ function c30707994.initial_effect(c)
e1:SetOperation(c30707994.operation) e1:SetOperation(c30707994.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
c30707994.toss_dice=true
function c30707994.condition(e,tp,eg,ep,ev,re,r,rp) function c30707994.condition(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_ADVANCE) return e:GetHandler():IsSummonType(SUMMON_TYPE_ADVANCE)
end end
......
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
function c31863912.initial_effect(c) function c31863912.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DICE+CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMING_SPSUMMON) e1:SetHintTiming(0,TIMING_SPSUMMON)
...@@ -12,6 +13,7 @@ function c31863912.initial_effect(c) ...@@ -12,6 +13,7 @@ function c31863912.initial_effect(c)
-- --
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(31863912,0)) e2:SetDescription(aux.Stringid(31863912,0))
e1:SetCategory(CATEGORY_DICE+CATEGORY_TOHAND)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e2:SetCode(EVENT_SPSUMMON_SUCCESS) e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetRange(LOCATION_SZONE) e2:SetRange(LOCATION_SZONE)
...@@ -20,7 +22,6 @@ function c31863912.initial_effect(c) ...@@ -20,7 +22,6 @@ function c31863912.initial_effect(c)
e2:SetLabel(1) e2:SetLabel(1)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
c31863912.toss_dice=true
function c31863912.cfilter(c,sp) function c31863912.cfilter(c,sp)
return c:IsFaceup() and c:IsSummonPlayer(sp) return c:IsFaceup() and c:IsSummonPlayer(sp)
end end
......
...@@ -20,7 +20,6 @@ function c32015116.initial_effect(c) ...@@ -20,7 +20,6 @@ function c32015116.initial_effect(c)
e2:SetOperation(c32015116.rdop) e2:SetOperation(c32015116.rdop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
c32015116.toss_dice=true
function c32015116.rdcon(e,tp,eg,ep,ev,re,r,rp) function c32015116.rdcon(e,tp,eg,ep,ev,re,r,rp)
return tp==Duel.GetTurnPlayer() return tp==Duel.GetTurnPlayer()
end end
......
...@@ -10,7 +10,6 @@ function c3280747.initial_effect(c) ...@@ -10,7 +10,6 @@ function c3280747.initial_effect(c)
e1:SetOperation(c3280747.activate) e1:SetOperation(c3280747.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
c3280747.toss_dice=true
function c3280747.target(e,tp,eg,ep,ev,re,r,rp,chk) function c3280747.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>=6 end if chk==0 then return Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>=6 end
Duel.SetOperationInfo(0,CATEGORY_DICE,nil,0,tp,2) Duel.SetOperationInfo(0,CATEGORY_DICE,nil,0,tp,2)
......
...@@ -14,6 +14,7 @@ function c33114323.initial_effect(c) ...@@ -14,6 +14,7 @@ function c33114323.initial_effect(c)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD) e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET) e2:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e2:SetProperty(EFFECT_FLAG_SET_AVAILABLE)
e2:SetRange(LOCATION_SZONE) e2:SetRange(LOCATION_SZONE)
e2:SetTargetRange(0x34,0x34) e2:SetTargetRange(0x34,0x34)
e2:SetCondition(c33114323.effcon) e2:SetCondition(c33114323.effcon)
......
...@@ -7,7 +7,7 @@ function c34568403.initial_effect(c) ...@@ -7,7 +7,7 @@ function c34568403.initial_effect(c)
e1:SetCategory(CATEGORY_COIN) e1:SetCategory(CATEGORY_COIN)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetCode(EVENT_SUMMON_SUCCESS) e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetTarget(c34568403.cointg) e1:SetTarget(aux.ArcanaCoinTarget)
e1:SetOperation(c34568403.coinop) e1:SetOperation(c34568403.coinop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
local e2=e1:Clone() local e2=e1:Clone()
...@@ -17,18 +17,20 @@ function c34568403.initial_effect(c) ...@@ -17,18 +17,20 @@ function c34568403.initial_effect(c)
e3:SetCode(EVENT_FLIP_SUMMON_SUCCESS) e3:SetCode(EVENT_FLIP_SUMMON_SUCCESS)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
c34568403.toss_coin=true
function c34568403.cointg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_COIN,nil,0,tp,1)
end
function c34568403.coinop(e,tp,eg,ep,ev,re,r,rp) function c34568403.coinop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if not c:IsRelateToEffect(e) or c:IsFacedown() then return end
local res=0 local res=0
if c:IsHasEffect(73206827) then local toss=false
if Duel.IsPlayerAffectedByEffect(tp,73206827) then
res=1-Duel.SelectOption(tp,60,61) res=1-Duel.SelectOption(tp,60,61)
else res=Duel.TossCoin(tp,1) end else
res=Duel.TossCoin(tp,1)
toss=true
end
if not c:IsRelateToEffect(e) or c:IsFacedown() then return end
if toss then
c:RegisterFlagEffect(FLAG_ID_REVERSAL_OF_FATE,RESET_EVENT+RESETS_STANDARD,0,1)
end
c34568403.arcanareg(c,res) c34568403.arcanareg(c,res)
if res==0 then if res==0 then
Duel.GetControl(c,1-tp) Duel.GetControl(c,1-tp)
...@@ -46,11 +48,11 @@ function c34568403.arcanareg(c,coin) ...@@ -46,11 +48,11 @@ function c34568403.arcanareg(c,coin)
e1:SetOperation(c34568403.spop) e1:SetOperation(c34568403.spop)
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e1) c:RegisterEffect(e1)
c:RegisterFlagEffect(36690018,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,coin,63-coin) c:RegisterFlagEffect(FLAG_ID_ARCANA_COIN,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,coin,63-coin)
end end
function c34568403.spcon(e,tp,eg,ep,ev,re,r,rp) function c34568403.spcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
return c:GetFlagEffectLabel(36690018)==1 and c:IsRelateToBattle() and c:IsStatus(STATUS_OPPO_BATTLE) return c:GetFlagEffectLabel(FLAG_ID_ARCANA_COIN)==1 and c:IsRelateToBattle() and c:IsStatus(STATUS_OPPO_BATTLE)
end end
function c34568403.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c34568403.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local tc=e:GetHandler():GetBattleTarget() local tc=e:GetHandler():GetBattleTarget()
......
...@@ -11,7 +11,6 @@ function c3493058.initial_effect(c) ...@@ -11,7 +11,6 @@ function c3493058.initial_effect(c)
e1:SetOperation(c3493058.activate) e1:SetOperation(c3493058.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
c3493058.toss_dice=true
function c3493058.filter(c) function c3493058.filter(c)
return c:IsType(TYPE_SPELL+TYPE_TRAP) return c:IsType(TYPE_SPELL+TYPE_TRAP)
end end
......
...@@ -9,7 +9,6 @@ function c3549275.initial_effect(c) ...@@ -9,7 +9,6 @@ function c3549275.initial_effect(c)
e1:SetOperation(c3549275.operation) e1:SetOperation(c3549275.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
c3549275.toss_dice=true
function c3549275.target(e,tp,eg,ep,ev,re,r,rp,chk) function c3549275.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_DICE,nil,0,PLAYER_ALL,1) Duel.SetOperationInfo(0,CATEGORY_DICE,nil,0,PLAYER_ALL,1)
......
...@@ -40,7 +40,6 @@ function c35606858.initial_effect(c) ...@@ -40,7 +40,6 @@ function c35606858.initial_effect(c)
e3:SetOperation(c35606858.dcop) e3:SetOperation(c35606858.dcop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
c35606858.toss_dice=true
function c35606858.mtcon(e,tp,eg,ep,ev,re,r,rp) function c35606858.mtcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==tp return Duel.GetTurnPlayer()==tp
end end
......
...@@ -26,7 +26,6 @@ function c35772782.initial_effect(c) ...@@ -26,7 +26,6 @@ function c35772782.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
aux.xyz_number[35772782]=67 aux.xyz_number[35772782]=67
c35772782.toss_dice=true
function c35772782.dccon(e,tp,eg,ep,ev,re,r,rp) function c35772782.dccon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetCurrentPhase()==PHASE_MAIN1 return Duel.GetCurrentPhase()==PHASE_MAIN1
end end
......
...@@ -2,34 +2,7 @@ ...@@ -2,34 +2,7 @@
---@param c Card ---@param c Card
function c35781051.initial_effect(c) function c35781051.initial_effect(c)
--coin --coin
local e1=Effect.CreateEffect(c) aux.EnableArcanaCoin(c,EVENT_SUMMON_SUCCESS,EVENT_FLIP_SUMMON_SUCCESS,EVENT_SPSUMMON_SUCCESS)
e1:SetDescription(aux.Stringid(35781051,0))
e1:SetCategory(CATEGORY_COIN)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetTarget(c35781051.cointg)
e1:SetOperation(c35781051.coinop)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2)
local e3=e1:Clone()
e3:SetCode(EVENT_FLIP_SUMMON_SUCCESS)
c:RegisterEffect(e3)
end
c35781051.toss_coin=true
function c35781051.cointg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_COIN,nil,0,tp,1)
end
function c35781051.coinop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) or c:IsFacedown() then return end
local res=0
if c:IsHasEffect(73206827) then
res=1-Duel.SelectOption(tp,60,61)
else res=Duel.TossCoin(tp,1) end
c35781051.arcanareg(c,res)
end end
function c35781051.arcanareg(c,coin) function c35781051.arcanareg(c,coin)
--coin effect --coin effect
...@@ -62,10 +35,10 @@ function c35781051.arcanareg(c,coin) ...@@ -62,10 +35,10 @@ function c35781051.arcanareg(c,coin)
local e4=e3:Clone() local e4=e3:Clone()
e4:SetCode(EVENT_MSET) e4:SetCode(EVENT_MSET)
c:RegisterEffect(e4) c:RegisterEffect(e4)
c:RegisterFlagEffect(36690018,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,coin,63-coin) c:RegisterFlagEffect(FLAG_ID_ARCANA_COIN,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,coin,63-coin)
end end
function c35781051.spcon(e,tp,eg,ep,ev,re,r,rp) function c35781051.spcon(e,tp,eg,ep,ev,re,r,rp)
return ep~=tp and e:GetHandler():GetFlagEffectLabel(36690018)==1 return ep~=tp and e:GetHandler():GetFlagEffectLabel(FLAG_ID_ARCANA_COIN)==1
end end
function c35781051.spfilter(c,e,tp) function c35781051.spfilter(c,e,tp)
return c:IsSetCard(0x5) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsSetCard(0x5) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
...@@ -84,7 +57,7 @@ function c35781051.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -84,7 +57,7 @@ function c35781051.spop(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function c35781051.tgcon(e,tp,eg,ep,ev,re,r,rp) function c35781051.tgcon(e,tp,eg,ep,ev,re,r,rp)
return ep~=tp and e:GetHandler():GetFlagEffectLabel(36690018)==0 return ep~=tp and e:GetHandler():GetFlagEffectLabel(FLAG_ID_ARCANA_COIN)==0
end end
function c35781051.tgtg(e,tp,eg,ep,ev,re,r,rp,chk) function c35781051.tgtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
......
...@@ -14,12 +14,12 @@ function c35798491.initial_effect(c) ...@@ -14,12 +14,12 @@ function c35798491.initial_effect(c)
--disable and destroy --disable and destroy
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCategory(CATEGORY_DICE)
e2:SetCode(EVENT_CHAIN_SOLVING) e2:SetCode(EVENT_CHAIN_SOLVING)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetOperation(c35798491.disop) e2:SetOperation(c35798491.disop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
c35798491.toss_dice=true
function c35798491.mtcon(e,tp,eg,ep,ev,re,r,rp) function c35798491.mtcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==tp return Duel.GetTurnPlayer()==tp
end end
......
...@@ -23,6 +23,7 @@ function c35975813.initial_effect(c) ...@@ -23,6 +23,7 @@ function c35975813.initial_effect(c)
--disable and destroy --disable and destroy
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e4:SetCategory(CATEGORY_DICE)
e4:SetCode(EVENT_CHAIN_SOLVING) e4:SetCode(EVENT_CHAIN_SOLVING)
e4:SetRange(LOCATION_MZONE) e4:SetRange(LOCATION_MZONE)
e4:SetOperation(c35975813.disop) e4:SetOperation(c35975813.disop)
...@@ -35,7 +36,6 @@ function c35975813.initial_effect(c) ...@@ -35,7 +36,6 @@ function c35975813.initial_effect(c)
e5:SetOperation(c35975813.disop2) e5:SetOperation(c35975813.disop2)
c:RegisterEffect(e5) c:RegisterEffect(e5)
end end
c35975813.toss_dice=true
function c35975813.exfilter(c) function c35975813.exfilter(c)
return c:IsFaceup() and c:IsSetCard(0x45) return c:IsFaceup() and c:IsSetCard(0x45)
end end
......
...@@ -26,7 +26,6 @@ function c36378044.initial_effect(c) ...@@ -26,7 +26,6 @@ function c36378044.initial_effect(c)
e3:SetOperation(c36378044.desop) e3:SetOperation(c36378044.desop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
c36378044.toss_coin=true
function c36378044.atkcon(e,tp,eg,ep,ev,re,r,rp) function c36378044.atkcon(e,tp,eg,ep,ev,re,r,rp)
return tp~=Duel.GetTurnPlayer() return tp~=Duel.GetTurnPlayer()
end end
......
...@@ -11,7 +11,7 @@ function c36690018.initial_effect(c) ...@@ -11,7 +11,7 @@ function c36690018.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c36690018.filter(c) function c36690018.filter(c)
return c:GetFlagEffect(36690018)~=0 return c:IsFaceup() and c:IsSetCard(0x5) and c:GetFlagEffect(FLAG_ID_REVERSAL_OF_FATE)~=0
end end
function c36690018.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c36690018.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c36690018.filter(chkc) end if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c36690018.filter(chkc) end
...@@ -21,8 +21,8 @@ function c36690018.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -21,8 +21,8 @@ function c36690018.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
end end
function c36690018.activate(e,tp,eg,ep,ev,re,r,rp) function c36690018.activate(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and tc:IsFaceup() and c36690018.filter(tc) then if tc:IsRelateToEffect(e) and tc:IsFaceup() and tc:GetFlagEffect(FLAG_ID_REVERSAL_OF_FATE)~=0 and tc:GetFlagEffect(FLAG_ID_ARCANA_COIN)~=0 then
local val=tc:GetFlagEffectLabel(36690018) local val=tc:GetFlagEffectLabel(FLAG_ID_ARCANA_COIN)
tc:SetFlagEffectLabel(36690018,1-val) tc:SetFlagEffectLabel(FLAG_ID_ARCANA_COIN,1-val)
end end
end end
...@@ -11,7 +11,6 @@ function c36708764.initial_effect(c) ...@@ -11,7 +11,6 @@ function c36708764.initial_effect(c)
e1:SetOperation(c36708764.activate) e1:SetOperation(c36708764.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
c36708764.toss_dice=true
function c36708764.condition(e,tp,eg,ep,ev,re,r,rp) function c36708764.condition(e,tp,eg,ep,ev,re,r,rp)
return ep~=tp return ep~=tp
end end
......
...@@ -11,7 +11,6 @@ function c37313786.initial_effect(c) ...@@ -11,7 +11,6 @@ function c37313786.initial_effect(c)
e1:SetOperation(c37313786.activate) e1:SetOperation(c37313786.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
c37313786.toss_coin=true
function c37313786.condition(e,tp,eg,ep,ev,re,r,rp) function c37313786.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFieldGroupCount(tp,LOCATION_HAND,0)<=2 and Duel.GetFieldGroupCount(tp,0,LOCATION_HAND)>=6 return Duel.GetFieldGroupCount(tp,LOCATION_HAND,0)<=2 and Duel.GetFieldGroupCount(tp,0,LOCATION_HAND)>=6
end end
......
...@@ -10,7 +10,6 @@ function c37812118.initial_effect(c) ...@@ -10,7 +10,6 @@ function c37812118.initial_effect(c)
e1:SetOperation(c37812118.activate) e1:SetOperation(c37812118.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
c37812118.toss_coin=true
function c37812118.target(e,tp,eg,ep,ev,re,r,rp,chk) function c37812118.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDraw(tp,2) and Duel.IsPlayerCanDraw(1-tp,2) end if chk==0 then return Duel.IsPlayerCanDraw(tp,2) and Duel.IsPlayerCanDraw(1-tp,2) end
Duel.SetOperationInfo(0,CATEGORY_COIN,nil,0,tp,1) Duel.SetOperationInfo(0,CATEGORY_COIN,nil,0,tp,1)
......
...@@ -24,7 +24,6 @@ function c38082437.initial_effect(c) ...@@ -24,7 +24,6 @@ function c38082437.initial_effect(c)
e2:SetOperation(c38082437.opd) e2:SetOperation(c38082437.opd)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
c38082437.toss_dice=true
function c38082437.cona(e,tp,eg,ep,ev,re,r,rp) function c38082437.cona(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsAttackPos() return e:GetHandler():IsAttackPos()
end end
......
...@@ -26,7 +26,6 @@ function c38143903.initial_effect(c) ...@@ -26,7 +26,6 @@ function c38143903.initial_effect(c)
e2:SetRange(LOCATION_SZONE) e2:SetRange(LOCATION_SZONE)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
c38143903.toss_coin=true
function c38143903.negcon(e,tp,eg,ep,ev,re,r,rp) function c38143903.negcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_LOCATION)==LOCATION_MZONE and re:IsActiveType(TYPE_MONSTER) return Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_LOCATION)==LOCATION_MZONE and re:IsActiveType(TYPE_MONSTER)
and Duel.IsChainNegatable(ev) and Duel.IsChainNegatable(ev)
......
...@@ -10,7 +10,7 @@ function c38299233.initial_effect(c) ...@@ -10,7 +10,7 @@ function c38299233.initial_effect(c)
--roll and destroy --roll and destroy
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(38299233,0)) e2:SetDescription(aux.Stringid(38299233,0))
e2:SetCategory(CATEGORY_DESTROY) e2:SetCategory(CATEGORY_DICE+CATEGORY_DESTROY)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e2:SetRange(LOCATION_SZONE) e2:SetRange(LOCATION_SZONE)
e2:SetCountLimit(1) e2:SetCountLimit(1)
...@@ -20,7 +20,6 @@ function c38299233.initial_effect(c) ...@@ -20,7 +20,6 @@ function c38299233.initial_effect(c)
e2:SetOperation(c38299233.rdop) e2:SetOperation(c38299233.rdop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
c38299233.toss_dice=true
function c38299233.rdcon(e,tp,eg,ep,ev,re,r,rp) function c38299233.rdcon(e,tp,eg,ep,ev,re,r,rp)
return tp==Duel.GetTurnPlayer() return tp==Duel.GetTurnPlayer()
end end
......
...@@ -20,7 +20,7 @@ function c40364916.initial_effect(c) ...@@ -20,7 +20,7 @@ function c40364916.initial_effect(c)
--remove --remove
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(40364916,1)) e4:SetDescription(aux.Stringid(40364916,1))
e4:SetCategory(CATEGORY_REMOVE+CATEGORY_TOGRAVE) e4:SetCategory(CATEGORY_REMOVE+CATEGORY_TOGRAVE+CATEGORY_DECKDES)
e4:SetType(EFFECT_TYPE_IGNITION) e4:SetType(EFFECT_TYPE_IGNITION)
e4:SetProperty(EFFECT_FLAG_CARD_TARGET) e4:SetProperty(EFFECT_FLAG_CARD_TARGET)
e4:SetRange(LOCATION_SZONE) e4:SetRange(LOCATION_SZONE)
...@@ -69,6 +69,7 @@ function c40364916.rmop(e,tp,eg,ep,ev,re,r,rp) ...@@ -69,6 +69,7 @@ function c40364916.rmop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(c40364916.tgfilter,tp,LOCATION_DECK,0,nil) local g=Duel.GetMatchingGroup(c40364916.tgfilter,tp,LOCATION_DECK,0,nil)
if tc:IsRelateToEffect(e) and Duel.Remove(tc,POS_FACEUP,REASON_EFFECT)~=0 if tc:IsRelateToEffect(e) and Duel.Remove(tc,POS_FACEUP,REASON_EFFECT)~=0
and g:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(40364916,2)) then and g:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(40364916,2)) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local sg=g:Select(tp,1,1,nil) local sg=g:Select(tp,1,1,nil)
Duel.SendtoGrave(sg,REASON_EFFECT) Duel.SendtoGrave(sg,REASON_EFFECT)
......
...@@ -110,18 +110,20 @@ end ...@@ -110,18 +110,20 @@ end
function c40939228.negop(e,tp,eg,ep,ev,re,r,rp) function c40939228.negop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local fid=c:GetFieldID() local fid=c:GetFieldID()
if c:IsRelateToEffect(e) and Duel.Remove(c,0,REASON_EFFECT+REASON_TEMPORARY)~=0 and c:GetOriginalCode()==id then if c:IsRelateToEffect(e) and Duel.Remove(c,0,REASON_EFFECT+REASON_TEMPORARY)~=0 then
c:RegisterFlagEffect(40939228,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1,fid) if c:GetOriginalCode()==id then
local e1=Effect.CreateEffect(c) c:RegisterFlagEffect(40939228,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1,fid)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) local e1=Effect.CreateEffect(c)
e1:SetCode(EVENT_PHASE+PHASE_END) e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetReset(RESET_PHASE+PHASE_END) e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetLabel(fid) e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetLabelObject(c) e1:SetLabel(fid)
e1:SetCountLimit(1) e1:SetLabelObject(c)
e1:SetCondition(c40939228.retcon) e1:SetCountLimit(1)
e1:SetOperation(c40939228.retop) e1:SetCondition(c40939228.retcon)
Duel.RegisterEffect(e1,tp) e1:SetOperation(c40939228.retop)
Duel.RegisterEffect(e1,tp)
end
if Duel.NegateActivation(ev) and re:GetHandler():IsRelateToEffect(re) then if Duel.NegateActivation(ev) and re:GetHandler():IsRelateToEffect(re) then
Duel.Remove(eg,POS_FACEUP,REASON_EFFECT) Duel.Remove(eg,POS_FACEUP,REASON_EFFECT)
end end
......
...@@ -12,7 +12,6 @@ function c41139112.initial_effect(c) ...@@ -12,7 +12,6 @@ function c41139112.initial_effect(c)
e1:SetOperation(c41139112.activate) e1:SetOperation(c41139112.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
c41139112.toss_dice=true
function c41139112.cost(e,tp,eg,ep,ev,re,r,rp,chk) function c41139112.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckLPCost(tp,1000) end if chk==0 then return Duel.CheckLPCost(tp,1000) end
Duel.PayLPCost(tp,1000) Duel.PayLPCost(tp,1000)
......
...@@ -22,7 +22,6 @@ function c42421606.initial_effect(c) ...@@ -22,7 +22,6 @@ function c42421606.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
aux.xyz_number[42421606]=85 aux.xyz_number[42421606]=85
c42421606.toss_dice=true
function c42421606.efcost(e,tp,eg,ep,ev,re,r,rp,chk) function c42421606.efcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST) e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
......
...@@ -12,7 +12,6 @@ function c43061293.initial_effect(c) ...@@ -12,7 +12,6 @@ function c43061293.initial_effect(c)
e1:SetOperation(c43061293.damop) e1:SetOperation(c43061293.damop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
c43061293.toss_dice=true
function c43061293.damcon(e,tp,eg,ep,ev,re,r,rp) function c43061293.damcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFieldGroupCount(tp,LOCATION_HAND,0)==0 return Duel.GetFieldGroupCount(tp,LOCATION_HAND,0)==0
end end
......
...@@ -21,7 +21,6 @@ function c4483989.initial_effect(c) ...@@ -21,7 +21,6 @@ function c4483989.initial_effect(c)
e2:SetOperation(c4483989.atkop) e2:SetOperation(c4483989.atkop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
c4483989.toss_coin=true
function c4483989.atkcon(e,tp,eg,ep,ev,re,r,rp) function c4483989.atkcon(e,tp,eg,ep,ev,re,r,rp)
local at=Duel.GetAttackTarget() local at=Duel.GetAttackTarget()
return tp~=Duel.GetTurnPlayer() and at and at:IsPosition(POS_FACEUP_DEFENSE) return tp~=Duel.GetTurnPlayer() and at and at:IsPosition(POS_FACEUP_DEFENSE)
......
...@@ -87,7 +87,7 @@ function c45112597.rmop(e,tp,eg,ep,ev,re,r,rp) ...@@ -87,7 +87,7 @@ function c45112597.rmop(e,tp,eg,ep,ev,re,r,rp)
Duel.SpecialSummonComplete() Duel.SpecialSummonComplete()
local cg=spg:Filter(Card.IsFacedown,nil) local cg=spg:Filter(Card.IsFacedown,nil)
if #cg>0 then if #cg>0 then
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,cg)
end end
end end
end end
......
...@@ -12,7 +12,6 @@ function c46303688.initial_effect(c) ...@@ -12,7 +12,6 @@ function c46303688.initial_effect(c)
e1:SetOperation(c46303688.activate) e1:SetOperation(c46303688.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
c46303688.toss_dice=true
function c46303688.target(e,tp,eg,ep,ev,re,r,rp,chk) function c46303688.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_DICE,nil,0,tp,2) Duel.SetOperationInfo(0,CATEGORY_DICE,nil,0,tp,2)
......
...@@ -13,7 +13,7 @@ function c47292920.initial_effect(c) ...@@ -13,7 +13,7 @@ function c47292920.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c47292920.cfilter(c) function c47292920.cfilter(c)
return c:IsFaceup() and c.toss_dice return c:IsFaceup() and c:IsEffectProperty(aux.EffectCategoryFilter(CATEGORY_DICE))
end end
function c47292920.spcon(e,tp,eg,ep,ev,re,r,rp) function c47292920.spcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(c47292920.cfilter,tp,LOCATION_ONFIELD,0,1,nil) return Duel.IsExistingMatchingCard(c47292920.cfilter,tp,LOCATION_ONFIELD,0,1,nil)
...@@ -28,8 +28,8 @@ function c47292920.cost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -28,8 +28,8 @@ function c47292920.cost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.Release(g,REASON_COST) Duel.Release(g,REASON_COST)
end end
function c47292920.spfilter(c,e,tp) function c47292920.spfilter(c,e,tp)
return c:IsType(TYPE_MONSTER) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsType(TYPE_MONSTER) and c:IsEffectProperty(aux.MonsterEffectCategoryFilter(CATEGORY_DICE))
and c.toss_dice and not c.toss_dice_in_pendulum_only and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function c47292920.target(e,tp,eg,ep,ev,re,r,rp,chk) function c47292920.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
......
...@@ -14,8 +14,6 @@ function c47558785.initial_effect(c) ...@@ -14,8 +14,6 @@ function c47558785.initial_effect(c)
e1:SetOperation(c47558785.scop) e1:SetOperation(c47558785.scop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
c47558785.toss_dice=true
c47558785.toss_dice_in_pendulum_only=true
function c47558785.sctg(e,tp,eg,ep,ev,re,r,rp,chk) function c47558785.sctg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():GetLeftScale()>1 end if chk==0 then return e:GetHandler():GetLeftScale()>1 end
Duel.SetOperationInfo(0,CATEGORY_DICE,nil,0,tp,1) Duel.SetOperationInfo(0,CATEGORY_DICE,nil,0,tp,1)
......
...@@ -10,7 +10,6 @@ function c50470982.initial_effect(c) ...@@ -10,7 +10,6 @@ function c50470982.initial_effect(c)
e1:SetOperation(c50470982.activate) e1:SetOperation(c50470982.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
c50470982.toss_coin=true
function c50470982.target(e,tp,eg,ep,ev,re,r,rp,chk) function c50470982.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_COIN,nil,0,PLAYER_ALL,1) Duel.SetOperationInfo(0,CATEGORY_COIN,nil,0,PLAYER_ALL,1)
......
...@@ -12,7 +12,6 @@ function c50593156.initial_effect(c) ...@@ -12,7 +12,6 @@ function c50593156.initial_effect(c)
e1:SetOperation(c50593156.desop) e1:SetOperation(c50593156.desop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
c50593156.toss_coin=true
function c50593156.destg(e,tp,eg,ep,ev,re,r,rp,chk) function c50593156.destg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
local g=Duel.GetMatchingGroup(aux.TRUE,tp,LOCATION_MZONE,LOCATION_MZONE,nil) local g=Duel.GetMatchingGroup(aux.TRUE,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
......
...@@ -21,7 +21,6 @@ function s.initial_effect(c) ...@@ -21,7 +21,6 @@ function s.initial_effect(c)
e2:SetOperation(s.spop) e2:SetOperation(s.spop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
s.toss_dice=true
function s.dictg(e,tp,eg,ep,ev,re,r,rp,chk) function s.dictg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_DICE,nil,0,tp,1) Duel.SetOperationInfo(0,CATEGORY_DICE,nil,0,tp,1)
......
...@@ -21,7 +21,7 @@ function c5641251.initial_effect(c) ...@@ -21,7 +21,7 @@ function c5641251.initial_effect(c)
--atk up --atk up
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(5641251,1)) e3:SetDescription(aux.Stringid(5641251,1))
e3:SetCategory(CATEGORY_DESTROY) e3:SetCategory(CATEGORY_DICE+CATEGORY_DESTROY)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_BATTLE_CONFIRM) e3:SetCode(EVENT_BATTLE_CONFIRM)
e3:SetRange(LOCATION_SZONE) e3:SetRange(LOCATION_SZONE)
...@@ -29,7 +29,6 @@ function c5641251.initial_effect(c) ...@@ -29,7 +29,6 @@ function c5641251.initial_effect(c)
e3:SetOperation(c5641251.lvlop) e3:SetOperation(c5641251.lvlop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
c5641251.toss_dice=true
function c5641251.spcon(e,tp,eg,ep,ev,re,r,rp) function c5641251.spcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetAttacker():IsControler(1-tp) and Duel.GetAttackTarget()==nil return Duel.GetAttacker():IsControler(1-tp) and Duel.GetAttackTarget()==nil
end end
......
...@@ -14,13 +14,25 @@ function c56655675.initial_effect(c) ...@@ -14,13 +14,25 @@ function c56655675.initial_effect(c)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetCode(EFFECT_SPSUMMON_CONDITION) e1:SetCode(EFFECT_SPSUMMON_CONDITION)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--gain effect
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetCondition(c56655675.condition)
e2:SetOperation(c56655675.operation)
c:RegisterEffect(e2)
--negate --negate
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e3:SetCategory(CATEGORY_NEGATE+CATEGORY_DESTROY)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCode(EVENT_SPSUMMON_SUCCESS) e3:SetCode(EVENT_CHAINING)
e3:SetCondition(c56655675.condition) e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e3:SetOperation(c56655675.operation) e3:SetRange(LOCATION_MZONE)
e3:SetCondition(c56655675.discon)
e3:SetCost(c56655675.discost)
e3:SetTarget(c56655675.distg)
e3:SetOperation(c56655675.disop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c56655675.cfilter(c) function c56655675.cfilter(c)
...@@ -31,21 +43,11 @@ function c56655675.condition(e,tp,eg,ep,ev,re,r,rp) ...@@ -31,21 +43,11 @@ function c56655675.condition(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetSummonType()==SUMMON_TYPE_SPECIAL+SUMMON_VALUE_SELF return e:GetHandler():GetSummonType()==SUMMON_TYPE_SPECIAL+SUMMON_VALUE_SELF
end end
function c56655675.operation(e,tp,eg,ep,ev,re,r,rp) function c56655675.operation(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler()) e:GetHandler():RegisterFlagEffect(56655675,RESET_EVENT+RESETS_WITHOUT_TEMP_REMOVE,0,1)
e1:SetCategory(CATEGORY_NEGATE+CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_CHAINING)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e1:SetRange(LOCATION_MZONE)
e1:SetCondition(c56655675.discon)
e1:SetCost(c56655675.discost)
e1:SetTarget(c56655675.distg)
e1:SetOperation(c56655675.disop)
e1:SetReset(RESET_EVENT+RESETS_WITHOUT_TEMP_REMOVE)
e:GetHandler():RegisterEffect(e1)
end end
function c56655675.discon(e,tp,eg,ep,ev,re,r,rp) function c56655675.discon(e,tp,eg,ep,ev,re,r,rp)
return re~=e and not e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED) return e:GetHandler():GetFlagEffect(56655675)~=0
and re~=e and not e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED)
and (re:IsActiveType(TYPE_MONSTER) or re:IsHasType(EFFECT_TYPE_ACTIVATE)) and Duel.IsChainNegatable(ev) and (re:IsActiveType(TYPE_MONSTER) or re:IsHasType(EFFECT_TYPE_ACTIVATE)) and Duel.IsChainNegatable(ev)
end end
function c56655675.filter(c) function c56655675.filter(c)
......
...@@ -19,16 +19,8 @@ function c5861892.initial_effect(c) ...@@ -19,16 +19,8 @@ function c5861892.initial_effect(c)
e2:SetCode(EFFECT_SPSUMMON_CONDITION) e2:SetCode(EFFECT_SPSUMMON_CONDITION)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--coin --coin
local e3=Effect.CreateEffect(c) aux.EnableArcanaCoin(c,EVENT_SPSUMMON_SUCCESS)
e3:SetDescription(aux.Stringid(5861892,0))
e3:SetCategory(CATEGORY_COIN)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e3:SetCode(EVENT_SPSUMMON_SUCCESS)
e3:SetTarget(c5861892.cointg)
e3:SetOperation(c5861892.coinop)
c:RegisterEffect(e3)
end end
c5861892.toss_coin=true
function c5861892.spfilter(c) function c5861892.spfilter(c)
return c:IsAbleToGraveAsCost() return c:IsAbleToGraveAsCost()
end end
...@@ -53,19 +45,6 @@ function c5861892.spop(e,tp,eg,ep,ev,re,r,rp,c) ...@@ -53,19 +45,6 @@ function c5861892.spop(e,tp,eg,ep,ev,re,r,rp,c)
Duel.SendtoGrave(g,REASON_SPSUMMON) Duel.SendtoGrave(g,REASON_SPSUMMON)
g:DeleteGroup() g:DeleteGroup()
end end
function c5861892.cointg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_COIN,nil,0,tp,1)
end
function c5861892.coinop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) or c:IsFacedown() then return end
local res=0
if c:IsHasEffect(73206827) then
res=1-Duel.SelectOption(tp,60,61)
else res=Duel.TossCoin(tp,1) end
c5861892.arcanareg(c,res)
end
function c5861892.arcanareg(c,coin) function c5861892.arcanareg(c,coin)
--coin effect --coin effect
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
...@@ -92,11 +71,11 @@ function c5861892.arcanareg(c,coin) ...@@ -92,11 +71,11 @@ function c5861892.arcanareg(c,coin)
e2:SetOperation(c5861892.negop) e2:SetOperation(c5861892.negop)
e2:SetReset(RESET_EVENT+RESETS_STANDARD) e2:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e2) c:RegisterEffect(e2)
c:RegisterFlagEffect(36690018,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,coin,63-coin) c:RegisterFlagEffect(FLAG_ID_ARCANA_COIN,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,coin,63-coin)
end end
function c5861892.thcon(e,tp,eg,ep,ev,re,r,rp) function c5861892.thcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
return c:GetFlagEffectLabel(36690018)==1 and c:IsRelateToBattle() return c:GetFlagEffectLabel(FLAG_ID_ARCANA_COIN)==1 and c:IsRelateToBattle()
and c:GetBattleTarget():IsLocation(LOCATION_GRAVE) and c:GetBattleTarget():IsLocation(LOCATION_GRAVE)
end end
function c5861892.thtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c5861892.thtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
...@@ -118,7 +97,7 @@ function c5861892.negcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -118,7 +97,7 @@ function c5861892.negcon(e,tp,eg,ep,ev,re,r,rp)
if not re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return false end if not re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return false end
local g=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS) local g=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS)
if not g or not g:IsContains(c) then return false end if not g or not g:IsContains(c) then return false end
return c:GetFlagEffectLabel(36690018)==0 and (re:IsHasType(EFFECT_TYPE_ACTIVATE) or re:IsActiveType(TYPE_MONSTER)) return c:GetFlagEffectLabel(FLAG_ID_ARCANA_COIN)==0 and (re:IsHasType(EFFECT_TYPE_ACTIVATE) or re:IsActiveType(TYPE_MONSTER))
end end
function c5861892.negtg(e,tp,eg,ep,ev,re,r,rp,chk) function c5861892.negtg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
......
...@@ -14,22 +14,8 @@ function s.initial_effect(c) ...@@ -14,22 +14,8 @@ function s.initial_effect(c)
e1:SetOperation(s.thop) e1:SetOperation(s.thop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--coin --coin
local e2=Effect.CreateEffect(c) aux.EnableArcanaCoin(c,EVENT_SUMMON_SUCCESS,EVENT_FLIP_SUMMON_SUCCESS,EVENT_SPSUMMON_SUCCESS)
e2:SetDescription(aux.Stringid(id,1))
e2:SetCategory(CATEGORY_COIN)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e2:SetCode(EVENT_SUMMON_SUCCESS)
e2:SetTarget(s.cointg)
e2:SetOperation(s.coinop)
c:RegisterEffect(e2)
local e3=e2:Clone()
e3:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e3)
local e4=e2:Clone()
e4:SetCode(EVENT_FLIP_SUMMON_SUCCESS)
c:RegisterEffect(e4)
end end
s.toss_coin=true
function s.thcost(e,tp,eg,ep,ev,re,r,rp,chk) function s.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
if chk==0 then return c:IsDiscardable() end if chk==0 then return c:IsDiscardable() end
...@@ -50,19 +36,6 @@ function s.thop(e,tp,eg,ep,ev,re,r,rp) ...@@ -50,19 +36,6 @@ function s.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
end end
end end
function s.cointg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_COIN,nil,0,tp,1)
end
function s.coinop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) or c:IsFacedown() then return end
local res=0
if c:IsHasEffect(73206827) then
res=1-Duel.SelectOption(tp,60,61)
else res=Duel.TossCoin(tp,1) end
s.arcanareg(c,res)
end
function s.arcanareg(c,coin) function s.arcanareg(c,coin)
--heads: optional destroy --heads: optional destroy
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
...@@ -12,22 +12,8 @@ function c60953118.initial_effect(c) ...@@ -12,22 +12,8 @@ function c60953118.initial_effect(c)
e1:SetOperation(c60953118.damop) e1:SetOperation(c60953118.damop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--coin --coin
local e2=Effect.CreateEffect(c) aux.EnableArcanaCoin(c,EVENT_SUMMON_SUCCESS,EVENT_FLIP_SUMMON_SUCCESS,EVENT_SPSUMMON_SUCCESS)
e2:SetDescription(aux.Stringid(60953118,0))
e2:SetCategory(CATEGORY_COIN)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e2:SetCode(EVENT_SUMMON_SUCCESS)
e2:SetTarget(c60953118.cointg)
e2:SetOperation(c60953118.coinop)
c:RegisterEffect(e2)
local e3=e2:Clone()
e3:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e3)
local e4=e2:Clone()
e4:SetCode(EVENT_FLIP_SUMMON_SUCCESS)
c:RegisterEffect(e4)
end end
c60953118.toss_coin=true
function c60953118.damcon(e,tp,eg,ep,ev,re,r,rp) function c60953118.damcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetBattleDamage(tp)>0 return Duel.GetBattleDamage(tp)>0
end end
...@@ -44,19 +30,6 @@ function c60953118.damop(e,tp,eg,ep,ev,re,r,rp) ...@@ -44,19 +30,6 @@ function c60953118.damop(e,tp,eg,ep,ev,re,r,rp)
e1:SetReset(RESET_PHASE+PHASE_DAMAGE_CAL) e1:SetReset(RESET_PHASE+PHASE_DAMAGE_CAL)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
end end
function c60953118.cointg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_COIN,nil,0,tp,1)
end
function c60953118.coinop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) or c:IsFacedown() then return end
local res=0
if c:IsHasEffect(73206827) then
res=1-Duel.SelectOption(tp,60,61)
else res=Duel.TossCoin(tp,1) end
c60953118.arcanareg(c,res)
end
function c60953118.arcanareg(c,coin) function c60953118.arcanareg(c,coin)
--coin effect --coin effect
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
...@@ -73,11 +46,11 @@ function c60953118.arcanareg(c,coin) ...@@ -73,11 +46,11 @@ function c60953118.arcanareg(c,coin)
e2:SetTargetRange(0,1) e2:SetTargetRange(0,1)
e2:SetCondition(c60953118.rdcon2) e2:SetCondition(c60953118.rdcon2)
c:RegisterEffect(e2) c:RegisterEffect(e2)
c:RegisterFlagEffect(36690018,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,coin,63-coin) c:RegisterFlagEffect(FLAG_ID_ARCANA_COIN,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,coin,63-coin)
end end
function c60953118.rdcon1(e) function c60953118.rdcon1(e)
return e:GetHandler():GetFlagEffectLabel(36690018)==1 return e:GetHandler():GetFlagEffectLabel(FLAG_ID_ARCANA_COIN)==1
end end
function c60953118.rdcon2(e) function c60953118.rdcon2(e)
return e:GetHandler():GetFlagEffectLabel(36690018)==0 return e:GetHandler():GetFlagEffectLabel(FLAG_ID_ARCANA_COIN)==0
end end
...@@ -2,34 +2,7 @@ ...@@ -2,34 +2,7 @@
---@param c Card ---@param c Card
function c61175706.initial_effect(c) function c61175706.initial_effect(c)
--coin --coin
local e1=Effect.CreateEffect(c) aux.EnableArcanaCoin(c,EVENT_SUMMON_SUCCESS,EVENT_FLIP_SUMMON_SUCCESS,EVENT_SPSUMMON_SUCCESS)
e1:SetDescription(aux.Stringid(61175706,0))
e1:SetCategory(CATEGORY_COIN)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetTarget(c61175706.cointg)
e1:SetOperation(c61175706.coinop)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2)
local e3=e1:Clone()
e3:SetCode(EVENT_FLIP_SUMMON_SUCCESS)
c:RegisterEffect(e3)
end
c61175706.toss_coin=true
function c61175706.cointg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_COIN,nil,0,tp,1)
end
function c61175706.coinop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) or c:IsFacedown() then return end
local res=0
if c:IsHasEffect(73206827) then
res=1-Duel.SelectOption(tp,60,61)
else res=Duel.TossCoin(tp,1) end
c61175706.arcanareg(c,res)
end end
function c61175706.arcanareg(c,coin) function c61175706.arcanareg(c,coin)
--coin effect --coin effect
...@@ -43,13 +16,13 @@ function c61175706.arcanareg(c,coin) ...@@ -43,13 +16,13 @@ function c61175706.arcanareg(c,coin)
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e1) c:RegisterEffect(e1)
-- --
c:RegisterFlagEffect(36690018,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,coin,63-coin) c:RegisterFlagEffect(FLAG_ID_ARCANA_COIN,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,coin,63-coin)
end end
function c61175706.atktg(e,c) function c61175706.atktg(e,c)
return c:IsSetCard(0x5) return c:IsSetCard(0x5)
end end
function c61175706.atkval(e,c) function c61175706.atkval(e,c)
if e:GetHandler():GetFlagEffectLabel(36690018)==1 then if e:GetHandler():GetFlagEffectLabel(FLAG_ID_ARCANA_COIN)==1 then
return 500 return 500
else return -500 end else return -500 end
end end
...@@ -13,13 +13,13 @@ function c61370518.initial_effect(c) ...@@ -13,13 +13,13 @@ function c61370518.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--disable and destroy --disable and destroy
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_DICE)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_CHAIN_SOLVING) e2:SetCode(EVENT_CHAIN_SOLVING)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetOperation(c61370518.disop) e2:SetOperation(c61370518.disop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
c61370518.toss_dice=true
function c61370518.mtcon(e,tp,eg,ep,ev,re,r,rp) function c61370518.mtcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==tp return Duel.GetTurnPlayer()==tp
end end
......
...@@ -45,7 +45,6 @@ function c62528292.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -45,7 +45,6 @@ function c62528292.target(e,tp,eg,ep,ev,re,r,rp,chk)
c:SetTurnCounter(0) c:SetTurnCounter(0)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
c62528292.toss_coin=true
function c62528292.stgcon(e,tp,eg,ep,ev,re,r,rp) function c62528292.stgcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==tp return Duel.GetTurnPlayer()==tp
end end
......
...@@ -20,7 +20,6 @@ function c62784717.initial_effect(c) ...@@ -20,7 +20,6 @@ function c62784717.initial_effect(c)
e2:SetOperation(c62784717.coinop) e2:SetOperation(c62784717.coinop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
c62784717.toss_coin=true
function c62784717.coincon(e,tp,eg,ep,ev,re,r,rp) function c62784717.coincon(e,tp,eg,ep,ev,re,r,rp)
return tp~=Duel.GetTurnPlayer() return tp~=Duel.GetTurnPlayer()
end end
......
...@@ -14,38 +14,11 @@ function c62892347.initial_effect(c) ...@@ -14,38 +14,11 @@ function c62892347.initial_effect(c)
e2:SetCondition(c62892347.poscon) e2:SetCondition(c62892347.poscon)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--coin --coin
local e3=Effect.CreateEffect(c) aux.EnableArcanaCoin(c,EVENT_SUMMON_SUCCESS,EVENT_FLIP_SUMMON_SUCCESS,EVENT_SPSUMMON_SUCCESS)
e3:SetDescription(aux.Stringid(62892347,0))
e3:SetCategory(CATEGORY_COIN)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e3:SetCode(EVENT_SUMMON_SUCCESS)
e3:SetTarget(c62892347.cointg)
e3:SetOperation(c62892347.coinop)
c:RegisterEffect(e3)
local e4=e3:Clone()
e4:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e4)
local e5=e3:Clone()
e5:SetCode(EVENT_FLIP_SUMMON_SUCCESS)
c:RegisterEffect(e5)
end end
c62892347.toss_coin=true
function c62892347.poscon(e) function c62892347.poscon(e)
return e:GetHandler():IsPosition(POS_FACEUP_ATTACK) return e:GetHandler():IsPosition(POS_FACEUP_ATTACK)
end end
function c62892347.cointg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_COIN,nil,0,tp,1)
end
function c62892347.coinop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) or c:IsFacedown() then return end
local res=0
if c:IsHasEffect(73206827) then
res=1-Duel.SelectOption(tp,60,61)
else res=Duel.TossCoin(tp,1) end
c62892347.arcanareg(c,res)
end
function c62892347.arcanareg(c,coin) function c62892347.arcanareg(c,coin)
--disable --disable
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
...@@ -73,12 +46,12 @@ function c62892347.arcanareg(c,coin) ...@@ -73,12 +46,12 @@ function c62892347.arcanareg(c,coin)
e3:SetTarget(c62892347.distg) e3:SetTarget(c62892347.distg)
e3:SetReset(RESET_EVENT+RESETS_STANDARD) e3:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e3) c:RegisterEffect(e3)
c:RegisterFlagEffect(36690018,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,coin,63-coin) c:RegisterFlagEffect(FLAG_ID_ARCANA_COIN,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,coin,63-coin)
end end
function c62892347.distg(e,c) function c62892347.distg(e,c)
local ec=e:GetHandler() local ec=e:GetHandler()
if c==ec or c:GetCardTargetCount()==0 then return false end if c==ec or c:GetCardTargetCount()==0 then return false end
local val=ec:GetFlagEffectLabel(36690018) local val=ec:GetFlagEffectLabel(FLAG_ID_ARCANA_COIN)
if val==1 then if val==1 then
return c:GetControler()==ec:GetControler() and c:GetCardTarget():IsContains(ec) return c:GetControler()==ec:GetControler() and c:GetCardTarget():IsContains(ec)
else return c:GetControler()~=ec:GetControler() and c:GetCardTarget():IsContains(ec) end else return c:GetControler()~=ec:GetControler() and c:GetCardTarget():IsContains(ec) end
...@@ -87,7 +60,7 @@ function c62892347.disop(e,tp,eg,ep,ev,re,r,rp) ...@@ -87,7 +60,7 @@ function c62892347.disop(e,tp,eg,ep,ev,re,r,rp)
local ec=e:GetHandler() local ec=e:GetHandler()
if not re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return end if not re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return end
if not ec:IsRelateToEffect(re) then return end if not ec:IsRelateToEffect(re) then return end
local val=ec:GetFlagEffectLabel(36690018) local val=ec:GetFlagEffectLabel(FLAG_ID_ARCANA_COIN)
if (val==1 and rp==1-ec:GetControler()) or (val==0 and rp==ec:GetControler()) then return end if (val==1 and rp==1-ec:GetControler()) or (val==0 and rp==ec:GetControler()) then return end
local g=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS) local g=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS)
if not g or not g:IsContains(ec) then return end if not g or not g:IsContains(ec) then return end
......
...@@ -11,7 +11,6 @@ function c62893810.initial_effect(c) ...@@ -11,7 +11,6 @@ function c62893810.initial_effect(c)
e1:SetOperation(c62893810.operation) e1:SetOperation(c62893810.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
c62893810.toss_dice=true
function c62893810.target(e,tp,eg,ep,ev,re,r,rp,chk) function c62893810.target(e,tp,eg,ep,ev,re,r,rp,chk)
local g1=Duel.GetFieldGroup(tp,LOCATION_HAND,LOCATION_HAND) local g1=Duel.GetFieldGroup(tp,LOCATION_HAND,LOCATION_HAND)
if chk==0 then return g1:GetCount()~=0 end if chk==0 then return g1:GetCount()~=0 end
......
...@@ -12,7 +12,6 @@ function c64538655.initial_effect(c) ...@@ -12,7 +12,6 @@ function c64538655.initial_effect(c)
e1:SetOperation(c64538655.desop) e1:SetOperation(c64538655.desop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
c64538655.toss_coin=true
function c64538655.descon(e,tp,eg,ep,ev,re,r,rp) function c64538655.descon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetAttackTarget()~=nil return Duel.GetAttackTarget()~=nil
end end
......
...@@ -12,7 +12,6 @@ function c67959180.initial_effect(c) ...@@ -12,7 +12,6 @@ function c67959180.initial_effect(c)
e1:SetOperation(c67959180.operation) e1:SetOperation(c67959180.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
c67959180.toss_coin=true
function c67959180.target(e,tp,eg,ep,ev,re,r,rp,chk) function c67959180.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_COIN,nil,0,tp,1) Duel.SetOperationInfo(0,CATEGORY_COIN,nil,0,tp,1)
......
...@@ -22,7 +22,6 @@ function c69170403.initial_effect(c) ...@@ -22,7 +22,6 @@ function c69170403.initial_effect(c)
e2:SetOperation(c69170403.dcop) e2:SetOperation(c69170403.dcop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
c69170403.toss_dice=true
function c69170403.spfilter(c,e,tp) function c69170403.spfilter(c,e,tp)
return c:IsLevelBelow(4) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE) return c:IsLevelBelow(4) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE)
end end
......
...@@ -19,16 +19,8 @@ function c69831560.initial_effect(c) ...@@ -19,16 +19,8 @@ function c69831560.initial_effect(c)
e2:SetCode(EFFECT_SPSUMMON_CONDITION) e2:SetCode(EFFECT_SPSUMMON_CONDITION)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--coin --coin
local e3=Effect.CreateEffect(c) aux.EnableArcanaCoin(c,EVENT_SPSUMMON_SUCCESS)
e3:SetDescription(aux.Stringid(69831560,0))
e3:SetCategory(CATEGORY_COIN)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e3:SetCode(EVENT_SPSUMMON_SUCCESS)
e3:SetTarget(c69831560.cointg)
e3:SetOperation(c69831560.coinop)
c:RegisterEffect(e3)
end end
c69831560.toss_coin=true
function c69831560.spfilter(c) function c69831560.spfilter(c)
return c:IsAbleToGraveAsCost() return c:IsAbleToGraveAsCost()
end end
...@@ -53,19 +45,6 @@ function c69831560.spop(e,tp,eg,ep,ev,re,r,rp,c) ...@@ -53,19 +45,6 @@ function c69831560.spop(e,tp,eg,ep,ev,re,r,rp,c)
Duel.SendtoGrave(g,REASON_SPSUMMON) Duel.SendtoGrave(g,REASON_SPSUMMON)
g:DeleteGroup() g:DeleteGroup()
end end
function c69831560.cointg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_COIN,nil,0,tp,1)
end
function c69831560.coinop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) or c:IsFacedown() then return end
local res=0
if c:IsHasEffect(73206827) then
res=1-Duel.SelectOption(tp,60,61)
else res=Duel.TossCoin(tp,1) end
c69831560.arcanareg(c,res)
end
function c69831560.arcanareg(c,coin) function c69831560.arcanareg(c,coin)
--coin effect --coin effect
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
...@@ -99,14 +78,14 @@ function c69831560.arcanareg(c,coin) ...@@ -99,14 +78,14 @@ function c69831560.arcanareg(c,coin)
e4:SetReset(RESET_EVENT+RESET_OVERLAY+RESET_TOFIELD) e4:SetReset(RESET_EVENT+RESET_OVERLAY+RESET_TOFIELD)
e4:SetLabelObject(e3) e4:SetLabelObject(e3)
c:RegisterEffect(e4) c:RegisterEffect(e4)
c:RegisterFlagEffect(36690018,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,coin,63-coin) c:RegisterFlagEffect(FLAG_ID_ARCANA_COIN,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,coin,63-coin)
end end
function c69831560.macon(e) function c69831560.macon(e)
return e:GetHandler():GetFlagEffectLabel(36690018)==1 return e:GetHandler():GetFlagEffectLabel(FLAG_ID_ARCANA_COIN)==1
end end
function c69831560.poscon(e,tp,eg,ep,ev,re,r,rp) function c69831560.poscon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
return c:GetFlagEffectLabel(36690018)==1 and c:GetAttackAnnouncedCount()>=2 return c:GetFlagEffectLabel(FLAG_ID_ARCANA_COIN)==1 and c:GetAttackAnnouncedCount()>=2
end end
function c69831560.posop(e,tp,eg,ep,ev,re,r,rp) function c69831560.posop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
...@@ -121,7 +100,7 @@ function c69831560.posop(e,tp,eg,ep,ev,re,r,rp) ...@@ -121,7 +100,7 @@ function c69831560.posop(e,tp,eg,ep,ev,re,r,rp)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c69831560.desop1(e,tp,eg,ep,ev,re,r,rp) function c69831560.desop1(e,tp,eg,ep,ev,re,r,rp)
if e:GetHandler():IsReason(REASON_DESTROY) and e:GetHandler():GetFlagEffectLabel(36690018)==0 then if e:GetHandler():IsReason(REASON_DESTROY) and e:GetHandler():GetFlagEffectLabel(FLAG_ID_ARCANA_COIN)==0 then
e:SetLabel(1) e:SetLabel(1)
else e:SetLabel(0) end else e:SetLabel(0) end
end end
......
...@@ -18,7 +18,6 @@ function c70050374.initial_effect(c) ...@@ -18,7 +18,6 @@ function c70050374.initial_effect(c)
e3:SetCode(EVENT_SPSUMMON_SUCCESS) e3:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
c70050374.toss_coin=true
function c70050374.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c70050374.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and chkc:IsControler(1-tp) end if chkc then return chkc:IsOnField() and chkc:IsControler(1-tp) end
if chk==0 then return true end if chk==0 then return true end
......
...@@ -55,7 +55,6 @@ function c71459017.initial_effect(c) ...@@ -55,7 +55,6 @@ function c71459017.initial_effect(c)
e8:SetOperation(c71459017.diceop) e8:SetOperation(c71459017.diceop)
c:RegisterEffect(e8) c:RegisterEffect(e8)
end end
c71459017.toss_dice=true
function c71459017.fuslimit(e,c,sumtype) function c71459017.fuslimit(e,c,sumtype)
return sumtype&SUMMON_TYPE_FUSION==SUMMON_TYPE_FUSION return sumtype&SUMMON_TYPE_FUSION==SUMMON_TYPE_FUSION
end end
......
...@@ -12,7 +12,6 @@ function c71625222.initial_effect(c) ...@@ -12,7 +12,6 @@ function c71625222.initial_effect(c)
e1:SetOperation(c71625222.desop) e1:SetOperation(c71625222.desop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
c71625222.toss_coin=true
function c71625222.destg(e,tp,eg,ep,ev,re,r,rp,chk) function c71625222.destg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
local g=Duel.GetMatchingGroup(nil,tp,0,LOCATION_MZONE,nil) local g=Duel.GetMatchingGroup(nil,tp,0,LOCATION_MZONE,nil)
......
...@@ -13,6 +13,7 @@ function c72192100.initial_effect(c) ...@@ -13,6 +13,7 @@ function c72192100.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--disable and destroy --disable and destroy
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_DICE)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_CHAIN_SOLVING) e2:SetCode(EVENT_CHAIN_SOLVING)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
...@@ -31,7 +32,6 @@ function c72192100.initial_effect(c) ...@@ -31,7 +32,6 @@ function c72192100.initial_effect(c)
e3:SetOperation(c72192100.spop) e3:SetOperation(c72192100.spop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
c72192100.toss_dice=true
function c72192100.mtcon(e,tp,eg,ep,ev,re,r,rp) function c72192100.mtcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==tp return Duel.GetTurnPlayer()==tp
end end
......
...@@ -22,9 +22,9 @@ function c73206827.initial_effect(c) ...@@ -22,9 +22,9 @@ function c73206827.initial_effect(c)
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD) e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(73206827) e3:SetCode(73206827)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetRange(LOCATION_FZONE) e3:SetRange(LOCATION_FZONE)
e3:SetTargetRange(LOCATION_MZONE,0) e3:SetTargetRange(1,0)
e3:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x5))
e3:SetCondition(c73206827.effectcon) e3:SetCondition(c73206827.effectcon)
c:RegisterEffect(e3) c:RegisterEffect(e3)
-- --
...@@ -39,7 +39,6 @@ function c73206827.initial_effect(c) ...@@ -39,7 +39,6 @@ function c73206827.initial_effect(c)
e4:SetOperation(c73206827.recop) e4:SetOperation(c73206827.recop)
c:RegisterEffect(e4) c:RegisterEffect(e4)
end end
c73206827.toss_coin=true
function c73206827.coincon(e,tp,eg,ep,ev,re,r,rp) function c73206827.coincon(e,tp,eg,ep,ev,re,r,rp)
return tp==Duel.GetTurnPlayer() return tp==Duel.GetTurnPlayer()
end end
...@@ -61,8 +60,7 @@ end ...@@ -61,8 +60,7 @@ end
function c73206827.reccon(e,tp,eg,ep,ev,re,r,rp) function c73206827.reccon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local rc=eg:GetFirst() local rc=eg:GetFirst()
return rc:IsRelateToBattle() and rc:IsSetCard(0x5) and rc:IsFaceup() and rc:IsControler(tp) return c73206827.effectcon(e) and rc:IsRelateToBattle() and rc:IsSetCard(0x5) and rc:IsFaceup() and rc:IsControler(tp)
and (c:GetFlagEffect(73206828)==0 or c:IsHasEffect(EFFECT_CANNOT_DISABLE))
end end
function c73206827.rectg(e,tp,eg,ep,ev,re,r,rp,chk) function c73206827.rectg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
...@@ -75,5 +73,7 @@ function c73206827.rectg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -75,5 +73,7 @@ function c73206827.rectg(e,tp,eg,ep,ev,re,r,rp,chk)
end end
function c73206827.recop(e,tp,eg,ep,ev,re,r,rp) function c73206827.recop(e,tp,eg,ep,ev,re,r,rp)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM) local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Recover(p,d,REASON_EFFECT) if d>0 then
Duel.Recover(p,d,REASON_EFFECT)
end
end end
...@@ -13,6 +13,7 @@ function c73219648.initial_effect(c) ...@@ -13,6 +13,7 @@ function c73219648.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--disable and destroy --disable and destroy
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_DICE)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_CHAIN_SOLVING) e2:SetCode(EVENT_CHAIN_SOLVING)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
...@@ -27,7 +28,6 @@ function c73219648.initial_effect(c) ...@@ -27,7 +28,6 @@ function c73219648.initial_effect(c)
e3:SetValue(c73219648.atktg) e3:SetValue(c73219648.atktg)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
c73219648.toss_dice=true
function c73219648.mtcon(e,tp,eg,ep,ev,re,r,rp) function c73219648.mtcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==tp return Duel.GetTurnPlayer()==tp
end end
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
function c74137509.initial_effect(c) function c74137509.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_ATKCHANGE) e1:SetCategory(CATEGORY_DICE+CATEGORY_ATKCHANGE)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP) e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
...@@ -13,7 +13,6 @@ function c74137509.initial_effect(c) ...@@ -13,7 +13,6 @@ function c74137509.initial_effect(c)
e1:SetOperation(c74137509.activate) e1:SetOperation(c74137509.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
c74137509.toss_dice=true
function c74137509.target(e,tp,eg,ep,ev,re,r,rp,chk) function c74137509.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsFaceup,tp,LOCATION_MZONE,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(Card.IsFaceup,tp,LOCATION_MZONE,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_DICE,nil,0,tp,1) Duel.SetOperationInfo(0,CATEGORY_DICE,nil,0,tp,1)
......
...@@ -37,7 +37,6 @@ function c76728962.initial_effect(c) ...@@ -37,7 +37,6 @@ function c76728962.initial_effect(c)
e3:SetOperation(c76728962.thop) e3:SetOperation(c76728962.thop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
c76728962.toss_coin=true
function c76728962.filter(c,tp) function c76728962.filter(c,tp)
return c:IsReason(REASON_BATTLE+REASON_EFFECT) and bit.band(c:GetPreviousRaceOnField(),RACE_MACHINE)~=0 return c:IsReason(REASON_BATTLE+REASON_EFFECT) and bit.band(c:GetPreviousRaceOnField(),RACE_MACHINE)~=0
and bit.band(c:GetPreviousAttributeOnField(),ATTRIBUTE_DARK)~=0 and c:IsPreviousControler(tp) and bit.band(c:GetPreviousAttributeOnField(),ATTRIBUTE_DARK)~=0 and c:IsPreviousControler(tp)
...@@ -89,7 +88,7 @@ function c76728962.desop(e,tp,eg,ep,ev,re,r,rp) ...@@ -89,7 +88,7 @@ function c76728962.desop(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function c76728962.thfilter(c) function c76728962.thfilter(c)
return c.toss_coin and c:IsType(TYPE_MONSTER) and c:IsLevelBelow(7) and c:IsAbleToHand() return c:IsEffectProperty(aux.EffectCategoryFilter(CATEGORY_COIN)) and c:IsType(TYPE_MONSTER) and c:IsLevelBelow(7) and c:IsAbleToHand()
end end
function c76728962.thtg(e,tp,eg,ep,ev,re,r,rp,chk) function c76728962.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c76728962.thfilter,tp,LOCATION_DECK,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(c76728962.thfilter,tp,LOCATION_DECK,0,1,nil) end
......
...@@ -10,7 +10,7 @@ function c76895648.initial_effect(c) ...@@ -10,7 +10,7 @@ function c76895648.initial_effect(c)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(76895648,0)) e2:SetDescription(aux.Stringid(76895648,0))
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e2:SetCategory(CATEGORY_ATKCHANGE+CATEGORY_DRAW) e2:SetCategory(CATEGORY_DICE+CATEGORY_ATKCHANGE+CATEGORY_DRAW)
e2:SetCode(EVENT_PHASE+PHASE_STANDBY) e2:SetCode(EVENT_PHASE+PHASE_STANDBY)
e2:SetRange(LOCATION_SZONE) e2:SetRange(LOCATION_SZONE)
e2:SetCountLimit(1) e2:SetCountLimit(1)
...@@ -19,7 +19,6 @@ function c76895648.initial_effect(c) ...@@ -19,7 +19,6 @@ function c76895648.initial_effect(c)
e2:SetOperation(c76895648.operation) e2:SetOperation(c76895648.operation)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
c76895648.toss_dice=true
function c76895648.condition(e,tp,eg,ep,ev,re,r,rp) function c76895648.condition(e,tp,eg,ep,ev,re,r,rp)
return tp==Duel.GetTurnPlayer() return tp==Duel.GetTurnPlayer()
end end
......
--モーターバイオレンス --モーターバイオレンス
---@param c Card ---@param c Card
function c77672444.initial_effect(c) function c77672444.initial_effect(c)
aux.AddCodeList(c,82556059)
--atk up --atk up
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
......
...@@ -6,6 +6,7 @@ function c77994337.initial_effect(c) ...@@ -6,6 +6,7 @@ function c77994337.initial_effect(c)
--level --level
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(77994337,0)) e1:SetDescription(aux.Stringid(77994337,0))
e1:SetCategory(CATEGORY_DICE)
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET) e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetRange(LOCATION_PZONE) e1:SetRange(LOCATION_PZONE)
...@@ -14,8 +15,6 @@ function c77994337.initial_effect(c) ...@@ -14,8 +15,6 @@ function c77994337.initial_effect(c)
e1:SetOperation(c77994337.lvop) e1:SetOperation(c77994337.lvop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
c77994337.toss_dice=true
c77994337.toss_dice_in_pendulum_only=true
function c77994337.lvfilter(c) function c77994337.lvfilter(c)
return c:IsFaceup() and c:GetLevel()>0 return c:IsFaceup() and c:GetLevel()>0
end end
......
--モーターシェル --モーターシェル
---@param c Card ---@param c Card
function c78394032.initial_effect(c) function c78394032.initial_effect(c)
aux.AddCodeList(c,82556059)
--"Motor Token" Summon --"Motor Token" Summon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOKEN) e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOKEN)
......
...@@ -40,7 +40,6 @@ function s.initial_effect(c) ...@@ -40,7 +40,6 @@ function s.initial_effect(c)
e4:SetOperation(s.countop) e4:SetOperation(s.countop)
c:RegisterEffect(e4) c:RegisterEffect(e4)
end end
s.toss_coin=true
function s.drtg(e,tp,eg,ep,ev,re,r,rp,chk) function s.drtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDraw(tp) end if chk==0 then return Duel.IsPlayerCanDraw(tp) end
Duel.SetOperationInfo(0,CATEGORY_COIN,nil,0,tp,0) Duel.SetOperationInfo(0,CATEGORY_COIN,nil,0,tp,0)
......
...@@ -10,7 +10,6 @@ function c81172176.initial_effect(c) ...@@ -10,7 +10,6 @@ function c81172176.initial_effect(c)
e1:SetOperation(c81172176.activate) e1:SetOperation(c81172176.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
c81172176.toss_coin=true
function c81172176.target(e,tp,eg,ep,ev,re,r,rp,chk) function c81172176.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToRemove,tp,0,LOCATION_GRAVE,1,nil) if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToRemove,tp,0,LOCATION_GRAVE,1,nil)
and Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>=Duel.GetFieldGroupCount(tp,0,LOCATION_GRAVE) end and Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>=Duel.GetFieldGroupCount(tp,0,LOCATION_GRAVE) end
......
...@@ -13,7 +13,6 @@ function c81480460.initial_effect(c) ...@@ -13,7 +13,6 @@ function c81480460.initial_effect(c)
e1:SetOperation(c81480460.desop) e1:SetOperation(c81480460.desop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
c81480460.toss_coin=true
function c81480460.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c81480460.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(1-tp) end if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(1-tp) end
if chk==0 then return Duel.IsExistingTarget(aux.TRUE,tp,0,LOCATION_MZONE,1,nil) end if chk==0 then return Duel.IsExistingTarget(aux.TRUE,tp,0,LOCATION_MZONE,1,nil) end
......
...@@ -7,7 +7,7 @@ function c82308875.initial_effect(c) ...@@ -7,7 +7,7 @@ function c82308875.initial_effect(c)
--destroy --destroy
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(82308875,0)) e1:SetDescription(aux.Stringid(82308875,0))
e1:SetCategory(CATEGORY_ATKCHANGE+CATEGORY_DRAW+CATEGORY_SPECIAL_SUMMON+CATEGORY_TOGRAVE) e1:SetCategory(CATEGORY_DICE|CATEGORY_ATKCHANGE|CATEGORY_DRAW|CATEGORY_SPECIAL_SUMMON|CATEGORY_TOGRAVE)
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCost(c82308875.cost) e1:SetCost(c82308875.cost)
...@@ -16,7 +16,6 @@ function c82308875.initial_effect(c) ...@@ -16,7 +16,6 @@ function c82308875.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
aux.xyz_number[82308875]=7 aux.xyz_number[82308875]=7
c82308875.toss_dice=true
function c82308875.cost(e,tp,eg,ep,ev,re,r,rp,chk) function c82308875.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST) e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
......
--デモニック・モーター・Ω --デモニック・モーター・Ω
---@param c Card ---@param c Card
function c82556058.initial_effect(c) function c82556058.initial_effect(c)
aux.AddCodeList(c,82556059)
--token --token
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(82556058,0)) e1:SetDescription(aux.Stringid(82556058,0))
......
...@@ -13,7 +13,6 @@ function c82642348.initial_effect(c) ...@@ -13,7 +13,6 @@ function c82642348.initial_effect(c)
e1:SetOperation(c82642348.desop) e1:SetOperation(c82642348.desop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
c82642348.toss_coin=true
function c82642348.descon(e,tp,eg,ep,ev,re,r,rp) function c82642348.descon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsLocation(LOCATION_GRAVE) and e:GetHandler():IsReason(REASON_BATTLE) return e:GetHandler():IsLocation(LOCATION_GRAVE) and e:GetHandler():IsReason(REASON_BATTLE)
end end
......
...@@ -8,7 +8,6 @@ function c83241722.initial_effect(c) ...@@ -8,7 +8,6 @@ function c83241722.initial_effect(c)
e1:SetOperation(c83241722.regop) e1:SetOperation(c83241722.regop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
c83241722.toss_dice=true
function c83241722.regop(e,tp,eg,ep,ev,re,r,rp) function c83241722.regop(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
......
...@@ -2,34 +2,7 @@ ...@@ -2,34 +2,7 @@
---@param c Card ---@param c Card
function c8396952.initial_effect(c) function c8396952.initial_effect(c)
--coin --coin
local e1=Effect.CreateEffect(c) aux.EnableArcanaCoin(c,EVENT_SUMMON_SUCCESS,EVENT_FLIP_SUMMON_SUCCESS,EVENT_SPSUMMON_SUCCESS)
e1:SetDescription(aux.Stringid(8396952,0))
e1:SetCategory(CATEGORY_COIN)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetTarget(c8396952.cointg)
e1:SetOperation(c8396952.coinop)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2)
local e3=e1:Clone()
e3:SetCode(EVENT_FLIP_SUMMON_SUCCESS)
c:RegisterEffect(e3)
end
c8396952.toss_coin=true
function c8396952.cointg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_COIN,nil,0,tp,1)
end
function c8396952.coinop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) or c:IsFacedown() then return end
local res=0
if c:IsHasEffect(73206827) then
res=1-Duel.SelectOption(tp,60,61)
else res=Duel.TossCoin(tp,1) end
c8396952.arcanareg(c,res)
end end
function c8396952.arcanareg(c,coin) function c8396952.arcanareg(c,coin)
--disable effect --disable effect
...@@ -40,12 +13,12 @@ function c8396952.arcanareg(c,coin) ...@@ -40,12 +13,12 @@ function c8396952.arcanareg(c,coin)
e1:SetOperation(c8396952.speop) e1:SetOperation(c8396952.speop)
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e1) c:RegisterEffect(e1)
c:RegisterFlagEffect(36690018,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,coin,63-coin) c:RegisterFlagEffect(FLAG_ID_ARCANA_COIN,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,coin,63-coin)
end end
function c8396952.speop(e,tp,eg,ep,ev,re,r,rp) function c8396952.speop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if not re:IsActiveType(TYPE_SPELL) or not re:IsHasType(EFFECT_TYPE_ACTIVATE) then return end if not re:IsActiveType(TYPE_SPELL) or not re:IsHasType(EFFECT_TYPE_ACTIVATE) then return end
local val=c:GetFlagEffectLabel(36690018) local val=c:GetFlagEffectLabel(FLAG_ID_ARCANA_COIN)
if val==1 then if val==1 then
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
......
...@@ -14,8 +14,6 @@ function c84046493.initial_effect(c) ...@@ -14,8 +14,6 @@ function c84046493.initial_effect(c)
e1:SetOperation(c84046493.scop) e1:SetOperation(c84046493.scop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
c84046493.toss_dice=true
c84046493.toss_dice_in_pendulum_only=true
function c84046493.sctg(e,tp,eg,ep,ev,re,r,rp,chk) function c84046493.sctg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():GetLeftScale()<10 end if chk==0 then return e:GetHandler():GetLeftScale()<10 end
Duel.SetOperationInfo(0,CATEGORY_DICE,nil,0,tp,1) Duel.SetOperationInfo(0,CATEGORY_DICE,nil,0,tp,1)
......
...@@ -13,7 +13,6 @@ function c84290642.initial_effect(c) ...@@ -13,7 +13,6 @@ function c84290642.initial_effect(c)
e1:SetOperation(c84290642.activate) e1:SetOperation(c84290642.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
c84290642.toss_dice=true
function c84290642.cost(e,tp,eg,ep,ev,re,r,rp,chk) function c84290642.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,nil) end
Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_COST+REASON_DISCARD) Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_COST+REASON_DISCARD)
......
...@@ -3,13 +3,13 @@ ...@@ -3,13 +3,13 @@
function c84397023.initial_effect(c) function c84397023.initial_effect(c)
--activate --activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DICE)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(c84397023.tg) e1:SetTarget(c84397023.tg)
e1:SetOperation(c84397023.op) e1:SetOperation(c84397023.op)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
c84397023.toss_dice=true
function c84397023.tg(e,tp,eg,ep,ev,re,r,rp,chk) function c84397023.tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsType,tp,LOCATION_HAND,0,1,nil,TYPE_MONSTER) end if chk==0 then return Duel.IsExistingMatchingCard(Card.IsType,tp,LOCATION_HAND,0,1,nil,TYPE_MONSTER) end
end end
......
...@@ -8,7 +8,6 @@ function c84677654.initial_effect(c) ...@@ -8,7 +8,6 @@ function c84677654.initial_effect(c)
e1:SetOperation(c84677654.operation) e1:SetOperation(c84677654.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
c84677654.toss_coin=true
function c84677654.cfilter(c) function c84677654.cfilter(c)
return c:IsFaceup() and c:IsLevelAbove(0) return c:IsFaceup() and c:IsLevelAbove(0)
end end
......
...@@ -36,7 +36,6 @@ function c84813516.initial_effect(c) ...@@ -36,7 +36,6 @@ function c84813516.initial_effect(c)
e3:SetOperation(c84813516.thop) e3:SetOperation(c84813516.thop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
c84813516.toss_dice=true
function c84813516.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c84813516.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
......
...@@ -22,7 +22,6 @@ function c85704698.initial_effect(c) ...@@ -22,7 +22,6 @@ function c85704698.initial_effect(c)
e2:SetOperation(c85704698.synop) e2:SetOperation(c85704698.synop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
c85704698.toss_dice=true
function c85704698.filter(c,e,tp) function c85704698.filter(c,e,tp)
return c:IsSetCard(0x2016) and c:IsType(TYPE_TUNER) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsSetCard(0x2016) and c:IsType(TYPE_TUNER) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
......
...@@ -14,6 +14,7 @@ function c8581705.initial_effect(c) ...@@ -14,6 +14,7 @@ function c8581705.initial_effect(c)
--disable and destroy --disable and destroy
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCategory(CATEGORY_DICE)
e2:SetCode(EVENT_CHAIN_SOLVING) e2:SetCode(EVENT_CHAIN_SOLVING)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetOperation(c8581705.disop) e2:SetOperation(c8581705.disop)
...@@ -30,7 +31,6 @@ function c8581705.initial_effect(c) ...@@ -30,7 +31,6 @@ function c8581705.initial_effect(c)
e3:SetOperation(c8581705.atkop) e3:SetOperation(c8581705.atkop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
c8581705.toss_dice=true
function c8581705.mtcon(e,tp,eg,ep,ev,re,r,rp) function c8581705.mtcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==tp return Duel.GetTurnPlayer()==tp
end end
......
...@@ -27,7 +27,6 @@ function c86154370.initial_effect(c) ...@@ -27,7 +27,6 @@ function c86154370.initial_effect(c)
e2:SetOperation(c86154370.spop) e2:SetOperation(c86154370.spop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
c86154370.toss_dice=true
c86154370.material_type=TYPE_SYNCHRO c86154370.material_type=TYPE_SYNCHRO
function c86154370.sfilter(c) function c86154370.sfilter(c)
return c:IsAttribute(ATTRIBUTE_WIND) and c:IsType(TYPE_SYNCHRO) return c:IsAttribute(ATTRIBUTE_WIND) and c:IsType(TYPE_SYNCHRO)
......
...@@ -11,6 +11,7 @@ function c86767655.initial_effect(c) ...@@ -11,6 +11,7 @@ function c86767655.initial_effect(c)
c:RegisterEffect(e0) c:RegisterEffect(e0)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCategory(CATEGORY_DICE)
e1:SetCode(EVENT_CHAIN_SOLVING) e1:SetCode(EVENT_CHAIN_SOLVING)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,86767655) e1:SetCountLimit(1,86767655)
...@@ -18,7 +19,6 @@ function c86767655.initial_effect(c) ...@@ -18,7 +19,6 @@ function c86767655.initial_effect(c)
e1:SetOperation(c86767655.disop) e1:SetOperation(c86767655.disop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
c86767655.toss_coin=true
function c86767655.discon(e,tp,eg,ep,ev,re,r,rp) function c86767655.discon(e,tp,eg,ep,ev,re,r,rp)
return rp==1-tp and e:GetHandler():GetFlagEffect(FLAG_ID_CHAINING)>0 return rp==1-tp and e:GetHandler():GetFlagEffect(FLAG_ID_CHAINING)>0
end end
......
...@@ -15,7 +15,6 @@ function c87751584.initial_effect(c) ...@@ -15,7 +15,6 @@ function c87751584.initial_effect(c)
e1:SetOperation(c87751584.desop) e1:SetOperation(c87751584.desop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
c87751584.toss_coin=true
function c87751584.destg(e,tp,eg,ep,ev,re,r,rp,chk) function c87751584.destg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(aux.TRUE,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(aux.TRUE,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_COIN,nil,0,tp,3) Duel.SetOperationInfo(0,CATEGORY_COIN,nil,0,tp,3)
......
...@@ -36,7 +36,6 @@ function c87897777.initial_effect(c) ...@@ -36,7 +36,6 @@ function c87897777.initial_effect(c)
e3:SetOperation(c87897777.mvop) e3:SetOperation(c87897777.mvop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
c87897777.toss_dice=true
function c87897777.cfilter(c) function c87897777.cfilter(c)
return c:IsSetCard(0x17d) and c:IsAttribute(ATTRIBUTE_FIRE) and c:IsFaceup() return c:IsSetCard(0x17d) and c:IsAttribute(ATTRIBUTE_FIRE) and c:IsFaceup()
end end
......
...@@ -11,7 +11,6 @@ function c8868767.initial_effect(c) ...@@ -11,7 +11,6 @@ function c8868767.initial_effect(c)
e1:SetOperation(c8868767.activate) e1:SetOperation(c8868767.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
c8868767.toss_dice=true
function c8868767.target(e,tp,eg,ep,ev,re,r,rp,chk) function c8868767.target(e,tp,eg,ep,ev,re,r,rp,chk)
if Duel.GetTurnPlayer()==tp then if Duel.GetTurnPlayer()==tp then
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToRemove,tp,LOCATION_GRAVE,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToRemove,tp,LOCATION_GRAVE,0,1,nil) end
......
...@@ -46,7 +46,7 @@ function s.thop(e,tp,eg,ep,ev,re,r,rp) ...@@ -46,7 +46,7 @@ function s.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
end end
function s.thfilter(c) function s.thfilter(c)
return c.fusion_effect and c:IsAbleToHand() return c:IsEffectProperty(aux.EffectCategoryFilter(CATEGORY_FUSION_SUMMON)) and c:IsAbleToHand()
end end
function s.thop2(e,tp,eg,ep,ev,re,r,rp) function s.thop2(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_CARD,0,id) Duel.Hint(HINT_CARD,0,id)
......
...@@ -12,7 +12,6 @@ function c89718302.initial_effect(c) ...@@ -12,7 +12,6 @@ function c89718302.initial_effect(c)
e1:SetOperation(c89718302.damop) e1:SetOperation(c89718302.damop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
c89718302.toss_coin=true
function c89718302.damtg(e,tp,eg,ep,ev,re,r,rp,chk) function c89718302.damtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_COIN,nil,0,tp,1) Duel.SetOperationInfo(0,CATEGORY_COIN,nil,0,tp,1)
......
...@@ -45,11 +45,12 @@ end ...@@ -45,11 +45,12 @@ end
function s.activate(e,tp,eg,ep,ev,re,r,rp) function s.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
local ft,lv,race,att=e:GetLabel()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tc=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.filter2),tp,LOCATION_DECK+LOCATION_HAND+LOCATION_GRAVE,0,1,1,nil,e,tp,e:GetLabel()):GetFirst() local tc=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.filter2),tp,LOCATION_DECK+LOCATION_HAND+LOCATION_GRAVE,0,1,1,nil,e,tp,e:GetLabel()):GetFirst()
if tc and Duel.SpecialSummon(tc,0,tp,tp,true,true,POS_FACEUP)>0 then if tc and Duel.SpecialSummon(tc,0,tp,tp,true,true,POS_FACEUP)>0 then
tc:CompleteProcedure() tc:CompleteProcedure()
if c:IsOnField() and c:IsRelateToEffect(e) and Duel.SelectYesNo(tp,aux.Stringid(id,2)) then if ft==1 and c:IsOnField() and c:IsRelateToEffect(e) and Duel.SelectYesNo(tp,aux.Stringid(id,2)) then
Duel.BreakEffect() Duel.BreakEffect()
c:CancelToGrave(true) c:CancelToGrave(true)
if Duel.Equip(tp,c,tc)~=0 then if Duel.Equip(tp,c,tc)~=0 then
......
...@@ -11,9 +11,8 @@ function c93078761.initial_effect(c) ...@@ -11,9 +11,8 @@ function c93078761.initial_effect(c)
e1:SetOperation(c93078761.activate) e1:SetOperation(c93078761.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
c93078761.toss_dice=true
function c93078761.filter(c) function c93078761.filter(c)
return c.toss_dice and c:IsAbleToHand() return c:IsEffectProperty(aux.EffectCategoryFilter(CATEGORY_DICE)) and c:IsAbleToHand()
end end
function c93078761.target(e,tp,eg,ep,ev,re,r,rp,chk) function c93078761.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c93078761.filter,tp,LOCATION_DECK,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(c93078761.filter,tp,LOCATION_DECK,0,1,nil) end
......
...@@ -4,7 +4,7 @@ function c93542102.initial_effect(c) ...@@ -4,7 +4,7 @@ function c93542102.initial_effect(c)
--special summon --special summon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(93542102,0)) e1:SetDescription(aux.Stringid(93542102,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_DECKDES) e1:SetCategory(CATEGORY_DICE+CATEGORY_SPECIAL_SUMMON+CATEGORY_DECKDES)
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetCountLimit(1) e1:SetCountLimit(1)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
...@@ -15,6 +15,7 @@ function c93542102.initial_effect(c) ...@@ -15,6 +15,7 @@ function c93542102.initial_effect(c)
--confirm --confirm
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(93542102,1)) e2:SetDescription(aux.Stringid(93542102,1))
e2:SetCategory(CATEGORY_DICE)
e2:SetType(EFFECT_TYPE_IGNITION) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetCountLimit(1) e2:SetCountLimit(1)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
...@@ -23,7 +24,6 @@ function c93542102.initial_effect(c) ...@@ -23,7 +24,6 @@ function c93542102.initial_effect(c)
e2:SetOperation(c93542102.opd) e2:SetOperation(c93542102.opd)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
c93542102.toss_dice=true
function c93542102.cona(e,tp,eg,ep,ev,re,r,rp) function c93542102.cona(e,tp,eg,ep,ev,re,r,rp)
return not e:GetHandler():IsDisabled() and e:GetHandler():IsAttackPos() return not e:GetHandler():IsDisabled() and e:GetHandler():IsAttackPos()
end end
......
...@@ -11,7 +11,6 @@ function c94773007.initial_effect(c) ...@@ -11,7 +11,6 @@ function c94773007.initial_effect(c)
e1:SetOperation(c94773007.atop) e1:SetOperation(c94773007.atop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
c94773007.toss_coin=true
function c94773007.attg(e,tp,eg,ep,ev,re,r,rp,chk) function c94773007.attg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_COIN,nil,0,tp,1) Duel.SetOperationInfo(0,CATEGORY_COIN,nil,0,tp,1)
......
...@@ -9,6 +9,7 @@ function c96015976.initial_effect(c) ...@@ -9,6 +9,7 @@ function c96015976.initial_effect(c)
-- --
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(96015976,0)) e2:SetDescription(aux.Stringid(96015976,0))
e2:SetCategory(CATEGORY_DICE)
e2:SetType(EFFECT_TYPE_QUICK_O) e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetRange(LOCATION_SZONE) e2:SetRange(LOCATION_SZONE)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET) e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
...@@ -18,7 +19,6 @@ function c96015976.initial_effect(c) ...@@ -18,7 +19,6 @@ function c96015976.initial_effect(c)
e2:SetOperation(c96015976.operation) e2:SetOperation(c96015976.operation)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
c96015976.toss_dice=true
function c96015976.filter(c) function c96015976.filter(c)
local lv=c:GetLevel() local lv=c:GetLevel()
local olv=c:GetOriginalLevel() local olv=c:GetOriginalLevel()
......
...@@ -14,6 +14,7 @@ function c9603356.initial_effect(c) ...@@ -14,6 +14,7 @@ function c9603356.initial_effect(c)
--disable and destroy --disable and destroy
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCategory(CATEGORY_DICE)
e2:SetCode(EVENT_CHAIN_SOLVING) e2:SetCode(EVENT_CHAIN_SOLVING)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetOperation(c9603356.disop) e2:SetOperation(c9603356.disop)
...@@ -25,7 +26,6 @@ function c9603356.initial_effect(c) ...@@ -25,7 +26,6 @@ function c9603356.initial_effect(c)
e3:SetValue(aux.ChangeBattleDamage(1,HALF_DAMAGE)) e3:SetValue(aux.ChangeBattleDamage(1,HALF_DAMAGE))
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
c9603356.toss_dice=true
function c9603356.mtcon(e,tp,eg,ep,ev,re,r,rp) function c9603356.mtcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==tp return Duel.GetTurnPlayer()==tp
end end
......
...@@ -2,34 +2,7 @@ ...@@ -2,34 +2,7 @@
---@param c Card ---@param c Card
function c97452817.initial_effect(c) function c97452817.initial_effect(c)
--coin --coin
local e1=Effect.CreateEffect(c) aux.EnableArcanaCoin(c,EVENT_SUMMON_SUCCESS,EVENT_FLIP_SUMMON_SUCCESS,EVENT_SPSUMMON_SUCCESS)
e1:SetDescription(aux.Stringid(97452817,0))
e1:SetCategory(CATEGORY_COIN)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetTarget(c97452817.cointg)
e1:SetOperation(c97452817.coinop)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2)
local e3=e1:Clone()
e3:SetCode(EVENT_FLIP_SUMMON_SUCCESS)
c:RegisterEffect(e3)
end
c97452817.toss_coin=true
function c97452817.cointg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_COIN,nil,0,tp,1)
end
function c97452817.coinop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) or c:IsFacedown() then return end
local res=0
if c:IsHasEffect(73206827) then
res=1-Duel.SelectOption(tp,60,61)
else res=Duel.TossCoin(tp,1) end
c97452817.arcanareg(c,res)
end end
function c97452817.arcanareg(c,coin) function c97452817.arcanareg(c,coin)
--coin effect --coin effect
...@@ -59,10 +32,10 @@ function c97452817.arcanareg(c,coin) ...@@ -59,10 +32,10 @@ function c97452817.arcanareg(c,coin)
e2:SetOperation(c97452817.ctop) e2:SetOperation(c97452817.ctop)
e2:SetReset(RESET_EVENT+RESETS_STANDARD) e2:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e2) c:RegisterEffect(e2)
c:RegisterFlagEffect(36690018,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,coin,63-coin) c:RegisterFlagEffect(FLAG_ID_ARCANA_COIN,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,coin,63-coin)
end end
function c97452817.spcon(e,tp,eg,ep,ev,re,r,rp) function c97452817.spcon(e,tp,eg,ep,ev,re,r,rp)
return ep==tp and e:GetHandler():GetFlagEffectLabel(36690018)==1 return ep==tp and e:GetHandler():GetFlagEffectLabel(FLAG_ID_ARCANA_COIN)==1
end end
function c97452817.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c97452817.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
...@@ -77,7 +50,7 @@ function c97452817.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -77,7 +50,7 @@ function c97452817.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.SpecialSummon(token,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(token,0,tp,tp,false,false,POS_FACEUP)
end end
function c97452817.ctcon(e,tp,eg,ep,ev,re,r,rp) function c97452817.ctcon(e,tp,eg,ep,ev,re,r,rp)
return ep==tp and e:GetHandler():GetFlagEffectLabel(36690018)==0 return ep==tp and e:GetHandler():GetFlagEffectLabel(FLAG_ID_ARCANA_COIN)==0
end end
function c97452817.cttg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c97452817.cttg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and chkc:IsAbleToChangeControler() end if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and chkc:IsAbleToChangeControler() end
......
...@@ -2,34 +2,7 @@ ...@@ -2,34 +2,7 @@
---@param c Card ---@param c Card
function c97574404.initial_effect(c) function c97574404.initial_effect(c)
--coin --coin
local e1=Effect.CreateEffect(c) aux.EnableArcanaCoin(c,EVENT_SUMMON_SUCCESS,EVENT_FLIP_SUMMON_SUCCESS,EVENT_SPSUMMON_SUCCESS)
e1:SetDescription(aux.Stringid(97574404,0))
e1:SetCategory(CATEGORY_COIN)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetTarget(c97574404.cointg)
e1:SetOperation(c97574404.coinop)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2)
local e3=e1:Clone()
e3:SetCode(EVENT_FLIP_SUMMON_SUCCESS)
c:RegisterEffect(e3)
end
c97574404.toss_coin=true
function c97574404.cointg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_COIN,nil,0,tp,1)
end
function c97574404.coinop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) or c:IsFacedown() then return end
local res=0
if c:IsHasEffect(73206827) then
res=1-Duel.SelectOption(tp,60,61)
else res=Duel.TossCoin(tp,1) end
c97574404.arcanareg(c,res)
end end
function c97574404.arcanareg(c,coin) function c97574404.arcanareg(c,coin)
--coin effect --coin effect
...@@ -54,16 +27,16 @@ function c97574404.arcanareg(c,coin) ...@@ -54,16 +27,16 @@ function c97574404.arcanareg(c,coin)
local e3=e2:Clone() local e3=e2:Clone()
e3:SetCode(EFFECT_CANNOT_MSET) e3:SetCode(EFFECT_CANNOT_MSET)
c:RegisterEffect(e3) c:RegisterEffect(e3)
c:RegisterFlagEffect(36690018,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,coin,63-coin) c:RegisterFlagEffect(FLAG_ID_ARCANA_COIN,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,coin,63-coin)
end end
function c97574404.dtcon(e) function c97574404.dtcon(e)
return e:GetHandler():GetFlagEffectLabel(36690018)==1 return e:GetHandler():GetFlagEffectLabel(FLAG_ID_ARCANA_COIN)==1
end end
function c97574404.dtval(e,c) function c97574404.dtval(e,c)
return c:IsSetCard(0x5) return c:IsSetCard(0x5)
end end
function c97574404.sumcon(e) function c97574404.sumcon(e)
return e:GetHandler():GetFlagEffectLabel(36690018)==0 return e:GetHandler():GetFlagEffectLabel(FLAG_ID_ARCANA_COIN)==0
end end
function c97574404.sumtg(e,c,tp,sumtp) function c97574404.sumtg(e,c,tp,sumtp)
return bit.band(sumtp,SUMMON_TYPE_ADVANCE)==SUMMON_TYPE_ADVANCE and c:IsSetCard(0x5) return bit.band(sumtp,SUMMON_TYPE_ADVANCE)==SUMMON_TYPE_ADVANCE and c:IsSetCard(0x5)
......
...@@ -13,7 +13,6 @@ function c97642679.initial_effect(c) ...@@ -13,7 +13,6 @@ function c97642679.initial_effect(c)
e1:SetOperation(c97642679.operation) e1:SetOperation(c97642679.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
c97642679.toss_dice=true
function c97642679.target(e,tp,eg,ep,ev,re,r,rp,chk) function c97642679.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_DICE,nil,0,tp,1) Duel.SetOperationInfo(0,CATEGORY_DICE,nil,0,tp,1)
......
...@@ -11,7 +11,7 @@ function c99189322.initial_effect(c) ...@@ -11,7 +11,7 @@ function c99189322.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c99189322.filter(c) function c99189322.filter(c)
return c:GetFlagEffect(36690018)~=0 return c:IsFaceup() and c:IsSetCard(0x5) and c:GetFlagEffect(FLAG_ID_REVERSAL_OF_FATE)~=0
end end
function c99189322.rfilter(c) function c99189322.rfilter(c)
return c:IsSetCard(0x5) and c:IsAbleToRemove() return c:IsSetCard(0x5) and c:IsAbleToRemove()
...@@ -33,11 +33,12 @@ function c99189322.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -33,11 +33,12 @@ function c99189322.activate(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS) local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS)
local tc=g:GetFirst() local tc=g:GetFirst()
if tc==regc then tc=g:GetNext() end if tc==regc then tc=g:GetNext() end
if tc:IsRelateToEffect(e) and tc:IsFaceup() and c99189322.filter(tc) and regc:IsRelateToEffect(e) then if not regc:IsRelateToEffect(e) then return end
Duel.Remove(regc,POS_FACEUP,REASON_EFFECT) if Duel.Remove(regc,POS_FACEUP,REASON_EFFECT)==0 or not regc:IsLocation(LOCATION_REMOVED) then return end
if tc:IsRelateToEffect(e) and tc:IsFaceup() and tc:GetFlagEffect(FLAG_ID_REVERSAL_OF_FATE)~=0 and tc:GetFlagEffect(FLAG_ID_ARCANA_COIN)~=0 then
local regfun=regc.arcanareg local regfun=regc.arcanareg
if not regfun then return end if not regfun then return end
local val=tc:GetFlagEffectLabel(36690018) local val=tc:GetFlagEffectLabel(FLAG_ID_ARCANA_COIN)
tc:ResetEffect(RESET_DISABLE,RESET_EVENT) tc:ResetEffect(RESET_DISABLE,RESET_EVENT)
regfun(tc,val) regfun(tc,val)
tc:RegisterFlagEffect(99189322,RESET_EVENT+RESETS_STANDARD+RESET_DISABLE+RESET_PHASE+PHASE_END,0,1) tc:RegisterFlagEffect(99189322,RESET_EVENT+RESETS_STANDARD+RESET_DISABLE+RESET_PHASE+PHASE_END,0,1)
...@@ -53,10 +54,10 @@ function c99189322.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -53,10 +54,10 @@ function c99189322.activate(e,tp,eg,ep,ev,re,r,rp)
end end
function c99189322.rec_effect(e,tp,eg,ep,ev,re,r,rp) function c99189322.rec_effect(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetLabelObject() local tc=e:GetLabelObject()
if tc:GetFlagEffect(99189322)==0 or tc:GetFlagEffect(36690018)==0 then return end if tc:GetFlagEffect(99189322)==0 then return end
local regfun=tc.arcanareg local regfun=tc.arcanareg
if not regfun then return end if not regfun then return end
local val=tc:GetFlagEffectLabel(36690018) local val=tc:GetFlagEffectLabel(FLAG_ID_ARCANA_COIN)
tc:ResetEffect(RESET_DISABLE,RESET_EVENT) tc:ResetEffect(RESET_DISABLE,RESET_EVENT)
regfun(tc,val) regfun(tc,val)
end end
...@@ -304,20 +304,20 @@ EFFECT_TYPE_XMATERIAL =0x1000 --作为超量素材时超量怪兽获得的效 ...@@ -304,20 +304,20 @@ EFFECT_TYPE_XMATERIAL =0x1000 --作为超量素材时超量怪兽获得的效
EFFECT_TYPE_GRANT =0x2000 --使其他卡片获得效果(天气模样) EFFECT_TYPE_GRANT =0x2000 --使其他卡片获得效果(天气模样)
EFFECT_TYPE_TARGET =0x4000 --影响持续取的对象的效果(基本只用于魔陷) EFFECT_TYPE_TARGET =0x4000 --影响持续取的对象的效果(基本只用于魔陷)
--========== Flags ========== --效果的特殊性质 --========== Flags ========== --效果的特殊性质
EFFECT_FLAG_INITIAL =0x0001 --在initial_effect建立的效果 EFFECT_FLAG_INITIAL =0x0001 --卡片记载的效果(internal)
EFFECT_FLAG_FUNC_VALUE =0x0002 --此效果的Value属性是函数 EFFECT_FLAG_FUNC_VALUE =0x0002 --此效果的Value属性是函数(internal)
EFFECT_FLAG_COUNT_LIMIT =0x0004 --发动次数限制 EFFECT_FLAG_COUNT_LIMIT =0x0004 --发动次数限制(internal)
EFFECT_FLAG_FIELD_ONLY =0x0008 --此效果是注册给全局环境的 EFFECT_FLAG_FIELD_ONLY =0x0008 --此效果是注册给玩家的(internal)
EFFECT_FLAG_CARD_TARGET =0x0010 --取对象效果 EFFECT_FLAG_CARD_TARGET =0x0010 --取对象效果
EFFECT_FLAG_IGNORE_RANGE =0x0020 --影响所有区域的卡(大宇宙) EFFECT_FLAG_IGNORE_RANGE =0x0020 --影响所有区域的卡(大宇宙)
EFFECT_FLAG_ABSOLUTE_TARGET =0x0040 --Target Range固定為某個玩家的視角所見的自己/對方(SetAbsoluteRange()專用) EFFECT_FLAG_ABSOLUTE_TARGET =0x0040 --Target Range固定為某個玩家的視角所見的自己/對方(internal)
EFFECT_FLAG_IGNORE_IMMUNE =0x0080 --无视效果免疫 EFFECT_FLAG_IGNORE_IMMUNE =0x0080 --无视效果免疫
EFFECT_FLAG_SET_AVAILABLE =0x0100 --裡側狀態可發動的效果、影响场上里侧的卡的永續型效果 EFFECT_FLAG_SET_AVAILABLE =0x0100 --裡側狀態可發動的效果、影响场上里侧的卡的永續型效果
EFFECT_FLAG_CAN_FORBIDDEN =0x0200 --可被禁止令停止適用的效果(與EFFECT_FLAG_CANNOT_DISABLE並用) EFFECT_FLAG_CAN_FORBIDDEN =0x0200 --可被禁止令停止適用的效果(與EFFECT_FLAG_CANNOT_DISABLE並用)
EFFECT_FLAG_CANNOT_DISABLE =0x0400 --效果不会被无效 EFFECT_FLAG_CANNOT_DISABLE =0x0400 --效果不会被无效
EFFECT_FLAG_PLAYER_TARGET =0x0800 --含有"以玩家为对象"的特性(精靈之鏡)、影響玩家的永續型效果(SetTargetRange()改成指定玩家) EFFECT_FLAG_PLAYER_TARGET =0x0800 --含有"以玩家为对象"的特性(精靈之鏡)、影響玩家的永續型效果(SetTargetRange()改成指定玩家)
EFFECT_FLAG_BOTH_SIDE =0x1000 --双方都能使用(部分场地,弹压) EFFECT_FLAG_BOTH_SIDE =0x1000 --双方都能使用(部分场地,弹压)
EFFECT_FLAG_COPY_INHERIT =0x2000 --N/A EFFECT_FLAG_COPY =0x2000 --复制得到的效果(internal)
EFFECT_FLAG_DAMAGE_STEP =0x4000 --可以在伤害步骤发动 EFFECT_FLAG_DAMAGE_STEP =0x4000 --可以在伤害步骤发动
EFFECT_FLAG_DAMAGE_CAL =0x8000 --可以在伤害计算时发动 EFFECT_FLAG_DAMAGE_CAL =0x8000 --可以在伤害计算时发动
EFFECT_FLAG_DELAY =0x10000 --場合型誘發效果、用於永續效果的EFFECT_TYPE_CONTINUOUS EFFECT_FLAG_DELAY =0x10000 --場合型誘發效果、用於永續效果的EFFECT_TYPE_CONTINUOUS
...@@ -892,3 +892,5 @@ FLAG_ID_CHAINING =1 ...@@ -892,3 +892,5 @@ FLAG_ID_CHAINING =1
FLAG_ID_UNION =2 FLAG_ID_UNION =2
FLAG_ID_NO_NORMAL_DRAW =3 FLAG_ID_NO_NORMAL_DRAW =3
FLAG_ID_ALLURE_QUEEN =4 FLAG_ID_ALLURE_QUEEN =4
FLAG_ID_ARCANA_COIN =5
FLAG_ID_REVERSAL_OF_FATE=36690018
...@@ -259,6 +259,45 @@ function Auxiliary.NeosReturnTargetOptional(set_category) ...@@ -259,6 +259,45 @@ function Auxiliary.NeosReturnTargetOptional(set_category)
if set_category then set_category(e,tp,eg,ep,ev,re,r,rp) end if set_category then set_category(e,tp,eg,ep,ev,re,r,rp) end
end end
end end
---add "Toss a coin and get the following effects" effect to Arcana Force monsters
---@param c Card
---@param event1 integer
---@param ... integer
function Auxiliary.EnableArcanaCoin(c,event1,...)
local e1=Effect.CreateEffect(c)
e1:SetDescription(1623)
e1:SetCategory(CATEGORY_COIN)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetCode(event1)
e1:SetTarget(Auxiliary.ArcanaCoinTarget)
e1:SetOperation(Auxiliary.ArcanaCoinOperation)
c:RegisterEffect(e1)
for _,event in ipairs{...} do
local e2=e1:Clone()
e2:SetCode(event)
c:RegisterEffect(e2)
end
end
function Auxiliary.ArcanaCoinTarget(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_COIN,nil,0,tp,1)
end
function Auxiliary.ArcanaCoinOperation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local res=0
local toss=false
if Duel.IsPlayerAffectedByEffect(tp,73206827) then
res=1-Duel.SelectOption(tp,60,61)
else
res=Duel.TossCoin(tp,1)
toss=true
end
if not c:IsRelateToEffect(e) or c:IsFacedown() then return end
if toss then
c:RegisterFlagEffect(FLAG_ID_REVERSAL_OF_FATE,RESET_EVENT+RESETS_STANDARD,0,1)
end
c.arcanareg(c,res)
end
function Auxiliary.IsUnionState(effect) function Auxiliary.IsUnionState(effect)
local c=effect:GetHandler() local c=effect:GetHandler()
return c:IsHasEffect(EFFECT_UNION_STATUS) and c:GetEquipTarget() return c:IsHasEffect(EFFECT_UNION_STATUS) and c:GetEquipTarget()
...@@ -1793,3 +1832,16 @@ function Auxiliary.BecomeOriginalCode(c,tc,reset) ...@@ -1793,3 +1832,16 @@ function Auxiliary.BecomeOriginalCode(c,tc,reset)
c:RegisterEffect(e1) c:RegisterEffect(e1)
return e1 return e1
end end
---@param category integer
---@return function
function Auxiliary.EffectCategoryFilter(category)
return aux.FilterBoolFunction(Effect.IsHasCategory,category)
end
---@param category integer
---@return function
function Auxiliary.MonsterEffectCategoryFilter(category)
---@param e Effect
return function (e)
return e:IsHasCategory(category) and not e:IsHasRange(LOCATION_PZONE)
end
end
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment