Commit 27b30c11 authored by Momobako's avatar Momobako

Push by Appveyor

parent d3ea820c
No preview for this file type
--动物朋友 东之青龙 --动物朋友 东之青龙
xpcall(function() require("expansions/script/c37564765") end,function() require("script/c37564765") end)
function c33700082.initial_effect(c) function c33700082.initial_effect(c)
Senya.AddSummonSE(c,aux.Stringid(33700082,1))
Senya.AddAttackSE(c,aux.Stringid(33700082,2))
c:EnableReviveLimit() c:EnableReviveLimit()
--deck check --deck check
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
...@@ -50,6 +53,7 @@ function c33700082.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -50,6 +53,7 @@ function c33700082.target(e,tp,eg,ep,ev,re,r,rp,chk)
if Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)<hg then return false end if Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)<hg then return false end
return Duel.GetLocationCount(tp,LOCATION_MZONE,0)>0 return Duel.GetLocationCount(tp,LOCATION_MZONE,0)>0
end end
Duel.Hint(12,0,aux.Stringid(33700082,3))
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,LOCATION_DECK)
end end
function c33700082.spfilter(c,e,tp) function c33700082.spfilter(c,e,tp)
......
--动物朋友 南之朱雀 --动物朋友 南之朱雀
xpcall(function() require("expansions/script/c37564765") end,function() require("script/c37564765") end)
function c33700083.initial_effect(c) function c33700083.initial_effect(c)
Senya.AddSummonSE(c,aux.Stringid(33700083,1))
Senya.AddAttackSE(c,aux.Stringid(33700083,2))
c:EnableReviveLimit() c:EnableReviveLimit()
aux.AddFusionProcFunRep(c,c33700083.ffilter,2,true) aux.AddFusionProcFunRep(c,c33700083.ffilter,2,true)
-- --
...@@ -65,6 +68,7 @@ function c33700083.tg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -65,6 +68,7 @@ function c33700083.tg(e,tp,eg,ep,ev,re,r,rp,chk)
local sg=Duel.GetFieldGroup(tp,LOCATION_HAND,0) local sg=Duel.GetFieldGroup(tp,LOCATION_HAND,0)
local tg=Duel.GetMatchingGroup(Card.IsAbleToHand,tp,LOCATION_GRAVE,0,nil) local tg=Duel.GetMatchingGroup(Card.IsAbleToHand,tp,LOCATION_GRAVE,0,nil)
if chk==0 then return sg:GetCount()>0 and Duel.IsExistingMatchingCard(Card.IsAbleToHand,tp,LOCATION_GRAVE,0,sg:GetCount(),nil) and not Duel.IsExistingMatchingCard(c33700083.cfilter,tp,LOCATION_HAND,0,1,nil) end if chk==0 then return sg:GetCount()>0 and Duel.IsExistingMatchingCard(Card.IsAbleToHand,tp,LOCATION_GRAVE,0,sg:GetCount(),nil) and not Duel.IsExistingMatchingCard(c33700083.cfilter,tp,LOCATION_HAND,0,1,nil) end
Duel.Hint(12,0,aux.Stringid(33700083,3))
Duel.SetOperationInfo(0,CATEGORY_HANDES,sg,sg:GetCount(),0,0) Duel.SetOperationInfo(0,CATEGORY_HANDES,sg,sg:GetCount(),0,0)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,tg,sg:GetCount(),0,0) Duel.SetOperationInfo(0,CATEGORY_TOHAND,tg,sg:GetCount(),0,0)
end end
......
--动物朋友 北之玄武 --动物朋友 北之玄武
xpcall(function() require("expansions/script/c37564765") end,function() require("script/c37564765") end) xpcall(function() require("expansions/script/c37564765") end,function() require("script/c37564765") end)
function c33700084.initial_effect(c) function c33700084.initial_effect(c)
Senya.AddSummonSE(c,aux.Stringid(33700084,2))
Senya.AddAttackSE(c,aux.Stringid(33700084,3))
--xyz summon --xyz summon
c:EnableReviveLimit() c:EnableReviveLimit()
Senya.AddXyzProcedureCustom(c,c33700084.xyzfilter,c33700084.xyzcheck,1,2) Senya.AddXyzProcedureCustom(c,c33700084.xyzfilter,c33700084.xyzcheck,1,2)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33700084,4))
e2:SetType(EFFECT_TYPE_SINGLE) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
...@@ -52,6 +55,7 @@ end ...@@ -52,6 +55,7 @@ end
function c33700084.drtg(e,tp,eg,ep,ev,re,r,rp,chk) function c33700084.drtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDraw(tp) if chk==0 then return Duel.IsPlayerCanDraw(tp)
and Duel.IsExistingMatchingCard(Card.IsAbleToDeck,tp,LOCATION_HAND,0,1,nil) end and Duel.IsExistingMatchingCard(Card.IsAbleToDeck,tp,LOCATION_HAND,0,1,nil) end
Duel.Hint(12,0,aux.Stringid(33700084,5))
Duel.SetTargetPlayer(tp) Duel.SetTargetPlayer(tp)
Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,1,tp,LOCATION_HAND) Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,1,tp,LOCATION_HAND)
end end
......
--动物朋友 西之白虎 --动物朋友 西之白虎
xpcall(function() require("expansions/script/c37564765") end,function() require("script/c37564765") end) xpcall(function() require("expansions/script/c37564765") end,function() require("script/c37564765") end)
function c33700085.initial_effect(c) function c33700085.initial_effect(c)
Senya.AddAttackSE(c,aux.Stringid(33700085,1))
Senya.AddSummonSE(c,aux.Stringid(33700085,3))
--synchro summon --synchro summon
aux.AddSynchroProcedure2(c,nil,aux.NonTuner(nil)) aux.AddSynchroProcedure2(c,nil,aux.NonTuner(nil))
c:EnableReviveLimit() c:EnableReviveLimit()
...@@ -33,6 +35,7 @@ function c33700085.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -33,6 +35,7 @@ function c33700085.target(e,tp,eg,ep,ev,re,r,rp,chk)
local result=g:FilterCount(Card.IsAbleToHand,nil)>0 local result=g:FilterCount(Card.IsAbleToHand,nil)>0
return result return result
end end
Duel.Hint(12,0,aux.Stringid(33700093,2))
Duel.SetTargetPlayer(tp) Duel.SetTargetPlayer(tp)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,0,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,0,LOCATION_DECK)
end end
......
--动物朋友 团三郎狸 --动物朋友 团三郎狸
xpcall(function() require("expansions/script/c37564765") end,function() require("script/c37564765") end)
function c33700086.initial_effect(c) function c33700086.initial_effect(c)
Senya.AddSummonSE(c,aux.Stringid(33700086,0))
Senya.AddAttackSE(c,aux.Stringid(33700086,1))
--synchro summon --synchro summon
aux.AddSynchroProcedure2(c,nil,aux.NonTuner(nil)) aux.AddSynchroProcedure2(c,nil,aux.NonTuner(nil))
c:EnableReviveLimit() c:EnableReviveLimit()
--copy --copy
local e1=Effect.CreateEffect(c) local ex=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(14017402,0)) ex:SetType(EFFECT_TYPE_SINGLE)
e1:SetRange(LOCATION_MZONE) ex:SetCode(33700086)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) ex:SetRange(LOCATION_MZONE)
e1:SetCode(EVENT_ADJUST) ex:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_SINGLE_RANGE)
e1:SetCondition(c33700086.con) c:RegisterEffect(ex)
e1:SetOperation(c33700086.op) local ex=Effect.CreateEffect(c)
c:RegisterEffect(e1) ex:SetType(EFFECT_TYPE_SINGLE)
ex:SetCode(33710086)
ex:SetRange(LOCATION_MZONE)
ex:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
c:RegisterEffect(ex)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_ADJUST)
e2:SetRange(LOCATION_MZONE)
e2:SetOperation(c33700086.op)
c:RegisterEffect(e2)
c33700086[e2]={}
--atk/def --atk/def
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE) e2:SetType(EFFECT_TYPE_SINGLE)
...@@ -26,29 +40,59 @@ function c33700086.initial_effect(c) ...@@ -26,29 +40,59 @@ function c33700086.initial_effect(c)
e3:SetValue(3200) e3:SetValue(3200)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c33700086.con(e) function c33700086.copyfilter(c,ec)
local g=Duel.GetMatchingGroup(nil,e:GetHandlerPlayer(),0,LOCATION_GRAVE,nil) local g=Duel.GetMatchingGroup(nil,tp,0,LOCATION_GRAVE,nil)
return g:GetClassCount(Card.GetCode)<g:GetCount() return c:IsSetCard(0x442) and c:IsType(TYPE_EFFECT) and not c:IsType(TYPE_TRAPMONSTER) and not c:IsHasEffect(33700086) and g:GetClassCount(Card.GetCode)<g:GetCount()
end end
function c33700086.filter(c) function c33700086.gfilter(c,g)
return c:IsSetCard(0x442) and c:IsType(TYPE_MONSTER) if not g then return true end
and c:IsType(TYPE_EFFECT) return not g:IsContains(c)
end end
function c33700086.op(e,tp,eg,ep,ev,re,r,rp) function c33700086.gfilter1(c,g)
local g=Duel.GetMatchingGroup(c33700086.filter,tp,LOCATION_GRAVE,0,nil) if not g then return true end
local tc=g:GetFirst() return not g:IsExists(c33700086.gfilter2,1,nil,c:GetOriginalCode())
while tc do end
if tc:GetFlagEffect(33700086)==0 then function c33700086.gfilter2(c,code)
local code=tc:GetOriginalCode() return c:GetOriginalCode()==code
local reset_flag=RESET_EVENT+0x1fe0000+RESET_CHAIN+RESET_PHASE
e:GetHandler():CopyEffect(code,reset_flag,1)
tc:RegisterFlagEffect(33700086,RESET_EVENT+RESET_CHAIN+RESET_PHASE,0,1)
end end
tc=g:GetNext() function c33700086.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local copyt=c33700086[e]
local exg=Group.CreateGroup()
for tc,cid in pairs(copyt) do
if tc and cid then exg:AddCard(tc) end
end
local g=Duel.GetMatchingGroup(c33700086.copyfilter,tp,LOCATION_GRAVE,0,nil,tp)
local dg=exg:Filter(c33700086.gfilter,nil,g)
for tc in aux.Next(dg) do
c:ResetEffect(copyt[tc],RESET_COPY)
exg:RemoveCard(tc)
copyt[tc]=nil
end
local cg=g:Filter(c33700086.gfilter1,nil,exg)
local f=Card.RegisterEffect
Card.RegisterEffect=function(tc,e,forced)
e:SetCondition(c33700086.rcon(e:GetCondition(),tc,copyt))
f(tc,e,forced)
end
for tc in aux.Next(cg) do
copyt[tc]=c:CopyEffect(tc:GetOriginalCode(),RESET_EVENT+0x1fe0000,1)
end
Card.RegisterEffect=f
end end
function c33700086.rcon(con,tc,copyt)
return function(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsHasEffect(33710086) then
c:ResetEffect(c,copyt[tc],RESET_COPY)
copyt[tc]=nil
return false
end
return not con or con(e,tp,eg,ep,ev,re,r,rp)
end
end end
function c33700086.cfilter(c) function c33700086.cfilter(c)
return c:IsSetCard(0x442) and c:IsType(TYPE_MONSTER) return c:IsSetCard(0x442) and c:IsType(TYPE_MONSTER)
end end
function c33700086.adcon(e) function c33700086.adcon(e)
return not Duel.IsExistingMatchingCard(c33700086.cfilter,e:GetHandlerPlayer(),LOCATION_GRAVE,0,1,nil) return not Duel.IsExistingMatchingCard(c33700086.cfilter,e:GetHandlerPlayer(),LOCATION_GRAVE,0,1,nil)
......
--动物朋友 土狼 --动物朋友 土狼
xpcall(function() require("expansions/script/c37564765") end,function() require("script/c37564765") end)
function c33700093.initial_effect(c) function c33700093.initial_effect(c)
--tohand --tohand
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
...@@ -35,6 +36,7 @@ function c33700093.thfilter(c) ...@@ -35,6 +36,7 @@ function c33700093.thfilter(c)
end end
function c33700093.target(e,tp,eg,ep,ev,re,r,rp,chk) function c33700093.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c33700093.thfilter,tp,LOCATION_DECK,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(c33700093.thfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.Hint(12,0,aux.Stringid(33700093,0))
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end end
function c33700093.operation(e,tp,eg,ep,ev,re,r,rp) function c33700093.operation(e,tp,eg,ep,ev,re,r,rp)
......
--天蓝朋友 薮猫 --天蓝朋友 薮猫
xpcall(function() require("expansions/script/c37564765") end,function() require("script/c37564765") end)
function c33700098.initial_effect(c) function c33700098.initial_effect(c)
Senya.AddSummonSE(c,aux.Stringid(33700098,3))
Senya.AddAttackSE(c,aux.Stringid(33700098,4))
local e0=Effect.CreateEffect(c) local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE) e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e0:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
...@@ -86,6 +89,7 @@ end ...@@ -86,6 +89,7 @@ end
function c33700098.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c33700098.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and aux.disfilter1(chkc) end if chkc then return chkc:IsOnField() and aux.disfilter1(chkc) end
if chk==0 then return Duel.IsExistingTarget(aux.disfilter1,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end if chk==0 then return Duel.IsExistingTarget(aux.disfilter1,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end
Duel.Hint(12,0,aux.Stringid(33700098,5))
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
local g=Duel.SelectTarget(tp,aux.disfilter1,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil) local g=Duel.SelectTarget(tp,aux.disfilter1,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_DISABLE,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_DISABLE,g,1,0,0)
...@@ -123,6 +127,7 @@ function c33700098.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -123,6 +127,7 @@ function c33700098.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(1-tp) and chkc:IsFaceup() end if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(1-tp) and chkc:IsFaceup() end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0
and Duel.IsExistingTarget(Card.IsFaceup,tp,0,LOCATION_MZONE,1,nil) end and Duel.IsExistingTarget(Card.IsFaceup,tp,0,LOCATION_MZONE,1,nil) end
Duel.Hint(12,0,aux.Stringid(33700098,6))
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
Duel.SelectTarget(tp,Card.IsFaceup,tp,0,LOCATION_MZONE,1,1,nil) Duel.SelectTarget(tp,Card.IsFaceup,tp,0,LOCATION_MZONE,1,1,nil)
end end
......
--动物朋友 八咫乌 --动物朋友 八咫乌
xpcall(function() require("expansions/script/c37564765") end,function() require("script/c37564765") end)
function c33700104.initial_effect(c) function c33700104.initial_effect(c)
Senya.AddSummonSE(c,aux.Stringid(33700104,2))
Senya.AddAttackSE(c,aux.Stringid(33700104,3))
c33700104[c]={} c33700104[c]={}
local effect_list=c33700104[c] local effect_list=c33700104[c]
c:EnableCounterPermit(0x442) c:EnableCounterPermit(0x442)
...@@ -123,6 +126,7 @@ function c33700104.cost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -123,6 +126,7 @@ function c33700104.cost(e,tp,eg,ep,ev,re,r,rp,chk)
end end
function c33700104.ctg(e,tp,eg,ep,ev,re,r,rp,chk) function c33700104.ctg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsCanAddCounter(0x442,1) end if chk==0 then return e:GetHandler():IsCanAddCounter(0x442,1) end
Duel.Hint(12,0,aux.Stringid(33700104,4))
Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,1,0,0x442) Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,1,0,0x442)
end end
function c33700104.cop(e,tp,eg,ep,ev,re,r,rp) function c33700104.cop(e,tp,eg,ep,ev,re,r,rp)
...@@ -135,6 +139,7 @@ end ...@@ -135,6 +139,7 @@ end
function c33700104.retg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c33700104.retg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(1-tp) and chkc:IsAbleToRemove() end if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(1-tp) and chkc:IsAbleToRemove() end
if chk==0 then return Duel.IsExistingTarget(Card.IsAbleToRemove,tp,0,LOCATION_GRAVE,1,nil) end if chk==0 then return Duel.IsExistingTarget(Card.IsAbleToRemove,tp,0,LOCATION_GRAVE,1,nil) end
Duel.Hint(12,0,aux.Stringid(33700104,4))
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectTarget(tp,Card.IsAbleToRemove,tp,0,LOCATION_GRAVE,1,1,nil) local g=Duel.SelectTarget(tp,Card.IsAbleToRemove,tp,0,LOCATION_GRAVE,1,1,nil)
local tg=Duel.GetMatchingGroup(c33700104.refilter,tp,0,LOCATION_GRAVE,nil,g:GetFirst():GetCode()) local tg=Duel.GetMatchingGroup(c33700104.refilter,tp,0,LOCATION_GRAVE,nil,g:GetFirst():GetCode())
......
--动物朋友 稻荷神 --动物朋友 稻荷神
xpcall(function() require("expansions/script/c37564765") end,function() require("script/c37564765") end)
function c33700105.initial_effect(c) function c33700105.initial_effect(c)
Senya.AddSummonSE(c,aux.Stringid(33700105,0))
Senya.AddAttackSE(c,aux.Stringid(33700105,1))
--synchro summon --synchro summon
aux.AddSynchroProcedure2(c,nil,aux.NonTuner(nil)) aux.AddSynchroProcedure2(c,nil,aux.NonTuner(nil))
c:EnableReviveLimit() c:EnableReviveLimit()
......
--动物朋友 九尾狐 --动物朋友 九尾狐
xpcall(function() require("expansions/script/c37564765") end,function() require("script/c37564765") end)
function c33700173.initial_effect(c) function c33700173.initial_effect(c)
Senya.AddSummonSE(c,aux.Stringid(33700173,1))
Senya.AddAttackSE(c,aux.Stringid(33700173,2))
--synchro summon --synchro summon
aux.AddSynchroProcedure2(c,nil,aux.NonTuner(nil)) aux.AddSynchroProcedure2(c,nil,aux.NonTuner(nil))
c:EnableReviveLimit() c:EnableReviveLimit()
...@@ -35,6 +38,7 @@ function c33700173.tg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -35,6 +38,7 @@ function c33700173.tg(e,tp,eg,ep,ev,re,r,rp,chk)
local ct=Duel.GetMatchingGroupCount(c33700173.cgfilter,tp,LOCATION_MZONE,0,nil) local ct=Duel.GetMatchingGroupCount(c33700173.cgfilter,tp,LOCATION_MZONE,0,nil)
if chk==0 then return ct>0 and Duel.IsExistingMatchingCard(Card.IsAbleToGrave,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) if chk==0 then return ct>0 and Duel.IsExistingMatchingCard(Card.IsAbleToGrave,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil)
end end
Duel.Hint(12,0,aux.Stringid(33700173,3))
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,ct,0,0) Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,ct,0,0)
end end
function c33700173.op(e,tp,eg,ep,ev,re,r,rp) function c33700173.op(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -4,6 +4,10 @@ function c33700174.initial_effect(c) ...@@ -4,6 +4,10 @@ function c33700174.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(function(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.Hint(12,0,aux.Stringid(33700174,1))
end)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--set --set
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
......
...@@ -4,6 +4,10 @@ function c33700175.initial_effect(c) ...@@ -4,6 +4,10 @@ function c33700175.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(function(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.Hint(12,0,aux.Stringid(33700175,1))
end)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--set --set
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
......
...@@ -4,6 +4,10 @@ function c33700176.initial_effect(c) ...@@ -4,6 +4,10 @@ function c33700176.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(function(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.Hint(12,0,aux.Stringid(33700176,1))
end)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--set --set
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
......
...@@ -4,6 +4,10 @@ function c33700177.initial_effect(c) ...@@ -4,6 +4,10 @@ function c33700177.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(function(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.Hint(12,0,aux.Stringid(33700177,1))
end)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--set --set
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
......
...@@ -3,6 +3,7 @@ local m=33700181 ...@@ -3,6 +3,7 @@ local m=33700181
local cm=_G["c"..m] local cm=_G["c"..m]
xpcall(function() require("expansions/script/c37564765") end,function() require("script/c37564765") end) xpcall(function() require("expansions/script/c37564765") end,function() require("script/c37564765") end)
function cm.initial_effect(c) function cm.initial_effect(c)
Senya.AddSummonSE(c,aux.Stringid(m,1))
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,0)) e2:SetDescription(aux.Stringid(m,0))
e2:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH) e2:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
...@@ -62,6 +63,7 @@ end ...@@ -62,6 +63,7 @@ end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetMZoneCount(tp)>0 if chk==0 then return Duel.GetMZoneCount(tp)>0
and Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil,e,tp) end and Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.Hint(12,0,aux.Stringid(m,2))
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_GRAVE) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_GRAVE)
end end
function cm.spop(e,tp,eg,ep,ev,re,r,rp) function cm.spop(e,tp,eg,ep,ev,re,r,rp)
......
--动物朋友 刑部狸 --动物朋友 刑部狸
local m=33700182 local m=33700182
local cm=_G["c"..m] local cm=_G["c"..m]
xpcall(function() require("expansions/script/c37564765") end,function() require("script/c37564765") end)
function cm.initial_effect(c) function cm.initial_effect(c)
Senya.AddSummonSE(c,aux.Stringid(m,0))
Senya.AddAttackSE(c,aux.Stringid(m,1))
--synchro summon --synchro summon
aux.AddSynchroProcedure2(c,nil,aux.NonTuner(nil)) aux.AddSynchroProcedure2(c,nil,aux.NonTuner(nil))
c:EnableReviveLimit() c:EnableReviveLimit()
......
...@@ -3,6 +3,7 @@ local m=33700183 ...@@ -3,6 +3,7 @@ local m=33700183
local cm=_G["c"..m] local cm=_G["c"..m]
xpcall(function() require("expansions/script/c37564765") end,function() require("script/c37564765") end) xpcall(function() require("expansions/script/c37564765") end,function() require("script/c37564765") end)
function cm.initial_effect(c) function cm.initial_effect(c)
Senya.AddSummonSE(c,aux.Stringid(m,2))
--synchro summon --synchro summon
aux.AddSynchroProcedure(c,nil,aux.NonTuner(nil),1,1) aux.AddSynchroProcedure(c,nil,aux.NonTuner(nil),1,1)
c:EnableReviveLimit() c:EnableReviveLimit()
......
...@@ -3,6 +3,7 @@ local m=33700184 ...@@ -3,6 +3,7 @@ local m=33700184
local cm=_G["c"..m] local cm=_G["c"..m]
xpcall(function() require("expansions/script/c37564765") end,function() require("script/c37564765") end) xpcall(function() require("expansions/script/c37564765") end,function() require("script/c37564765") end)
function cm.initial_effect(c) function cm.initial_effect(c)
Senya.AddSummonSE(c,aux.Stringid(m,2))
--synchro summon --synchro summon
aux.AddSynchroProcedure(c,nil,aux.NonTuner(nil),1,1) aux.AddSynchroProcedure(c,nil,aux.NonTuner(nil),1,1)
c:EnableReviveLimit() c:EnableReviveLimit()
......
...@@ -59,6 +59,7 @@ end ...@@ -59,6 +59,7 @@ end
function cm.target1(e,tp,eg,ep,ev,re,r,rp,chk) function cm.target1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>=3 end if chk==0 then return Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>=3 end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
Duel.Hint(12,0,aux.Stringid(m,3))
end end
function cm.operation1(e,tp,eg,ep,ev,re,r,rp) function cm.operation1(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)<3 then return false end if Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)<3 then return false end
...@@ -68,6 +69,7 @@ function cm.operation1(e,tp,eg,ep,ev,re,r,rp) ...@@ -68,6 +69,7 @@ function cm.operation1(e,tp,eg,ep,ev,re,r,rp)
local b1=g:IsExists(Card.IsAbleToHand,1,nil) local b1=g:IsExists(Card.IsAbleToHand,1,nil)
local b2=e:GetHandler():IsRelateToEffect(e) and e:GetHandler():IsDiscardable() and e:GetHandler():IsLocation(LOCATION_HAND) and g:IsExists(function(c) return c:IsSetCard(0x442) and c:IsAbleToHand() end,1,nil) local b2=e:GetHandler():IsRelateToEffect(e) and e:GetHandler():IsDiscardable() and e:GetHandler():IsLocation(LOCATION_HAND) and g:IsExists(function(c) return c:IsSetCard(0x442) and c:IsAbleToHand() end,1,nil)
if b2 and Duel.SelectYesNo(tp,m*16+2) then if b2 and Duel.SelectYesNo(tp,m*16+2) then
Duel.Hint(12,0,aux.Stringid(m,5))
local tg=g:Filter(function(c) return c:IsSetCard(0x442) and c:IsAbleToHand() end,nil) local tg=g:Filter(function(c) return c:IsSetCard(0x442) and c:IsAbleToHand() end,nil)
Duel.BreakEffect() Duel.BreakEffect()
Duel.SendtoGrave(e:GetHandler(),REASON_EFFECT+REASON_DISCARD) Duel.SendtoGrave(e:GetHandler(),REASON_EFFECT+REASON_DISCARD)
...@@ -75,7 +77,10 @@ function cm.operation1(e,tp,eg,ep,ev,re,r,rp) ...@@ -75,7 +77,10 @@ function cm.operation1(e,tp,eg,ep,ev,re,r,rp)
g:Sub(Duel.GetOperatedGroup()) g:Sub(Duel.GetOperatedGroup())
Duel.ConfirmCards(1-tp,tg) Duel.ConfirmCards(1-tp,tg)
elseif b1 then elseif b1 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local tg=g:FilterSelect(tp,Card.IsAbleToHand,1,1,nil) local tg=g:FilterSelect(tp,Card.IsAbleToHand,1,1,nil)
Duel.Hint(12,0,aux.Stringid(m,4))
Duel.BreakEffect()
Duel.SendtoHand(tg,nil,REASON_EFFECT) Duel.SendtoHand(tg,nil,REASON_EFFECT)
g:Sub(Duel.GetOperatedGroup()) g:Sub(Duel.GetOperatedGroup())
Duel.ConfirmCards(1-tp,tg) Duel.ConfirmCards(1-tp,tg)
......
...@@ -2526,4 +2526,39 @@ end ...@@ -2526,4 +2526,39 @@ end
function cm.SelectRitualMaterial(c,g,tp,lv,f) function cm.SelectRitualMaterial(c,g,tp,lv,f)
local f=f or Card.GetRitualLevel local f=f or Card.GetRitualLevel
return cm.SelectGroup(tp,HINTMSG_RELEASE,g,cm.CheckRitualMaterialGoal,nil,1,99,c,tp,lv,f) return cm.SelectGroup(tp,HINTMSG_RELEASE,g,cm.CheckRitualMaterialGoal,nil,1,99,c,tp,lv,f)
end
--for anifriends sound effects
function cm.AddSummonSE(c,desc)
if c:IsStatus(STATUS_COPYING_EFFECT) or Senya.master_rule_3_flag then return end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_CANNOT_DISABLE)
e1:SetOperation(function()
Duel.Hint(12,0,desc)
end)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_FLIP_SUMMON_SUCCESS)
c:RegisterEffect(e2)
local e3=e1:Clone()
e3:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e3)
end
function cm.AddAttackSE(c,desc)
if not cm.AttackSEList then
cm.AttackSEList={}
local e1=Effect.GlobalEffect()
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_ATTACK_ANNOUNCE)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_CANNOT_DISABLE)
e1:SetCondition(function()
return cm.AttackSEList[Duel.GetAttacker()]
end)
e1:SetOperation(function()
Duel.Hint(12,0,cm.AttackSEList[Duel.GetAttacker()])
end)
Duel.RegisterEffect(e1,0)
end
cm.AttackSEList[c]=desc
end end
\ No newline at end of file
...@@ -96,8 +96,7 @@ function c57300022.rcon(con,tc,copyt) ...@@ -96,8 +96,7 @@ function c57300022.rcon(con,tc,copyt)
copyt[tc]=nil copyt[tc]=nil
return false return false
end end
if not con or con(e,tp,eg,ep,ev,re,r,rp) then return true end return not con or con(e,tp,eg,ep,ev,re,r,rp)
return e:IsHasType(0x7e0) and c:GetFlagEffect(m)>0
end end
end end
function c57300022.mfilter(c,xyzc) function c57300022.mfilter(c,xyzc)
......
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