Commit 91b7f751 authored by jwyxym's avatar jwyxym Committed by GitHub

Add files via upload

parent b6ccfe4e
...@@ -388,7 +388,7 @@ end ...@@ -388,7 +388,7 @@ end
function VgD.MonsterPosDefenseOperation(e,tp,eg,ep,ev,re,r,rp) function VgD.MonsterPosDefenseOperation(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)
local label=0 local label=1
if c:IsAttribute(SKILL_TWICE_TRIGGER) then if c:IsAttribute(SKILL_TWICE_TRIGGER) then
label=label+1 label=label+1
elseif c:IsAttribute(SKILL_THRICE_TRIGGER) then elseif c:IsAttribute(SKILL_THRICE_TRIGGER) then
...@@ -549,9 +549,10 @@ end ...@@ -549,9 +549,10 @@ end
function VgD.CardTriggerCondtion(chkcon) function VgD.CardTriggerCondtion(chkcon)
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 rc=Duel.GetMatchingGroup(VgF.VMonsterFilter,tp,LOCATION_MZONE,0,nil):GetFirst()
local cp=tp local cp=tp
if chkcon==0 then cp=1-tp end if chkcon==0 then cp=1-tp end
return Duel.GetTurnPlayer()==cp and c:IsLocation(LOCATION_TRIGGER) return Duel.GetTurnPlayer()==cp and c:IsLocation(LOCATION_TRIGGER) and (rc:GetFlagEffectLabel(AttackTriggerFlag) and rc:GetFlagEffectLabel(AttackTriggerFlag)>0)
end end
end end
function VgD.CardTriggerOperation(chkop,f) function VgD.CardTriggerOperation(chkop,f)
...@@ -582,6 +583,7 @@ function VgD.CardTriggerOperation(chkop,f) ...@@ -582,6 +583,7 @@ function VgD.CardTriggerOperation(chkop,f)
local tc=Duel.SelectMatchingCard(tp,nil,tp,LOCATION_DAMAGE,0,1,1,nil):GetFirst() local tc=Duel.SelectMatchingCard(tp,nil,tp,LOCATION_DAMAGE,0,1,1,nil):GetFirst()
if tc then if tc then
Duel.SendtoGrave(tc,REASON_TRIGGER) Duel.SendtoGrave(tc,REASON_TRIGGER)
Duel.Recover(tp,1,REASON_RULE)
end end
end end
elseif c:IsRace(TRRIGGER_ADVANCE) then elseif c:IsRace(TRRIGGER_ADVANCE) then
...@@ -629,12 +631,12 @@ function VgD.CardTriggerOperation(chkop,f) ...@@ -629,12 +631,12 @@ function VgD.CardTriggerOperation(chkop,f)
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(AttackTriggerFlag)
if not label then return end if not label then return end
if label>0 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(AttackTriggerFlag)
rc:RegisterFlagEffect(AttackTriggerFlag,RESET_EVENT+RESETS_STANDARD,0,1,label) rc:RegisterFlagEffect(AttackTriggerFlag,RESET_EVENT+RESETS_STANDARD,0,1,label)
elseif label==0 then elseif label==1 then
rc:ResetFlagEffect(AttackTriggerFlag) rc:ResetFlagEffect(AttackTriggerFlag)
end end
end end
...@@ -1025,8 +1027,9 @@ function VgD.TriggerCountUpOperation(num) ...@@ -1025,8 +1027,9 @@ 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(AttackTriggerFlag)
if not label then if label and label>0 then
label=label+num label=label+num
if label<0 then label=0 end
c:ResetFlagEffect(AttackTriggerFlag) c:ResetFlagEffect(AttackTriggerFlag)
c:RegisterFlagEffect(AttackTriggerFlag,RESET_EVENT+RESETS_STANDARD,0,1,label) c:RegisterFlagEffect(AttackTriggerFlag,RESET_EVENT+RESETS_STANDARD,0,1,label)
else else
......
...@@ -24,7 +24,7 @@ LOCATION_EMBLEM =0x8000 --纹章区 ...@@ -24,7 +24,7 @@ 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
LOCATION_ALL =LOCATION_DECK+LOCATION_HAND+LOCATION_ONFIELD+LOCATION_REMOVED+LOCATION_GRAVE+LOCATION_EXTRA LOCATION_ALL =0xffff
--Locations (for redirect) 若在重定向类效果中仅指定LOCATION_DECK则为弹回卡组顶部 --Locations (for redirect) 若在重定向类效果中仅指定LOCATION_DECK则为弹回卡组顶部
LOCATION_DECKBOT =0x10001 --弹回卡组底部 LOCATION_DECKBOT =0x10001 --弹回卡组底部
LOCATION_DECKSHF =0x20001 --弹回卡组并洗牌 LOCATION_DECKSHF =0x20001 --弹回卡组并洗牌
...@@ -145,7 +145,7 @@ SUMMON_TYPE_RIDE =0x49000000 --骑升 ...@@ -145,7 +145,7 @@ SUMMON_TYPE_RIDE =0x49000000 --骑升
SUMMON_TYPE_LINK =0x4c000000 --连接召唤 SUMMON_TYPE_LINK =0x4c000000 --连接召唤
--Summon Value --特定的召唤方式 --Summon Value --特定的召唤方式
SUMMON_VALUE_CALL =0x1 --通常CALL出场 SUMMON_VALUE_CALL =0x1 --通常CALL出场
SUMMON_VALUE_SYNCHRO_MATERIAL =0x11 --特殊召唤并作为同调素材(黑羽-东云之东风检查) SUMMON_VALUE_REVOLT =0x2 --反抗舞装
SUMMON_VALUE_DARK_SANCTUARY =0x12 --暗黑圣域 SUMMON_VALUE_DARK_SANCTUARY =0x12 --暗黑圣域
SUMMON_VALUE_MONSTER_REBORN =0x13 --死者苏生(千年的启示) SUMMON_VALUE_MONSTER_REBORN =0x13 --死者苏生(千年的启示)
SUMMON_VALUE_MASK_CHANGE =0x14 -- SUMMON_VALUE_MASK_CHANGE =0x14 --
......
...@@ -304,10 +304,12 @@ end ...@@ -304,10 +304,12 @@ end
---将g(中的每一张卡)Call到单位区。返回Call成功的数量。 ---将g(中的每一张卡)Call到单位区。返回Call成功的数量。
---@param g Card|Group 要Call的卡(片组) ---@param g Card|Group 要Call的卡(片组)
---@param sumtype integer Call的方式,默认填0 ---@param sumtype integer Call的方式,默认填0
---@param sp integer 表示形式 ---@param tp integer Call的玩家
---@param zone integer 指示要Call到的格子。<br>前列的R:17; 后列的R:14; 全部的R:31; V:32 ---@param zone integer 指示要Call到的格子。<br>前列的R:17; 后列的R:14; 全部的R:31; V:32
---@param pos integer 表示形式
---@return integer Call成功的数量 ---@return integer Call成功的数量
function VgF.Call(g,sumtype,tp,zone,pos) function VgF.Call(g,sumtype,tp,zone,pos)
if not g then return 0 end
if VgF.GetValueType(pos)~="number" then pos=POS_FACEUP_ATTACK end if VgF.GetValueType(pos)~="number" then pos=POS_FACEUP_ATTACK end
if zone and zone>0 then if zone and zone>0 then
local z=VgF.GetAvailableLocation(tp,zone) local z=VgF.GetAvailableLocation(tp,zone)
...@@ -392,6 +394,38 @@ function VgF.AtkUp(c,g,val,reset) ...@@ -392,6 +394,38 @@ function VgF.AtkUp(c,g,val,reset)
return e1,1 return e1,1
end end
end end
---以c的名义,使g(中的每一张卡)的盾值上升val,并在reset时重置。
---@param c Card 要使卡上升盾值的卡
---@param g Card|Group 要被上升盾值的卡
---@param val integer 要上升的盾值(可以为负)
---@param reset integer|nil 指示重置的时点,默认为“回合结束时”。无论如何,都会在离场时重置。
function VgF.DefUp(c,g,val,reset)
if not c then return end
if not reset then reset=RESET_PHASE+PHASE_END end
if not val or val==0 then return end
if VgF.GetValueType(g)=="Group" and g:GetCount()>0 then
local e={}
for tc in VgF.Next(g) do
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_DEFENSE)
e1:SetValue(val)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+reset)
tc:RegisterEffect(e1)
table.insert(e,e1)
end
return e,#e
elseif VgF.GetValueType(g)=="Card" then
local tc=VgF.ReturnCard(g)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_DEFENSE)
e1:SetValue(val)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+reset)
tc:RegisterEffect(e1)
return e1,1
end
end
---以c的名义,使g(中的每一张卡)的☆上升val,并在reset时重置。 ---以c的名义,使g(中的每一张卡)的☆上升val,并在reset时重置。
---@param c Card 要使卡上升☆的卡 ---@param c Card 要使卡上升☆的卡
---@param g Card|Group 要被上升☆的卡 ---@param g Card|Group 要被上升☆的卡
...@@ -562,7 +596,7 @@ function VgF.SearchCard(loc,f) ...@@ -562,7 +596,7 @@ function VgF.SearchCard(loc,f)
end end
function VgF.SearchCardOP(loc,f,e,tp,eg,ep,ev,re,r,rp) function VgF.SearchCardOP(loc,f,e,tp,eg,ep,ev,re,r,rp)
if not loc then return end if not loc then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp ,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,function (c) local g=Duel.SelectMatchingCard(tp,function (c)
if VgF.GetValueType(f)=="function" and not f(c) then return false end if VgF.GetValueType(f)=="function" and not f(c) then return false end
return c:IsAbleToHand() return c:IsAbleToHand()
...@@ -647,22 +681,16 @@ function VgF.BackFilter(c) ...@@ -647,22 +681,16 @@ function VgF.BackFilter(c)
local seq=c:GetSequence() local seq=c:GetSequence()
return (seq==1 or seq==2 or seq==3) and c:IsType(TYPE_MONSTER) return (seq==1 or seq==2 or seq==3) and c:IsType(TYPE_MONSTER)
end end
function VgF.SetOrderFilter(c,ct) function VgF.PrisonFilter(c,ct)
return c:GetSequence() == ct-1 return c:GetSequence() == ct-1
end end
---返回p场上的设置指令。
---@param p integer
---@return Card
function VgF.GetSetOrder(p)
local og=Duel.GetFieldGroup(p,LOCATION_ORDER,0)
return og:Filter(VgF.PrisonFilter,nil,og:GetCount()):GetFirst()
end
---收容g(中的每一张卡)到p的监狱。没有监狱时,不操作。 ---收容g(中的每一张卡)到p的监狱。没有监狱时,不操作。
---@param g Card|Group ---@param g Card|Group
---@param p integer ---@param p integer
function VgF.SendtoPrison(g,p) function VgF.SendtoPrison(g,p)
if not VgF.CheckPrison(p) or not g then return end if not VgF.CheckPrison(p) or not g then return end
local oc=VgF.GetSetOrder(p) local og=Duel.GetFieldGroup(p,LOCATION_ORDER,0)
local oc=og:Filter(VgF.PrisonFilter,nil,og:GetCount()):GetFirst()
if VgF.GetValueType(g)=="Card" then if VgF.GetValueType(g)=="Card" then
Duel.Sendto(g,p,LOCATION_ORDER,POS_FACEUP_ATTACK,REASON_EFFECT) Duel.Sendto(g,p,LOCATION_ORDER,POS_FACEUP_ATTACK,REASON_EFFECT)
g:RegisterFlagEffect(ImprisonFlag,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,vgf.Stringid(10105015,0)) g:RegisterFlagEffect(ImprisonFlag,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,vgf.Stringid(10105015,0))
...@@ -678,6 +706,23 @@ end ...@@ -678,6 +706,23 @@ end
---@param p integer ---@param p integer
---@return boolean 指示p场上有没有监狱。 ---@return boolean 指示p场上有没有监狱。
function VgF.CheckPrison(p) function VgF.CheckPrison(p)
local oc=VgF.GetSetOrder(p) local og=Duel.GetFieldGroup(p,LOCATION_ORDER,0)
local oc=og:Filter(VgF.PrisonFilter,nil,og:GetCount()):GetFirst()
return oc:IsSetCard(0x3040) return oc:IsSetCard(0x3040)
end
--重置Effect
function VgF.EffectReset(c,e,code,con)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(code)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetRange(LOCATION_ALL)
e1:SetLabelObject(e)
if VgF.GetValueType(con)=="function" then e1:SetCondition(con) end
e1:SetOperation(VgF.EffectResetOperation)
c:RegisterEffect(e1)
end
function VgF.EffectResetOperation(e,tp,eg,ep,ev,re,r,rp)
local e1=e:GetLabelObject()
if e1 then e1:Reset() 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)
--【永】:这张卡将要被RIDE之际,这张卡也当做「朱斯贝克 “破天黎骑”」使用。
vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,EVENT_BATTLED,cm.operation,nil,cm.condition)
--【永】【R】:这个回合中曾有你的等级3以上的先导者登场过的话,这个单位的力量+5000。
vgd.EffectTypeContinuousChangeAttack(c,EFFECT_TYPE_SINGLE,5000,cm.con)
if not cm.global_check then
cm.global_check=true
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_SPSUMMON_SUCCESS)
ge1:SetCondition(cm.checkcon)
ge1:SetOperation(cm.checkop)
Duel.RegisterEffect(ge1,0)
end
end end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFlagEffect(tp,m)>0
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CALL)
local g=Duel.SelectMatchingCard(tp,cm.filter,tp,LOCATION_HAND,0,1,1,nil,e,tp)
if vgf.Call(g,SUMMON_VALUE_REVOLT,tp,0x20)>0 then
vgd.TriggerCountUp(c,-2,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
end
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
end
function cm.filter(c,e,tp)
return c:IsSetCard(0x76) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_ATTACK)
end
function cm.checkfilter(c)
return (c:IsSummonType(SUMMON_TYPE_SELFRIDE) or c:IsSummonType(SUMMON_TYPE_RIDE)) and c:IsLevelAbove(4)
end
function cm.checkcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(cm.checkfilter,1,nil)
end
function cm.checkop(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
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.BeRidedByCard(c,m,cm.filter,vgf.SearchCard(LOCATION_DROP,cm.filter1),VgF.DamageCost(1))
vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_FIELD,EVENT_CUSTOM+EVENT_SUPPORT,cm.operation1,VgF.OverlayCost(1),cm.condition1)
end end
function cm.filter(c)
return c:IsSetCard(0x202)
end
function cm.filter1(c)
return c:IsLevelAbove(3)
end
function cm.condition1(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(cm.cfilter,1,nil) and Duel.GetAttacker()==e:GetHandler()
end
function cm.operation1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local e1=vgf.AtkUp(c,c,5000,nil)
vgf.EffectReset(c,e1,EVENT_BATTLED)
end
function cm.cfilter(c,mc)
return vgf.GetColumnGroup(c):IsContains(mc) and c:IsControler(mc:GetControler()) and c:GetFlagEffect(SupportFlag)>0
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.BeRidedByCard(c,m,10203002,cm.operation,vgf.OverlayCost(1))
vgd.EffectTypeContinuousChangeAttack(c,EFFECT_TYPE_SINGLE,2000,cm.con)
end end
function cm.con(e)
return Duel.GetAttacker()==e:GetHandler()
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetDecktopGroup(tp,3)
Duel.ConfirmCards(tp,g)
Duel.DisableShuffleCheck()
local off=1
local ops={}
local a=g:IsExists(cm.filter,1,nil)
local b=g:IsExists(cm.filter1,1,nil,e,tp)
if a then
ops[off]=1190
off=off+1
end
if b then
ops[off]=1152
off=off+1
end
ops[off]=1194
if Duel.SelectOption(tp,table.unpack(ops))==0 and a then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local sg=g:FilterSelect(tp,cm.filter,0,1,nil)
Duel.DisableShuffleCheck()
Duel.SendtoHand(sg,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,sg)
g:RemoveCard(vgf.ReturnCard(sg))
elseif (Duel.SelectOption(tp,table.unpack(ops))==1 and a and b) or (Duel.SelectOption(tp,table.unpack(ops))==0 and not a and b) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CALL)
local sg=g:FilterSelect(tp,cm.filter1,0,1,nil)
vgf.Call(sg,0,tp)
g:RemoveCard(vgf.ReturnCard(sg))
end
if #g>1 then
Duel.SortDecktop(tp,tp,#g-1)
for i=1,#g-1 do
local dg=Duel.GetDecktopGroup(tp,2)
Duel.MoveSequence(dg:GetFirst(),SEQ_DECKBOTTOM)
end
end
end
function cm.filter(c)
return c:IsSetCard(0x77) and c:IsAbleToHand()
end
function cm.filter1(c,e,tp)
return c:IsLevelBelow(3) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_ATTACK) and vgf.GetAvailableLocation(tp)>0
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,loc,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,nil,cm.con)
vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,EVENT_PHASE,cm.op1,nil,cm.con1)
if not cm.global_check then
cm.global_check=true
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_SPSUMMON_SUCCESS)
ge1:SetCondition(cm.checkcon)
ge1:SetOperation(cm.checkop)
Duel.RegisterEffect(ge1,0)
end
end end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsSummonType(SUMMON_VALUE_REVOLT)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
vgf.AtkUp(c,c,15000)
if Duel.GetFlagEffect(tp,m)>0 then vgf.StarUp(c,c,1) end
end
function cm.checkcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(Card.IsSummonType,1,nil,SUMMON_TYPE_SELFRIDE)
end
function cm.checkop(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
end
function cm.con1(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==tp
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_Call)
local g=vgf.GetVMonster(tp):GetOverlayGroup():FilterSelect(tp,cm.filter,1,1,nil,e,tp)
if g then
vgf.Call()
end
end
function cm.filter(c,e,tp)
return c:IsSetCard(0x202) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE)
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.EffectTypeIgnition(c,m,LOCATION_MZONE,cm.operation,vgf.DamageCost(2),cm.condition,nil,1)
end end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
vgf.AtkUp(c,c,10000,nil)
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return vgf.RMonsterFilter(c) and Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_MZONE,0,1,nil)
end
function cm.filter(c)
return vgf.VMonsterFilter and c:IsSetCard(0x77)
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,LOCATION_MZONE,EFFECT_TYPE_FIELD,EVENT_SPSUMMON_SUCCESS,cm.operation,VgF.DamageCost(1),cm.condition)
end end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return VgF.RMonsterFilter(c) and eg:IsExists(cm.filter,1,nil,tp)
end
function cm.filter(c,tp)
return c:IsSummonType(SUMMON_VALUE_REVOLT) and vgf.VMonsterFilter(c) and c:IsControler(tp)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
vgf.AtkUp(c,c,10000)
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,loc,EFFECT_TYPE_SINGLE,EVENT_MOVE,cm.op,nil,cm.con)
end end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsLocation(LOCATION_GZONE) and vgf.GetVMonster(tp):GetOverlayGroup():FilterCount(Card.IsSetCard,nil,0x76)>=1
end
function cm.filter(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local e1=vgf.DefUp(c,c,10000)
vgf.EffectReset(c,e1,EVENT_BATTLED)
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,loc,EFFECT_TYPE_SINGLE,EVENT_DISCARD,cm.operation,vgf.True,cm.condition)
end end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetCurrentPhase()==PHASE_STANDBY
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if vgf.GetAvailableLocation(tp)<=0 then return end
vgf.Call(c,0,tp)
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,LOCATION_MZONE,EFFECT_TYPE_SINGLE,EVENT_BATTLED,cm.operation,cm.cost,cm.condition)
end end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return vgf.RMonsterFilter(c) and VgF.VMonsterFilter(Duel.GetAttackTarget()) and Duel.IsExistingMatchingCard(nil,tp,LOCATION_MZONE,0,4,nil)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetMatchingGroup(VgF.VMonsterFilter,tp,LOCATION_MZONE,0,nil,nil):GetFirst():GetOverlayGroup():FilterCount(Card.IsAbleToGraveAsCost,nil)>=1 and e:GetHandler():IsAbleToGraveAsCost() end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVEXYZ)
local g=Duel.GetMatchingGroup(VgF.VMonsterFilter,tp,LOCATION_MZONE,0,nil):GetFirst():GetOverlayGroup():FilterSelect(tp,Card.IsAbleToGraveAsCost,1,1,nil)
g:AddCard(e:GetHandler())
Duel.SendtoGrave(g,REASON_COST)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetDecktopGroup(tp,3)
Duel.ConfirmCards(tp,g)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local sg=g:FilterSelect(tp,cm.filter,0,1,nil)
if sg:GetCount()>0 then
Duel.SendtoHand(sg,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,sg)
else
Duel.Draw(tp,1,REASON_EFFECT)
Duel.ShuffleDeck(tp)
end
end
function cm.filter(c)
return c:IsLevelAbove(3) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand()
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.SpellActivate(c,m,vgf.SearchCard(LOCATION_DECK,cm.filter),cm.condition,vgf.DamageCost(1))
end end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return vgf.GetVMonster(tp):IsSetCard(0x202)
end
function cm.filter(c)
return c:IsCode(10203005)
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