Commit 23ad0940 authored by jwyxym's avatar jwyxym Committed by GitHub

Add files via upload

parent f29ed288
This diff is collapsed.
...@@ -20,6 +20,7 @@ LOCATION_DAMAGE =0x800 --伤害区 ...@@ -20,6 +20,7 @@ LOCATION_DAMAGE =0x800 --伤害区
LOCATION_ORDER =0x1000 --指令区 LOCATION_ORDER =0x1000 --指令区
LOCATION_SPARE =0x2000 --备用格子(用于怪物箱等) LOCATION_SPARE =0x2000 --备用格子(用于怪物箱等)
LOCATION_GZONE =0x4000 --G区域 LOCATION_GZONE =0x4000 --G区域
LOCATION_EMBLEM =0x8000 --纹章区
LOCATION_RIDE =LOCATION_EXTRA LOCATION_RIDE =LOCATION_EXTRA
LOCATION_DROP =LOCATION_GRAVE LOCATION_DROP =LOCATION_GRAVE
LOCATION_LOCK =LOCATION_REMOVED LOCATION_LOCK =LOCATION_REMOVED
...@@ -123,7 +124,6 @@ REASON_LINK =0x10000000 --用于连接召唤 ...@@ -123,7 +124,6 @@ REASON_LINK =0x10000000 --用于连接召唤
REASON_LOST_OVERLAY =0x20000000 --超量素材随着超量怪兽离场 REASON_LOST_OVERLAY =0x20000000 --超量素材随着超量怪兽离场
REASON_MAINTENANCE =0x40000000 --维持代价 REASON_MAINTENANCE =0x40000000 --维持代价
REASON_ACTION =0x80000000 --攻击宣言之际等 REASON_ACTION =0x80000000 --攻击宣言之际等
REASON_PHASEG =REASON_RULE --G辅助
REASON_PHASEDRAW =REASON_RULE --抽卡 REASON_PHASEDRAW =REASON_RULE --抽卡
REASON_TRIGGER =REASON_EFFECT --判定 REASON_TRIGGER =REASON_EFFECT --判定
--Location Reason --Location Reason
...@@ -880,8 +880,13 @@ AttackTriggerFlag =VgID+1 --多次攻击判定标识 ...@@ -880,8 +880,13 @@ AttackTriggerFlag =VgID+1 --多次攻击判定标识
DamageTriggerFlag =VgID+2 --多次伤害判定标识 DamageTriggerFlag =VgID+2 --多次伤害判定标识
--AffectedByEffect --AffectedByEffect
AFFECT_CODE_MIX =VgID --魔合成 AFFECT_CODE_MIX =VgID --魔合成
AFFECT_CODE_SendtoG =VgID+1 --
--Counter --Counter
COUNTER_ENERGE =0x1 --能量爆发 COUNTER_ENERGE =0x1 --能量爆发
--自定时点 --自定时点
EVENT_TRIGGER =VgID --判定时点 EVENT_TRIGGER =VgID --判定时点
EVENT_CRITICAL_STRIKE =VgID+1 --暴击值结算时点 EVENT_CRITICAL_STRIKE =VgID+1 --暴击值结算时点
POS_FACEUP_DEFENCE=POS_FACEUP_DEFENSE
POS_FACEDOWN_DEFENCE=POS_FACEDOWN_DEFENSE
\ No newline at end of file
VgF={} VgF={}
POS_FACEUP_DEFENCE=POS_FACEUP_DEFENSE
POS_FACEDOWN_DEFENCE=POS_FACEDOWN_DEFENSE
function GetID() function GetID()
local offset=self_code<100000000 and 1 or 100 local offset=self_code<100000000 and 1 or 100
...@@ -96,6 +94,20 @@ function VgF.IsSequence(c,...) ...@@ -96,6 +94,20 @@ function VgF.IsSequence(c,...)
end end
return false return false
end end
function VgF.RuleCardCondtion(e)
local tp=e:GetHandlerPlayer()
local g=Duel.GetMatchingGroup(nil,tp,LOCATION_ALL,0,nil)
return e:GetHandler()==g:GetFirst()
end
function VgF.RuleTurnCondtion(e)
local tp=e:GetHandlerPlayer()
local a=Duel.GetTurnCount(tp)
local b=Duel.GetTurnCount(1-tp)
return a+b==1
end
function VgF.Not(c,f)
return not f(c)
end
function VgF.GetColumnGroup(c) function VgF.GetColumnGroup(c)
local tp=c:GetControler() local tp=c:GetControler()
local g=Group.CreateGroup() local g=Group.CreateGroup()
...@@ -150,18 +162,20 @@ end ...@@ -150,18 +162,20 @@ end
function VgF.LvConditionFilter(c,lv) function VgF.LvConditionFilter(c,lv)
return VgF.VMonsterFilter(c) and c:IsLevelAbove(lv) return VgF.VMonsterFilter(c) and c:IsLevelAbove(lv)
end end
function VgF.AtkUp(c,g,val) function VgF.AtkUp(c,g,val,reset)
if not g then return end if not c or not g then return end
if not reset then reset=RESET_PHASE+PHASE_END end
local tc=VgF.ReturnCard(g) local tc=VgF.ReturnCard(g)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK) e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(val) e1:SetValue(val)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END) e1:SetReset(RESET_EVENT+RESETS_STANDARD+reset)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
end end
function VgF.StarUp(c,g,val) function VgF.StarUp(c,g,val,reset)
if not g then return end if not c or not g then return end
if not reset then reset=RESET_PHASE+PHASE_END end
local tc=VgF.ReturnCard(g) local tc=VgF.ReturnCard(g)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
...@@ -169,9 +183,15 @@ function VgF.StarUp(c,g,val) ...@@ -169,9 +183,15 @@ function VgF.StarUp(c,g,val)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetValue(val) e1:SetValue(val)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END) e1:SetReset(RESET_EVENT+RESETS_STANDARD+reset)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
local e2=e1:Clone() local e2=e1:Clone()
e2:SetCode(EFFECT_UPDATE_RSCALE) e2:SetCode(EFFECT_UPDATE_RSCALE)
tc:RegisterEffect(e2) tc:RegisterEffect(e2)
end end
function VgF.IsAbleToGZone(c)
if c:IsLocation(LOCATION_MZONE) then
return c:IsAttribute(SKILL_BLOCK)
end
return c:IsLocation(LOCATION_HAND)
end
\ No newline at end of file
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