Commit 91418192 authored by xiaoye's avatar xiaoye

fix

parent ebc93bab
...@@ -353,7 +353,7 @@ function cm.initial_effect(c) ...@@ -353,7 +353,7 @@ function cm.initial_effect(c)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetCode(EFFECT_ADD_SKILL) e2:SetCode(EFFECT_ADD_SKILL)
e2:SetRange(LOCATION_CIRCLE) e2:SetRange(LOCATION_CIRCLE)
e2:SetValue(SKILL_SUPPORT) e2:SetValue(SKILL_BOOST)
e2:SetCondition(cm.condition) e2:SetCondition(cm.condition)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
......
...@@ -10,7 +10,7 @@ function cm.initial_effect(c) ...@@ -10,7 +10,7 @@ function cm.initial_effect(c)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetCode(EFFECT_ADD_SKILL) e2:SetCode(EFFECT_ADD_SKILL)
e2:SetRange(LOCATION_CIRCLE) e2:SetRange(LOCATION_CIRCLE)
e2:SetValue(SKILL_SUPPORT) e2:SetValue(SKILL_BOOST)
e2:SetCondition(cm.condition) e2:SetCondition(cm.condition)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
......
...@@ -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)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetCode(EFFECT_ADD_SKILL) e2:SetCode(EFFECT_ADD_SKILL)
e2:SetRange(LOCATION_CIRCLE) e2:SetRange(LOCATION_CIRCLE)
e2:SetValue(SKILL_SUPPORT) e2:SetValue(SKILL_BOOST)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END) e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
......
...@@ -25,5 +25,5 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp) ...@@ -25,5 +25,5 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
Duel.RaiseEvent(g,EVENT_CUSTOM+EVENT_SUPPORT,e,0,tp,tp,0) Duel.RaiseEvent(g,EVENT_CUSTOM+EVENT_SUPPORT,e,0,tp,tp,0)
end end
function cm.filter(c) function cm.filter(c)
return c:IsPosition(POS_FACEUP_ATTACK) and c:IsAttribute(SKILL_SUPPORT) and vgf.RMonsterFilter(c) return c:IsPosition(POS_FACEUP_ATTACK) and c:IsSkill(SKILL_BOOST) and vgf.RMonsterFilter(c)
end end
\ No newline at end of file
...@@ -5,10 +5,10 @@ function cm.initial_effect(c) ...@@ -5,10 +5,10 @@ function cm.initial_effect(c)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op,vgf.CounterBlast(2),cm.con1) vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op,vgf.CounterBlast(2),cm.con1)
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.IsPlayerAffectedByEffect(tp,AFFECT_CODE_NIGHT) or Duel.IsPlayerAffectedByEffect(tp,AFFECT_CODE_DEEP_NIGHT) return Duel.IsPlayerAffectedByEffect(tp,AFFECT_CODE_DARK_NIGHT) or Duel.IsPlayerAffectedByEffect(tp,AFFECT_CODE_ABYSSAL_DARK_NIGHT)
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.IsPlayerAffectedByEffect(tp,AFFECT_CODE_DEEP_NIGHT) return Duel.IsPlayerAffectedByEffect(tp,AFFECT_CODE_ABYSSAL_DARK_NIGHT)
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 g=Group.CreateGroup() local g=Group.CreateGroup()
......
...@@ -9,7 +9,7 @@ function cm.con(e,tp,eg,ep,ev,re,r,rp) ...@@ -9,7 +9,7 @@ function cm.con(e,tp,eg,ep,ev,re,r,rp)
return vgf.VMonsterCondition(e) and eg:IsExists(cm.filter,1,nil,tp) and Duel.GetTurnPlayer()==tp and Duel.GetAttackTarget() return vgf.VMonsterCondition(e) and eg:IsExists(cm.filter,1,nil,tp) and Duel.GetTurnPlayer()==tp and Duel.GetAttackTarget()
end end
function cm.filter(c,tp) function cm.filter(c,tp)
return c:IsRace(TRIGGER_CARDS) and c:IsLocation(LOCATION_TRIGGER) and c:IsControler(tp) return c:IsTrigger(TRIGGER_CARDS) and c:IsLocation(LOCATION_TRIGGER) and c:IsControler(tp)
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()
...@@ -31,7 +31,7 @@ function cm.cost1(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -31,7 +31,7 @@ function cm.cost1(e,tp,eg,ep,ev,re,r,rp,chk)
end end
function cm.op1(e,tp,eg,ep,ev,re,r,rp) function cm.op1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local g=vgf.SelectMatchingCard(HINTMSG_TODECK,e,tp,Card.IsRace,tp,LOCATION_HAND,0,0,1,nil,TRIGGER_ADVANCE+TRIGGER_CRITICAL_STRIKE) local g=vgf.SelectMatchingCard(HINTMSG_TODECK,e,tp,Card.IsTrigger,tp,LOCATION_HAND,0,0,1,nil,TRIGGER_ADVANCE+TRIGGER_CRITICAL_STRIKE)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
vgf.Sendto(LOCATION_DECK,g,tp,SEQ_DECKTOP,REASON_EFFECT) vgf.Sendto(LOCATION_DECK,g,tp,SEQ_DECKTOP,REASON_EFFECT)
......
...@@ -16,5 +16,5 @@ function cm.filter(c,tp) ...@@ -16,5 +16,5 @@ function cm.filter(c,tp)
return c:IsSetCard(0x5040) and c:IsLocation(LOCATION_ORDER) and c:IsControler(tp) return c:IsSetCard(0x5040) and c:IsLocation(LOCATION_ORDER) and c:IsControler(tp)
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 vgf.RMonsterCondition(e) and Duel.IsPlayerAffectedByEffect(tp,AFFECT_CODE_DEEP_NIGHT) and Duel.GetTurnPlayer()==tp return vgf.RMonsterCondition(e) and Duel.IsPlayerAffectedByEffect(tp,AFFECT_CODE_ABYSSAL_DARK_NIGHT) and Duel.GetTurnPlayer()==tp
end end
\ No newline at end of file
...@@ -5,7 +5,7 @@ function cm.initial_effect(c) ...@@ -5,7 +5,7 @@ function cm.initial_effect(c)
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 Duel.IsPlayerAffectedByEffect(tp,AFFECT_CODE_DEEP_NIGHT) and vgf.RSummonCondition(e) return Duel.IsPlayerAffectedByEffect(tp,AFFECT_CODE_ABYSSAL_DARK_NIGHT) and vgf.RSummonCondition(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)
if chk==0 then return vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) end if chk==0 then return vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) end
......
...@@ -3,7 +3,7 @@ function cm.initial_effect(c) ...@@ -3,7 +3,7 @@ function cm.initial_effect(c)
vgd.VgCard(c) vgd.VgCard(c)
vgd.SetOrder(c,vgf.SoulBlast(1)) vgd.SetOrder(c,vgf.SoulBlast(1))
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_MOVE,cm.operation,nil,cm.condition) vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_MOVE,cm.operation,nil,cm.condition)
vgd.NightEffect(c,m)--黑夜 vgd.DarkNight(c,m)--黑夜
end end
function cm.operation(e,tp,eg,ep,ev,re,r,rp) function cm.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.Draw(tp,1,REASON_EFFECT) Duel.Draw(tp,1,REASON_EFFECT)
......
...@@ -12,7 +12,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp) ...@@ -12,7 +12,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetCode(EFFECT_ADD_SKILL) e1:SetCode(EFFECT_ADD_SKILL)
e1:SetRange(LOCATION_CIRCLE) e1:SetRange(LOCATION_CIRCLE)
e1:SetValue(SKILL_SUPPORT) e1:SetValue(SKILL_BOOST)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END) e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
end end
......
...@@ -7,5 +7,5 @@ function cm.con(e,tp,eg,ep,ev,re,r,rp) ...@@ -7,5 +7,5 @@ function cm.con(e,tp,eg,ep,ev,re,r,rp)
return vgf.RMonsterCondition(e) and eg:IsExists(cm.filter,1,nil,tp) and Duel.GetTurnPlayer()==tp and Duel.GetAttackTarget() return vgf.RMonsterCondition(e) and eg:IsExists(cm.filter,1,nil,tp) and Duel.GetTurnPlayer()==tp and Duel.GetAttackTarget()
end end
function cm.filter(c,tp) function cm.filter(c,tp)
return c:IsRace(TRIGGER_CARDS) and c:IsLocation(LOCATION_TRIGGER) and c:IsControler(tp) return c:IsTrigger(TRIGGER_CARDS) and c:IsLocation(LOCATION_TRIGGER) and c:IsControler(tp)
end end
\ No newline at end of file
...@@ -10,7 +10,7 @@ end ...@@ -10,7 +10,7 @@ end
function cm.con(e) function cm.con(e)
local tp=e:GetHandlerPlayer() local tp=e:GetHandlerPlayer()
local c=e:GetHandler() local c=e:GetHandler()
return (Duel.IsPlayerAffectedByEffect(tp,AFFECT_CODE_NIGHT) or Duel.IsPlayerAffectedByEffect(tp,AFFECT_CODE_DEEP_NIGHT)) return (Duel.IsPlayerAffectedByEffect(tp,AFFECT_CODE_DARK_NIGHT) or Duel.IsPlayerAffectedByEffect(tp,AFFECT_CODE_ABYSSAL_DARK_NIGHT))
and (Duel.GetAttacker()==e:GetHandler() or c:GetFlagEffect(FLAG_SUPPORT)>0) and (Duel.GetAttacker()==e:GetHandler() or c:GetFlagEffect(FLAG_SUPPORT)>0)
and vgf.RMonsterCondition(e) and vgf.RMonsterCondition(e)
end end
\ No newline at end of file
...@@ -6,8 +6,8 @@ end ...@@ -6,8 +6,8 @@ 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()
local val=0 local val=0
if Duel.IsPlayerAffectedByEffect(tp,AFFECT_CODE_NIGHT) then val=5000 if Duel.IsPlayerAffectedByEffect(tp,AFFECT_CODE_DARK_NIGHT) then val=5000
elseif Duel.IsPlayerAffectedByEffect(tp,AFFECT_CODE_DEEP_NIGHT) then val=10000 elseif Duel.IsPlayerAffectedByEffect(tp,AFFECT_CODE_ABYSSAL_DARK_NIGHT) then val=10000
end end
vgf.DefUp(c,c,val) vgf.DefUp(c,c,val)
end end
\ No newline at end of file
...@@ -4,7 +4,7 @@ function cm.initial_effect(c) ...@@ -4,7 +4,7 @@ function cm.initial_effect(c)
vgd.VgCard(c) vgd.VgCard(c)
vgd.SetOrder(c,vgf.SoulBlast(1)) vgd.SetOrder(c,vgf.SoulBlast(1))
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_MOVE,cm.operation,nil,cm.condition) vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_MOVE,cm.operation,nil,cm.condition)
vgd.NightEffect(c,m) vgd.DarkNight(c,m)
end end
function cm.operation(e,tp,eg,ep,ev,re,r,rp) function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local g=vgf.SelectMatchingCard(HINTMSG_OPPO,e,tp,cm.filter,tp,0,LOCATION_CIRCLE,1,1,nil) local g=vgf.SelectMatchingCard(HINTMSG_OPPO,e,tp,cm.filter,tp,0,LOCATION_CIRCLE,1,1,nil)
......
...@@ -7,7 +7,7 @@ function cm.con(e,tp,eg,ep,ev,re,r,rp) ...@@ -7,7 +7,7 @@ function cm.con(e,tp,eg,ep,ev,re,r,rp)
return vgf.RMonsterCondition(e) and eg:IsExists(cm.filter,1,nil,tp) and Duel.GetTurnPlayer()==tp and Duel.GetAttackTarget() return vgf.RMonsterCondition(e) and eg:IsExists(cm.filter,1,nil,tp) and Duel.GetTurnPlayer()==tp and Duel.GetAttackTarget()
end end
function cm.filter(c,tp) function cm.filter(c,tp)
return c:IsRace(TRIGGER_CARDS) and c:IsLocation(LOCATION_TRIGGER) and c:IsControler(tp) return c:IsTrigger(TRIGGER_CARDS) and c:IsLocation(LOCATION_TRIGGER) and c:IsControler(tp)
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()
......
...@@ -7,7 +7,7 @@ function cm.con(e,tp,eg,ep,ev,re,r,rp) ...@@ -7,7 +7,7 @@ function cm.con(e,tp,eg,ep,ev,re,r,rp)
return vgf.RMonsterCondition(e) and eg:IsExists(cm.filter,1,nil,tp) and Duel.GetTurnPlayer()==tp and Duel.GetAttackTarget() return vgf.RMonsterCondition(e) and eg:IsExists(cm.filter,1,nil,tp) and Duel.GetTurnPlayer()==tp and Duel.GetAttackTarget()
end end
function cm.filter(c,tp) function cm.filter(c,tp)
return c:IsRace(TRIGGER_CARDS) and c:IsLocation(LOCATION_TRIGGER) and c:IsControler(tp) return c:IsTrigger(TRIGGER_CARDS) and c:IsLocation(LOCATION_TRIGGER) and c:IsControler(tp)
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()
......
...@@ -11,7 +11,7 @@ function cm.con(e,tp,eg,ep,ev,re,r,rp) ...@@ -11,7 +11,7 @@ function cm.con(e,tp,eg,ep,ev,re,r,rp)
return vgf.RMonsterCondition(e) and eg:IsExists(cm.filter,1,nil,tp) and Duel.GetTurnPlayer()==tp and Duel.GetAttackTarget() return vgf.RMonsterCondition(e) and eg:IsExists(cm.filter,1,nil,tp) and Duel.GetTurnPlayer()==tp and Duel.GetAttackTarget()
end end
function cm.filter(c,tp) function cm.filter(c,tp)
return c:IsRace(TRIGGER_CARDS) and c:IsLocation(LOCATION_TRIGGER) and c:IsControler(tp) return c:IsTrigger(TRIGGER_CARDS) and c:IsLocation(LOCATION_TRIGGER) and c:IsControler(tp)
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 g=vgf.SelectMatchingCard(HINTMSG_TODECK,e,tp,cm.filter2,tp,0,LOCATION_CIRCLE,1,1,nil) local g=vgf.SelectMatchingCard(HINTMSG_TODECK,e,tp,cm.filter2,tp,0,LOCATION_CIRCLE,1,1,nil)
......
...@@ -7,8 +7,8 @@ end ...@@ -7,8 +7,8 @@ end
function cm.val(e) function cm.val(e)
local tp=e:GetHandlerPlayer() local tp=e:GetHandlerPlayer()
local val=0 local val=0
if Duel.IsPlayerAffectedByEffect(tp,AFFECT_CODE_NIGHT) then val=2000 if Duel.IsPlayerAffectedByEffect(tp,AFFECT_CODE_DARK_NIGHT) then val=2000
elseif Duel.IsPlayerAffectedByEffect(tp,AFFECT_CODE_DEEP_NIGHT) then val=5000 elseif Duel.IsPlayerAffectedByEffect(tp,AFFECT_CODE_ABYSSAL_DARK_NIGHT) then val=5000
end end
return val return val
end end
......
...@@ -9,7 +9,7 @@ function cm.initial_effect(c) ...@@ -9,7 +9,7 @@ function cm.initial_effect(c)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetCode(EFFECT_ADD_SKILL) e1:SetCode(EFFECT_ADD_SKILL)
e1:SetRange(LOCATION_CIRCLE) e1:SetRange(LOCATION_CIRCLE)
e1:SetValue(SKILL_SUPPORT) e1:SetValue(SKILL_BOOST)
e1:SetCondition(cm.condition) e1:SetCondition(cm.condition)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
......
...@@ -12,13 +12,13 @@ end ...@@ -12,13 +12,13 @@ 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()
local tc=vgf.SelectMatchingCard(HINTMSG_VMONSTER,e,tp,vgf.VMonsterFilter,tp,LOCATION_CIRCLE,0,1,1,nil):GetFirst() local tc=vgf.SelectMatchingCard(HINTMSG_VMONSTER,e,tp,vgf.VMonsterFilter,tp,LOCATION_CIRCLE,0,1,1,nil):GetFirst()
if tc:IsAttribute(SKILL_TWICE_TRIGGER) then if tc:IsSkill(SKILL_TWINDRIVE) then
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetCode(EFFECT_REMOVE_SKILL) e1:SetCode(EFFECT_REMOVE_SKILL)
e1:SetRange(LOCATION_CIRCLE) e1:SetRange(LOCATION_CIRCLE)
e1:SetValue(SKILL_TWICE_TRIGGER) e1:SetValue(SKILL_TWINDRIVE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END) e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
end end
...@@ -27,7 +27,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp) ...@@ -27,7 +27,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetCode(EFFECT_ADD_SKILL) e1:SetCode(EFFECT_ADD_SKILL)
e1:SetRange(LOCATION_CIRCLE) e1:SetRange(LOCATION_CIRCLE)
e1:SetValue(SKILL_THRICE_TRIGGER) e1:SetValue(SKILL_TRIPLEDRIVE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END) e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
end end
\ No newline at end of file
...@@ -5,7 +5,7 @@ function cm.initial_effect(c) ...@@ -5,7 +5,7 @@ function cm.initial_effect(c)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_CUSTOM+EVENT_SUPPORT,vgf.CounterCharge(1),vgf.LeaveFieldCost(10000001),cm.con2) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_CUSTOM+EVENT_SUPPORT,vgf.CounterCharge(1),vgf.LeaveFieldCost(10000001),cm.con2)
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.IsPlayerAffectedByEffect(tp,AFFECT_CODE_DEEP_NIGHT) return Duel.IsPlayerAffectedByEffect(tp,AFFECT_CODE_ABYSSAL_DARK_NIGHT)
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 cm.con1(e,tp,eg,ep,ev,re,r,rp) and eg:GetFirst()==e:GetHandler() return cm.con1(e,tp,eg,ep,ev,re,r,rp) and eg:GetFirst()==e:GetHandler()
......
...@@ -29,12 +29,12 @@ end ...@@ -29,12 +29,12 @@ end
function cm.con2(e,tp,eg,ep,ev,re,r,rp) function cm.con2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
return vgf.VMonsterCondition(e) and vgf.WhiteWing(e) return vgf.VMonsterCondition(e) and vgf.WhiteWings(e)
end end
function cm.op2(e,tp,eg,ep,ev,re,r,rp) function cm.op2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
vgf.StarUp(c,c,1) vgf.StarUp(c,c,1)
end end
function cm.con3(e) function cm.con3(e)
return vgf.VMonsterCondition(e) and vgf.DarkWing(e) return vgf.VMonsterCondition(e) and vgf.BlackWings(e)
end end
\ No newline at end of file
...@@ -9,7 +9,7 @@ end ...@@ -9,7 +9,7 @@ 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(FLAG_SUPPORTED)>0 and c:IsRelateToEffect(e) and Duel.GetAttacker() == c and vgf.DarkWing(e) return c:GetFlagEffect(FLAG_SUPPORTED)>0 and c:IsRelateToEffect(e) and Duel.GetAttacker() == c and vgf.BlackWings(e)
end end
function cm.op(e,tp,eg,ep,ev,re,r,rp) function cm.op(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -2,8 +2,8 @@ local cm,m,o=GetID() ...@@ -2,8 +2,8 @@ local cm,m,o=GetID()
function cm.initial_effect(c) function cm.initial_effect(c)
vgd.VgCard(c) vgd.VgCard(c)
vgd.AbilityAct(c,m,LOCATION_R_CIRCLE,cm.op,vgf.CostAnd(vgf.CounterBlast(1), vgf.ToSoul)) vgd.AbilityAct(c,m,LOCATION_R_CIRCLE,cm.op,vgf.CostAnd(vgf.CounterBlast(1), vgf.ToSoul))
vgd.CannotBeTarget(c, m, LOCATION_V_CIRCLE, EFFECT_TYPE_SINGLE, nil, vgf.DarkWing) vgd.CannotBeTarget(c, m, LOCATION_V_CIRCLE, EFFECT_TYPE_SINGLE, nil, vgf.BlackWings)
vgd.CannotBeAttackTarget(c, m, LOCATION_V_CIRCLE, EFFECT_TYPE_SINGLE, cm.val, vgf.DarkWing) vgd.CannotBeAttackTarget(c, m, LOCATION_V_CIRCLE, EFFECT_TYPE_SINGLE, cm.val, vgf.BlackWings)
end end
function cm.val(e,c) function cm.val(e,c)
return vgf.RMonsterFilter(c) return vgf.RMonsterFilter(c)
......
...@@ -12,5 +12,5 @@ function cm.filter(c) ...@@ -12,5 +12,5 @@ function cm.filter(c)
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 vgf.RSummonCondition(e) and vgf.WhiteWing(e) return vgf.RSummonCondition(e) and vgf.WhiteWings(e)
end end
\ No newline at end of file
...@@ -22,5 +22,5 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp) ...@@ -22,5 +22,5 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end end
function cm.filter(c,e,tp) function cm.filter(c,e,tp)
return not c:IsRace(TRIGGER_NONE) and vgf.IsCanBeCalled(c,e,tp) return not c:IsTrigger(TRIGGER_NONE) and vgf.IsCanBeCalled(c,e,tp)
end end
...@@ -4,7 +4,7 @@ function cm.initial_effect(c) ...@@ -4,7 +4,7 @@ function cm.initial_effect(c)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation,vgf.SoulBlast(1),cm.con) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation,vgf.SoulBlast(1),cm.con)
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 vgf.RMonsterCondition(e) and vgf.DarkWing(e) return vgf.RMonsterCondition(e) and vgf.BlackWings(e)
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()
......
...@@ -14,12 +14,12 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp) ...@@ -14,12 +14,12 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetCode(EFFECT_ADD_SKILL) e2:SetCode(EFFECT_ADD_SKILL)
e2:SetRange(LOCATION_CIRCLE) e2:SetRange(LOCATION_CIRCLE)
e2:SetValue(SKILL_SUPPORT) e2:SetValue(SKILL_BOOST)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END) e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
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 vgf.DarkWing(e) and vgf.RSummonCondition(e) return vgf.BlackWings(e) and vgf.RSummonCondition(e)
end end
\ No newline at end of file
...@@ -10,7 +10,7 @@ function cm.initial_effect(c) ...@@ -10,7 +10,7 @@ function cm.initial_effect(c)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetCode(EFFECT_ADD_SKILL) e2:SetCode(EFFECT_ADD_SKILL)
e2:SetRange(LOCATION_CIRCLE) e2:SetRange(LOCATION_CIRCLE)
e2:SetValue(SKILL_SUPPORT) e2:SetValue(SKILL_BOOST)
e2:SetCondition(cm.con) e2:SetCondition(cm.con)
c:RegisterEffect(e2) c:RegisterEffect(e2)
-- -2000 -- -2000
......
...@@ -4,7 +4,7 @@ function cm.initial_effect(c) ...@@ -4,7 +4,7 @@ function cm.initial_effect(c)
vgd.VgCard(c) vgd.VgCard(c)
-- 黑翼(你的封锁区中的卡只有偶数的等级的场合才有效)- -- 黑翼(你的封锁区中的卡只有偶数的等级的场合才有效)-
-- 【自】:这个单位被放置到G时,选择后列的对手的1张后防者,横置。 -- 【自】:这个单位被放置到G时,选择后列的对手的1张后防者,横置。
vgd.AbilityAuto(c, m,nil,nil,EVENT_TO_G_CIRCLE,cm.op,nil,vgf.DarkWing) vgd.AbilityAuto(c, m,nil,nil,EVENT_TO_G_CIRCLE,cm.op,nil,vgf.BlackWings)
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 g=vgf.SelectMatchingCard(HINTMSG_OPPO,e,tp,cm.filter,tp,0,LOCATION_CIRCLE,1,1,nil) local g=vgf.SelectMatchingCard(HINTMSG_OPPO,e,tp,cm.filter,tp,0,LOCATION_CIRCLE,1,1,nil)
......
...@@ -7,7 +7,7 @@ function cm.initial_effect(c) ...@@ -7,7 +7,7 @@ function cm.initial_effect(c)
e1:SetCode(AFFECT_CODE_OVERLAY_INSTEAD_WHEN_RIDE) e1:SetCode(AFFECT_CODE_OVERLAY_INSTEAD_WHEN_RIDE)
e1:SetRange(LOCATION_CIRCLE) e1:SetRange(LOCATION_CIRCLE)
e1:SetCondition(function (e,tp,eg,ep,ev,re,r,rp) e1:SetCondition(function (e,tp,eg,ep,ev,re,r,rp)
return vgf.WhiteWing(e) and vgf.VMonsterCondition(e) return vgf.WhiteWings(e) and vgf.VMonsterCondition(e)
end) end)
e1:SetTargetRange(1,0) e1:SetTargetRange(1,0)
c:RegisterEffect(e1) c:RegisterEffect(e1)
...@@ -17,7 +17,7 @@ function cm.initial_effect(c) ...@@ -17,7 +17,7 @@ function cm.initial_effect(c)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetRange(LOCATION_CIRCLE) e2:SetRange(LOCATION_CIRCLE)
e2:SetCondition(function (e,tp,eg,ep,ev,re,r,rp) e2:SetCondition(function (e,tp,eg,ep,ev,re,r,rp)
return vgf.DarkWing(e) and vgf.VMonsterCondition(e) return vgf.BlackWings(e) and vgf.VMonsterCondition(e)
end) end)
e2:SetValue(function (e,tc) e2:SetValue(function (e,tc)
return tc:IsLevelBelow(1) and vgf.RMonsterFilter(tc) return tc:IsLevelBelow(1) and vgf.RMonsterFilter(tc)
......
...@@ -4,8 +4,8 @@ function cm.initial_effect(c) ...@@ -4,8 +4,8 @@ function cm.initial_effect(c)
vgd.VgCard(c) vgd.VgCard(c)
-- 白翼(你的封锁区中的卡只有奇数的等级的场合才有效)-【永】【R/G】:这个单位的力量+2000、盾护+5000。 -- 白翼(你的封锁区中的卡只有奇数的等级的场合才有效)-【永】【R/G】:这个单位的力量+2000、盾护+5000。
vgd.AbilityCont(c, m, LOCATION_CIRCLE, EFFECT_TYPE_SINGLE, EFFECT_UPDATE_ATTACK, 2000, cm.con) vgd.AbilityCont(c, m, LOCATION_CIRCLE, EFFECT_TYPE_SINGLE, EFFECT_UPDATE_ATTACK, 2000, cm.con)
vgd.AbilityCont(c, m, LOCATION_G_CIRCLE, EFFECT_TYPE_SINGLE, 5000, EFFECT_UPDATE_DEFENSE, vgf.WhiteWing) vgd.AbilityCont(c, m, LOCATION_G_CIRCLE, EFFECT_TYPE_SINGLE, 5000, EFFECT_UPDATE_DEFENSE, vgf.WhiteWings)
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 vgf.WhiteWing(e) and vgf.RMonsterCondition(e) return vgf.WhiteWings(e) and vgf.RMonsterCondition(e)
end end
\ No newline at end of file
...@@ -15,5 +15,5 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp) ...@@ -15,5 +15,5 @@ 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 eg:IsContains(c) and vgf.WhiteWing(e) and vgf.RMonsterCondition(e) return eg:IsContains(c) and vgf.WhiteWings(e) and vgf.RMonsterCondition(e)
end end
\ No newline at end of file
...@@ -7,5 +7,5 @@ function cm.initial_effect(c) ...@@ -7,5 +7,5 @@ function cm.initial_effect(c)
vgd.AbilityCont(c, m, LOCATION_CIRCLE, EFFECT_TYPE_SINGLE, EFFECT_UPDATE_ATTACK, 10000, cm.con) vgd.AbilityCont(c, m, LOCATION_CIRCLE, EFFECT_TYPE_SINGLE, EFFECT_UPDATE_ATTACK, 10000, cm.con)
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 vgf.WhiteWing(e) and Duel.GetTurnPlayer()==tp and vgf.RMonsterCondition(e) return vgf.WhiteWings(e) and Duel.GetTurnPlayer()==tp and vgf.RMonsterCondition(e)
end end
\ No newline at end of file
...@@ -32,7 +32,7 @@ end ...@@ -32,7 +32,7 @@ end
function cm.op1(e,tp,eg,ep,ev,re,r,rp) function cm.op1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local _,selfcode=c:GetOriginalCode() local _,selfcode=c:GetOriginalCode()
local code=CARD_ENERGY_LIST[selfcode] local code=CARD_CREST_LIST[selfcode]
local token1=Duel.CreateToken(tp,code) local token1=Duel.CreateToken(tp,code)
local token2=Duel.CreateToken(tp,code) local token2=Duel.CreateToken(tp,code)
local token3=Duel.CreateToken(tp,code) local token3=Duel.CreateToken(tp,code)
...@@ -45,7 +45,7 @@ end ...@@ -45,7 +45,7 @@ end
function cm.op2(e,tp,eg,ep,ev,re,r,rp) function cm.op2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local _,selfcode=c:GetOriginalCode() local _,selfcode=c:GetOriginalCode()
local code=CARD_ENERGY_LIST[selfcode] local code=CARD_CREST_LIST[selfcode]
if vgf.GetMatchingGroupCount(Card.IsCode,tp,LOCATION_CREST,0,nil,CARD_ENERGY)>=10 then return end if vgf.GetMatchingGroupCount(Card.IsCode,tp,LOCATION_CREST,0,nil,CARD_ENERGY)>=10 then return end
local ct=10-vgf.GetMatchingGroupCount(Card.IsCode,tp,LOCATION_CREST,0,nil,CARD_ENERGY) local ct=10-vgf.GetMatchingGroupCount(Card.IsCode,tp,LOCATION_CREST,0,nil,CARD_ENERGY)
local token1=Duel.CreateToken(tp,code) local token1=Duel.CreateToken(tp,code)
......
...@@ -190,7 +190,7 @@ end ...@@ -190,7 +190,7 @@ end
function VgD.RideFilter1(c, lv, code, rc) function VgD.RideFilter1(c, lv, code, rc)
local tp = c:GetControler() local tp = c:GetControler()
if not c:IsType(TYPE_UNIT) then return false end if not c:IsType(TYPE_UNIT) then return false end
if rc:IsAttribute(SKILL_SELF_RIDE) and c:IsCode(code) then return false end if rc:IsSkill(SKILL_PERSONA_RIDE) and c:IsCode(code) then return false end
if (c:IsLevel(lv, lv + 1) and c:IsLocation(LOCATION_HAND)) then return VgD.RideMaterialCheck(c, rc) end if (c:IsLevel(lv, lv + 1) and c:IsLocation(LOCATION_HAND)) then return VgD.RideMaterialCheck(c, rc) end
if (c:IsLevel(lv + 1) and c:IsLocation(LOCATION_RIDE) and (VgF.IsExistingMatchingCard(nil, tp, LOCATION_HAND, 0, 1, nil) or (Duel.IsPlayerAffectedByEffect(tp, AFFECT_CODE_OVERLAY_INSTEAD_WHEN_RIDE) and VgF.GetVMonster(tp):GetOverlayCount() > 0))) then return VgD.RideMaterialCheck(c, rc) end if (c:IsLevel(lv + 1) and c:IsLocation(LOCATION_RIDE) and (VgF.IsExistingMatchingCard(nil, tp, LOCATION_HAND, 0, 1, nil) or (Duel.IsPlayerAffectedByEffect(tp, AFFECT_CODE_OVERLAY_INSTEAD_WHEN_RIDE) and VgF.GetVMonster(tp):GetOverlayCount() > 0))) then return VgD.RideMaterialCheck(c, rc) end
return false return false
...@@ -200,7 +200,7 @@ function VgD.DisCardRideFilter(c, e, lv, code, rc) ...@@ -200,7 +200,7 @@ function VgD.DisCardRideFilter(c, e, lv, code, rc)
return c:IsDiscardable() and VgF.IsExistingMatchingCard(VgD.RideFilter1, tp, LOCATION_HAND + LOCATION_RIDE, 0, 1, c, lv, code, rc) return c:IsDiscardable() and VgF.IsExistingMatchingCard(VgD.RideFilter1, tp, LOCATION_HAND + LOCATION_RIDE, 0, 1, c, lv, code, rc)
end end
function VgD.RideFilter2(c, lv, code, rc) function VgD.RideFilter2(c, lv, code, rc)
return c:IsLevel(lv) and c:IsType(TYPE_UNIT) and c:IsCode(code) and rc:IsAttribute(SKILL_SELF_RIDE) return c:IsLevel(lv) and c:IsType(TYPE_UNIT) and c:IsCode(code) and rc:IsSkill(SKILL_PERSONA_RIDE)
end end
function VgD.RideCondition(e, tp, eg, ep, ev, re, r, rp) function VgD.RideCondition(e, tp, eg, ep, ev, re, r, rp)
local rc = Duel.GetMatchingGroup(VgF.VMonsterFilter, tp, LOCATION_CIRCLE, 0, nil):GetFirst() local rc = Duel.GetMatchingGroup(VgF.VMonsterFilter, tp, LOCATION_CIRCLE, 0, nil):GetFirst()
...@@ -334,7 +334,7 @@ end ...@@ -334,7 +334,7 @@ end
function VgD.CardTriggerOperation(chkop) function VgD.CardTriggerOperation(chkop)
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()
if c:IsRace(TRIGGER_CRITICAL_STRIKE) then if c:IsTrigger(TRIGGER_CRITICAL_STRIKE) then
local g1 = VgF.SelectMatchingCard(HINTMSG_CRITICAL_STRIKE, e, tp, nil, tp, LOCATION_CIRCLE, 0, 1, 1, nil) local g1 = VgF.SelectMatchingCard(HINTMSG_CRITICAL_STRIKE, e, tp, nil, tp, LOCATION_CIRCLE, 0, 1, 1, nil)
local star_up = c.trigger_star_up or 1 local star_up = c.trigger_star_up or 1
local atk_up = c.trigger_atk_up or 10000 local atk_up = c.trigger_atk_up or 10000
...@@ -347,7 +347,7 @@ function VgD.CardTriggerOperation(chkop) ...@@ -347,7 +347,7 @@ function VgD.CardTriggerOperation(chkop)
VgF.StarUp(c, g1, star_up, nil) VgF.StarUp(c, g1, star_up, nil)
local g2 = VgF.SelectMatchingCard(HINTMSG_ATKUP, e, tp, nil, tp, LOCATION_CIRCLE, 0, 1, 1, nil) local g2 = VgF.SelectMatchingCard(HINTMSG_ATKUP, e, tp, nil, tp, LOCATION_CIRCLE, 0, 1, 1, nil)
VgF.AtkUp(c, g2, atk_up, nil) VgF.AtkUp(c, g2, atk_up, nil)
elseif c:IsRace(TRIGGER_DRAW) then elseif c:IsTrigger(TRIGGER_DRAW) then
local g = VgF.SelectMatchingCard(HINTMSG_ATKUP, e, tp, nil, tp, LOCATION_CIRCLE, 0, 1, 1, nil) local g = VgF.SelectMatchingCard(HINTMSG_ATKUP, e, tp, nil, tp, LOCATION_CIRCLE, 0, 1, 1, nil)
local atk_up = c.trigger_atk_up or 10000 local atk_up = c.trigger_atk_up or 10000
local draw = c.trigger_draw or 1 local draw = c.trigger_draw or 1
...@@ -359,7 +359,7 @@ function VgD.CardTriggerOperation(chkop) ...@@ -359,7 +359,7 @@ function VgD.CardTriggerOperation(chkop)
end end
VgF.AtkUp(c, g, atk_up, nil) VgF.AtkUp(c, g, atk_up, nil)
Duel.Draw(tp, draw, REASON_TRIGGER) Duel.Draw(tp, draw, REASON_TRIGGER)
elseif c:IsRace(TRIGGER_HEAL) then elseif c:IsTrigger(TRIGGER_HEAL) then
local g = VgF.SelectMatchingCard(HINTMSG_ATKUP, e, tp, nil, tp, LOCATION_CIRCLE, 0, 1, 1, nil) local g = VgF.SelectMatchingCard(HINTMSG_ATKUP, e, tp, nil, tp, LOCATION_CIRCLE, 0, 1, 1, nil)
local atk_up = c.trigger_atk_up or 10000 local atk_up = c.trigger_atk_up or 10000
if c:IsHasEffect(EFFECT_CHANGE_TRIGGER_ATK) then if c:IsHasEffect(EFFECT_CHANGE_TRIGGER_ATK) then
...@@ -378,7 +378,7 @@ function VgD.CardTriggerOperation(chkop) ...@@ -378,7 +378,7 @@ function VgD.CardTriggerOperation(chkop)
Duel.Recover(tp, sg:GetCount(), REASON_RULE) Duel.Recover(tp, sg:GetCount(), REASON_RULE)
end end
end end
elseif c:IsRace(TRIGGER_ADVANCE) then elseif c:IsTrigger(TRIGGER_ADVANCE) then
local g = Duel.GetMatchingGroup(VgF.IsSequence, tp, LOCATION_CIRCLE, 0, nil, 0, 4, 5) local g = Duel.GetMatchingGroup(VgF.IsSequence, tp, LOCATION_CIRCLE, 0, nil, 0, 4, 5)
local atk_up = c.trigger_atk_up or 10000 local atk_up = c.trigger_atk_up or 10000
if c:IsHasEffect(EFFECT_CHANGE_TRIGGER_ATK) then if c:IsHasEffect(EFFECT_CHANGE_TRIGGER_ATK) then
...@@ -387,7 +387,7 @@ function VgD.CardTriggerOperation(chkop) ...@@ -387,7 +387,7 @@ function VgD.CardTriggerOperation(chkop)
VgF.AtkUp(c, g, atk_up, nil) VgF.AtkUp(c, g, atk_up, nil)
end end
if chkop == 'Damage' then if chkop == 'Damage' then
if c:IsRace(TRIGGER_SUPER) then if c:IsTrigger(TRIGGER_SUPER) then
local ops = {} local ops = {}
local sel = {} local sel = {}
if c:IsRelateToEffect(e) then if c:IsRelateToEffect(e) then
...@@ -449,7 +449,7 @@ function VgD.CardTriggerOperation(chkop) ...@@ -449,7 +449,7 @@ function VgD.CardTriggerOperation(chkop)
Duel.RaiseEvent(bc, EVENT_CUSTOM + EVENT_DAMAGE_TRIGGER, e, 0, tp, tp, 0) Duel.RaiseEvent(bc, EVENT_CUSTOM + EVENT_DAMAGE_TRIGGER, e, 0, tp, tp, 0)
end end
elseif chkop == 'Normal' then elseif chkop == 'Normal' then
if c:IsRace(TRIGGER_SUPER) then if c:IsTrigger(TRIGGER_SUPER) then
local ops = {} local ops = {}
local sel = {} local sel = {}
if c:IsRelateToEffect(e) then if c:IsRelateToEffect(e) then
...@@ -507,7 +507,7 @@ function VgD.CardTriggerOperation(chkop) ...@@ -507,7 +507,7 @@ function VgD.CardTriggerOperation(chkop)
bc:ResetFlagEffect(FLAG_ATTACK_TRIGGER) bc:ResetFlagEffect(FLAG_ATTACK_TRIGGER)
end end
else else
if c:IsRace(TRIGGER_SUPER) then if c:IsTrigger(TRIGGER_SUPER) then
local ops = {} local ops = {}
local sel = {} local sel = {}
if c:IsRelateToEffect(e) then if c:IsRelateToEffect(e) then
...@@ -651,9 +651,9 @@ function VgD.MonsterBattle(c) ...@@ -651,9 +651,9 @@ function VgD.MonsterBattle(c)
local tc = e:GetHandler() local tc = e:GetHandler()
Duel.ChangePosition(tc, POS_FACEUP_DEFENSE) Duel.ChangePosition(tc, POS_FACEUP_DEFENSE)
local label = 1 local label = 1
if tc:IsAttribute(SKILL_TWICE_TRIGGER) then if tc:IsSkill(SKILL_TWINDRIVE) then
label = label + 1 label = label + 1
elseif tc:IsAttribute(SKILL_THRICE_TRIGGER) then elseif tc:IsSkill(SKILL_TRIPLEDRIVE) then
label = label + 2 label = label + 2
end end
tc:RegisterFlagEffect(FLAG_ATTACK_TRIGGER, RESET_EVENT + RESETS_STANDARD, 0, 1, label) tc:RegisterFlagEffect(FLAG_ATTACK_TRIGGER, RESET_EVENT + RESETS_STANDARD, 0, 1, label)
...@@ -736,7 +736,7 @@ function VgD.MonsterBattle(c) ...@@ -736,7 +736,7 @@ function VgD.MonsterBattle(c)
e6:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e6:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e6:SetCondition(function (e, tp, eg, ep, ev, re, r, rp) e6:SetCondition(function (e, tp, eg, ep, ev, re, r, rp)
local tc = e:GetHandler() local tc = e:GetHandler()
if not tc:IsAttribute(SKILL_SUPPORT) or Duel.GetTurnPlayer() ~= tp or not VgF.GetColumnGroup(Duel.GetAttacker()):IsContains(tc) then return false end if not tc:IsSkill(SKILL_BOOST) or Duel.GetTurnPlayer() ~= tp or not VgF.GetColumnGroup(Duel.GetAttacker()):IsContains(tc) then return false end
return true return true
end) end)
e6:SetTarget(function (e, tp, eg, ep, ev, re, r, rp, chk) e6:SetTarget(function (e, tp, eg, ep, ev, re, r, rp, chk)
...@@ -1758,8 +1758,8 @@ end ...@@ -1758,8 +1758,8 @@ end
---●2张以上——你的世界卡的内容变为深渊黑夜。 ---●2张以上——你的世界卡的内容变为深渊黑夜。
---@param c Card 要注册以上功能的卡 ---@param c Card 要注册以上功能的卡
---@param m number|nil 效果的创建者的卡号 ---@param m number|nil 效果的创建者的卡号
---@return Effect 两个效果 ---@return Effect, Effect 两个效果
function VgD.NightEffect(c, m) function VgD.DarkNight(c, m)
-- set param -- set param
local cm = _G["c"..(m or c:GetOriginalCode())] local cm = _G["c"..(m or c:GetOriginalCode())]
cm.is_has_continuous = true cm.is_has_continuous = true
...@@ -1775,13 +1775,13 @@ function VgD.NightEffect(c, m) ...@@ -1775,13 +1775,13 @@ function VgD.NightEffect(c, m)
local e1 = Effect.CreateEffect(c) local e1 = Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(AFFECT_CODE_NIGHT) e1:SetCode(AFFECT_CODE_DARK_NIGHT)
e1:SetRange(LOCATION_ORDER) e1:SetRange(LOCATION_ORDER)
e1:SetTargetRange(1, 0) e1:SetTargetRange(1, 0)
e1:SetCondition(condition(true)) e1:SetCondition(condition(true))
c:RegisterEffect(e1) c:RegisterEffect(e1)
local e2 = e1:Clone() local e2 = e1:Clone()
e2:SetCode(AFFECT_CODE_DEEP_NIGHT) e2:SetCode(AFFECT_CODE_ABYSSAL_DARK_NIGHT)
e2:SetCondition(condition(false)) e2:SetCondition(condition(false))
c:RegisterEffect(e2) c:RegisterEffect(e2)
return e1, e2 return e1, e2
......
VgID = 10000001 VgID = 10000001
CARD_ENERGY = 10800731 CARD_ENERGY = 10800731
CARD_ENERGY_EMBLEM = 10800851 CARD_ENERGY_EMBLEM = 10800851
CARD_ENERGY_LIST = {} CARD_CREST_LIST = {[10800851] = 10800730, [10800855] = 10800731}
CARD_ENERGY_LIST[10800851] = 10800730
CARD_ENERGY_LIST[10800855] = 10800731
--min/max value --min/max value
MIN_ID = 1000 --4 digits, by DataManager::GetDesc() MIN_ID = 1000 --4 digits, by DataManager::GetDesc()
MAX_ID = 268435455 --28 bits, by DataManager::GetDesc() MAX_ID = 268435455 --28 bits, by DataManager::GetDesc()
...@@ -54,7 +52,7 @@ NO_FLIP_EFFECT = 0x10000--不发动反转效果 ...@@ -54,7 +52,7 @@ NO_FLIP_EFFECT = 0x10000--不发动反转效果
--Types 卡片类型 --Types 卡片类型
TYPE_UNIT = 0x1 --单位卡 TYPE_UNIT = 0x1 --单位卡
TYPE_ORDER = 0x2 --指令卡 TYPE_ORDER = 0x2 --指令卡
TYPE_TRAP = 0x4 --标记 TYPE_MARKER = 0x4 --标记
TYPE_NORMAL = 0x20 --普通 TYPE_NORMAL = 0x20 --普通
TYPE_TRIGGER = 0x80 --触发 TYPE_TRIGGER = 0x80 --触发
TYPE_G = 0x200 --G TYPE_G = 0x200 --G
...@@ -64,17 +62,16 @@ TYPE_SET = 0x20000 --设置 ...@@ -64,17 +62,16 @@ TYPE_SET = 0x20000 --设置
TYPE_CREST = 0x100000 --纹章 TYPE_CREST = 0x100000 --纹章
TYPE_RIDE_CREST = 0x100044 --RIDE卡组纹章 TYPE_RIDE_CREST = 0x100044 --RIDE卡组纹章
--技能
--技能 --属性
SKILL_ALL = 0x7f --All SKILL_ALL = 0x7f --All
SKILL_NONE = 0x01 --无 SKILL_NONE = 0x01 --无
SKILL_SUPPORT = 0x02 --支援 SKILL_BOOST = 0x02 --支援
SKILL_BLOCK = 0x04 --截击 SKILL_INTERCEPT = 0x04 --截击
SKILL_THRICE_TRIGGER= 0x08 --三判 SKILL_TRIPLEDRIVE = 0x08 --三判
SKILL_TWICE_TRIGGER = 0x10 --双判 SKILL_TWINDRIVE = 0x10 --双判
SKILL_SELF_RIDE = 0x20 --人格骑升 SKILL_PERSONA_RIDE = 0x20 --人格骑升
SKILL_DEBRIS = 0x40 --结晶碎片 SKILL_REGALIS_PIECE = 0x40 --结晶碎片
--触发类型 --种族 --触发类型
TRIGGER_ALL = 0x3ffffff --All TRIGGER_ALL = 0x3ffffff --All
TRIGGER_NONE = 0x1 --无 TRIGGER_NONE = 0x1 --无
TRIGGER_CRITICAL_STRIKE = 0x2 --暴击触发 TRIGGER_CRITICAL_STRIKE = 0x2 --暴击触发
...@@ -721,8 +718,8 @@ OPCODE_NOT = 0x40000007 ...@@ -721,8 +718,8 @@ OPCODE_NOT = 0x40000007
OPCODE_ISCODE = 0x40000100 OPCODE_ISCODE = 0x40000100
OPCODE_ISSETCARD = 0x40000101 OPCODE_ISSETCARD = 0x40000101
OPCODE_ISTYPE = 0x40000102 OPCODE_ISTYPE = 0x40000102
OPCODE_ISRACE = 0x40000103 OPCODE_IsTrigger = 0x40000103
OPCODE_ISATTRIBUTE = 0x40000104 OPCODE_IsSkill = 0x40000104
-- --
DOUBLE_DAMAGE = -2147483648 DOUBLE_DAMAGE = -2147483648
HALF_DAMAGE = -2147483647 HALF_DAMAGE = -2147483647
...@@ -873,9 +870,9 @@ FLAG_EFFECT_DAMAGE = VgID + 12--效果伤害标识 ...@@ -873,9 +870,9 @@ FLAG_EFFECT_DAMAGE = VgID + 12--效果伤害标识
--AffectedByEffect --AffectedByEffect
AFFECT_CODE_ALCHEMAGIC = VgID --魔合成 AFFECT_CODE_ALCHEMAGIC = VgID --魔合成
AFFECT_CODE_ALCHEMAGIC_DIFFERENT_NAME = VgID + 1 --魔合成(卡名不同) AFFECT_CODE_ALCHEMAGIC_DIFFERENT_NAME = VgID + 1 --魔合成(卡名不同)
AFFECT_CODE_BOTH_WING = VgID + 2 --你的卡片的白翼能力和黑翼能力两方均有效 AFFECT_CODE_BOTH_WINGS = VgID + 2 --你的卡片的白翼能力和黑翼能力两方均有效
AFFECT_CODE_NIGHT = VgID + 3 --黑夜 AFFECT_CODE_DARK_NIGHT = VgID + 3 --黑夜
AFFECT_CODE_DEEP_NIGHT = VgID + 4 --深渊黑夜 AFFECT_CODE_ABYSSAL_DARK_NIGHT = VgID + 4 --深渊黑夜
AFFECT_CODE_SOUL_BLAST_FREE_WHEN_ALCHEMAGIC = VgID + 5 --魔合成可以不支付灵魂爆发 AFFECT_CODE_SOUL_BLAST_FREE_WHEN_ALCHEMAGIC = VgID + 5 --魔合成可以不支付灵魂爆发
AFFECT_CODE_DEFENDER_CANNOT_TO_G_CIRCLE = VgID + 6 --不能将守护者从手牌CALL到G上 AFFECT_CODE_DEFENDER_CANNOT_TO_G_CIRCLE = VgID + 6 --不能将守护者从手牌CALL到G上
......
...@@ -563,7 +563,7 @@ function VgF.IsAbleToGCircle(c) ...@@ -563,7 +563,7 @@ function VgF.IsAbleToGCircle(c)
if Duel.IsPlayerAffectedByEffect(c:GetControler(), AFFECT_CODE_DEFENDER_CANNOT_TO_G_CIRCLE) and c:GetBaseDefense() == 0 then return false end if Duel.IsPlayerAffectedByEffect(c:GetControler(), AFFECT_CODE_DEFENDER_CANNOT_TO_G_CIRCLE) and c:GetBaseDefense() == 0 then return false end
return c:IsType(TYPE_UNIT) return c:IsType(TYPE_UNIT)
elseif c:IsLocation(LOCATION_CIRCLE) then elseif c:IsLocation(LOCATION_CIRCLE) then
return c:IsAttribute(SKILL_BLOCK) and VgF.IsSequence(c, 0, 4) and c:IsLocation(LOCATION_CIRCLE) and c:IsFaceup() return c:IsSkill(SKILL_INTERCEPT) and VgF.IsSequence(c, 0, 4) and c:IsLocation(LOCATION_CIRCLE) and c:IsFaceup()
end end
return false return false
end end
...@@ -890,6 +890,14 @@ function VgF.CardsFromTo(reason ,loc_to, loc_from, f, int_max, int_min, ...) ...@@ -890,6 +890,14 @@ function VgF.CardsFromTo(reason ,loc_to, loc_from, f, int_max, int_min, ...)
end end
end end
function Card.IsSkill(c, skill)
return c:IsAttribute(skill)
end
function Card.IsTrigger(c, skill)
return c:IsRace(skill)
end
function Group.ForEach(g, f, ...) function Group.ForEach(g, f, ...)
local ext_params = {...} local ext_params = {...}
if #g == 0 then return end if #g == 0 then return end
...@@ -1380,7 +1388,7 @@ function VgF.Sendto(loc, sg, ...) ...@@ -1380,7 +1388,7 @@ function VgF.Sendto(loc, sg, ...)
end end
-- 白翼能力在你的封锁区中的卡只有奇数的等级的场合有效 -- 白翼能力在你的封锁区中的卡只有奇数的等级的场合有效
function VgF.WhiteWing(e) function VgF.WhiteWings(e)
local tp = e:GetHandlerPlayer() local tp = e:GetHandlerPlayer()
local a = vgf.IsExistingMatchingCard(function (c) local a = vgf.IsExistingMatchingCard(function (c)
return c:GetLevel()%2 == 1 return c:GetLevel()%2 == 1
...@@ -1388,10 +1396,10 @@ function VgF.WhiteWing(e) ...@@ -1388,10 +1396,10 @@ function VgF.WhiteWing(e)
local b = vgf.IsExistingMatchingCard(function (c) local b = vgf.IsExistingMatchingCard(function (c)
return c:GetLevel()%2 == 0 return c:GetLevel()%2 == 0
end, tp, LOCATION_BIND, 0, 1, nil) end, tp, LOCATION_BIND, 0, 1, nil)
return (a and not b) or Duel.IsPlayerAffectedByEffect(tp, AFFECT_CODE_BOTH_WING) return (a and not b) or Duel.IsPlayerAffectedByEffect(tp, AFFECT_CODE_BOTH_WINGS)
end end
-- 黑翼能力在你的封锁区中的卡只有偶数的等级的场合有效 -- 黑翼能力在你的封锁区中的卡只有偶数的等级的场合有效
function VgF.DarkWing(e) function VgF.BlackWings(e)
local tp = e:GetHandlerPlayer() local tp = e:GetHandlerPlayer()
local a = vgf.IsExistingMatchingCard(function (c) local a = vgf.IsExistingMatchingCard(function (c)
return c:GetLevel()%2 == 1 return c:GetLevel()%2 == 1
...@@ -1399,7 +1407,7 @@ function VgF.DarkWing(e) ...@@ -1399,7 +1407,7 @@ function VgF.DarkWing(e)
local b = vgf.IsExistingMatchingCard(function (c) local b = vgf.IsExistingMatchingCard(function (c)
return c:GetLevel()%2 == 0 return c:GetLevel()%2 == 0
end, tp, LOCATION_BIND, 0, 1, nil) end, tp, LOCATION_BIND, 0, 1, nil)
return (not a and b) or Duel.IsPlayerAffectedByEffect(tp, AFFECT_CODE_BOTH_WING) return (not a and b) or Duel.IsPlayerAffectedByEffect(tp, AFFECT_CODE_BOTH_WINGS)
end end
function VgF.AddRideMaterialSetCardCheck(c, m, ...) function VgF.AddRideMaterialSetCardCheck(c, m, ...)
......
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