Commit 91418192 authored by xiaoye's avatar xiaoye

fix

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