Commit a31003f7 authored by 花桃白音's avatar 花桃白音

fix

parent 35776288
No preview for this file type
......@@ -21,6 +21,7 @@ using System.Security.Cryptography;
using System.Text;
using System.Text.Json;
using System.Text.RegularExpressions;
using System.Threading;
using System.Web;
using System.Windows.Forms;
using System.Xml.Linq;
......@@ -237,8 +238,8 @@ namespace cardvisa
}
else
{
LittleGame lgm = new LittleGame();
lgm.Show();
MusicGame mg = new MusicGame();
mg.Show();
}
}
private void button6_Click(object sender, EventArgs e)
......@@ -505,6 +506,7 @@ namespace cardvisa
ob.Dispose();
}
}
public bool CompressImage(string sourcePath, string targetPath, int quality = 75, int maxsize = 120, bool sfsc = true, int rar4x = 2)
{
FileInfo firstFileInfo = new FileInfo(sourcePath);
......@@ -788,8 +790,15 @@ namespace cardvisa
{
if (flag2 == "pics")
{
Image img = Image.FromStream(stream);
CompressImage(img, tgpath);
if (stream.Length > 120 * 1024)
{
Image img = Image.FromStream(stream);
CompressImage(img, tgpath);
}
else
{
entry.ExtractToFile(tgpath);
}
}
else
{
......@@ -1136,7 +1145,7 @@ namespace cardvisa
int score = 100;
int shoot = 0;
int combo = 0;
DateTime LastClickTime = DateTime.MinValue;
DateTime LastClickTime = DateTime.MinValue;
public LittleGame()
{
Text = "抓住大猩猩";
......
......@@ -17,6 +17,7 @@ namespace cardvisa
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
//Form1()
}
}
}
--巫女神乐舞
function c4270000.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_REMOVE+CATEGORY_SPECIAL_SUMMON+CATEGORY_FUSION_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(c4270000.target)
e1:SetOperation(c4270000.operation)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_FUSION_SUMMON+CATEGORY_TODECK)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_REMOVE)
e2:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_CARD_TARGET)
e2:SetCountLimit(1,4270000)
e2:SetTarget(c4270000.target2)
e2:SetOperation(c4270000.operation2)
c:RegisterEffect(e2)
end
function c4270000.filter0(c)
return c:IsOnField() and c:IsAbleToRemove()
end
function c4270000.filter1(c,e)
return c:IsOnField() and c:IsAbleToRemove() and not c:IsImmuneToEffect(e)
end
function c4270000.filter2(c,e,tp,m,f,chkf)
return c:IsType(TYPE_FUSION) and c:IsSetCard(0xa28) and (not f or f(c))
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and c:CheckFusionMaterial(m,nil,chkf)
end
function c4270000.filter3(c)
return c:IsType(TYPE_MONSTER) and c:IsCanBeFusionMaterial() and c:IsAbleToRemove()
end
function c4270000.cfilter(c)
return c:IsSummonLocation(LOCATION_EXTRA)
end
function c4270000.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
local chkf=tp
local mg1=Duel.GetFusionMaterial(tp):Filter(c4270000.filter0,nil)
local mg2=Duel.GetMatchingGroup(c4270000.filter3,tp,LOCATION_GRAVE,0,nil)
mg1:Merge(mg2)
if Duel.IsExistingMatchingCard(c4270000.cfilter,tp,0,LOCATION_MZONE,1,nil) then
local mg3=Duel.GetMatchingGroup(c4270000.filter3,tp,LOCATION_DECK,0,nil)
mg1:Merge(mg3)
end
local res=Duel.IsExistingMatchingCard(c4270000.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
if not res then
local ce=Duel.GetChainMaterial(tp)
if ce~=nil then
local fgroup=ce:GetTarget()
local mg3=fgroup(ce,e,tp)
local mf=ce:GetValue()
res=Duel.IsExistingMatchingCard(c4270000.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg3,mf,chkf)
end
end
return res
end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,tp,LOCATION_ONFIELD+LOCATION_GRAVE)
end
function c4270000.operation(e,tp,eg,ep,ev,re,r,rp)
local chkf=tp
local mg1=Duel.GetFusionMaterial(tp):Filter(c4270000.filter1,nil,e)
local mg2=Duel.GetMatchingGroup(c4270000.filter3,tp,LOCATION_GRAVE,0,nil)
mg1:Merge(mg2)
if Duel.IsExistingMatchingCard(c4270000.cfilter,tp,0,LOCATION_MZONE,1,nil) then
local mg3=Duel.GetMatchingGroup(c4270000.filter3,tp,LOCATION_DECK,0,nil)
mg1:Merge(mg3)
end
local sg1=Duel.GetMatchingGroup(c4270000.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg1,nil,chkf)
local mg3=nil
local sg2=nil
local ce=Duel.GetChainMaterial(tp)
if ce~=nil then
local fgroup=ce:GetTarget()
mg3=fgroup(ce,e,tp)
local mf=ce:GetValue()
sg2=Duel.GetMatchingGroup(c4270000.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg3,mf,chkf)
end
if sg1:GetCount()>0 or (sg2~=nil and sg2:GetCount()>0) then
local sg=sg1:Clone()
if sg2 then sg:Merge(sg2) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tg=sg:Select(tp,1,1,nil)
local tc=tg:GetFirst()
if sg1:IsContains(tc) and (sg2==nil or not sg2:IsContains(tc) or not Duel.SelectYesNo(tp,ce:GetDescription())) then
local mat1=Duel.SelectFusionMaterial(tp,tc,mg1,nil,chkf)
tc:SetMaterial(mat1)
Duel.Remove(mat1,POS_FACEUP,REASON_EFFECT+REASON_MATERIAL+REASON_FUSION)
Duel.BreakEffect()
Duel.SpecialSummon(tc,SUMMON_TYPE_FUSION,tp,tp,false,false,POS_FACEUP)
else
local mat2=Duel.SelectFusionMaterial(tp,tc,mg3,nil,chkf)
local fop=ce:GetOperation()
fop(ce,e,tp,tc,mat2)
end
tc:CompleteProcedure()
end
end
function c4270000.tdfilter(c)
return c:IsFaceup() and c:IsSetCard(0xa28) and c:IsType(TYPE_MONSTER) and c:IsAbleToDeck()
end
function c4270000.tdfilter2(c,e,tp)
return c:IsType(TYPE_FUSION) and c:IsSetCard(0xa28) and c:CheckFusionMaterial()
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and Duel.GetLocationCountFromEx(tp,tp,nil,c)>0
end
function c4270000.target2(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_REMOVED) and chkc:IsControler(tp) and c4270000.tdfilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c4270000.tdfilter,tp,LOCATION_REMOVED,0,2,nil) and e:GetHandler():IsAbleToDeck() and aux.MustMaterialCheck(nil,tp,EFFECT_MUST_BE_FMATERIAL)
and Duel.IsExistingMatchingCard(c4270000.tdfilter2,tp,LOCATION_EXTRA,0,1,nil,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectTarget(tp,c4270000.tdfilter,tp,LOCATION_REMOVED,0,2,2,nil)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function c4270000.operation2(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS):Filter(Card.IsRelateToEffect,nil,e)
if g then
g:AddCard(e:GetHandler())
Duel.SendtoDeck(g,nil,SEQ_DECKBOTTOM,REASON_EFFECT)
end
if not aux.MustMaterialCheck(nil,tp,EFFECT_MUST_BE_FMATERIAL) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=Duel.SelectMatchingCard(tp,c4270000.tdfilter2,tp,LOCATION_EXTRA,0,1,1,nil,e,tp)
local tc=sg:GetFirst()
if not tc then return end
tc:SetMaterial(nil)
Duel.SpecialSummon(tc,SUMMON_TYPE_FUSION,tp,tp,false,false,POS_FACEUP)
tc:CompleteProcedure()
end
\ No newline at end of file
--狐巫女神乐舞
function c4270001.initial_effect(c)
aux.AddCodeList(c,4270007)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_REMOVE)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetCountLimit(1,4270001)
e1:SetTarget(c4270001.target)
e1:SetOperation(c4270001.operation)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_REMOVE)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCountLimit(1,4270002)
e3:SetTarget(c4270001.target2)
e3:SetOperation(c4270001.operation2)
c:RegisterEffect(e3)
end
function c4270001.target(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
local tg=Duel.GetDecktopGroup(tp,3)
if chk==0 then return tg:FilterCount(Card.IsAbleToRemove,nil,tp,POS_FACEUP)==3 end
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,3,tp,LOCATION_DECK)
end
function c4270001.thfilter(c)
return c:IsCode(4270000) and c:IsAbleToHand()
end
function c4270001.thfilter1(c)
return c:IsCode(4270007) and c:IsFaceup()
end
function c4270001.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tg=Duel.GetDecktopGroup(tp,3)
if #tg==0 then return end
Duel.DisableShuffleCheck()
local g=Duel.GetMatchingGroup(c4270001.thfilter,tp,LOCATION_DECK,0,nil)
if Duel.Remove(tg,POS_FACEUP,REASON_EFFECT)>0
and Duel.IsExistingMatchingCard(c4270001.thfilter1,tp,LOCATION_REMOVED,0,1,nil) and g:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(4270001,0)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local sg=g:Select(tp,1,1,nil)
Duel.SendtoHand(sg,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,sg)
Duel.ShuffleHand(tp)
end
end
function c4270001.target2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function c4270001.operation2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)>0 then
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_REMOVE)
e1:SetType(EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_ATTACK_ANNOUNCE)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetCondition(c4270001.atkcon)
e1:SetOperation(c4270001.atkop)
Duel.RegisterEffect(e1,tp)
end
end
function c4270001.atkcon(e,tp,eg,ep,ev,re,r,rp)
local at=Duel.GetAttacker()
return at:IsControler(tp) and at:IsSetCard(0xa28)
end
function c4270001.atkop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_CARD,0,4270001)
local tg=Duel.GetDecktopGroup(1-tp,1)
if #tg==0 then return end
Duel.DisableShuffleCheck()
Duel.Remove(tg,POS_FACEUP,REASON_EFFECT)
end
\ No newline at end of file
--猫巫女神乐舞
function c4270002.initial_effect(c)
xpcall(123)
aux.AddCodeList(c,4270008)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_REMOVE)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_CHAINING)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,4270003)
e1:SetCondition(c4270002.condition)
e1:SetCost(c4270002.cost)
e1:SetTarget(c4270002.target)
e1:SetOperation(c4270002.operation)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_REMOVE)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCountLimit(1,4270004)
e2:SetTarget(c4270002.target2)
e2:SetOperation(c4270002.operation2)
c:RegisterEffect(e2)
end
function c4270002.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
local tg=Duel.GetDecktopGroup(tp,3)
if chk==0 then return #tg==3 and tg:FilterCount(Card.IsAbleToRemoveAsCost,nil)==3 end
Duel.DisableShuffleCheck()
Duel.Remove(tg,POS_FACEUP,REASON_COST)
end
function c4270002.condition(e,tp,eg,ep,ev,re,r,rp)
local loc=Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_LOCATION)
return rp~=tp and re:IsActiveType(TYPE_MONSTER) and loc&(LOCATION_HAND)~=0
end
function c4270002.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function c4270002.thfilter1(c)
return c:IsCode(4270008) and c:IsFaceup()
end
function c4270002.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
if Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)>0 and Duel.IsExistingMatchingCard(c4270002.filter,tp,LOCATION_REMOVED,0,1,nil) then
if re:GetHandler():IsLocation(LOCATION_DECK+LOCATION_EXTRA) or (re:GetHandler():IsFacedown() and not re:GetHandler():IsLocation(LOCATION_HAND)) then return end
Duel.Remove(eg,POS_FACEUP,REASON_EFFECT)
end
end
end
function c4270002.target2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function c4270002.operation2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)>0 then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_EXTRA_ATTACK_MONSTER)
e1:SetTargetRange(LOCATION_MZONE,0)
e1:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0xa28))
e1:SetValue(c4270002.atkval)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
end
function c4270002.atkfilter(c)
return c:IsSetCard(0xa28) and c:IsType(TYPE_MONSTER) and c:IsFaceup()
end
function c4270002.atkval(e,c)
local tp=c:GetControler()
return Duel.GetMatchingGroupCount(c4270002.atkfilter,tp,LOCATION_REMOVED,0,nil)
end
\ No newline at end of file
--狼巫女神乐舞
function c4270003.initial_effect(c)
aux.AddCodeList(c,4270009)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_REMOVE+CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,4270005)
e1:SetCost(c4270003.cost)
e1:SetCondition(c4270003.condition0)
e1:SetTarget(c4270003.target)
e1:SetOperation(c4270003.operation)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetCondition(c4270003.condition1)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_REMOVE)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCountLimit(1,4270006)
e3:SetTarget(c4270003.target2)
e3:SetOperation(c4270003.operation2)
c:RegisterEffect(e3)
end
function c4270003.filter(c,tp)
return c:IsCode(4270009) and c:IsFaceup()
end
function c4270003.condition0(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingTarget(c4270003.filter,tp,LOCATION_REMOVED,0,1,nil)
end
function c4270003.condition1(e,tp,eg,ep,ev,re,r,rp)
return not Duel.IsExistingTarget(c4270003.filter,tp,LOCATION_REMOVED,0,1,nil)
end
function c4270003.cfilter(c,tp)
return c:IsType(TYPE_MONSTER) and c:IsAbleToRemoveAsCost()
end
function c4270003.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
return Duel.IsExistingMatchingCard(c4270003.cfilter,tp,LOCATION_HAND,0,1,e:GetHandler(),tp)
end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,c4270003.cfilter,tp,LOCATION_HAND,0,1,1,e:GetHandler(),tp)
Duel.Remove(g,POS_FACEUP,REASON_COST)
end
function c4270003.target(e,tp,eg,ep,ev,re,r,rp,chk)
local tg1=Duel.GetDecktopGroup(tp,2)
local tg2=Duel.GetDecktopGroup(1-tp,2)
if not tg1 or not tg2 then return end
tg1:Merge(tg2)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP) and tg1:FilterCount(Card.IsAbleToRemove,nil)==4 end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,2,1-tp,LOCATION_DECK)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,2,tp,LOCATION_DECK)
end
function c4270003.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
local tg1=Duel.GetDecktopGroup(tp,2)
local tg2=Duel.GetDecktopGroup(1-tp,2)
if Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)>0 and tg1 and tg2 and tg1:FilterCount(Card.IsAbleToRemove,nil)==2 and tg2:FilterCount(Card.IsAbleToRemove,nil)==2 then
Duel.DisableShuffleCheck()
tg1:Merge(tg2)
Duel.Remove(tg1,POS_FACEUP,REASON_EFFECT)
end
end
end
function c4270003.target2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function c4270003.operation2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)>0 then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetTargetRange(LOCATION_MZONE,0)
e1:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0xa28))
e1:SetValue(c4270003.atkval)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
end
function c4270003.atkfilter(c)
return c:IsSetCard(0xa28) and c:IsType(TYPE_MONSTER) and c:IsFaceup()
end
function c4270003.atkval(e,c)
local tp=c:GetControler()
return Duel.GetMatchingGroupCount(c4270003.atkfilter,tp,LOCATION_REMOVED,0,nil)*300
end
\ No newline at end of file
--狐巫女神乐舞-红叶之姿
function c4270004.initial_effect(c)
aux.AddCodeList(c,4270001)
c:EnableReviveLimit()
aux.AddFusionProcCodeFun(c,4270001,aux.FilterBoolFunction(Card.IsFusionSetCard,0xa28),1,true,true)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_REMOVE)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCountLimit(1,4270007)
e1:SetTarget(c4270004.target)
e1:SetOperation(c4270004.operation)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_DISABLE)
e2:SetRange(LOCATION_MZONE)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetCountLimit(1,4270008)
e2:SetCost(aux.bfgcost)
e2:SetCondition(c4270004.condition1)
e2:SetTarget(c4270004.target2)
e2:SetOperation(c4270004.operation2)
c:RegisterEffect(e2)
local e3=e2:Clone()
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetCondition(c4270004.condition2)
c:RegisterEffect(e3)
end
function c4270004.target(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
local tg1=Duel.GetDecktopGroup(tp,2)
local tg2=Duel.GetDecktopGroup(1-tp,2)
if not tg1 or not tg2 then return end
tg1:Merge(tg2)
if chk==0 then return tg1:FilterCount(Card.IsAbleToRemove,nil,tp,POS_FACEUP)==4 end
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,2,tp,LOCATION_DECK)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,2,1-tp,LOCATION_DECK)
end
function c4270004.thfilter(c)
return c:IsSetCard(0xa28) and c:IsAbleToHand() and c:IsFaceup()
end
function c4270004.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local a=0
local tg1=Duel.GetDecktopGroup(tp,2)
local tg2=Duel.GetDecktopGroup(1-tp,2)
if #tg1<2 or #tg2<2 then return end
tg1:Merge(tg2)
local g=Duel.GetMatchingGroup(c4270004.thfilter,tp,LOCATION_REMOVED,0,nil)
Duel.DisableShuffleCheck()
if Duel.Remove(tg1,POS_FACEUP,REASON_EFFECT)>0 and g:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(4270004,0)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local sg=g:Select(tp,1,1,nil)
Duel.SendtoHand(sg,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,sg)
Duel.ShuffleHand(tp)
end
end
function c4270004.filter(c,tp)
return c:IsCode(4270001) and c:IsFaceup()
end
function c4270004.condition1(e,tp,eg,ep,ev,re,r,rp)
return not Duel.IsExistingTarget(c4270004.filter,tp,LOCATION_REMOVED,0,1,nil)
end
function c4270004.condition2(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingTarget(c4270004.filter,tp,LOCATION_REMOVED,0,1,nil)
end
function c4270004.target2(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and aux.NegateEffectMonsterFilter(chkc) and chck:IsControler(1-tp) end
if chk==0 then return Duel.IsExistingTarget(aux.NegateEffectMonsterFilter,tp,0,LOCATION_MZONE,2,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISABLE)
Duel.SelectTarget(tp,aux.NegateEffectMonsterFilter,tp,0,LOCATION_MZONE,2,2,nil)
end
function c4270004.operation2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS):Filter(Card.IsRelateToEffect,nil,e)
if not g then return end
local tc=g:GetFirst()
while tc do
if tc:IsFaceup() then
Duel.NegateRelatedChain(tc,RESET_TURN_SET)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_DISABLE_EFFECT)
e2:SetValue(RESET_TURN_SET)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e2)
end
tc=g:GetNext()
end
end
\ No newline at end of file
--猫巫女神乐舞-红叶之姿
function c4270005.initial_effect(c)
aux.AddCodeList(c,4270002)
c:EnableReviveLimit()
aux.AddFusionProcCodeFun(c,4270002,aux.FilterBoolFunction(Card.IsFusionSetCard,0xa28),1,true,true)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_REMOVE+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCountLimit(1,4270009)
e1:SetTarget(c4270005.target)
e1:SetOperation(c4270005.operation)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_REMOVE)
e2:SetRange(LOCATION_MZONE)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetCountLimit(1,4270010)
e2:SetCost(aux.bfgcost)
e2:SetCondition(c4270005.condition1)
e2:SetTarget(c4270005.target2)
e2:SetOperation(c4270005.operation2)
c:RegisterEffect(e2)
local e3=e2:Clone()
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetCondition(c4270005.condition2)
c:RegisterEffect(e3)
end
function c4270005.target(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
local tg1=Duel.GetDecktopGroup(tp,1)
local tg2=Duel.GetDecktopGroup(1-tp,1)
if not tg1 or not tg2 then return end
tg1:Merge(tg2)
if chk==0 then return tg1:FilterCount(Card.IsAbleToRemove,nil,tp,POS_FACEUP)==2 end
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,tp,LOCATION_DECK)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,1-tp,LOCATION_DECK)
end
function c4270005.thfilter(c)
return c:IsSetCard(0xa28) and c:IsAbleToHand()
end
function c4270005.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local a=0
local tg1=Duel.GetDecktopGroup(tp,1)
local tg2=Duel.GetDecktopGroup(1-tp,1)
if #tg1<1 or #tg2<1 then return end
tg1:Merge(tg2)
local g=Duel.GetMatchingGroup(c4270005.thfilter,tp,LOCATION_DECK,0,nil)
Duel.DisableShuffleCheck()
if Duel.Remove(tg1,POS_FACEUP,REASON_EFFECT)>0 and g:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(4270005,0)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local sg=g:Select(tp,1,1,nil)
Duel.SendtoHand(sg,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,sg)
Duel.ShuffleHand(tp)
end
end
function c4270005.filter(c,tp)
return c:IsCode(4270002) and c:IsFaceup()
end
function c4270005.condition1(e,tp,eg,ep,ev,re,r,rp)
return not Duel.IsExistingTarget(c4270005.filter,tp,LOCATION_REMOVED,0,1,nil)
end
function c4270005.condition2(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingTarget(c4270005.filter,tp,LOCATION_REMOVED,0,1,nil)
end
function c4270005.filter2(c,tp)
return c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsAbleToRemove()
end
function c4270005.target2(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and c4270005.filter2(chkc) and chck:IsControler(1-tp) end
if chk==0 then return Duel.IsExistingTarget(c4270005.filter2,tp,0,LOCATION_ONFIELD,2,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
Duel.SelectTarget(tp,c4270005.filter2,tp,0,LOCATION_ONFIELD,2,2,nil)
end
function c4270005.operation2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS):Filter(Card.IsRelateToEffect,nil,e)
if not g then return end
Duel.Remove(g,POS_FACEUP,REASON_EFFECT)
end
\ No newline at end of file
--猫巫女神乐舞-红叶之姿
function c4270006.initial_effect(c)
aux.AddCodeList(c,4270003)
c:EnableReviveLimit()
aux.AddFusionProcCodeFun(c,4270003,aux.FilterBoolFunction(Card.IsFusionSetCard,0xa28),1,true,true)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_REMOVE+CATEGORY_LEAVE_GRAVE)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCountLimit(1,4270011)
e1:SetTarget(c4270006.target)
e1:SetOperation(c4270006.operation)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_REMOVE)
e2:SetRange(LOCATION_MZONE)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetCountLimit(1,4270012)
e2:SetCost(aux.bfgcost)
e2:SetCondition(c4270006.condition1)
e2:SetTarget(c4270006.target2)
e2:SetOperation(c4270006.operation2)
c:RegisterEffect(e2)
local e3=e2:Clone()
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetCondition(c4270006.condition2)
c:RegisterEffect(e3)
end
function c4270006.target(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
local tg1=Duel.GetDecktopGroup(tp,3)
local tg2=Duel.GetDecktopGroup(1-tp,3)
if not tg1 or not tg2 then return end
tg1:Merge(tg2)
if chk==0 then return tg1:FilterCount(Card.IsAbleToRemove,nil,tp,POS_FACEUP)==6 end
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,tp,LOCATION_DECK)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,1-tp,LOCATION_DECK)
end
function c4270006.rmfilter(c)
return c:IsSetCard(0xa28) and c:IsAbleToRemove()
end
function c4270006.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local a=0
local tg1=Duel.GetDecktopGroup(tp,3)
local tg2=Duel.GetDecktopGroup(1-tp,3)
if #tg1<3 or #tg2<3 then return end
tg1:Merge(tg2)
local g=Duel.GetMatchingGroup(c4270006.rmfilter,tp,LOCATION_GRAVE,0,nil)
Duel.DisableShuffleCheck()
if Duel.Remove(tg1,POS_FACEUP,REASON_EFFECT)>0 and g:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(4270006,0)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local sg=g:Select(tp,1,2,nil)
Duel.Remove(sg,POS_FACEUP,REASON_EFFECT)
end
end
function c4270006.filter(c,tp)
return c:IsCode(4270003) and c:IsFaceup()
end
function c4270006.condition1(e,tp,eg,ep,ev,re,r,rp)
return not Duel.IsExistingTarget(c4270006.filter,tp,LOCATION_REMOVED,0,1,nil)
end
function c4270006.condition2(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingTarget(c4270006.filter,tp,LOCATION_REMOVED,0,1,nil)
end
function c4270006.target2(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsAbleToRemove() and chck:IsControler(1-tp) end
if chk==0 then return Duel.IsExistingTarget(Card.IsAbleToRemove,tp,0,LOCATION_MZONE,2,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
Duel.SelectTarget(tp,Card.IsAbleToRemove,tp,0,LOCATION_MZONE,2,2,nil)
end
function c4270006.operation2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS):Filter(Card.IsRelateToEffect,nil,e)
if not g then return end
Duel.Remove(g,POS_FACEUP,REASON_EFFECT)
end
--巫女神乐舞-狐之守候
function c4270007.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_REMOVE)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(c4270007.target)
e1:SetOperation(c4270007.operation)
c:RegisterEffect(e1)
--set
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TODECK)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetRange(LOCATION_REMOVED)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCountLimit(1,4270013)
e2:SetCondition(c4270007.condition2)
e2:SetTarget(c4270007.target2)
e2:SetOperation(c4270007.operation2)
c:RegisterEffect(e2)
end
function c4270007.filter(c)
return c:IsSetCard(0xa28) and c:IsAbleToRemove()
end
function c4270007.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetDecktopGroup(1-tp,3):FilterCount(Card.IsAbleToRemove,nil)==3 and Duel.IsExistingMatchingCard(c4270007.filter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,3,1-tp,LOCATION_DECK)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
end
function c4270007.operation(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local tc=Duel.SelectMatchingCard(tp,c4270007.filter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil)
if tc and Duel.Remove(tc,POS_FACEUP,REASON_EFFECT)>0 then
local g=Duel.GetDecktopGroup(1-tp,3)
if #g>0 then
Duel.BreakEffect()
Duel.DisableShuffleCheck()
Duel.Remove(g,POS_FACEUP,REASON_EFFECT)
end
end
end
function c4270007.cfilter(c,tp)
return c:IsRace(RACE_BEASTWARRIOR) and c:IsControler(tp) and c:IsFaceup()
end
function c4270007.condition2(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c4270007.cfilter,1,nil,tp) and not eg:IsContains(e:GetHandler())
end
function c4270007.target2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsSSetable() end
Duel.SetOperationInfo(0,CATEGORY_LEAVE_GRAVE,e:GetHandler(),1,0,0)
end
function c4270007.operation2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
local g=Duel.GetMatchingGroup(nil,tp,LOCATION_REMOVED,0,c)
local sg=g:Filter(Card.IsAbleToDeck,nil)
if Duel.SSet(tp,c)>0 and g:GetCount()>=7 and sg:GetCount()>=3 and Duel.SelectYesNo(tp,aux.Stringid(4270007,0)) then
local tg=sg:RandomSelect(tp,3)
Duel.SendtoDeck(tg,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)
end
end
end
--巫女神乐舞-猫之回忆
function c4270008.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TODECK)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetTarget(c4270008.target)
e1:SetOperation(c4270008.operation)
c:RegisterEffect(e1)
--set
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_REMOVE)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetRange(LOCATION_REMOVED)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCountLimit(1,4270014)
e2:SetCondition(c4270008.condition2)
e2:SetTarget(c4270008.target2)
e2:SetOperation(c4270008.operation2)
c:RegisterEffect(e2)
end
function c4270008.filter(c)
return c:IsSetCard(0xa28) and c:IsAbleToDeck() and (c:IsFaceup() or c:IsLocation(LOCATION_GRAVE))
end
function c4270008.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE+LOCATION_REMOVED) and chck:IsControler(tp) and c4270008.filter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c4270008.filter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,3,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectTarget(tp,c4270008.filter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,3,3,nil)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,3,tp,LOCATION_GRAVE+LOCATION_REMOVED)
end
function c4270008.operation(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS):Filter(Card.IsRelateToEffect,nil,e)
if g then
if Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)>0 and Duel.IsPlayerCanDraw(tp,1) and Duel.IsPlayerCanDraw(1-tp,1) then
Duel.Draw(tp,1,REASON_EFFECT)
Duel.Draw(1-tp,1,REASON_EFFECT)
end
end
end
function c4270008.cfilter(c,tp)
return c:IsRace(RACE_BEASTWARRIOR) and c:IsControler(tp) and c:IsFaceup()
end
function c4270008.condition2(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c4270008.cfilter,1,nil,tp) and not eg:IsContains(e:GetHandler())
end
function c4270008.target2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsSSetable() end
Duel.SetOperationInfo(0,CATEGORY_LEAVE_GRAVE,e:GetHandler(),1,0,0)
end
function c4270008.operation2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
local sg=Duel.GetDecktopGroup(1-tp,3)
local g=Duel.GetMatchingGroup(nil,tp,LOCATION_REMOVED,0,c)
if Duel.SSet(tp,c)>0 and g:GetCount()>=7 and #sg>0 and Duel.SelectYesNo(tp,aux.Stringid(4270008,0)) then
Duel.DisableShuffleCheck()
Duel.Remove(sg,POS_FACEUP,REASON_EFFECT)
end
end
end
\ No newline at end of file
--巫女神乐舞-狼之誓言
function c4270009.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TODECK)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetTarget(c4270009.target)
e1:SetOperation(c4270009.operation)
c:RegisterEffect(e1)
--set
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_REMOVE)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetRange(LOCATION_REMOVED)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCountLimit(1,4270015)
e2:SetCondition(c4270009.condition2)
e2:SetTarget(c4270009.target2)
e2:SetOperation(c4270009.operation2)
c:RegisterEffect(e2)
end
function c4270009.filter(c,tp)
return c:IsSetCard(0xa28) and c:IsAbleToRemove()
and Duel.IsExistingTarget(Card.IsAbleToDeck,tp,LOCATION_GRAVE,LOCATION_GRAVE,2,c)
end
function c4270009.filter1(c,e,tp)
return c:IsSetCard(0xa28) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
end
function c4270009.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return false end
if chk==0 then return Duel.IsExistingTarget(c4270009.filter,tp,LOCATION_GRAVE,LOCATION_GRAVE,1,nil,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectTarget(tp,c4270009.filter,tp,LOCATION_GRAVE,LOCATION_GRAVE,1,1,nil,tp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g2=Duel.SelectTarget(tp,Card.IsAbleToDeck,tp,LOCATION_GRAVE,LOCATION_GRAVE,2,2,g)
g:Merge(g2)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,g,3,0,0)
end
function c4270009.operation(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS):Filter(Card.IsRelateToEffect,nil,e)
if g and Duel.Remove(g,POS_FACEUP,REASON_EFFECT)>0 and Duel.IsExistingMatchingCard(c4270009.filter1,tp,LOCATION_REMOVED,0,1,nil,e,tp) and Duel.SelectYesNo(tp,aux.Stringid(4270009,1)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tc=Duel.SelectMatchingCard(tp,c4270009.filter1,tp,LOCATION_REMOVED,0,1,1,nil,e,tp)
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
end
end
function c4270009.filter2(c)
return c:IsSetCard(0xa28) and c:IsAbleToHand() and c:IsFaceup()
end
function c4270009.cfilter(c,tp)
return c:IsRace(RACE_BEASTWARRIOR) and c:IsControler(tp) and c:IsFaceup()
end
function c4270009.condition2(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c4270009.cfilter,1,nil,tp) and not eg:IsContains(e:GetHandler())
end
function c4270009.target2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsSSetable() end
Duel.SetOperationInfo(0,CATEGORY_LEAVE_GRAVE,e:GetHandler(),1,0,0)
end
function c4270009.operation2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
local g=Duel.GetMatchingGroup(nil,tp,LOCATION_REMOVED,0,c)
local sg=g:Filter(c4270009.filter2,nil)
if Duel.SSet(tp,c)>0 and g:GetCount()>=7 and sg:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(4270009,0)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local tg=sg:Select(tp,1,1,nil)
Duel.SendtoHand(tg,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tg)
end
end
end
--巫女神乐舞-红叶之姿
function c4270010.initial_effect(c)
--Activate
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_ACTIVATE)
e0:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e0)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_IMMUNE_EFFECT)
e1:SetRange(LOCATION_FZONE)
e1:SetTargetRange(LOCATION_MZONE,0)
e1:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0xa28))
e1:SetCondition(c4270010.imcon)
e1:SetValue(c4270010.efilter)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_SEARCH)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_TO_GRAVE)
e2:SetRange(LOCATION_FZONE)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCountLimit(1)
e2:SetCondition(c4270010.condition)
e2:SetTarget(c4270010.target)
e2:SetOperation(c4270010.operation)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_REMOVE)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCountLimit(1,4270016)
e3:SetTarget(c4270010.target2)
e3:SetOperation(c4270010.operation2)
c:RegisterEffect(e3)
end
function c4270010.imcon(e)
local ph=Duel.GetCurrentPhase()
return ph>=PHASE_BATTLE_START and ph<=PHASE_BATTLE
end
function c4270010.efilter(e,re)
return e:GetHandlerPlayer()~=re:GetOwnerPlayer()
end
function c4270010.cfilter(c,tp)
return c:IsSetCard(0xa28) and c:IsPreviousControler(tp) and c:IsPreviousPosition(POS_FACEUP)
end
function c4270010.condition(e,tp,eg,ep,ev,re,r,rp)
return not eg:IsContains(e:GetHandler()) and eg:Filter(c4270010.cfilter,nil,tp)
end
function c4270010.target(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Group.CreateGroup()
local gc=eg:GetFirst()
while gc do
if gc:IsCode(4270006) then
local g1=Duel.GetMatchingGroup(Card.IsCode,tp,LOCATION_DECK,0,nil,4270003)
if g1 then g:Merge(g1) end
elseif gc:IsCode(4270005) then
local g1=Duel.GetMatchingGroup(Card.IsCode,tp,LOCATION_DECK,0,nil,4270002)
if g1 then g:Merge(g1) end
elseif gc:IsCode(4270004) then
local g1=Duel.GetMatchingGroup(Card.IsCode,tp,LOCATION_DECK,0,nil,4270001)
if g1 then g:Merge(g1) end
elseif gc:IsCode(4270003) then
local g1=Duel.GetMatchingGroup(Card.IsCode,tp,LOCATION_DECK,0,nil,4270009)
if g1 then g:Merge(g1) end
elseif gc:IsCode(4270002) then
local g1=Duel.GetMatchingGroup(Card.IsCode,tp,LOCATION_DECK,0,nil,4270008)
if g1 then g:Merge(g1) end
elseif gc:IsCode(4270001) then
local g1=Duel.GetMatchingGroup(Card.IsCode,tp,LOCATION_DECK,0,nil,4270007)
if g1 then g:Merge(g1) end
end
gc=eg:GetNext()
end
if chk==0 then return g:IsExists(Card.IsAbleToHand,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function c4270010.operation(e,tp,eg,ep,ev,re,r,rp)
local g=Group.CreateGroup()
local gc=eg:GetFirst()
while gc do
if gc:IsCode(4270006) then
local g1=Duel.GetMatchingGroup(Card.IsCode,tp,LOCATION_DECK,0,nil,4270003)
if g1 then g:Merge(g1) end
elseif gc:IsCode(4270005) then
local g1=Duel.GetMatchingGroup(Card.IsCode,tp,LOCATION_DECK,0,nil,4270002)
if g1 then g:Merge(g1) end
elseif gc:IsCode(4270004) then
local g1=Duel.GetMatchingGroup(Card.IsCode,tp,LOCATION_DECK,0,nil,4270001)
if g1 then g:Merge(g1) end
elseif gc:IsCode(4270003) then
local g1=Duel.GetMatchingGroup(Card.IsCode,tp,LOCATION_DECK,0,nil,4270009)
if g1 then g:Merge(g1) end
elseif gc:IsCode(4270002) then
local g1=Duel.GetMatchingGroup(Card.IsCode,tp,LOCATION_DECK,0,nil,4270008)
if g1 then g:Merge(g1) end
elseif gc:IsCode(4270001) then
local g1=Duel.GetMatchingGroup(Card.IsCode,tp,LOCATION_DECK,0,nil,4270007)
if g1 then g:Merge(g1) end
end
gc=eg:GetNext()
end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local sg=g:FilterSelect(tp,Card.IsAbleToHand,1,1,nil)
if sg then
Duel.SendtoHand(sg,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,sg)
end
end
function c4270010.filter2(c)
return c:IsAbleToDeck() and c:IsFaceup()
end
function c4270010.target2(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.IsExistingTarget(c4270010.filter2,tp,LOCATION_REMOVED,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,1,tp,LOCATION_REMOVED)
end
function c4270010.operation2(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,c4270010.filter2,tp,LOCATION_REMOVED,0,1,3,nil)
if g then
Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)
end
end
\ No newline at end of file
这是一个文本本家
\ No newline at end of file
--猫巫女神乐舞
function c4270002.initial_effect(c)
xpcall(123)
aux.AddCodeList(c,4270008)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_REMOVE)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_CHAINING)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,4270003)
e1:SetCondition(c4270002.condition)
e1:SetCost(c4270002.cost)
e1:SetTarget(c4270002.target)
e1:SetOperation(c4270002.operation)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_REMOVE)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCountLimit(1,4270004)
e2:SetTarget(c4270002.target2)
e2:SetOperation(c4270002.operation2)
c:RegisterEffect(e2)
end
function c4270002.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
local tg=Duel.GetDecktopGroup(tp,3)
if chk==0 then return #tg==3 and tg:FilterCount(Card.IsAbleToRemoveAsCost,nil)==3 end
Duel.DisableShuffleCheck()
Duel.Remove(tg,POS_FACEUP,REASON_COST)
end
function c4270002.condition(e,tp,eg,ep,ev,re,r,rp)
local loc=Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_LOCATION)
return rp~=tp and re:IsActiveType(TYPE_MONSTER) and loc&(LOCATION_HAND)~=0
end
function c4270002.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function c4270002.thfilter1(c)
return c:IsCode(4270008) and c:IsFaceup()
end
function c4270002.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
if Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)>0 and Duel.IsExistingMatchingCard(c4270002.filter,tp,LOCATION_REMOVED,0,1,nil) then
if re:GetHandler():IsLocation(LOCATION_DECK+LOCATION_EXTRA) or (re:GetHandler():IsFacedown() and not re:GetHandler():IsLocation(LOCATION_HAND)) then return end
Duel.Remove(eg,POS_FACEUP,REASON_EFFECT)
end
end
end
function c4270002.target2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function c4270002.operation2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)>0 then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_EXTRA_ATTACK_MONSTER)
e1:SetTargetRange(LOCATION_MZONE,0)
e1:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0xa28))
e1:SetValue(c4270002.atkval)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
end
function c4270002.atkfilter(c)
return c:IsSetCard(0xa28) and c:IsType(TYPE_MONSTER) and c:IsFaceup()
end
function c4270002.atkval(e,c)
local tp=c:GetControler()
return Duel.GetMatchingGroupCount(c4270002.atkfilter,tp,LOCATION_REMOVED,0,nil)
end
\ No newline at end of file
#created by hakune
#main
4270000
4270001
4270002
4270003
4270007
4270008
4270009
4270010
#extra
4270004
4270005
4270006
\ No newline at end of file
--巫女神乐舞
function c4270000.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_REMOVE+CATEGORY_SPECIAL_SUMMON+CATEGORY_FUSION_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(c4270000.target)
e1:SetOperation(c4270000.operation)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_FUSION_SUMMON+CATEGORY_TODECK)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_REMOVE)
e2:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_CARD_TARGET)
e2:SetCountLimit(1,4270000)
e2:SetTarget(c4270000.target2)
e2:SetOperation(c4270000.operation2)
c:RegisterEffect(e2)
end
function c4270000.filter0(c)
return c:IsOnField() and c:IsAbleToRemove()
end
function c4270000.filter1(c,e)
return c:IsOnField() and c:IsAbleToRemove() and not c:IsImmuneToEffect(e)
end
function c4270000.filter2(c,e,tp,m,f,chkf)
return c:IsType(TYPE_FUSION) and c:IsSetCard(0xa28) and (not f or f(c))
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and c:CheckFusionMaterial(m,nil,chkf)
end
function c4270000.filter3(c)
return c:IsType(TYPE_MONSTER) and c:IsCanBeFusionMaterial() and c:IsAbleToRemove()
end
function c4270000.cfilter(c)
return c:IsSummonLocation(LOCATION_EXTRA)
end
function c4270000.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
local chkf=tp
local mg1=Duel.GetFusionMaterial(tp):Filter(c4270000.filter0,nil)
local mg2=Duel.GetMatchingGroup(c4270000.filter3,tp,LOCATION_GRAVE,0,nil)
mg1:Merge(mg2)
if Duel.IsExistingMatchingCard(c4270000.cfilter,tp,0,LOCATION_MZONE,1,nil) then
local mg3=Duel.GetMatchingGroup(c4270000.filter3,tp,LOCATION_DECK,0,nil)
mg1:Merge(mg3)
end
local res=Duel.IsExistingMatchingCard(c4270000.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
if not res then
local ce=Duel.GetChainMaterial(tp)
if ce~=nil then
local fgroup=ce:GetTarget()
local mg3=fgroup(ce,e,tp)
local mf=ce:GetValue()
res=Duel.IsExistingMatchingCard(c4270000.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg3,mf,chkf)
end
end
return res
end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,tp,LOCATION_ONFIELD+LOCATION_GRAVE)
end
function c4270000.operation(e,tp,eg,ep,ev,re,r,rp)
local chkf=tp
local mg1=Duel.GetFusionMaterial(tp):Filter(c4270000.filter1,nil,e)
local mg2=Duel.GetMatchingGroup(c4270000.filter3,tp,LOCATION_GRAVE,0,nil)
mg1:Merge(mg2)
if Duel.IsExistingMatchingCard(c4270000.cfilter,tp,0,LOCATION_MZONE,1,nil) then
local mg3=Duel.GetMatchingGroup(c4270000.filter3,tp,LOCATION_DECK,0,nil)
mg1:Merge(mg3)
end
local sg1=Duel.GetMatchingGroup(c4270000.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg1,nil,chkf)
local mg3=nil
local sg2=nil
local ce=Duel.GetChainMaterial(tp)
if ce~=nil then
local fgroup=ce:GetTarget()
mg3=fgroup(ce,e,tp)
local mf=ce:GetValue()
sg2=Duel.GetMatchingGroup(c4270000.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg3,mf,chkf)
end
if sg1:GetCount()>0 or (sg2~=nil and sg2:GetCount()>0) then
local sg=sg1:Clone()
if sg2 then sg:Merge(sg2) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tg=sg:Select(tp,1,1,nil)
local tc=tg:GetFirst()
if sg1:IsContains(tc) and (sg2==nil or not sg2:IsContains(tc) or not Duel.SelectYesNo(tp,ce:GetDescription())) then
local mat1=Duel.SelectFusionMaterial(tp,tc,mg1,nil,chkf)
tc:SetMaterial(mat1)
Duel.Remove(mat1,POS_FACEUP,REASON_EFFECT+REASON_MATERIAL+REASON_FUSION)
Duel.BreakEffect()
Duel.SpecialSummon(tc,SUMMON_TYPE_FUSION,tp,tp,false,false,POS_FACEUP)
else
local mat2=Duel.SelectFusionMaterial(tp,tc,mg3,nil,chkf)
local fop=ce:GetOperation()
fop(ce,e,tp,tc,mat2)
end
tc:CompleteProcedure()
end
end
function c4270000.tdfilter(c)
return c:IsFaceup() and c:IsSetCard(0xa28) and c:IsType(TYPE_MONSTER) and c:IsAbleToDeck()
end
function c4270000.tdfilter2(c,e,tp)
return c:IsType(TYPE_FUSION) and c:IsSetCard(0xa28) and c:CheckFusionMaterial()
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and Duel.GetLocationCountFromEx(tp,tp,nil,c)>0
end
function c4270000.target2(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_REMOVED) and chkc:IsControler(tp) and c4270000.tdfilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c4270000.tdfilter,tp,LOCATION_REMOVED,0,2,nil) and e:GetHandler():IsAbleToDeck() and aux.MustMaterialCheck(nil,tp,EFFECT_MUST_BE_FMATERIAL)
and Duel.IsExistingMatchingCard(c4270000.tdfilter2,tp,LOCATION_EXTRA,0,1,nil,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectTarget(tp,c4270000.tdfilter,tp,LOCATION_REMOVED,0,2,2,nil)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function c4270000.operation2(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS):Filter(Card.IsRelateToEffect,nil,e)
if g then
g:AddCard(e:GetHandler())
Duel.SendtoDeck(g,nil,SEQ_DECKBOTTOM,REASON_EFFECT)
end
if not aux.MustMaterialCheck(nil,tp,EFFECT_MUST_BE_FMATERIAL) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=Duel.SelectMatchingCard(tp,c4270000.tdfilter2,tp,LOCATION_EXTRA,0,1,1,nil,e,tp)
local tc=sg:GetFirst()
if not tc then return end
tc:SetMaterial(nil)
Duel.SpecialSummon(tc,SUMMON_TYPE_FUSION,tp,tp,false,false,POS_FACEUP)
tc:CompleteProcedure()
end
\ No newline at end of file
--狐巫女神乐舞
function c4270001.initial_effect(c)
aux.AddCodeList(c,4270007)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_REMOVE)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetCountLimit(1,4270001)
e1:SetTarget(c4270001.target)
e1:SetOperation(c4270001.operation)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_REMOVE)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCountLimit(1,4270002)
e3:SetTarget(c4270001.target2)
e3:SetOperation(c4270001.operation2)
c:RegisterEffect(e3)
end
function c4270001.target(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
local tg=Duel.GetDecktopGroup(tp,3)
if chk==0 then return tg:FilterCount(Card.IsAbleToRemove,nil,tp,POS_FACEUP)==3 end
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,3,tp,LOCATION_DECK)
end
function c4270001.thfilter(c)
return c:IsCode(4270000) and c:IsAbleToHand()
end
function c4270001.thfilter1(c)
return c:IsCode(4270007) and c:IsFaceup()
end
function c4270001.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tg=Duel.GetDecktopGroup(tp,3)
if #tg==0 then return end
Duel.DisableShuffleCheck()
local g=Duel.GetMatchingGroup(c4270001.thfilter,tp,LOCATION_DECK,0,nil)
if Duel.Remove(tg,POS_FACEUP,REASON_EFFECT)>0
and Duel.IsExistingMatchingCard(c4270001.thfilter1,tp,LOCATION_REMOVED,0,1,nil) and g:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(4270001,0)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local sg=g:Select(tp,1,1,nil)
Duel.SendtoHand(sg,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,sg)
Duel.ShuffleHand(tp)
end
end
function c4270001.target2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function c4270001.operation2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)>0 then
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_REMOVE)
e1:SetType(EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_ATTACK_ANNOUNCE)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetCondition(c4270001.atkcon)
e1:SetOperation(c4270001.atkop)
Duel.RegisterEffect(e1,tp)
end
end
function c4270001.atkcon(e,tp,eg,ep,ev,re,r,rp)
local at=Duel.GetAttacker()
return at:IsControler(tp) and at:IsSetCard(0xa28)
end
function c4270001.atkop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_CARD,0,4270001)
local tg=Duel.GetDecktopGroup(1-tp,1)
if #tg==0 then return end
Duel.DisableShuffleCheck()
Duel.Remove(tg,POS_FACEUP,REASON_EFFECT)
end
\ No newline at end of file
--狼巫女神乐舞
function c4270003.initial_effect(c)
aux.AddCodeList(c,4270009)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_REMOVE+CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,4270005)
e1:SetCost(c4270003.cost)
e1:SetCondition(c4270003.condition0)
e1:SetTarget(c4270003.target)
e1:SetOperation(c4270003.operation)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetCondition(c4270003.condition1)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_REMOVE)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCountLimit(1,4270006)
e3:SetTarget(c4270003.target2)
e3:SetOperation(c4270003.operation2)
c:RegisterEffect(e3)
end
function c4270003.filter(c,tp)
return c:IsCode(4270009) and c:IsFaceup()
end
function c4270003.condition0(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingTarget(c4270003.filter,tp,LOCATION_REMOVED,0,1,nil)
end
function c4270003.condition1(e,tp,eg,ep,ev,re,r,rp)
return not Duel.IsExistingTarget(c4270003.filter,tp,LOCATION_REMOVED,0,1,nil)
end
function c4270003.cfilter(c,tp)
return c:IsType(TYPE_MONSTER) and c:IsAbleToRemoveAsCost()
end
function c4270003.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
return Duel.IsExistingMatchingCard(c4270003.cfilter,tp,LOCATION_HAND,0,1,e:GetHandler(),tp)
end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,c4270003.cfilter,tp,LOCATION_HAND,0,1,1,e:GetHandler(),tp)
Duel.Remove(g,POS_FACEUP,REASON_COST)
end
function c4270003.target(e,tp,eg,ep,ev,re,r,rp,chk)
local tg1=Duel.GetDecktopGroup(tp,2)
local tg2=Duel.GetDecktopGroup(1-tp,2)
if not tg1 or not tg2 then return end
tg1:Merge(tg2)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP) and tg1:FilterCount(Card.IsAbleToRemove,nil)==4 end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,2,1-tp,LOCATION_DECK)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,2,tp,LOCATION_DECK)
end
function c4270003.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
local tg1=Duel.GetDecktopGroup(tp,2)
local tg2=Duel.GetDecktopGroup(1-tp,2)
if Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)>0 and tg1 and tg2 and tg1:FilterCount(Card.IsAbleToRemove,nil)==2 and tg2:FilterCount(Card.IsAbleToRemove,nil)==2 then
Duel.DisableShuffleCheck()
tg1:Merge(tg2)
Duel.Remove(tg1,POS_FACEUP,REASON_EFFECT)
end
end
end
function c4270003.target2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function c4270003.operation2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)>0 then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetTargetRange(LOCATION_MZONE,0)
e1:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0xa28))
e1:SetValue(c4270003.atkval)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
end
function c4270003.atkfilter(c)
return c:IsSetCard(0xa28) and c:IsType(TYPE_MONSTER) and c:IsFaceup()
end
function c4270003.atkval(e,c)
local tp=c:GetControler()
return Duel.GetMatchingGroupCount(c4270003.atkfilter,tp,LOCATION_REMOVED,0,nil)*300
end
\ No newline at end of file
--狐巫女神乐舞-红叶之姿
function c4270004.initial_effect(c)
aux.AddCodeList(c,4270001)
c:EnableReviveLimit()
aux.AddFusionProcCodeFun(c,4270001,aux.FilterBoolFunction(Card.IsFusionSetCard,0xa28),1,true,true)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_REMOVE)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCountLimit(1,4270007)
e1:SetTarget(c4270004.target)
e1:SetOperation(c4270004.operation)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_DISABLE)
e2:SetRange(LOCATION_MZONE)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetCountLimit(1,4270008)
e2:SetCost(aux.bfgcost)
e2:SetCondition(c4270004.condition1)
e2:SetTarget(c4270004.target2)
e2:SetOperation(c4270004.operation2)
c:RegisterEffect(e2)
local e3=e2:Clone()
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetCondition(c4270004.condition2)
c:RegisterEffect(e3)
end
function c4270004.target(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
local tg1=Duel.GetDecktopGroup(tp,2)
local tg2=Duel.GetDecktopGroup(1-tp,2)
if not tg1 or not tg2 then return end
tg1:Merge(tg2)
if chk==0 then return tg1:FilterCount(Card.IsAbleToRemove,nil,tp,POS_FACEUP)==4 end
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,2,tp,LOCATION_DECK)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,2,1-tp,LOCATION_DECK)
end
function c4270004.thfilter(c)
return c:IsSetCard(0xa28) and c:IsAbleToHand() and c:IsFaceup()
end
function c4270004.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local a=0
local tg1=Duel.GetDecktopGroup(tp,2)
local tg2=Duel.GetDecktopGroup(1-tp,2)
if #tg1<2 or #tg2<2 then return end
tg1:Merge(tg2)
local g=Duel.GetMatchingGroup(c4270004.thfilter,tp,LOCATION_REMOVED,0,nil)
Duel.DisableShuffleCheck()
if Duel.Remove(tg1,POS_FACEUP,REASON_EFFECT)>0 and g:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(4270004,0)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local sg=g:Select(tp,1,1,nil)
Duel.SendtoHand(sg,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,sg)
Duel.ShuffleHand(tp)
end
end
function c4270004.filter(c,tp)
return c:IsCode(4270001) and c:IsFaceup()
end
function c4270004.condition1(e,tp,eg,ep,ev,re,r,rp)
return not Duel.IsExistingTarget(c4270004.filter,tp,LOCATION_REMOVED,0,1,nil)
end
function c4270004.condition2(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingTarget(c4270004.filter,tp,LOCATION_REMOVED,0,1,nil)
end
function c4270004.target2(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and aux.NegateEffectMonsterFilter(chkc) and chck:IsControler(1-tp) end
if chk==0 then return Duel.IsExistingTarget(aux.NegateEffectMonsterFilter,tp,0,LOCATION_MZONE,2,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISABLE)
Duel.SelectTarget(tp,aux.NegateEffectMonsterFilter,tp,0,LOCATION_MZONE,2,2,nil)
end
function c4270004.operation2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS):Filter(Card.IsRelateToEffect,nil,e)
if not g then return end
local tc=g:GetFirst()
while tc do
if tc:IsFaceup() then
Duel.NegateRelatedChain(tc,RESET_TURN_SET)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_DISABLE_EFFECT)
e2:SetValue(RESET_TURN_SET)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e2)
end
tc=g:GetNext()
end
end
\ No newline at end of file
--猫巫女神乐舞-红叶之姿
function c4270005.initial_effect(c)
aux.AddCodeList(c,4270002)
c:EnableReviveLimit()
aux.AddFusionProcCodeFun(c,4270002,aux.FilterBoolFunction(Card.IsFusionSetCard,0xa28),1,true,true)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_REMOVE+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCountLimit(1,4270009)
e1:SetTarget(c4270005.target)
e1:SetOperation(c4270005.operation)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_REMOVE)
e2:SetRange(LOCATION_MZONE)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetCountLimit(1,4270010)
e2:SetCost(aux.bfgcost)
e2:SetCondition(c4270005.condition1)
e2:SetTarget(c4270005.target2)
e2:SetOperation(c4270005.operation2)
c:RegisterEffect(e2)
local e3=e2:Clone()
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetCondition(c4270005.condition2)
c:RegisterEffect(e3)
end
function c4270005.target(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
local tg1=Duel.GetDecktopGroup(tp,1)
local tg2=Duel.GetDecktopGroup(1-tp,1)
if not tg1 or not tg2 then return end
tg1:Merge(tg2)
if chk==0 then return tg1:FilterCount(Card.IsAbleToRemove,nil,tp,POS_FACEUP)==2 end
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,tp,LOCATION_DECK)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,1-tp,LOCATION_DECK)
end
function c4270005.thfilter(c)
return c:IsSetCard(0xa28) and c:IsAbleToHand()
end
function c4270005.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local a=0
local tg1=Duel.GetDecktopGroup(tp,1)
local tg2=Duel.GetDecktopGroup(1-tp,1)
if #tg1<1 or #tg2<1 then return end
tg1:Merge(tg2)
local g=Duel.GetMatchingGroup(c4270005.thfilter,tp,LOCATION_DECK,0,nil)
Duel.DisableShuffleCheck()
if Duel.Remove(tg1,POS_FACEUP,REASON_EFFECT)>0 and g:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(4270005,0)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local sg=g:Select(tp,1,1,nil)
Duel.SendtoHand(sg,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,sg)
Duel.ShuffleHand(tp)
end
end
function c4270005.filter(c,tp)
return c:IsCode(4270002) and c:IsFaceup()
end
function c4270005.condition1(e,tp,eg,ep,ev,re,r,rp)
return not Duel.IsExistingTarget(c4270005.filter,tp,LOCATION_REMOVED,0,1,nil)
end
function c4270005.condition2(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingTarget(c4270005.filter,tp,LOCATION_REMOVED,0,1,nil)
end
function c4270005.filter2(c,tp)
return c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsAbleToRemove()
end
function c4270005.target2(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and c4270005.filter2(chkc) and chck:IsControler(1-tp) end
if chk==0 then return Duel.IsExistingTarget(c4270005.filter2,tp,0,LOCATION_ONFIELD,2,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
Duel.SelectTarget(tp,c4270005.filter2,tp,0,LOCATION_ONFIELD,2,2,nil)
end
function c4270005.operation2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS):Filter(Card.IsRelateToEffect,nil,e)
if not g then return end
Duel.Remove(g,POS_FACEUP,REASON_EFFECT)
end
\ No newline at end of file
--猫巫女神乐舞-红叶之姿
function c4270006.initial_effect(c)
aux.AddCodeList(c,4270003)
c:EnableReviveLimit()
aux.AddFusionProcCodeFun(c,4270003,aux.FilterBoolFunction(Card.IsFusionSetCard,0xa28),1,true,true)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_REMOVE+CATEGORY_LEAVE_GRAVE)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCountLimit(1,4270011)
e1:SetTarget(c4270006.target)
e1:SetOperation(c4270006.operation)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_REMOVE)
e2:SetRange(LOCATION_MZONE)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetCountLimit(1,4270012)
e2:SetCost(aux.bfgcost)
e2:SetCondition(c4270006.condition1)
e2:SetTarget(c4270006.target2)
e2:SetOperation(c4270006.operation2)
c:RegisterEffect(e2)
local e3=e2:Clone()
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetCondition(c4270006.condition2)
c:RegisterEffect(e3)
end
function c4270006.target(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
local tg1=Duel.GetDecktopGroup(tp,3)
local tg2=Duel.GetDecktopGroup(1-tp,3)
if not tg1 or not tg2 then return end
tg1:Merge(tg2)
if chk==0 then return tg1:FilterCount(Card.IsAbleToRemove,nil,tp,POS_FACEUP)==6 end
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,tp,LOCATION_DECK)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,1-tp,LOCATION_DECK)
end
function c4270006.rmfilter(c)
return c:IsSetCard(0xa28) and c:IsAbleToRemove()
end
function c4270006.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local a=0
local tg1=Duel.GetDecktopGroup(tp,3)
local tg2=Duel.GetDecktopGroup(1-tp,3)
if #tg1<3 or #tg2<3 then return end
tg1:Merge(tg2)
local g=Duel.GetMatchingGroup(c4270006.rmfilter,tp,LOCATION_GRAVE,0,nil)
Duel.DisableShuffleCheck()
if Duel.Remove(tg1,POS_FACEUP,REASON_EFFECT)>0 and g:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(4270006,0)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local sg=g:Select(tp,1,2,nil)
Duel.Remove(sg,POS_FACEUP,REASON_EFFECT)
end
end
function c4270006.filter(c,tp)
return c:IsCode(4270003) and c:IsFaceup()
end
function c4270006.condition1(e,tp,eg,ep,ev,re,r,rp)
return not Duel.IsExistingTarget(c4270006.filter,tp,LOCATION_REMOVED,0,1,nil)
end
function c4270006.condition2(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingTarget(c4270006.filter,tp,LOCATION_REMOVED,0,1,nil)
end
function c4270006.target2(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsAbleToRemove() and chck:IsControler(1-tp) end
if chk==0 then return Duel.IsExistingTarget(Card.IsAbleToRemove,tp,0,LOCATION_MZONE,2,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
Duel.SelectTarget(tp,Card.IsAbleToRemove,tp,0,LOCATION_MZONE,2,2,nil)
end
function c4270006.operation2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS):Filter(Card.IsRelateToEffect,nil,e)
if not g then return end
Duel.Remove(g,POS_FACEUP,REASON_EFFECT)
end
--巫女神乐舞-狐之守候
function c4270007.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_REMOVE)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(c4270007.target)
e1:SetOperation(c4270007.operation)
c:RegisterEffect(e1)
--set
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TODECK)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetRange(LOCATION_REMOVED)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCountLimit(1,4270013)
e2:SetCondition(c4270007.condition2)
e2:SetTarget(c4270007.target2)
e2:SetOperation(c4270007.operation2)
c:RegisterEffect(e2)
end
function c4270007.filter(c)
return c:IsSetCard(0xa28) and c:IsAbleToRemove()
end
function c4270007.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetDecktopGroup(1-tp,3):FilterCount(Card.IsAbleToRemove,nil)==3 and Duel.IsExistingMatchingCard(c4270007.filter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,3,1-tp,LOCATION_DECK)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
end
function c4270007.operation(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local tc=Duel.SelectMatchingCard(tp,c4270007.filter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil)
if tc and Duel.Remove(tc,POS_FACEUP,REASON_EFFECT)>0 then
local g=Duel.GetDecktopGroup(1-tp,3)
if #g>0 then
Duel.BreakEffect()
Duel.DisableShuffleCheck()
Duel.Remove(g,POS_FACEUP,REASON_EFFECT)
end
end
end
function c4270007.cfilter(c,tp)
return c:IsRace(RACE_BEASTWARRIOR) and c:IsControler(tp) and c:IsFaceup()
end
function c4270007.condition2(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c4270007.cfilter,1,nil,tp) and not eg:IsContains(e:GetHandler())
end
function c4270007.target2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsSSetable() end
Duel.SetOperationInfo(0,CATEGORY_LEAVE_GRAVE,e:GetHandler(),1,0,0)
end
function c4270007.operation2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
local g=Duel.GetMatchingGroup(nil,tp,LOCATION_REMOVED,0,c)
local sg=g:Filter(Card.IsAbleToDeck,nil)
if Duel.SSet(tp,c)>0 and g:GetCount()>=7 and sg:GetCount()>=3 and Duel.SelectYesNo(tp,aux.Stringid(4270007,0)) then
local tg=sg:RandomSelect(tp,3)
Duel.SendtoDeck(tg,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)
end
end
end
--巫女神乐舞-猫之回忆
function c4270008.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TODECK)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetTarget(c4270008.target)
e1:SetOperation(c4270008.operation)
c:RegisterEffect(e1)
--set
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_REMOVE)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetRange(LOCATION_REMOVED)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCountLimit(1,4270014)
e2:SetCondition(c4270008.condition2)
e2:SetTarget(c4270008.target2)
e2:SetOperation(c4270008.operation2)
c:RegisterEffect(e2)
end
function c4270008.filter(c)
return c:IsSetCard(0xa28) and c:IsAbleToDeck() and (c:IsFaceup() or c:IsLocation(LOCATION_GRAVE))
end
function c4270008.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE+LOCATION_REMOVED) and chck:IsControler(tp) and c4270008.filter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c4270008.filter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,3,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectTarget(tp,c4270008.filter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,3,3,nil)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,3,tp,LOCATION_GRAVE+LOCATION_REMOVED)
end
function c4270008.operation(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS):Filter(Card.IsRelateToEffect,nil,e)
if g then
if Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)>0 and Duel.IsPlayerCanDraw(tp,1) and Duel.IsPlayerCanDraw(1-tp,1) then
Duel.Draw(tp,1,REASON_EFFECT)
Duel.Draw(1-tp,1,REASON_EFFECT)
end
end
end
function c4270008.cfilter(c,tp)
return c:IsRace(RACE_BEASTWARRIOR) and c:IsControler(tp) and c:IsFaceup()
end
function c4270008.condition2(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c4270008.cfilter,1,nil,tp) and not eg:IsContains(e:GetHandler())
end
function c4270008.target2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsSSetable() end
Duel.SetOperationInfo(0,CATEGORY_LEAVE_GRAVE,e:GetHandler(),1,0,0)
end
function c4270008.operation2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
local sg=Duel.GetDecktopGroup(1-tp,3)
local g=Duel.GetMatchingGroup(nil,tp,LOCATION_REMOVED,0,c)
if Duel.SSet(tp,c)>0 and g:GetCount()>=7 and #sg>0 and Duel.SelectYesNo(tp,aux.Stringid(4270008,0)) then
Duel.DisableShuffleCheck()
Duel.Remove(sg,POS_FACEUP,REASON_EFFECT)
end
end
end
\ No newline at end of file
--巫女神乐舞-狼之誓言
function c4270009.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TODECK)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetTarget(c4270009.target)
e1:SetOperation(c4270009.operation)
c:RegisterEffect(e1)
--set
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_REMOVE)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetRange(LOCATION_REMOVED)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCountLimit(1,4270015)
e2:SetCondition(c4270009.condition2)
e2:SetTarget(c4270009.target2)
e2:SetOperation(c4270009.operation2)
c:RegisterEffect(e2)
end
function c4270009.filter(c,tp)
return c:IsSetCard(0xa28) and c:IsAbleToRemove()
and Duel.IsExistingTarget(Card.IsAbleToDeck,tp,LOCATION_GRAVE,LOCATION_GRAVE,2,c)
end
function c4270009.filter1(c,e,tp)
return c:IsSetCard(0xa28) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
end
function c4270009.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return false end
if chk==0 then return Duel.IsExistingTarget(c4270009.filter,tp,LOCATION_GRAVE,LOCATION_GRAVE,1,nil,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectTarget(tp,c4270009.filter,tp,LOCATION_GRAVE,LOCATION_GRAVE,1,1,nil,tp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g2=Duel.SelectTarget(tp,Card.IsAbleToDeck,tp,LOCATION_GRAVE,LOCATION_GRAVE,2,2,g)
g:Merge(g2)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,g,3,0,0)
end
function c4270009.operation(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS):Filter(Card.IsRelateToEffect,nil,e)
if g and Duel.Remove(g,POS_FACEUP,REASON_EFFECT)>0 and Duel.IsExistingMatchingCard(c4270009.filter1,tp,LOCATION_REMOVED,0,1,nil,e,tp) and Duel.SelectYesNo(tp,aux.Stringid(4270009,1)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tc=Duel.SelectMatchingCard(tp,c4270009.filter1,tp,LOCATION_REMOVED,0,1,1,nil,e,tp)
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
end
end
function c4270009.filter2(c)
return c:IsSetCard(0xa28) and c:IsAbleToHand() and c:IsFaceup()
end
function c4270009.cfilter(c,tp)
return c:IsRace(RACE_BEASTWARRIOR) and c:IsControler(tp) and c:IsFaceup()
end
function c4270009.condition2(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c4270009.cfilter,1,nil,tp) and not eg:IsContains(e:GetHandler())
end
function c4270009.target2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsSSetable() end
Duel.SetOperationInfo(0,CATEGORY_LEAVE_GRAVE,e:GetHandler(),1,0,0)
end
function c4270009.operation2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
local g=Duel.GetMatchingGroup(nil,tp,LOCATION_REMOVED,0,c)
local sg=g:Filter(c4270009.filter2,nil)
if Duel.SSet(tp,c)>0 and g:GetCount()>=7 and sg:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(4270009,0)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local tg=sg:Select(tp,1,1,nil)
Duel.SendtoHand(tg,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tg)
end
end
end
--巫女神乐舞-红叶之姿
function c4270010.initial_effect(c)
--Activate
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_ACTIVATE)
e0:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e0)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_IMMUNE_EFFECT)
e1:SetRange(LOCATION_FZONE)
e1:SetTargetRange(LOCATION_MZONE,0)
e1:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0xa28))
e1:SetCondition(c4270010.imcon)
e1:SetValue(c4270010.efilter)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_SEARCH)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_TO_GRAVE)
e2:SetRange(LOCATION_FZONE)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCountLimit(1)
e2:SetCondition(c4270010.condition)
e2:SetTarget(c4270010.target)
e2:SetOperation(c4270010.operation)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_REMOVE)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCountLimit(1,4270016)
e3:SetTarget(c4270010.target2)
e3:SetOperation(c4270010.operation2)
c:RegisterEffect(e3)
end
function c4270010.imcon(e)
local ph=Duel.GetCurrentPhase()
return ph>=PHASE_BATTLE_START and ph<=PHASE_BATTLE
end
function c4270010.efilter(e,re)
return e:GetHandlerPlayer()~=re:GetOwnerPlayer()
end
function c4270010.cfilter(c,tp)
return c:IsSetCard(0xa28) and c:IsPreviousControler(tp) and c:IsPreviousPosition(POS_FACEUP)
end
function c4270010.condition(e,tp,eg,ep,ev,re,r,rp)
return not eg:IsContains(e:GetHandler()) and eg:Filter(c4270010.cfilter,nil,tp)
end
function c4270010.target(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Group.CreateGroup()
local gc=eg:GetFirst()
while gc do
if gc:IsCode(4270006) then
local g1=Duel.GetMatchingGroup(Card.IsCode,tp,LOCATION_DECK,0,nil,4270003)
if g1 then g:Merge(g1) end
elseif gc:IsCode(4270005) then
local g1=Duel.GetMatchingGroup(Card.IsCode,tp,LOCATION_DECK,0,nil,4270002)
if g1 then g:Merge(g1) end
elseif gc:IsCode(4270004) then
local g1=Duel.GetMatchingGroup(Card.IsCode,tp,LOCATION_DECK,0,nil,4270001)
if g1 then g:Merge(g1) end
elseif gc:IsCode(4270003) then
local g1=Duel.GetMatchingGroup(Card.IsCode,tp,LOCATION_DECK,0,nil,4270009)
if g1 then g:Merge(g1) end
elseif gc:IsCode(4270002) then
local g1=Duel.GetMatchingGroup(Card.IsCode,tp,LOCATION_DECK,0,nil,4270008)
if g1 then g:Merge(g1) end
elseif gc:IsCode(4270001) then
local g1=Duel.GetMatchingGroup(Card.IsCode,tp,LOCATION_DECK,0,nil,4270007)
if g1 then g:Merge(g1) end
end
gc=eg:GetNext()
end
if chk==0 then return g:IsExists(Card.IsAbleToHand,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function c4270010.operation(e,tp,eg,ep,ev,re,r,rp)
local g=Group.CreateGroup()
local gc=eg:GetFirst()
while gc do
if gc:IsCode(4270006) then
local g1=Duel.GetMatchingGroup(Card.IsCode,tp,LOCATION_DECK,0,nil,4270003)
if g1 then g:Merge(g1) end
elseif gc:IsCode(4270005) then
local g1=Duel.GetMatchingGroup(Card.IsCode,tp,LOCATION_DECK,0,nil,4270002)
if g1 then g:Merge(g1) end
elseif gc:IsCode(4270004) then
local g1=Duel.GetMatchingGroup(Card.IsCode,tp,LOCATION_DECK,0,nil,4270001)
if g1 then g:Merge(g1) end
elseif gc:IsCode(4270003) then
local g1=Duel.GetMatchingGroup(Card.IsCode,tp,LOCATION_DECK,0,nil,4270009)
if g1 then g:Merge(g1) end
elseif gc:IsCode(4270002) then
local g1=Duel.GetMatchingGroup(Card.IsCode,tp,LOCATION_DECK,0,nil,4270008)
if g1 then g:Merge(g1) end
elseif gc:IsCode(4270001) then
local g1=Duel.GetMatchingGroup(Card.IsCode,tp,LOCATION_DECK,0,nil,4270007)
if g1 then g:Merge(g1) end
end
gc=eg:GetNext()
end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local sg=g:FilterSelect(tp,Card.IsAbleToHand,1,1,nil)
if sg then
Duel.SendtoHand(sg,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,sg)
end
end
function c4270010.filter2(c)
return c:IsAbleToDeck() and c:IsFaceup()
end
function c4270010.target2(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.IsExistingTarget(c4270010.filter2,tp,LOCATION_REMOVED,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,1,tp,LOCATION_REMOVED)
end
function c4270010.operation2(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,c4270010.filter2,tp,LOCATION_REMOVED,0,1,3,nil)
if g then
Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)
end
end
\ No newline at end of file
这是一个文本本家
\ No newline at end of file
......@@ -129,11 +129,20 @@
<DependentUpon>Form1.cs</DependentUpon>
</Compile>
<Compile Include="LuaTask.cs" />
<Compile Include="MusicGame.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="MusicGame.Designer.cs">
<DependentUpon>MusicGame.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<EmbeddedResource Include="Form1.resx">
<DependentUpon>Form1.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="MusicGame.resx">
<DependentUpon>MusicGame.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
......
49beefaf86f37c1227dd0dac1dd328b325c352cb
339baa043802f6ee0f602f013438094fa701c137
......@@ -38,3 +38,4 @@ D:\Downloads\打包器&源码(v3.3)\cardvisa\cardvisa\obj\Debug\cardvisa.csp
D:\Downloads\打包器&源码(v3.3)\cardvisa\cardvisa\obj\Debug\cardvisa.csproj.CoreCompileInputs.cache
D:\Downloads\打包器&源码(v3.3)\cardvisa\cardvisa\obj\Debug\cardvisa.exe
D:\Downloads\打包器&源码(v3.3)\cardvisa\cardvisa\obj\Debug\cardvisa.pdb
E:\project\visa\cardvisa\cardvisa\obj\Debug\cardvisa.MusicGame.resources
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