Commit f85301da authored by POLYMER's avatar POLYMER

fix

parent 7e6cac2b
...@@ -54,13 +54,16 @@ function s.chtg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -54,13 +54,16 @@ function s.chtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
end end
function s.chop(e,tp,eg,ep,ev,re,r,rp) function s.chop(e,tp,eg,ep,ev,re,r,rp)
local g=Group.FromCards(re:GetHandler()) local g=Group.CreateGroup()
Duel.ChangeTargetCard(ev,g)
local op=re:GetOperation()
if not op then re:SetOperation(function() end) end
Duel.ChangeChainOperation(ev,s.repop) Duel.ChangeChainOperation(ev,s.repop)
end end
function s.repop(e,tp,eg,ep,ev,re,r,rp) function s.repop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) then if c:IsRelateToEffect(e) then
c:CancelToGrave() c:CancelToGrave()
if Duel.SendtoHand(c,nil,REASON_EFFECT)>0 and c:IsLocation(LOCATION_HAND) then if Duel.SendtoHand(c,nil,REASON_EFFECT)>0 and c:IsLocation(LOCATION_HAND) then
Duel.Draw(tp,1,REASON_EFFECT) Duel.Draw(tp,1,REASON_EFFECT)
end end
......
...@@ -70,6 +70,10 @@ function s.chtg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -70,6 +70,10 @@ function s.chtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
end end
function s.chop(e,tp,eg,ep,ev,re,r,rp) function s.chop(e,tp,eg,ep,ev,re,r,rp)
local g=Group.CreateGroup()
Duel.ChangeTargetCard(ev,g)
local op=re:GetOperation()
if not op then re:SetOperation(function() end) end
Duel.ChangeChainOperation(ev,s.repop) Duel.ChangeChainOperation(ev,s.repop)
end end
function s.repop(e,tp,eg,ep,ev,re,r,rp) function s.repop(e,tp,eg,ep,ev,re,r,rp)
......
--幻叙探索者 Neko --幻叙探索者 Neko
local s,id,o=GetID() local s,id,o=GetID()
local KOISHI_CHECK=false
if Card.SetCardData then KOISHI_CHECK=true end
function s.initial_effect(c) function s.initial_effect(c)
if c:IsOriginalCodeRule(id) then if c:IsOriginalCodeRule(id) and KOISHI_CHECK then
local tp=0 local tp=0
if Duel.GetFieldGroupCount(0,0,LOCATION_DECK)>0 or Duel.GetFieldGroupCount(0,LOCATION_EXTRA,0)>0 then tp=1 end if Duel.GetFieldGroupCount(0,0,LOCATION_DECK)>0 or Duel.GetFieldGroupCount(0,LOCATION_EXTRA,0)>0 then tp=1 end
local pname=s.getplayername(tp) local pname=s.getplayername(tp)
...@@ -125,19 +127,33 @@ function s.thop(e,tp,eg,ep,ev,re,r,rp) ...@@ -125,19 +127,33 @@ function s.thop(e,tp,eg,ep,ev,re,r,rp)
if tc:IsRelateToEffect(e) then if tc:IsRelateToEffect(e) then
Duel.SendtoHand(tc,nil,REASON_EFFECT) Duel.SendtoHand(tc,nil,REASON_EFFECT)
end end
local pname=s.getplayername(tp) if KOISHI_CHECK then
local lv=Duel.GetRegistryValue("pname") local pname=s.getplayername(tp)
if lv then local lv=Duel.GetRegistryValue("pname")
lv=lv+1 if lv then
Duel.SetRegistryValue("pname",lv) lv=lv+1
Duel.SetRegistryValue("pname",lv)
else
Duel.SetRegistryValue("pname",1)
end
local g=Duel.GetFieldGroup(0,0x7f,0x7f)
local xg=Duel.GetOverlayGroup(0,0x7f,0x7f)
g:Merge(xg)
g=g:Filter(s.cfilter,nil,tp)
for tc in aux.Next(g) do
s.setlv(c,lv)
end
else else
Duel.SetRegistryValue("pname",1) local g=Duel.GetFieldGroup(0,0x7f,0x7f)
end local xg=Duel.GetOverlayGroup(0,0x7f,0x7f)
local g=Duel.GetFieldGroup(0,0x7f,0x7f) g:Merge(xg)
local xg=Duel.GetOverlayGroup(0,0x7f,0x7f) g=g:Filter(s.cfilter,nil,tp)
g:Merge(xg) for tc in aux.Next(g) do
g=g:Filter(s.cfilter,nil,tp) local e1=Effect.CreateEffect(c)
for tc in aux.Next(g) do e1:SetType(EFFECT_TYPE_SINGLE)
s.setlv(c,lv) e1:SetCode(EFFECT_UPDATE_LEVEL)
e1:SetValue(1)
tc:RegisterEffect(e1)
end
end end
end end
\ No newline at end of file
...@@ -69,7 +69,7 @@ function s.acop(e,tp,eg,ep,ev,re,r,rp) ...@@ -69,7 +69,7 @@ function s.acop(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function s.effcost(e,tp,eg,ep,ev,re,r,rp,chk) function s.effcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsCanRemoveCounter(tp,0x1,3,REASON_COST) end if chk==0 then return e:GetHandler():IsCanRemoveCounter(tp,0x838,3,REASON_COST) end
e:GetHandler():RemoveCounter(tp,0x838,3,REASON_COST) e:GetHandler():RemoveCounter(tp,0x838,3,REASON_COST)
end end
function s.efftg(e,tp,eg,ep,ev,re,r,rp,chk) function s.efftg(e,tp,eg,ep,ev,re,r,rp,chk)
...@@ -91,7 +91,7 @@ function s.efftg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -91,7 +91,7 @@ function s.efftg(e,tp,eg,ep,ev,re,r,rp,chk)
end end
function s.effop(e,tp,eg,ep,ev,re,r,rp) function s.effop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local op=e:GetLabel() local op=e:GetLabel()
if op==1 then if op==1 then
if c:IsRelateToEffect(e) and c:IsFaceup() then if c:IsRelateToEffect(e) and c:IsFaceup() then
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
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