Commit 07606cd2 authored by EndOfFuture's avatar EndOfFuture

update

parent a0f85d5b
...@@ -647,16 +647,22 @@ function VgF.BackFilter(c) ...@@ -647,16 +647,22 @@ 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.PrisonFilter(c,ct) function VgF.SetOrderFilter(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 og=Duel.GetFieldGroup(p,LOCATION_ORDER,0) local oc=VgF.GetSetOrder(p)
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))
...@@ -672,7 +678,6 @@ end ...@@ -672,7 +678,6 @@ end
---@param p integer ---@param p integer
---@return boolean 指示p场上有没有监狱。 ---@return boolean 指示p场上有没有监狱。
function VgF.CheckPrison(p) function VgF.CheckPrison(p)
local og=Duel.GetFieldGroup(p,LOCATION_ORDER,0) local oc=VgF.GetSetOrder(p)
local oc=og:Filter(VgF.PrisonFilter,nil,og:GetCount()):GetFirst()
return oc:IsSetCard(0x3040) return oc:IsSetCard(0x3040)
end 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