Commit 7dda468f authored by nekrozar's avatar nekrozar

fix & update Arcana Force

update:

https://github.com/Fluorohydride/ygopro-core/commit/0dd8162d1d5621b6bc6c50369c46560e7185b2c0
fix:
http://yugioh-wiki.net/index.php?%A1%D4%B8%F7%A4%CE%B7%EB%B3%A6%A1%D5

このカードによって表または裏の効果を決定した場合、それは「コイントスによって得た効果」ではないので《逆転する運命》や《アルカナコール》で効果を変更することはできない。
parent f8bb1d08
...@@ -24,10 +24,7 @@ end ...@@ -24,10 +24,7 @@ end
function c23846921.coinop(e,tp,eg,ep,ev,re,r,rp) function c23846921.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 if not c:IsRelateToEffect(e) or c:IsFacedown() then return end
local res=0 local res=Duel.TossCoin(tp,1)
if c:IsHasEffect(73206827) then
res=1-Duel.SelectOption(tp,60,61)
else res=Duel.TossCoin(tp,1) end
c23846921.arcanareg(c,res) c23846921.arcanareg(c,res)
end end
function c23846921.arcanareg(c,coin) function c23846921.arcanareg(c,coin)
......
...@@ -24,10 +24,7 @@ end ...@@ -24,10 +24,7 @@ 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 if not c:IsRelateToEffect(e) or c:IsFacedown() then return end
local res=0 local res=Duel.TossCoin(tp,1)
if c:IsHasEffect(73206827) then
res=1-Duel.SelectOption(tp,60,61)
else res=Duel.TossCoin(tp,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)
......
...@@ -24,10 +24,7 @@ end ...@@ -24,10 +24,7 @@ end
function c35781051.coinop(e,tp,eg,ep,ev,re,r,rp) function c35781051.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 if not c:IsRelateToEffect(e) or c:IsFacedown() then return end
local res=0 local res=Duel.TossCoin(tp,1)
if c:IsHasEffect(73206827) then
res=1-Duel.SelectOption(tp,60,61)
else res=Duel.TossCoin(tp,1) end
c35781051.arcanareg(c,res) c35781051.arcanareg(c,res)
end end
function c35781051.arcanareg(c,coin) function c35781051.arcanareg(c,coin)
......
...@@ -10,7 +10,7 @@ function c36690018.initial_effect(c) ...@@ -10,7 +10,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:GetFlagEffect(36690018)~=0 and c:GetFlagEffect(73206827)==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
......
...@@ -68,10 +68,7 @@ end ...@@ -68,10 +68,7 @@ end
function c5861892.coinop(e,tp,eg,ep,ev,re,r,rp) function c5861892.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 if not c:IsRelateToEffect(e) or c:IsFacedown() then return end
local res=0 local res=Duel.TossCoin(tp,1)
if c:IsHasEffect(73206827) then
res=1-Duel.SelectOption(tp,60,61)
else res=Duel.TossCoin(tp,1) end
c5861892.arcanareg(c,res) c5861892.arcanareg(c,res)
end end
function c5861892.arcanareg(c,coin) function c5861892.arcanareg(c,coin)
......
...@@ -52,10 +52,7 @@ end ...@@ -52,10 +52,7 @@ end
function c60953118.coinop(e,tp,eg,ep,ev,re,r,rp) function c60953118.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 if not c:IsRelateToEffect(e) or c:IsFacedown() then return end
local res=0 local res=Duel.TossCoin(tp,1)
if c:IsHasEffect(73206827) then
res=1-Duel.SelectOption(tp,60,61)
else res=Duel.TossCoin(tp,1) end
c60953118.arcanareg(c,res) c60953118.arcanareg(c,res)
end end
function c60953118.arcanareg(c,coin) function c60953118.arcanareg(c,coin)
......
...@@ -24,10 +24,7 @@ end ...@@ -24,10 +24,7 @@ end
function c61175706.coinop(e,tp,eg,ep,ev,re,r,rp) function c61175706.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 if not c:IsRelateToEffect(e) or c:IsFacedown() then return end
local res=0 local res=Duel.TossCoin(tp,1)
if c:IsHasEffect(73206827) then
res=1-Duel.SelectOption(tp,60,61)
else res=Duel.TossCoin(tp,1) end
c61175706.arcanareg(c,res) c61175706.arcanareg(c,res)
end end
function c61175706.arcanareg(c,coin) function c61175706.arcanareg(c,coin)
......
...@@ -39,10 +39,7 @@ end ...@@ -39,10 +39,7 @@ end
function c62892347.coinop(e,tp,eg,ep,ev,re,r,rp) function c62892347.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 if not c:IsRelateToEffect(e) or c:IsFacedown() then return end
local res=0 local res=Duel.TossCoin(tp,1)
if c:IsHasEffect(73206827) then
res=1-Duel.SelectOption(tp,60,61)
else res=Duel.TossCoin(tp,1) end
c62892347.arcanareg(c,res) c62892347.arcanareg(c,res)
end end
function c62892347.arcanareg(c,coin) function c62892347.arcanareg(c,coin)
......
...@@ -68,10 +68,7 @@ end ...@@ -68,10 +68,7 @@ end
function c69831560.coinop(e,tp,eg,ep,ev,re,r,rp) function c69831560.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 if not c:IsRelateToEffect(e) or c:IsFacedown() then return end
local res=0 local res=Duel.TossCoin(tp,1)
if c:IsHasEffect(73206827) then
res=1-Duel.SelectOption(tp,60,61)
else res=Duel.TossCoin(tp,1) end
c69831560.arcanareg(c,res) c69831560.arcanareg(c,res)
end end
function c69831560.arcanareg(c,coin) function c69831560.arcanareg(c,coin)
......
...@@ -17,16 +17,15 @@ function c73206827.initial_effect(c) ...@@ -17,16 +17,15 @@ function c73206827.initial_effect(c)
e2:SetTarget(c73206827.cointg) e2:SetTarget(c73206827.cointg)
e2:SetOperation(c73206827.coinop) e2:SetOperation(c73206827.coinop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
-- --coin replace
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD) e3:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e3:SetCode(73206827) e3:SetCode(EFFECT_TOSS_COIN_REPLACE)
e3:SetRange(LOCATION_FZONE) e3:SetRange(LOCATION_FZONE)
e3:SetTargetRange(LOCATION_MZONE,0)
e3:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x5))
e3:SetCondition(c73206827.effectcon) e3:SetCondition(c73206827.effectcon)
e3:SetOperation(c73206827.effectop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
-- --recover
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(73206827,1)) e4:SetDescription(aux.Stringid(73206827,1))
e4:SetCategory(CATEGORY_RECOVER) e4:SetCategory(CATEGORY_RECOVER)
...@@ -54,9 +53,19 @@ function c73206827.coinop(e,tp,eg,ep,ev,re,r,rp) ...@@ -54,9 +53,19 @@ function c73206827.coinop(e,tp,eg,ep,ev,re,r,rp)
c:RegisterFlagEffect(73206828,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_STANDBY+RESET_SELF_TURN,0,2) c:RegisterFlagEffect(73206828,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_STANDBY+RESET_SELF_TURN,0,2)
end end
end end
function c73206827.effectcon(e) function c73206827.effectcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
return c:GetFlagEffect(73206828)==0 or c:IsHasEffect(EFFECT_CANNOT_DISABLE) return (c:GetFlagEffect(73206828)==0 or c:IsHasEffect(EFFECT_CANNOT_DISABLE))
and rp==tp and re and re:IsActiveType(TYPE_MONSTER) and re:GetHandler():IsSetCard(0x5)
end
function c73206827.effectop(e,tp,eg,ep,ev,re,r,rp)
local res=0
for i=0,ev-1 do
local ac=Duel.AnnounceCoin(tp)
res=res+bit.lshift(1-ac,i*4)
end
re:GetHandler():RegisterFlagEffect(73206827,RESET_EVENT+RESETS_STANDARD,0,1)
return res
end 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()
......
...@@ -24,10 +24,7 @@ end ...@@ -24,10 +24,7 @@ end
function c8396952.coinop(e,tp,eg,ep,ev,re,r,rp) function c8396952.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 if not c:IsRelateToEffect(e) or c:IsFacedown() then return end
local res=0 local res=Duel.TossCoin(tp,1)
if c:IsHasEffect(73206827) then
res=1-Duel.SelectOption(tp,60,61)
else res=Duel.TossCoin(tp,1) end
c8396952.arcanareg(c,res) c8396952.arcanareg(c,res)
end end
function c8396952.arcanareg(c,coin) function c8396952.arcanareg(c,coin)
......
...@@ -24,10 +24,7 @@ end ...@@ -24,10 +24,7 @@ end
function c97452817.coinop(e,tp,eg,ep,ev,re,r,rp) function c97452817.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 if not c:IsRelateToEffect(e) or c:IsFacedown() then return end
local res=0 local res=Duel.TossCoin(tp,1)
if c:IsHasEffect(73206827) then
res=1-Duel.SelectOption(tp,60,61)
else res=Duel.TossCoin(tp,1) end
c97452817.arcanareg(c,res) c97452817.arcanareg(c,res)
end end
function c97452817.arcanareg(c,coin) function c97452817.arcanareg(c,coin)
......
...@@ -24,10 +24,7 @@ end ...@@ -24,10 +24,7 @@ end
function c97574404.coinop(e,tp,eg,ep,ev,re,r,rp) function c97574404.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 if not c:IsRelateToEffect(e) or c:IsFacedown() then return end
local res=0 local res=Duel.TossCoin(tp,1)
if c:IsHasEffect(73206827) then
res=1-Duel.SelectOption(tp,60,61)
else res=Duel.TossCoin(tp,1) end
c97574404.arcanareg(c,res) c97574404.arcanareg(c,res)
end end
function c97574404.arcanareg(c,coin) function c97574404.arcanareg(c,coin)
......
...@@ -10,7 +10,7 @@ function c99189322.initial_effect(c) ...@@ -10,7 +10,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:GetFlagEffect(36690018)~=0 and c:GetFlagEffect(73206827)==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()
......
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