Commit 2cb6cb6e authored by xiaoye's avatar xiaoye

fix

parent 4e846bba
...@@ -245,7 +245,7 @@ function cm.operation2(e,tp,eg,ep,ev,re,r,rp) ...@@ -245,7 +245,7 @@ function cm.operation2(e,tp,eg,ep,ev,re,r,rp)
end end
function cm.condition2(e,tp,eg,ep,ev,re,r,rp) function cm.condition2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
return vgf.RMonsterCondition(e) and c:GetFlagEffectLabel(ConditionFlag)==201 and vgf.VMonsterFilter(Duel.GetAttackTarget()) return vgf.RMonsterCondition(e) and c:GetFlagEffectLabel(FLAG_CONDITION)==201 and vgf.VMonsterFilter(Duel.GetAttackTarget())
end end
``` ```
...@@ -351,7 +351,7 @@ function cm.condition2(e,tp,eg,ep,ev,re,r,rp) ...@@ -351,7 +351,7 @@ function cm.condition2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
-- vgf.RMonsterCondition(e) 判断 e的持有者(即这张卡) 是否为后防者 -- vgf.RMonsterCondition(e) 判断 e的持有者(即这张卡) 是否为后防者
-- vgf.VMonsterFilter(Duel.GetAttackTarget()) 判断 被攻击的卡 是否为先导者 -- vgf.VMonsterFilter(Duel.GetAttackTarget()) 判断 被攻击的卡 是否为先导者
return vgf.RMonsterCondition(e) and c:GetFlagEffectLabel(ConditionFlag)==201 and vgf.VMonsterFilter(Duel.GetAttackTarget()) return vgf.RMonsterCondition(e) and c:GetFlagEffectLabel(FLAG_CONDITION)==201 and vgf.VMonsterFilter(Duel.GetAttackTarget())
end end
``` ```
......
...@@ -251,7 +251,7 @@ function VgD.OverDressOperation(f) ...@@ -251,7 +251,7 @@ function VgD.OverDressOperation(f)
end end
function VgD.OverDressSum(e,tp,eg,ep,ev,re,r,rp) function VgD.OverDressSum(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
c:RegisterFlagEffect(ConditionFlag,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,201,VgF.Stringid(10101006,0)) c:RegisterFlagEffect(FLAG_CONDITION,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,201,VgF.Stringid(10101006,0))
end end
--战斗阶段 --战斗阶段
...@@ -401,7 +401,7 @@ function VgD.MonsterPosDefenseOperation(e,tp,eg,ep,ev,re,r,rp) ...@@ -401,7 +401,7 @@ function VgD.MonsterPosDefenseOperation(e,tp,eg,ep,ev,re,r,rp)
elseif c:IsAttribute(SKILL_THRICE_TRIGGER) then elseif c:IsAttribute(SKILL_THRICE_TRIGGER) then
label=label+2 label=label+2
end end
c:RegisterFlagEffect(AttackTriggerFlag,RESET_EVENT+RESETS_STANDARD,0,1,label) c:RegisterFlagEffect(FLAG_ATTACK_TRIGGER,RESET_EVENT+RESETS_STANDARD,0,1,label)
Duel.RaiseEvent(c,EVENT_CUSTOM+EVENT_TRIGGERCOUNTUP,e,0,tp,tp,0) Duel.RaiseEvent(c,EVENT_CUSTOM+EVENT_TRIGGERCOUNTUP,e,0,tp,tp,0)
end end
function VgD.MonsterPosAttackOperation(e,tp,eg,ep,ev,re,r,rp) function VgD.MonsterPosAttackOperation(e,tp,eg,ep,ev,re,r,rp)
...@@ -417,13 +417,13 @@ function VgD.MonsterBattleDamageCondition(e,tp,eg,ep,ev,re,r,rp) ...@@ -417,13 +417,13 @@ function VgD.MonsterBattleDamageCondition(e,tp,eg,ep,ev,re,r,rp)
if not bc or not bc:IsRelateToBattle() then return false end if not bc or not bc:IsRelateToBattle() then return false end
local atk=bc:GetAttack() local atk=bc:GetAttack()
local def=c:GetAttack() local def=c:GetAttack()
return VgF.VMonsterFilter(c) and c==Duel.GetAttackTarget() and atk>=def and bc:GetLeftScale()>0 and Duel.GetAttackTarget():GetFlagEffect(DefenseEntirelyFlag)==0 return VgF.VMonsterFilter(c) and c==Duel.GetAttackTarget() and atk>=def and bc:GetLeftScale()>0 and Duel.GetAttackTarget():GetFlagEffect(FLAG_DEFENSE_ENTIRELY)==0
end end
function VgD.MonsterBattleDamageOperation(e,tp,eg,ep,ev,re,r,rp) function VgD.MonsterBattleDamageOperation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local bc=c:GetBattleTarget() local bc=c:GetBattleTarget()
local label=bc:GetLeftScale()-1 local label=bc:GetLeftScale()-1
bc:RegisterFlagEffect(DamageTriggerFlag,RESET_EVENT+RESETS_STANDARD,0,1,label) bc:RegisterFlagEffect(FLAG_DAMAGE_TRIGGER,RESET_EVENT+RESETS_STANDARD,0,1,label)
VgD.TriggerCard(e,tp,eg,ep,ev,re,r,rp) VgD.TriggerCard(e,tp,eg,ep,ev,re,r,rp)
end end
function VgD.MonsterNextTrigger(e,tp,eg,ep,ev,re,r,rp) function VgD.MonsterNextTrigger(e,tp,eg,ep,ev,re,r,rp)
...@@ -436,7 +436,7 @@ end ...@@ -436,7 +436,7 @@ end
function VgD.SupportOperation(e,tp,eg,ep,ev,re,r,rp) function VgD.SupportOperation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
Duel.ChangePosition(c,POS_FACEUP_DEFENSE) Duel.ChangePosition(c,POS_FACEUP_DEFENSE)
c:RegisterFlagEffect(SupportFlag,RESET_EVENT+RESETS_STANDARD,0,1) c:RegisterFlagEffect(FLAG_SUPPORT,RESET_EVENT+RESETS_STANDARD,0,1)
Duel.RaiseEvent(c,EVENT_CUSTOM+EVENT_SUPPORT,e,0,tp,tp,0) Duel.RaiseEvent(c,EVENT_CUSTOM+EVENT_SUPPORT,e,0,tp,tp,0)
end end
function VgD.SupportValue(e) function VgD.SupportValue(e)
...@@ -444,7 +444,7 @@ function VgD.SupportValue(e) ...@@ -444,7 +444,7 @@ function VgD.SupportValue(e)
local atk=0 local atk=0
if Duel.GetAttacker()==e:GetHandler() then if Duel.GetAttacker()==e:GetHandler() then
local g=Duel.GetMatchingGroup(function (c) local g=Duel.GetMatchingGroup(function (c)
return c:GetFlagEffect(SupportFlag)>0 return c:GetFlagEffect(FLAG_SUPPORT)>0
end,tp,LOCATION_MZONE,0,nil) end,tp,LOCATION_MZONE,0,nil)
for tc in VgF.Next(g) do for tc in VgF.Next(g) do
atk=atk+tc:GetAttack() atk=atk+tc:GetAttack()
...@@ -478,18 +478,18 @@ function VgD.GToGraveOperation(e,tp,eg,ep,ev,re,r,rp) ...@@ -478,18 +478,18 @@ function VgD.GToGraveOperation(e,tp,eg,ep,ev,re,r,rp)
if g:GetCount()>0 then VgF.Sendto(LOCATION_DROP,g,REASON_RULE) end if g:GetCount()>0 then VgF.Sendto(LOCATION_DROP,g,REASON_RULE) end
end end
function VgD.MonsterAttackAnnounceCondition(e,c) function VgD.MonsterAttackAnnounceCondition(e,c)
return e:GetHandler():IsPosition(POS_DEFENSE) or (VgF.IsSequence(e:GetHandler(),1,2,3) and e:GetHandler():GetFlagEffect(AttackAtRearFlag)==0) return e:GetHandler():IsPosition(POS_DEFENSE) or (VgF.IsSequence(e:GetHandler(),1,2,3) and e:GetHandler():GetFlagEffect(FLAG_ATTACK_AT_REAR)==0)
end end
function VgD.MonsterAttackCondition(e,tp,eg,ep,ev,re,r,rp) function VgD.MonsterAttackCondition(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if not VgF.VMonsterFilter(c) then return false end if not VgF.VMonsterFilter(c) then return false end
local a=c:GetFlagEffectLabel(AttackTriggerFlag) and c:GetFlagEffectLabel(AttackTriggerFlag)>0 local a=c:GetFlagEffectLabel(FLAG_ATTACK_TRIGGER) and c:GetFlagEffectLabel(FLAG_ATTACK_TRIGGER)>0
return a and Duel.GetAttacker()==c return a and Duel.GetAttacker()==c
end end
function VgD.MonsterAttackCost(e,tp,eg,ep,ev,re,r,rp,chk) function VgD.MonsterAttackCost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
if chk==0 then return c:GetFlagEffect(CountTriggerFlag)==0 end if chk==0 then return c:GetFlagEffect(FLAG_COUNT_TRIGGER)==0 end
c:RegisterFlagEffect(CountTriggerFlag,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_DAMAGE_CAL,0,1) c:RegisterFlagEffect(FLAG_COUNT_TRIGGER,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_DAMAGE_CAL,0,1)
end end
function VgD.MonsterCannotBeDestoryCondition(e) function VgD.MonsterCannotBeDestoryCondition(e)
local c=e:GetHandler() local c=e:GetHandler()
...@@ -531,7 +531,7 @@ function VgD.CardToGOperation(e,tp,eg,ep,ev,re,r,rp) ...@@ -531,7 +531,7 @@ function VgD.CardToGOperation(e,tp,eg,ep,ev,re,r,rp)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
vgf.EffectReset(c,e1,EVENT_BATTLED) vgf.EffectReset(c,e1,EVENT_BATTLED)
elseif vgf.VMonsterFilter(tc) then elseif vgf.VMonsterFilter(tc) then
tc:RegisterFlagEffect(DefenseEntirelyFlag,RESET_EVENT+RESETS_STANDARD,0,1) tc:RegisterFlagEffect(FLAG_DEFENSE_ENTIRELY,RESET_EVENT+RESETS_STANDARD,0,1)
end end
end end
...@@ -608,15 +608,15 @@ function VgD.CardTriggerOperation(chkop,f) ...@@ -608,15 +608,15 @@ function VgD.CardTriggerOperation(chkop,f)
end end
local rc=Duel.GetMatchingGroup(VgF.VMonsterFilter,tp,LOCATION_MZONE,0,nil):GetFirst() local rc=Duel.GetMatchingGroup(VgF.VMonsterFilter,tp,LOCATION_MZONE,0,nil):GetFirst()
local bc=rc:GetBattleTarget() local bc=rc:GetBattleTarget()
local label=bc:GetFlagEffectLabel(DamageTriggerFlag) local label=bc:GetFlagEffectLabel(FLAG_DAMAGE_TRIGGER)
if not label then return end if not label then return end
if label>0 then if label>0 then
label=label-1 label=label-1
Duel.RaiseEvent(c,EVENT_CUSTOM+EVENT_TRIGGER,e,0,tp,tp,0) Duel.RaiseEvent(c,EVENT_CUSTOM+EVENT_TRIGGER,e,0,tp,tp,0)
bc:ResetFlagEffect(DamageTriggerFlag) bc:ResetFlagEffect(FLAG_DAMAGE_TRIGGER)
bc:RegisterFlagEffect(DamageTriggerFlag,RESET_EVENT+RESETS_STANDARD,0,1,label) bc:RegisterFlagEffect(FLAG_DAMAGE_TRIGGER,RESET_EVENT+RESETS_STANDARD,0,1,label)
elseif label==0 then elseif label==0 then
bc:ResetFlagEffect(DamageTriggerFlag) bc:ResetFlagEffect(FLAG_DAMAGE_TRIGGER)
Duel.RaiseEvent(rc,EVENT_CUSTOM+EVENT_DAMAGE_TRIGGER,e,0,tp,tp,0) Duel.RaiseEvent(rc,EVENT_CUSTOM+EVENT_DAMAGE_TRIGGER,e,0,tp,tp,0)
end end
else else
...@@ -632,15 +632,15 @@ function VgD.CardTriggerOperation(chkop,f) ...@@ -632,15 +632,15 @@ function VgD.CardTriggerOperation(chkop,f)
VgF.Sendto(LOCATION_HAND,c,nil,REASON_TRIGGER) VgF.Sendto(LOCATION_HAND,c,nil,REASON_TRIGGER)
end end
local rc=Duel.GetMatchingGroup(VgF.VMonsterFilter,tp,LOCATION_MZONE,0,nil):GetFirst() local rc=Duel.GetMatchingGroup(VgF.VMonsterFilter,tp,LOCATION_MZONE,0,nil):GetFirst()
local label=rc:GetFlagEffectLabel(AttackTriggerFlag) local label=rc:GetFlagEffectLabel(FLAG_ATTACK_TRIGGER)
if not label then return end if not label then return end
if label>1 then if label>1 then
label=label-1 label=label-1
Duel.RaiseEvent(c,EVENT_CUSTOM+EVENT_TRIGGER,e,0,tp,tp,0) Duel.RaiseEvent(c,EVENT_CUSTOM+EVENT_TRIGGER,e,0,tp,tp,0)
rc:ResetFlagEffect(AttackTriggerFlag) rc:ResetFlagEffect(FLAG_ATTACK_TRIGGER)
rc:RegisterFlagEffect(AttackTriggerFlag,RESET_EVENT+RESETS_STANDARD,0,1,label) rc:RegisterFlagEffect(FLAG_ATTACK_TRIGGER,RESET_EVENT+RESETS_STANDARD,0,1,label)
elseif label==1 then elseif label==1 then
rc:ResetFlagEffect(AttackTriggerFlag) rc:ResetFlagEffect(FLAG_ATTACK_TRIGGER)
end end
end end
end end
...@@ -751,8 +751,8 @@ function VgD.RuelDrawOperation(e,tp,eg,ep,ev,re,r,rp) ...@@ -751,8 +751,8 @@ function VgD.RuelDrawOperation(e,tp,eg,ep,ev,re,r,rp)
end end
function VgD.ResetOperation(e,tp,eg,ep,ev,re,r,rp) function VgD.ResetOperation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:GetFlagEffect(SupportFlag)>0 then c:ResetFlagEffect(SupportFlag) end if c:GetFlagEffect(FLAG_SUPPORT)>0 then c:ResetFlagEffect(FLAG_SUPPORT) end
if c:GetFlagEffect(DefenseEntirelyFlag)>0 then c:ResetFlagEffect(DefenseEntirelyFlag) end if c:GetFlagEffect(FLAG_DEFENSE_ENTIRELY)>0 then c:ResetFlagEffect(FLAG_DEFENSE_ENTIRELY) end
end end
--指令卡 --指令卡
...@@ -770,6 +770,7 @@ function VgD.SpellActivate(c,m,op,cost,con) ...@@ -770,6 +770,7 @@ function VgD.SpellActivate(c,m,op,cost,con)
e1:SetCountLimit(1,VgID+EFFECT_COUNT_CODE_OATH) e1:SetCountLimit(1,VgID+EFFECT_COUNT_CODE_OATH)
e1:SetCost(VgD.MixCost(cost)) e1:SetCost(VgD.MixCost(cost))
e1:SetCondition(VgD.SpellCondtion(con)) e1:SetCondition(VgD.SpellCondtion(con))
e1:Settarget(VgD.SpellTarget)
e1:SetOperation(VgD.SpellOperation(op)) e1:SetOperation(VgD.SpellOperation(op))
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
...@@ -820,6 +821,14 @@ function VgD.SpellCondtion(con) ...@@ -820,6 +821,14 @@ function VgD.SpellCondtion(con)
return VgF.LvCondition(e) return VgF.LvCondition(e)
end end
end end
function VgD.SpellTarget(e,tp,eg,ep,ev,re,r,rp,chk)
local ct1=Duel.GetFlagEffectLabel(tp,FLAG_SPELL_COUNT_LIMIT)
local ct2=Duel.GetFlagEffectLabel(tp,FLAG_SPELL_USED_COUNT)
if VgF.GetValueType(ct1)~="number" then ct1=1 end
if VgF.GetValueType(ct2)~="number" then ct2=0 end
if chk==0 then return ct2<ct1 end
Duel.RegisterFlagEffect(tp,FLAG_SPELL_USED_COUNT,RESET_PHASE+PHASE_END,0,1,ct2+1)
end
function VgD.SpellOperation(op) function VgD.SpellOperation(op)
return function (e,tp,eg,ep,ev,re,r,rp,bool) return function (e,tp,eg,ep,ev,re,r,rp,bool)
if op then op(e,tp,eg,ep,ev,re,r,rp,1) end if op then op(e,tp,eg,ep,ev,re,r,rp,1) end
...@@ -1032,12 +1041,12 @@ end ...@@ -1032,12 +1041,12 @@ end
function VgD.TriggerCountUpOperation(num) function VgD.TriggerCountUpOperation(num)
return function (e,tp,eg,ep,ev,re,r,rp) return function (e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local label=c:GetFlagEffectLabel(AttackTriggerFlag) local label=c:GetFlagEffectLabel(FLAG_ATTACK_TRIGGER)
if not label then label=0 end if not label then label=0 end
label=label+num label=label+num
if label<0 then label=0 end if label<0 then label=0 end
c:ResetFlagEffect(AttackTriggerFlag) c:ResetFlagEffect(FLAG_ATTACK_TRIGGER)
c:RegisterFlagEffect(AttackTriggerFlag,RESET_EVENT+RESETS_STANDARD,0,1,label) c:RegisterFlagEffect(FLAG_ATTACK_TRIGGER,RESET_EVENT+RESETS_STANDARD,0,1,label)
end end
end end
function VgD.GlobalCheckEffect(c,m,typ,code,con,op) function VgD.GlobalCheckEffect(c,m,typ,code,con,op)
......
...@@ -853,14 +853,16 @@ FLAG_ID_CHAINING =1 ...@@ -853,14 +853,16 @@ 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 --Flag
CountTriggerFlag =VgID --计数标识 FLAG_COUNT_TRIGGER =VgID --计数标识
AttackTriggerFlag =VgID+1 --多次攻击判定标识 FLAG_ATTACK_TRIGGER =VgID+1 --多次攻击判定标识
DamageTriggerFlag =VgID+2 --多次伤害判定标识 FLAG_DAMAGE_TRIGGER =VgID+2 --多次伤害判定标识
DefenseEntirelyFlag =VgID+3 --完全防御标识 FLAG_DEFENSE_ENTIRELY =VgID+3 --完全防御标识
ConditionFlag =VgID+4 --处于XX状态标识 FLAG_CONDITION =VgID+4 --处于XX状态标识
SupportFlag =VgID+5 --支援状态标识 FLAG_SUPPORT =VgID+5 --支援状态标识
AttackAtRearFlag =VgID+6 --后列攻击 FLAG_ATTACK_AT_REAR =VgID+6 --后列攻击
ImprisonFlag =VgID+7 --被收容 FLAG_IMPRISON =VgID+7 --被收容
FLAG_SPELL_COUNT_LIMIT =VgID+8 --指令卡次数
FLAG_SPELL_USED_COUNT =VgID+9 --指令卡已使用次数
--AffectedByEffect --AffectedByEffect
AFFECT_CODE_MIX =VgID --魔合成 AFFECT_CODE_MIX =VgID --魔合成
AFFECT_CODE_MIX_DIFFERENT_NAME =VgID+1 --魔合成(卡名不同) AFFECT_CODE_MIX_DIFFERENT_NAME =VgID+1 --魔合成(卡名不同)
......
...@@ -745,11 +745,11 @@ function VgF.SendtoPrison(g,p) ...@@ -745,11 +745,11 @@ function VgF.SendtoPrison(g,p)
local oc=og:Filter(VgF.PrisonFilter,nil,og:GetCount()):GetFirst() local oc=og:Filter(VgF.PrisonFilter,nil,og:GetCount()):GetFirst()
if VgF.GetValueType(g)=="Card" then if VgF.GetValueType(g)=="Card" then
VgF.Sendto(LOCATION_ORDER,g,p,POS_FACEUP_ATTACK,REASON_EFFECT) VgF.Sendto(LOCATION_ORDER,g,p,POS_FACEUP_ATTACK,REASON_EFFECT)
g:RegisterFlagEffect(ImprisonFlag,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,VgF.Stringid(10105015,0)) g:RegisterFlagEffect(FLAG_IMPRISON,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,VgF.Stringid(10105015,0))
elseif VgF.GetValueType(g)=="Group" then elseif VgF.GetValueType(g)=="Group" then
for tc in VgF.Next(g) do for tc in VgF.Next(g) do
VgF.Sendto(LOCATION_ORDER,tc,p,POS_FACEUP_ATTACK,REASON_EFFECT) VgF.Sendto(LOCATION_ORDER,tc,p,POS_FACEUP_ATTACK,REASON_EFFECT)
tc:RegisterFlagEffect(ImprisonFlag,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,VgF.Stringid(10105015,0)) tc:RegisterFlagEffect(FLAG_IMPRISON,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,VgF.Stringid(10105015,0))
end end
end end
Duel.MoveSequence(oc,og:GetCount()-1) Duel.MoveSequence(oc,og:GetCount()-1)
...@@ -769,11 +769,11 @@ function VgF.SendtoPrison(g,p) ...@@ -769,11 +769,11 @@ function VgF.SendtoPrison(g,p)
local oc=og:Filter(VgF.PrisonFilter,nil,p):GetFirst() local oc=og:Filter(VgF.PrisonFilter,nil,p):GetFirst()
if VgF.GetValueType(g)=="Card" then if VgF.GetValueType(g)=="Card" then
Duel.Sendto(g,p,LOCATION_ORDER,POS_FACEUP_ATTACK,REASON_EFFECT,1) Duel.Sendto(g,p,LOCATION_ORDER,POS_FACEUP_ATTACK,REASON_EFFECT,1)
g:RegisterFlagEffect(ImprisonFlag,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,VgF.Stringid(10105015,0)) g:RegisterFlagEffect(FLAG_IMPRISON,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,VgF.Stringid(10105015,0))
elseif VgF.GetValueType(g)=="Group" then elseif VgF.GetValueType(g)=="Group" then
for tc in VgF.Next(g) do for tc in VgF.Next(g) do
Duel.Sendto(tc,p,LOCATION_ORDER,POS_FACEUP_ATTACK,REASON_EFFECT,1) Duel.Sendto(tc,p,LOCATION_ORDER,POS_FACEUP_ATTACK,REASON_EFFECT,1)
tc:RegisterFlagEffect(ImprisonFlag,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,VgF.Stringid(10105015,0)) tc:RegisterFlagEffect(FLAG_IMPRISON,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,VgF.Stringid(10105015,0))
end end
end end
end]] end]]
......
...@@ -20,7 +20,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp) ...@@ -20,7 +20,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
vgf.EffectReset(c,e1,EVENT_BATTLED) vgf.EffectReset(c,e1,EVENT_BATTLED)
elseif vgf.VMonsterFilter(tc) then elseif vgf.VMonsterFilter(tc) then
tc:RegisterFlagEffect(DefenseEntirelyFlag,RESET_EVENT+RESETS_STANDARD,0,1) tc:RegisterFlagEffect(FLAG_DEFENSE_ENTIRELY,RESET_EVENT+RESETS_STANDARD,0,1)
end end
end end
local sg=Duel.GetFieldGroup(tp,LOCATION_HAND,0) local sg=Duel.GetFieldGroup(tp,LOCATION_HAND,0)
......
...@@ -19,5 +19,5 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -19,5 +19,5 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
end end
function cm.condition(e,tp,eg,ep,ev,re,r,rp) function cm.condition(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
return vgf.RMonsterCondition(e) and c:GetFlagEffectLabel(ConditionFlag)==201 and vgf.VMonsterFilter(Duel.GetAttackTarget()) return vgf.RMonsterCondition(e) and c:GetFlagEffectLabel(FLAG_CONDITION)==201 and vgf.VMonsterFilter(Duel.GetAttackTarget())
end end
\ No newline at end of file
...@@ -6,7 +6,7 @@ function cm.initial_effect(c) ...@@ -6,7 +6,7 @@ function cm.initial_effect(c)
end end
function cm.op(e,tp,eg,ep,ev,re,r,rp) function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
Duel.RegisterFlagEffect(tp,ConditionFlag,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,m,vgf.Stringid(m,0)) Duel.RegisterFlagEffect(tp,FLAG_CONDITION,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,m,vgf.Stringid(m,0))
end end
function cm.con(e,tp,eg,ep,ev,re,r,rp) function cm.con(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==tp and vgf.VMonsterCondition(e) return Duel.GetTurnPlayer()==tp and vgf.VMonsterCondition(e)
...@@ -16,5 +16,5 @@ function cm.op2(e,tp,eg,ep,ev,re,r,rp) ...@@ -16,5 +16,5 @@ function cm.op2(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangePosition(g,POS_FACEUP_ATTACK) Duel.ChangePosition(g,POS_FACEUP_ATTACK)
end end
function cm.con2(e,tp,eg,ep,ev,re,r,rp) function cm.con2(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFlagEffectLabel(tp,ConditionFlag)==10102001 and vgf.VMonsterCondition(e) return Duel.GetFlagEffectLabel(tp,FLAG_CONDITION)==10102001 and vgf.VMonsterCondition(e)
end end
\ No newline at end of file
...@@ -25,5 +25,5 @@ function cm.con(e,tp,eg,ep,ev,re,r,rp) ...@@ -25,5 +25,5 @@ function cm.con(e,tp,eg,ep,ev,re,r,rp)
return c:IsSummonType(SUMMON_TYPE_RIDE) or c:IsSummonType(SUMMON_TYPE_SELFRIDE) return c:IsSummonType(SUMMON_TYPE_RIDE) or c:IsSummonType(SUMMON_TYPE_SELFRIDE)
end end
function cm.con2(e,tp,eg,ep,ev,re,r,rp) function cm.con2(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFlagEffectLabel(tp,ConditionFlag)==10102001 return Duel.GetFlagEffectLabel(tp,FLAG_CONDITION)==10102001
end end
\ No newline at end of file
...@@ -12,7 +12,7 @@ function cm.initial_effect(c) ...@@ -12,7 +12,7 @@ function cm.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function cm.con2(e,tp,eg,ep,ev,re,r,rp) function cm.con2(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFlagEffectLabel(tp,ConditionFlag)==10102001 return Duel.GetFlagEffectLabel(tp,FLAG_CONDITION)==10102001
end end
function cm.con(e,tp,eg,ep,ev,re,r,rp) function cm.con(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
......
...@@ -11,7 +11,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -11,7 +11,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
vgf.OverlayFill(1) vgf.OverlayFill(1)
Duel.BreakEffect() Duel.BreakEffect()
if Duel.GetFlagEffectLabel(tp,ConditionFlag)==10102001 and vgf.IsExistingMatchingCard(Card.IsFaceup,tp,LOCATION_DAMAGE,0,1,nil) and Duel.SelectEffectYesNo(tp,vgf.stringid(VgID,10)) then if Duel.GetFlagEffectLabel(tp,FLAG_CONDITION)==10102001 and vgf.IsExistingMatchingCard(Card.IsFaceup,tp,LOCATION_DAMAGE,0,1,nil) and Duel.SelectEffectYesNo(tp,vgf.stringid(VgID,10)) then
local g=vgf.SelectMatchingCard(HINTMSG_DAMAGE,e,tp,Card.IsFaceup,tp,LOCATION_DAMAGE,0,1,1,nil) local g=vgf.SelectMatchingCard(HINTMSG_DAMAGE,e,tp,Card.IsFaceup,tp,LOCATION_DAMAGE,0,1,1,nil)
Duel.ChangePosition(g,POS_FACEDOWN_ATTACK) Duel.ChangePosition(g,POS_FACEDOWN_ATTACK)
vgf.AtkUp(c,c,15000) vgf.AtkUp(c,c,15000)
......
...@@ -6,7 +6,7 @@ function cm.initial_effect(c) ...@@ -6,7 +6,7 @@ function cm.initial_effect(c)
end end
function cm.op(e,tp,eg,ep,ev,re,r,rp) function cm.op(e,tp,eg,ep,ev,re,r,rp)
local num=1 local num=1
if Duel.GetFlagEffectLabel(tp,ConditionFlag)==10102001 then num=num+1 end if Duel.GetFlagEffectLabel(tp,FLAG_CONDITION)==10102001 then num=num+1 end
vgf.OverlayFill(num)(e,tp,eg,ep,ev,re,r,rp) vgf.OverlayFill(num)(e,tp,eg,ep,ev,re,r,rp)
end end
function cm.con1(e,tp,eg,ep,ev,re,r,rp) function cm.con1(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -13,7 +13,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -13,7 +13,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
if g then if g then
Duel.Hintselectgion(g) Duel.Hintselectgion(g)
for tc in vgf.Next(g) do for tc in vgf.Next(g) do
tc:RegisterFlagEffect(AttackAtRearFlag,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,vgf.Stringid(VgID,10)) tc:RegisterFlagEffect(FLAG_ATTACK_AT_REAR,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,vgf.Stringid(VgID,10))
end end
vgf.AtkUp(c,g,5000,nil) vgf.AtkUp(c,g,5000,nil)
end end
......
...@@ -10,7 +10,7 @@ function cm.con(e,c) ...@@ -10,7 +10,7 @@ function cm.con(e,c)
return Duel.GetTurnPlayer()==tp and vgf.VMonsterCondition(e) and vgf.IsExistingMatchingCard(cm.filter,tp,LOCATION_ORDER,0,1,nil) return Duel.GetTurnPlayer()==tp and vgf.VMonsterCondition(e) and vgf.IsExistingMatchingCard(cm.filter,tp,LOCATION_ORDER,0,1,nil)
end end
function cm.filter(c) function cm.filter(c)
return c:GetFlagEffect(ImprisonFlag)>0 return c:GetFlagEffect(FLAG_IMPRISON)>0
end end
function cm.op1(e,tp,eg,ep,ev,re,r,rp) function cm.op1(e,tp,eg,ep,ev,re,r,rp)
if not vgf.CheckPrison(tp) then return end if not vgf.CheckPrison(tp) then return end
......
...@@ -20,5 +20,5 @@ function cm.con(e) ...@@ -20,5 +20,5 @@ function cm.con(e)
return vgf.RMonsterFilter(c) and vgf.IsExistingMatchingCard(cm.filter,tp,LOCATION_ORDER,0,1,nil) return vgf.RMonsterFilter(c) and vgf.IsExistingMatchingCard(cm.filter,tp,LOCATION_ORDER,0,1,nil)
end end
function cm.filter(c) function cm.filter(c)
return c:GetFlagEffect(ImprisonFlag)>0 return c:GetFlagEffect(FLAG_IMPRISON)>0
end end
\ No newline at end of file
...@@ -16,7 +16,7 @@ function cm.condition1(e,tp,eg,ep,ev,re,r,rp) ...@@ -16,7 +16,7 @@ function cm.condition1(e,tp,eg,ep,ev,re,r,rp)
return not cm.condition(e,tp,eg,ep,ev,re,r,rp) and vgf.IsExistingMatchingCard(cm.filter1,tp,LOCATION_ORDER,0,1,nil) return not cm.condition(e,tp,eg,ep,ev,re,r,rp) and vgf.IsExistingMatchingCard(cm.filter1,tp,LOCATION_ORDER,0,1,nil)
end end
function cm.filter1(c) function cm.filter1(c)
return c:GetFlagEffect(ImprisonFlag)>0 return c:GetFlagEffect(FLAG_IMPRISON)>0
end end
function cm.operation1(e,tp,eg,ep,ev,re,r,rp) function cm.operation1(e,tp,eg,ep,ev,re,r,rp)
Duel.Draw(tp,1,REASON_EFFECT) Duel.Draw(tp,1,REASON_EFFECT)
......
...@@ -9,5 +9,5 @@ function cm.con(e,c) ...@@ -9,5 +9,5 @@ function cm.con(e,c)
return vgf.IsExistingMatchingCard(cm.filter,tp,LOCATION_ORDER,0,1,nil) return vgf.IsExistingMatchingCard(cm.filter,tp,LOCATION_ORDER,0,1,nil)
end end
function cm.filter(c) function cm.filter(c)
return c:GetFlagEffect(ImprisonFlag)>0 return c:GetFlagEffect(FLAG_IMPRISON)>0
end end
\ No newline at end of file
...@@ -54,5 +54,5 @@ function cm.op1(e,tp,eg,ep,ev,re,r,rp) ...@@ -54,5 +54,5 @@ function cm.op1(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function cm.filter1(c,e,tp) function cm.filter1(c,e,tp)
return c:GetFlagEffect(ImprisonFlag)>0 return c:GetFlagEffect(FLAG_IMPRISON)>0
end end
\ No newline at end of file
...@@ -19,5 +19,5 @@ function cm.operation1(e,tp,eg,ep,ev,re,r,rp) ...@@ -19,5 +19,5 @@ function cm.operation1(e,tp,eg,ep,ev,re,r,rp)
vgf.EffectReset(c,e1,EVENT_BATTLED) vgf.EffectReset(c,e1,EVENT_BATTLED)
end end
function cm.cfilter(c,mc) function cm.cfilter(c,mc)
return vgf.GetColumnGroup(c):IsContains(mc) and c:IsControler(mc:GetControler()) and c:GetFlagEffect(SupportFlag)>0 return vgf.GetColumnGroup(c):IsContains(mc) and c:IsControler(mc:GetControler()) and c:GetFlagEffect(FLAG_SUPPORT)>0
end end
\ No newline at end of file
...@@ -16,5 +16,5 @@ function cm.con(e,tp,eg,ep,ev,re,r,rp) ...@@ -16,5 +16,5 @@ function cm.con(e,tp,eg,ep,ev,re,r,rp)
return vgf.IsExistingMatchingCard(cm.cfilter,tp,LOCATION_MZONE,0,1,nil,e:GetHandler()) and Duel.GetAttacker()==e:GetHandler() and vgf.RMonsterCondition(e) return vgf.IsExistingMatchingCard(cm.cfilter,tp,LOCATION_MZONE,0,1,nil,e:GetHandler()) and Duel.GetAttacker()==e:GetHandler() and vgf.RMonsterCondition(e)
end end
function cm.cfilter(c,mc) function cm.cfilter(c,mc)
return vgf.GetColumnGroup(c):IsContains(mc) and c:IsControler(mc:GetControler()) and c:GetFlagEffect(SupportFlag)>0 return vgf.GetColumnGroup(c):IsContains(mc) and c:IsControler(mc:GetControler()) and c:GetFlagEffect(FLAG_SUPPORT)>0
end end
\ No newline at end of file
...@@ -6,11 +6,11 @@ function cm.initial_effect(c) ...@@ -6,11 +6,11 @@ function cm.initial_effect(c)
vgd.EffectTypeTriggerWhenHitting(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,cm.op,cm.cost,cm.con) vgd.EffectTypeTriggerWhenHitting(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,cm.op,cm.cost,cm.con)
end end
function cm.filter(c) function cm.filter(c)
return c:IsCode(10101009) or (c:IsLevelBelow(4) and c:GetFlagEffectLabel(ConditionFlag)==201) return c:IsCode(10101009) or (c:IsLevelBelow(4) and c:GetFlagEffectLabel(FLAG_CONDITION)==201)
end end
function cm.con(e) function cm.con(e)
local c=e:GetHandler() local c=e:GetHandler()
return c:GetFlagEffectLabel(ConditionFlag)==201 and vgf.RMonsterCondition(e) return c:GetFlagEffectLabel(FLAG_CONDITION)==201 and vgf.RMonsterCondition(e)
end end
function cm.val(e) function cm.val(e)
local c=e:GetHandler() local c=e:GetHandler()
......
...@@ -14,7 +14,7 @@ function cm.checkop(e,tp,eg,ep,ev,re,r,rp) ...@@ -14,7 +14,7 @@ function cm.checkop(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1) Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
end end
function cm.con(e,tp,eg,ep,ev,re,r,rp) function cm.con(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFlagEffectLabel(tp,ConditionFlag)==10102001 return Duel.GetFlagEffectLabel(tp,FLAG_CONDITION)==10102001
end end
function cm.con1(e,tp,eg,ep,ev,re,r,rp) function cm.con1(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFlagEffect(tp,m)>0 and cm.con(e,tp,eg,ep,ev,re,r,rp) return Duel.GetFlagEffect(tp,m)>0 and cm.con(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -8,7 +8,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp) ...@@ -8,7 +8,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end end
function cm.con(e,tp,eg,ep,ev,re,r,rp) function cm.con(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
return c:GetFlagEffect(SupportFlag)>0 and vgf.RMonsterCondition(e) return c:GetFlagEffect(FLAG_SUPPORT)>0 and vgf.RMonsterCondition(e)
end end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
......
...@@ -20,7 +20,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp) ...@@ -20,7 +20,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
vgf.EffectReset(c,e1,EVENT_BATTLED) vgf.EffectReset(c,e1,EVENT_BATTLED)
elseif vgf.VMonsterFilter(tc) then elseif vgf.VMonsterFilter(tc) then
tc:RegisterFlagEffect(DefenseEntirelyFlag,RESET_EVENT+RESETS_STANDARD,0,1) tc:RegisterFlagEffect(FLAG_DEFENSE_ENTIRELY,RESET_EVENT+RESETS_STANDARD,0,1)
end end
end end
local sg=Duel.GetFieldGroup(tp,LOCATION_HAND,0) local sg=Duel.GetFieldGroup(tp,LOCATION_HAND,0)
......
...@@ -19,7 +19,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp) ...@@ -19,7 +19,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
vgf.EffectReset(c,e1,EVENT_BATTLED) vgf.EffectReset(c,e1,EVENT_BATTLED)
elseif vgf.VMonsterFilter(tc) then elseif vgf.VMonsterFilter(tc) then
tc:RegisterFlagEffect(DefenseEntirelyFlag,RESET_EVENT+RESETS_STANDARD,0,1) tc:RegisterFlagEffect(FLAG_DEFENSE_ENTIRELY,RESET_EVENT+RESETS_STANDARD,0,1)
end end
end end
local sg=Duel.GetFieldGroup(tp,LOCATION_HAND,0) local sg=Duel.GetFieldGroup(tp,LOCATION_HAND,0)
......
...@@ -20,7 +20,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp) ...@@ -20,7 +20,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
vgf.EffectReset(c,e1,EVENT_BATTLED) vgf.EffectReset(c,e1,EVENT_BATTLED)
elseif vgf.VMonsterFilter(tc) then elseif vgf.VMonsterFilter(tc) then
tc:RegisterFlagEffect(DefenseEntirelyFlag,RESET_EVENT+RESETS_STANDARD,0,1) tc:RegisterFlagEffect(FLAG_DEFENSE_ENTIRELY,RESET_EVENT+RESETS_STANDARD,0,1)
end end
end end
local sg=Duel.GetFieldGroup(tp,LOCATION_HAND,0) local sg=Duel.GetFieldGroup(tp,LOCATION_HAND,0)
......
...@@ -20,7 +20,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp) ...@@ -20,7 +20,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
vgf.EffectReset(c,e1,EVENT_BATTLED) vgf.EffectReset(c,e1,EVENT_BATTLED)
elseif vgf.VMonsterFilter(tc) then elseif vgf.VMonsterFilter(tc) then
tc:RegisterFlagEffect(DefenseEntirelyFlag,RESET_EVENT+RESETS_STANDARD,0,1) tc:RegisterFlagEffect(FLAG_DEFENSE_ENTIRELY,RESET_EVENT+RESETS_STANDARD,0,1)
end end
end end
local sg=Duel.GetFieldGroup(tp,LOCATION_HAND,0) local sg=Duel.GetFieldGroup(tp,LOCATION_HAND,0)
......
...@@ -20,7 +20,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp) ...@@ -20,7 +20,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
vgf.EffectReset(c,e1,EVENT_BATTLED) vgf.EffectReset(c,e1,EVENT_BATTLED)
elseif vgf.VMonsterFilter(tc) then elseif vgf.VMonsterFilter(tc) then
tc:RegisterFlagEffect(DefenseEntirelyFlag,RESET_EVENT+RESETS_STANDARD,0,1) tc:RegisterFlagEffect(FLAG_DEFENSE_ENTIRELY,RESET_EVENT+RESETS_STANDARD,0,1)
end end
end end
local sg=Duel.GetFieldGroup(tp,LOCATION_HAND,0) local sg=Duel.GetFieldGroup(tp,LOCATION_HAND,0)
......
...@@ -13,5 +13,5 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp) ...@@ -13,5 +13,5 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT) vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT)
end end
function cm.filter(c) function cm.filter(c)
return c:GetFlagEffectLabel(ConditionFlag)==201 return c:GetFlagEffectLabel(FLAG_CONDITION)==201
end end
\ No newline at end of file
local cm,m,o=GetID() local cm,m,o=GetID()
function cm.initial_effect(c) function cm.initial_effect(c)
vgf.VgCard(c) vgf.VgCard(c)
vgd.EffectTypeTrigger(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,nil,cm.con)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return not (c:IsSummonType(SUMMON_TYPE_RIDE) or c:IsSummonType(SUMMON_TYPE_SELFRIDE))
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local ct=Duel.GetFlagEffectLabel(tp,FLAG_SPELL_COUNT_LIMIT)
if vgf.GetValueType(ct)~="number" then Duel.RegisterFlagEffect(tp,FLAG_SPELL_COUNT_LIMIT,RESET_PHASE+PHASE_END,0,1,2)
else Duel.RegisterFlagEffect(tp,FLAG_SPELL_COUNT_LIMIT,RESET_PHASE+PHASE_END,0,1,ct+1) end
end end
\ No newline at end of file
local cm,m,o=GetID() local cm,m,o=GetID()
function cm.initial_effect(c) function cm.initial_effect(c)
vgf.VgCard(c) vgf.VgCard(c)
vgd.EffectTypeTrigger(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op) vgd.EffectTypeTrigger(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,nil,cm.con)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return not c:IsPreviousLocation(LOCATION_HAND) and not (c:IsSummonType(SUMMON_TYPE_RIDE) or c:IsSummonType(SUMMON_TYPE_SELFRIDE))
end end
--对手要从手牌将卡CALL到G上之际,不将2张以上同时CALL的话则不能CALL出场。 --对手要从手牌将卡CALL到G上之际,不将2张以上同时CALL的话则不能CALL出场。
function cm.op(e,tp,eg,ep,ev,re,r,rp) function cm.op(e,tp,eg,ep,ev,re,r,rp)
...@@ -20,7 +24,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp) ...@@ -20,7 +24,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end end
function cm.costtg(e,re,tp) function cm.costtg(e,re,tp)
e:SetLabelObject(re:GetHandler()) e:SetLabelObject(re:GetHandler())
return re:IsHasCategory(CATEGORY_DEFENDER) and re:GetHandler():IsLocation(LOCATION_HAND) and re:GetHandlerPlayer()==tp and not vgf.IsExistingMatchingCard(nil,tp,LOCATION_GZONE,0,1,nil) return re:IsHasCategory(CATEGORY_DEFENDER) and re:GetHandler():IsLocation(LOCATION_HAND) and re:GetHandlerPlayer()==tp and not vgf.IsExistingMatchingCard(nil,tp,LOCATION_GZONE,0,1,nil) and Duel.GetAttacker()==e:GetHandler()
end end
function cm.costchk(e,re,tp) function cm.costchk(e,re,tp)
return vgf.IsExistingMatchingCard(vgf.IsAbleToGZone,tp,LOCATION_HAND,0,1,re:GetHandler(),LOCATION_HAND) return vgf.IsExistingMatchingCard(vgf.IsAbleToGZone,tp,LOCATION_HAND,0,1,re:GetHandler(),LOCATION_HAND)
......
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