Commit ddd0f5dc authored by TanakaKotoha's avatar TanakaKotoha

i wanna

parent 52becc42
......@@ -18,7 +18,7 @@ function rslf.SpecialSummonFunction(c,code,con,op,buff)
aux.EnablePendulumAttribute(c)
if not c:IsStatus(STATUS_COPYING_EFFECT) then
local mt=getmetatable(c)
if not mt.lflist then
if not mt.lflist and buff then
mt.lflist=buff
end
end
......@@ -42,14 +42,13 @@ function rslf.ssop(op,buff)
end
end
function rslf.buffop(c1,c2,buff,bool)
--just optimize,no problem there. if crash, must have other problems
if buff and type(buff)=="function" then
local reset=not bool and RESET_EVENT+RESETS_STANDARD-RESET_LEAVE-RESET_TOFIELD+RESET_OVERLAY or RESET_EVENT+RESETS_STANDARD
local list={buff(c2)}
local reset=not bool and rsreset.est-RESET_TOFIELD or rsreset.est
local list={buff({c2,true})}
if #list==0 then return end
for k,buffeffect in pairs(list) do
buffeffect:SetRange(LOCATION_MZONE)
buffeffect:SetReset(reset)
--buffeffect:SetReset(reset)
end
c2:RegisterFlagEffect(m,reset,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(c1:GetOriginalCode(),2))
if not c2:IsType(TYPE_EFFECT) then
......@@ -78,7 +77,7 @@ end
function cm.spop(e,tp)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetTargetRange(1,0)
......@@ -99,7 +98,7 @@ function cm.op(e,tp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SELF)
local tc=Duel.SelectMatchingCard(tp,cm.cfilter,tp,LOCATION_DECK,0,1,1,nil,tp):GetFirst()
local b2=Duel.CheckLocation(tp,LOCATION_PZONE,0) or Duel.CheckLocation(tp,LOCATION_PZONE,1)
local op=rsof.SelectOption(tp,true,{m,0},b2,{m,1})
local op=rsop.SelectOption(tp,true,{m,0},b2,{m,1})
if op==1 then
Duel.SendtoExtraP(tc,nil,REASON_COST)
else
......
......@@ -17,9 +17,9 @@ function cm.op(e,tp)
Duel.MoveToField(tc,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
end
function cm.buff(c)
local e1=rsef.FV_LIMIT_PLAYER({c,true},"rm",nil,cm.tg,{1,0})
local e2=rsef.FV_LIMIT({c,true},"dis",nil,cm.distg,{0,LOCATION_EXTRA },cm.discon)
local e3=rsef.FV_LIMIT_PLAYER({c,true},"sp",nil,cm.distg,{0,1},cm.discon)
local e1=rsef.FV_LIMIT_PLAYER(c,"rm",nil,cm.tg,{1,0})
local e2=rsef.FV_LIMIT(c,"dis",nil,cm.distg,{0,LOCATION_EXTRA },cm.discon)
local e3=rsef.FV_LIMIT_PLAYER(c,"sp",nil,cm.distg,{0,1},cm.discon)
return e1,e2,e3
end
function cm.tg(e,c)
......@@ -29,5 +29,5 @@ function cm.distg(e,c)
return c:IsFaceup() and c:IsLocation(LOCATION_EXTRA) and c:IsControler(1-e:GetHandlerPlayer())
end
function cm.discon(e,tp)
return Duel.GetMatchingGroupCount(Card.IsFaceup,tp,LOCATION_EXTRA,0,nil)<Duel.GetMatchingGroupCount(Card.IsFaceup,tp,0,LOCATION_EXTRA,nil)
return Duel.GetMatchingGroupCount(Card.IsFaceup,e:GetHandlerPlayer(),LOCATION_EXTRA,0,nil)<Duel.GetMatchingGroupCount(Card.IsFaceup,e:GetHandlerPlayer(),0,LOCATION_EXTRA,nil)
end
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