Commit d3c602a4 authored by mercury233's avatar mercury233 Committed by GitHub

fix Magical Musketeer monsters (#1122)

parent a26ecfd0
...@@ -17,7 +17,8 @@ function c31629407.initial_effect(c) ...@@ -17,7 +17,8 @@ function c31629407.initial_effect(c)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e0:SetCode(EVENT_CHAINING) e0:SetCode(EVENT_CHAINING)
e0:SetRange(LOCATION_MZONE) e0:SetRange(LOCATION_MZONE)
e0:SetOperation(aux.chainreg) e0:SetCondition(aux.mskregcon)
e0:SetOperation(aux.mskreg)
c:RegisterEffect(e0) c:RegisterEffect(e0)
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(31629407,0)) e3:SetDescription(aux.Stringid(31629407,0))
...@@ -33,9 +34,7 @@ function c31629407.initial_effect(c) ...@@ -33,9 +34,7 @@ function c31629407.initial_effect(c)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c31629407.spcon(e,tp,eg,ep,ev,re,r,rp) function c31629407.spcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() return e:GetHandler():GetFlagEffect(ev)>0
if not re:IsHasType(EFFECT_TYPE_ACTIVATE) or c:GetFlagEffect(1)<=0 then return false end
return c:GetColumnGroup():IsContains(re:GetHandler())
end end
function c31629407.spfilter(c,e,tp) function c31629407.spfilter(c,e,tp)
return c:IsLevelBelow(4) and c:IsSetCard(0x108) and not c:IsCode(31629407) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE) return c:IsLevelBelow(4) and c:IsSetCard(0x108) and not c:IsCode(31629407) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE)
......
...@@ -17,7 +17,8 @@ function c32841045.initial_effect(c) ...@@ -17,7 +17,8 @@ function c32841045.initial_effect(c)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e0:SetCode(EVENT_CHAINING) e0:SetCode(EVENT_CHAINING)
e0:SetRange(LOCATION_MZONE) e0:SetRange(LOCATION_MZONE)
e0:SetOperation(aux.chainreg) e0:SetCondition(aux.mskregcon)
e0:SetOperation(aux.mskreg)
c:RegisterEffect(e0) c:RegisterEffect(e0)
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(32841045,0)) e3:SetDescription(aux.Stringid(32841045,0))
...@@ -33,9 +34,7 @@ function c32841045.initial_effect(c) ...@@ -33,9 +34,7 @@ function c32841045.initial_effect(c)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c32841045.thcon(e,tp,eg,ep,ev,re,r,rp) function c32841045.thcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() return e:GetHandler():GetFlagEffect(ev)>0
if not re:IsHasType(EFFECT_TYPE_ACTIVATE) or c:GetFlagEffect(1)<=0 then return false end
return c:GetColumnGroup():IsContains(re:GetHandler())
end end
function c32841045.thfilter(c,rc) function c32841045.thfilter(c,rc)
return c:IsSetCard(0x108) and not c:IsCode(rc:GetCode()) and c:IsAbleToHand() return c:IsSetCard(0x108) and not c:IsCode(rc:GetCode()) and c:IsAbleToHand()
......
...@@ -17,7 +17,8 @@ function c5230799.initial_effect(c) ...@@ -17,7 +17,8 @@ function c5230799.initial_effect(c)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e0:SetCode(EVENT_CHAINING) e0:SetCode(EVENT_CHAINING)
e0:SetRange(LOCATION_MZONE) e0:SetRange(LOCATION_MZONE)
e0:SetOperation(aux.chainreg) e0:SetCondition(aux.mskregcon)
e0:SetOperation(aux.mskreg)
c:RegisterEffect(e0) c:RegisterEffect(e0)
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(5230799,0)) e3:SetDescription(aux.Stringid(5230799,0))
...@@ -34,9 +35,7 @@ function c5230799.initial_effect(c) ...@@ -34,9 +35,7 @@ function c5230799.initial_effect(c)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c5230799.drcon(e,tp,eg,ep,ev,re,r,rp) function c5230799.drcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() return e:GetHandler():GetFlagEffect(ev)>0
if not re:IsHasType(EFFECT_TYPE_ACTIVATE) or c:GetFlagEffect(1)<=0 then return false end
return c:GetColumnGroup():IsContains(re:GetHandler())
end end
function c5230799.cfilter(c) function c5230799.cfilter(c)
return c:IsSetCard(0x108) and c:IsDiscardable() return c:IsSetCard(0x108) and c:IsDiscardable()
......
...@@ -17,7 +17,8 @@ function c68024506.initial_effect(c) ...@@ -17,7 +17,8 @@ function c68024506.initial_effect(c)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e0:SetCode(EVENT_CHAINING) e0:SetCode(EVENT_CHAINING)
e0:SetRange(LOCATION_MZONE) e0:SetRange(LOCATION_MZONE)
e0:SetOperation(aux.chainreg) e0:SetCondition(aux.mskregcon)
e0:SetOperation(aux.mskreg)
c:RegisterEffect(e0) c:RegisterEffect(e0)
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(68024506,0)) e3:SetDescription(aux.Stringid(68024506,0))
...@@ -33,9 +34,7 @@ function c68024506.initial_effect(c) ...@@ -33,9 +34,7 @@ function c68024506.initial_effect(c)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c68024506.spcon(e,tp,eg,ep,ev,re,r,rp) function c68024506.spcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() return e:GetHandler():GetFlagEffect(ev)>0
if not re:IsHasType(EFFECT_TYPE_ACTIVATE) or c:GetFlagEffect(1)<=0 then return false end
return c:GetColumnGroup():IsContains(re:GetHandler())
end end
function c68024506.filter(c,e,tp) function c68024506.filter(c,e,tp)
return c:IsSetCard(0x108) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE) return c:IsSetCard(0x108) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE)
......
...@@ -17,7 +17,8 @@ function c68246154.initial_effect(c) ...@@ -17,7 +17,8 @@ function c68246154.initial_effect(c)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e0:SetCode(EVENT_CHAINING) e0:SetCode(EVENT_CHAINING)
e0:SetRange(LOCATION_MZONE) e0:SetRange(LOCATION_MZONE)
e0:SetOperation(aux.chainreg) e0:SetCondition(aux.mskregcon)
e0:SetOperation(aux.mskreg)
c:RegisterEffect(e0) c:RegisterEffect(e0)
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(68246154,0)) e3:SetDescription(aux.Stringid(68246154,0))
...@@ -33,9 +34,7 @@ function c68246154.initial_effect(c) ...@@ -33,9 +34,7 @@ function c68246154.initial_effect(c)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c68246154.thcon(e,tp,eg,ep,ev,re,r,rp) function c68246154.thcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() return e:GetHandler():GetFlagEffect(ev)>0
if not re:IsHasType(EFFECT_TYPE_ACTIVATE) or c:GetFlagEffect(1)<=0 then return false end
return c:GetColumnGroup():IsContains(re:GetHandler())
end end
function c68246154.thfilter(c,rc) function c68246154.thfilter(c,rc)
return c:IsSetCard(0x108) and not c:IsCode(rc:GetCode()) and c:IsAbleToHand() return c:IsSetCard(0x108) and not c:IsCode(rc:GetCode()) and c:IsAbleToHand()
......
...@@ -17,7 +17,8 @@ function c94418111.initial_effect(c) ...@@ -17,7 +17,8 @@ function c94418111.initial_effect(c)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e0:SetCode(EVENT_CHAINING) e0:SetCode(EVENT_CHAINING)
e0:SetRange(LOCATION_MZONE) e0:SetRange(LOCATION_MZONE)
e0:SetOperation(aux.chainreg) e0:SetCondition(aux.mskregcon)
e0:SetOperation(aux.mskreg)
c:RegisterEffect(e0) c:RegisterEffect(e0)
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(94418111,0)) e3:SetDescription(aux.Stringid(94418111,0))
...@@ -33,9 +34,7 @@ function c94418111.initial_effect(c) ...@@ -33,9 +34,7 @@ function c94418111.initial_effect(c)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c94418111.tdcon(e,tp,eg,ep,ev,re,r,rp) function c94418111.tdcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() return e:GetHandler():GetFlagEffect(ev)>0
if not re:IsHasType(EFFECT_TYPE_ACTIVATE) or c:GetFlagEffect(1)<=0 then return false end
return c:GetColumnGroup():IsContains(re:GetHandler())
end end
function c94418111.filter(c) function c94418111.filter(c)
return c:IsSetCard(0x108) and c:IsAbleToDeck() return c:IsSetCard(0x108) and c:IsAbleToDeck()
......
...@@ -2064,6 +2064,14 @@ function Auxiliary.evospcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -2064,6 +2064,14 @@ function Auxiliary.evospcon(e,tp,eg,ep,ev,re,r,rp)
local st=e:GetHandler():GetSummonType() local st=e:GetHandler():GetSummonType()
return st>=(SUMMON_TYPE_SPECIAL+150) and st<(SUMMON_TYPE_SPECIAL+180) return st>=(SUMMON_TYPE_SPECIAL+150) and st<(SUMMON_TYPE_SPECIAL+180)
end end
--chain reg condition for magical musketeer monsters
function Auxiliary.mskregcon(e,tp,eg,ep,ev,re,r,rp)
return re:IsHasType(EFFECT_TYPE_ACTIVATE) and e:GetHandler():GetColumnGroup():IsContains(re:GetHandler())
end
--chain reg for magical musketeer monsters
function Auxiliary.mskreg(e,tp,eg,ep,ev,re,r,rp)
e:GetHandler():RegisterFlagEffect(ev,RESET_EVENT+RESETS_STANDARD-RESET_TURN_SET+RESET_CHAIN,0,1)
end
--filter for necro_valley test --filter for necro_valley test
function Auxiliary.NecroValleyFilter(f) function Auxiliary.NecroValleyFilter(f)
return function(target,...) return function(target,...)
......
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