Commit b506b2d7 authored by tsubaki's avatar tsubaki

2.0prepsilon update

parent 4d7f7a0f
Pipeline #32963 passed with stage
in 10 seconds
No preview for this file type
No preview for this file type
......@@ -73,7 +73,7 @@
86379752 0 --花咲爷『对华丽的仁者之嫉妒』
86379692 0 --隙间妖怪✿八云紫
86379013 0 --梦符『刈安色的错综迷梦』
86379702 0 --就在你的身后✿古明地恋
86379702 1 --就在你的身后✿古明地恋
--花草卡?
99677001 0 --茨歌仙✿
99677002 1 --茨华仙✿神仙思想喜爱动物的仙人
......
......@@ -133,15 +133,15 @@ function c20050.cost3(e,tp,eg,ep,ev,re,r,rp,chk)
end
function c20050.tg3(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c20050.filter3,tp,LOCATION_DECK,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
and Duel.IsExistingMatchingCard(c20050.filter3,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE)
end
function c20050.op3(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
local ct=e:GetLabel()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c20050.filter3,tp,LOCATION_DECK,0,1,1,nil,e,tp)
local g=Duel.SelectMatchingCard(tp,c20050.filter3,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
......
......@@ -26,13 +26,14 @@ function c22056.initial_effect(c)
e4:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e4:SetCode(EVENT_BATTLE_DESTROYED)
e4:SetRange(LOCATION_HAND)
e4:SetCountLimit(1,22056)
e4:SetCondition(c22056.spcon)
e4:SetTarget(c22056.sptg)
e4:SetOperation(c22056.spop)
c:RegisterEffect(e4)
local e6=e4:Clone()
e6:SetRange(LOCATION_GRAVE)
e6:SetCountLimit(1,22056+EFFECT_COUNT_CODE_DUEL)
e6:SetCountLimit(1,22056)
c:RegisterEffect(e6)
--Scarlet Destiny
local e5=Effect.CreateEffect(c)
......
......@@ -25,13 +25,14 @@ function c22060.initial_effect(c)
e4:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e4:SetCode(EVENT_DESTROY)
e4:SetRange(LOCATION_HAND)
e4:SetCountLimit(1,22060)
e4:SetCondition(c22060.spcon)
e4:SetTarget(c22060.sptg)
e4:SetOperation(c22060.spop)
c:RegisterEffect(e4)
local e6=e4:Clone()
e6:SetRange(LOCATION_GRAVE)
e6:SetCountLimit(1,22060+EFFECT_COUNT_CODE_DUEL)
e6:SetCountLimit(1,22060)
c:RegisterEffect(e6)
--maintain
local e5=Effect.CreateEffect(c)
......
......@@ -20,7 +20,7 @@ function c22130.initial_effect(c)
c:RegisterEffect(e5)
end
function c22130.cffilter(c)
return ((c:IsSetCard(0x177) and c:IsType(TYPE_SPELL)) or c:IsCode(22017)) and not c:IsPublic()
return ((c:IsSetCard(0x177) and c:IsType(TYPE_SPELL)) or c:IsSetCard(0x811,0x111)) and not c:IsPublic()
end
function c22130.spfilter(c,e,tp)
return c:IsSetCard(0x111) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
......
......@@ -30,7 +30,7 @@ function c23099.initial_effect(c)
c:RegisterEffect(e3)
end
function c23099.cfilter(c)
return c:IsFaceup() and c:IsAbleToHandAsCost() and c:IsSetCard(0x817) and c:IsType(TYPE_TUNER)
return c:IsAbleToHandAsCost() and c:IsSetCard(0x817) and c:IsType(TYPE_TUNER)
end
function c23099.filter(c)
return c:IsFaceup() and c:IsDestructable() and c:IsType(TYPE_SPELL+TYPE_TRAP)
......@@ -41,7 +41,7 @@ function c23099.allfilter(c)
end
function c23099.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
local a=Duel.IsExistingMatchingCard(c23099.cfilter,tp,LOCATION_MZONE,0,1,nil) and Duel.GetLocationCount(tp,LOCATION_MZONE)>-1
local b=Duel.IsExistingMatchingCard(c23099.filter,tp,LOCATION_ONFIELD,0,2,nil) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
local b=Duel.IsExistingMatchingCard(c23099.filter,tp,LOCATION_ONFIELD,0,1,nil) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
if chk==0 then return (a) or (b) end
if a and b then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
......@@ -49,9 +49,9 @@ function c23099.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if c23099.cfilter(g1:GetFirst()) then
Duel.SendtoHand(g1,nil,REASON_COST)
else
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g2=Duel.SelectMatchingCard(tp,c23099.filter,tp,LOCATION_ONFIELD,0,1,1,g1:GetFirst())
g1:Merge(g2)
-- Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
-- local g2=Duel.SelectMatchingCard(tp,c23099.filter,tp,LOCATION_ONFIELD,0,1,1,g1:GetFirst())
-- g1:Merge(g2)
Duel.Destroy(g1,REASON_COST)
end
elseif a then
......@@ -60,7 +60,7 @@ function c23099.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SendtoHand(g,nil,REASON_COST)
else
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c23099.filter,tp,LOCATION_ONFIELD,0,2,2,nil)
local g=Duel.SelectMatchingCard(tp,c23099.filter,tp,LOCATION_ONFIELD,0,1,1,nil)
Duel.Destroy(g,REASON_COST)
end
end
......
......@@ -27,7 +27,7 @@ function c24044.initial_effect(c)
e4:SetDescription(aux.Stringid(24044,1))
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e4:SetCode(EVENT_DAMAGE_STEP_END)
e4:SetCountLimit(1,24044)
e4:SetCountLimit(1,24045)
e4:SetTarget(c24044.settg2)
e4:SetOperation(c24044.setop2)
c:RegisterEffect(e4)
......
......@@ -13,14 +13,14 @@ function c27064.initial_effect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e2:SetCode(EVENT_TO_GRAVE)
e2:SetCountLimit(1,27064)
e2:SetCondition(c27064.condition)
--e2:SetCondition(c27064.condition)
e2:SetTarget(c27064.target)
e2:SetOperation(c27064.operation)
c:RegisterEffect(e2)
local e5=e2:Clone()
e5:SetCondition(c27064.condition5)
e5:SetOperation(c27064.operation5)
c:RegisterEffect(e5)
--c:RegisterEffect(e5)
--cannot attack
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
......@@ -53,7 +53,7 @@ function c27064.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function c27064.filter(c)
return c:IsSetCard(0x240) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand()
return c:IsSetCard(0x240,0x168) and c:IsAbleToHand()
end
function c27064.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
......
......@@ -39,7 +39,7 @@ end
c29501.DescSetName=0x826
function c29501.matfilter(c)
return c:IsSetCard(0x208)
return c:IsSetCard(0x208) and not c:IsLinkType(TYPE_TOKEN)
end
function c29501.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():GetAttack()>=1000 end
......
......@@ -4,20 +4,20 @@ local s,id=GetID()
function s.initial_effect(c)
-- ①效果:无效+额外效果
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,0))
e1:SetCategory(CATEGORY_DISABLE+CATEGORY_DESTROY+CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_MZONE)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCountLimit(1,id)
e1:SetTarget(s.target)
e1:SetOperation(s.operation)
c:RegisterEffect(e1)
end
function s.nbfilter(c)
return c:IsFaceup() and aux.NegateAnyFilter(c)
return aux.NegateAnyFilter(c)
end
function s.ngefilter(c,e)
return aux.NegateAnyFilter(c) and c:IsRelateToEffect(e)
end
-- ①效果目标:选择对方场上1张卡
......@@ -25,15 +25,17 @@ function s.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and chkc:IsControler(1-tp) and chkc:IsFaceup() end
if chk==0 then return Duel.IsExistingTarget(s.nbfilter,tp,0,LOCATION_ONFIELD,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
local g=Duel.SelectTarget(tp,s.nbfilter,tp,0,LOCATION_ONFIELD,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_DISABLE,g,1,0,0)
local g=Duel.SelectTarget(tp,s.nbfilter,tp,0,LOCATION_ONFIELD,1,2,nil)
Duel.SetOperationInfo(0,CATEGORY_DISABLE,g,#g,0,LOCATION_ONFIELD)
end
-- ①效果操作:无效+额外效果
function s.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if tc and tc:IsRelateToEffect(e) and tc:IsFaceup() and tc:IsCanBeDisabledByEffect(e) then
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS):Filter(s.ngefilter,nil,e)
if #g>0 then
local tc=g:GetFirst()
while tc do
-- 无效效果
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
......@@ -49,18 +51,19 @@ function s.operation(e,tp,eg,ep,ev,re,r,rp)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_DISABLE_TRAPMONSTER)
e3:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e3)
end
tc=g:GetNext()
end
Duel.AdjustInstantly()
Duel.NegateRelatedChain(tc,RESET_TURN_SET)
--Duel.NegateRelatedChain(tc,RESET_TURN_SET)
-- 额外效果1:卡组更多时破坏
if Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>Duel.GetFieldGroupCount(1-tp,LOCATION_DECK,0) then
Duel.Destroy(tc,REASON_EFFECT)
Duel.Destroy(g,REASON_EFFECT)
end
-- 额外效果2:场上有0x833怪兽时加入手卡
if Duel.IsExistingMatchingCard(s.filter,tp,LOCATION_MZONE,0,1,nil) then
Duel.SendtoHand(tc,nil,REASON_EFFECT)
Duel.SendtoHand(g,tp,REASON_EFFECT)
end
end
end
......
......@@ -53,7 +53,7 @@ function c60218.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterEffect(e2,tp)
end
function c60218.tg(e,c)
return c:IsFaceup() and c:IsPreviousLocation(0x51)
return c:IsFaceup() and c:IsSummonType(SUMMON_TYPE_SPECIAL)--and c:IsPreviousLocation(0x51)
end
function c60218.adval1(e,c)
return c:GetAttack()/2
......
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