Commit 70e0540c authored by Nemo Ma's avatar Nemo Ma

wild 220619

parent 41915932
......@@ -10,6 +10,11 @@
130002004 0
130002005 0
#WILD, I say WILD, WAHAHA
67200701 0
67200702 0
67200703 0
67200704 0
67200705 0
25000000 0
25000001 0
25000049 0
......
No preview for this file type
--枪塔的粘体
function c67200701.initial_effect(c)
aux.EnablePendulumAttribute(c)
--special summon
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(67200701,1))
e4:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOHAND)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e4:SetCode(EVENT_SUMMON_SUCCESS)
e4:SetProperty(EFFECT_FLAG_DELAY)
e4:SetRange(LOCATION_PZONE)
e4:SetCost(c67200701.spcost)
e4:SetTarget(c67200701.sptg)
e4:SetOperation(c67200701.spop)
c:RegisterEffect(e4)
local e5=e4:Clone()
e5:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e5)
end
--
function c67200701.scfilter(c)
return c:IsType(TYPE_PENDULUM) and c:IsSetCard(0x67f)
end
function c67200701.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c67200701.scfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(67200701,2))
local g=Duel.SelectMatchingCard(tp,c67200701.scfilter,tp,LOCATION_DECK,0,1,1,nil)
local tc=g:GetFirst()
Duel.SendtoExtraP(tc,tp,REASON_COST)
end
function c67200701.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
local g=eg:Filter(Card.IsAbleToHand,nil)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and g:GetCount()>0 end
Duel.SetTargetCard(eg)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,g:GetCount(),0,0)
end
function c67200701.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=eg:Filter(Card.IsRelateToEffect,nil,e)
if c:IsRelateToEffect(e) and g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
if Duel.SpecialSummonStep(c,0,tp,tp,false,false,POS_FACEUP) then
local x=0
local y=0
local tc=g:GetFirst()
while tc do
y=tc:GetBaseAttack()
x=x+y
tc=g:GetNext()
end
--
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(x)
e1:SetReset(RESET_EVENT+RESET_DISABLE)
c:RegisterEffect(e1)
end
Duel.SpecialSummonComplete()
end
end
--枪塔的炉精
function c67200702.initial_effect(c)
aux.EnablePendulumAttribute(c)
--Negate
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_CHAIN_SOLVING)
e3:SetRange(LOCATION_PZONE)
e3:SetCondition(c67200702.negcon)
e3:SetOperation(c67200702.negop)
c:RegisterEffect(e3)
end
--
function c67200702.negcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return rp==1-tp and Duel.IsChainDisablable(ev)
end
function c67200702.pcfilter(c)
return c:IsSetCard(0x67f) and c:IsType(TYPE_PENDULUM) and not c:IsForbidden()
end
function c67200702.negop(e,tp,eg,ep,ev,re,r,rp)
if Duel.SelectYesNo(tp,aux.Stringid(67200702,1)) then
Duel.Hint(HINT_CARD,0,67200702)
if Duel.NegateEffect(ev)~=0 then
Duel.BreakEffect()
if e:GetHandler():IsAbleToHand() then
Duel.SendtoHand(e:GetHandler(),nil,REASON_EFFECT)
if not Duel.CheckLocation(tp,LOCATION_PZONE,0) and not Duel.CheckLocation(tp,LOCATION_PZONE,1) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
local g=Duel.SelectMatchingCard(tp,c67200702.pcfilter,tp,LOCATION_DECK+LOCATION_EXTRA,0,1,1,nil)
if g:GetCount()>0 then
Duel.MoveToField(g:GetFirst(),tp,tp,LOCATION_PZONE,POS_FACEUP,true)
end
end
end
end
end
--枪塔的蜥蜴人
function c67200703.initial_effect(c)
aux.EnablePendulumAttribute(c)
--spsummon
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_IGNITION)
e0:SetCost(c67200703.cost)
e0:SetProperty(EFFECT_FLAG_CANNOT_INACTIVATE+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CANNOT_NEGATE)
c:RegisterEffect(e0)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(67200703,0))
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetRange(LOCATION_HAND)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER)
e1:SetCondition(c67200703.spcon)
e1:SetOperation(c67200703.spop)
e1:SetLabelObject(e0)
c:RegisterEffect(e1)
--atk
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_UPDATE_ATTACK)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetRange(LOCATION_MZONE)
e2:SetValue(c67200703.atkval)
c:RegisterEffect(e2)
--pierce
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_PIERCE)
c:RegisterEffect(e3)
end
--
function c67200703.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetChainLimit(aux.FALSE)
end
--
function c67200703.spcon(e,tp,eg,ep,ev,re,r,rp)
return not e:GetHandler():IsForbidden() and Duel.GetTurnPlayer()==tp and (Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2)
end
function c67200703.spfilter(c,e,tp)
return c:IsSetCard(0x67f) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c67200703.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_MZONE)<1 or not Duel.IsExistingMatchingCard(c67200703.spfilter,tp,LOCATION_HAND,0,1,nil,e,tp) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c67200703.spfilter,tp,LOCATION_HAND,0,1,1,nil,e,tp)
Duel.Hint(HINT_CARD,0,67200703)
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
--
function c67200703.atkfilter(c)
return c:IsSetCard(0x67f) and c:IsType(TYPE_PENDULUM) and c:IsFaceup()
end
function c67200703.atkval(e,c)
local a=Duel.GetMatchingGroupCount(c67200703.atkfilter,c:GetControler(),LOCATION_EXTRA,0,nil)
local g=Duel.GetMatchingGroup(aux.TRUE,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
local ag=Group.Filter(g,Card.IsType,nil,TYPE_MONSTER)
local x=0
local y=0
local tc=ag:GetFirst()
while tc do
y=tc:GetBaseAttack()
x=x+y
tc=ag:GetNext()
end
return a*x
end
--枪塔的地精
function c67200704.initial_effect(c)
aux.EnablePendulumAttribute(c)
--spsummon
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_IGNITION)
e0:SetCost(c67200704.cost)
e0:SetProperty(EFFECT_FLAG_CANNOT_INACTIVATE+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CANNOT_NEGATE)
c:RegisterEffect(e0)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(67200704,0))
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetRange(LOCATION_HAND)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER)
e1:SetCondition(c67200704.spcon)
e1:SetOperation(c67200704.spop)
e1:SetLabelObject(e0)
c:RegisterEffect(e1)
--atk
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_UPDATE_DEFENSE)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetRange(LOCATION_MZONE)
e2:SetValue(c67200704.atkval)
c:RegisterEffect(e2)
local e6=e2:Clone()
e6:SetCode(EFFECT_UPDATE_ATTACK)
c:RegisterEffect(e6)
--destroy
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(67200704,1))
e3:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EVENT_SPSUMMON_SUCCESS)
e3:SetCountLimit(1)
e3:SetCondition(c67200704.descon)
e3:SetOperation(c67200704.desop)
c:RegisterEffect(e3)
local e5=e3:Clone()
e5:SetCode(EVENT_SUMMON_SUCCESS)
c:RegisterEffect(e5)
end
--
function c67200704.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetChainLimit(aux.FALSE)
end
--
function c67200704.spcon(e,tp,eg,ep,ev,re,r,rp)
return not e:GetHandler():IsForbidden() and Duel.GetTurnPlayer()==tp and (Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2)
end
function c67200704.spfilter(c,e,tp)
return c:IsSetCard(0x67f) and not c:IsForbidden()
end
function c67200704.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_MZONE)<1 or not Duel.IsExistingMatchingCard(c67200704.spfilter,tp,LOCATION_EXTRA,0,1,nil,e,tp) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
local g=Duel.SelectMatchingCard(tp,c67200704.spfilter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp)
Duel.Hint(HINT_CARD,0,67200704)
Duel.MoveToField(g:GetFirst(),tp,tp,LOCATION_PZONE,POS_FACEUP,true)
end
--
function c67200704.atkfilter(c)
return c:IsSetCard(0x67f) and c:IsType(TYPE_PENDULUM) and c:IsFaceup()
end
function c67200704.atkval(e,c)
local a=Duel.GetMatchingGroupCount(c67200704.atkfilter,c:GetControler(),LOCATION_EXTRA,0,nil)
local g=Duel.GetMatchingGroup(aux.TRUE,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
local ag=Group.Filter(g,Card.IsType,nil,TYPE_MONSTER)
local x=0
local y=0
local tc=ag:GetFirst()
while tc do
y=tc:GetBaseAttack()
x=x+y
tc=ag:GetNext()
end
return a*x
end
--
function c67200704.cfilter(c,sp)
return c:IsSummonPlayer(sp)
end
function c67200704.descon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c67200704.cfilter,1,nil,1-tp) and e:GetHandler():IsDefensePos()
end
function c67200704.desop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if eg:GetCount()>0 and eg:GetFirst():IsAttackable() then
Duel.Hint(HINT_CARD,0,67200704)
Duel.CalculateDamage(c,eg:GetFirst())
end
end
--枪塔的魔力球
function c67200705.initial_effect(c)
aux.EnablePendulumAttribute(c)
--tohand
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(67200705,0))
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_HAND)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE+TIMING_STANDBY_PHASE)
e1:SetCost(c67200705.stcost)
e1:SetTarget(c67200705.sttg)
e1:SetOperation(c67200705.stop)
c:RegisterEffect(e1)
--cannot activate
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetCode(EFFECT_CANNOT_ACTIVATE)
e2:SetRange(LOCATION_EXTRA)
e2:SetTargetRange(0,1)
e2:SetCondition(c67200705.accon)
e2:SetValue(c67200705.aclimit)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_SSET)
e3:SetRange(LOCATION_EXTRA)
e3:SetCondition(c67200705.accon)
e3:SetOperation(c67200705.aclimset)
c:RegisterEffect(e3)
end
--
function c67200705.stcost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:IsAbleToDeckOrExtraAsCost() end
Duel.SendtoExtraP(c,tp,REASON_COST)
end
function c67200705.psfilter(c)
return c:IsSetCard(0x67f) and c:IsType(TYPE_PENDULUM) and not c:IsForbidden()
end
function c67200705.sttg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return (Duel.CheckLocation(tp,LOCATION_PZONE,0) or Duel.CheckLocation(tp,LOCATION_PZONE,1))
and Duel.IsExistingMatchingCard(c67200705.psfilter,tp,LOCATION_DECK,0,1,nil) end
end
function c67200705.stop(e,tp,eg,ep,ev,re,r,rp)
if not Duel.CheckLocation(tp,LOCATION_PZONE,0) and not Duel.CheckLocation(tp,LOCATION_PZONE,1) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
local g=Duel.SelectMatchingCard(tp,c67200705.psfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.MoveToField(g:GetFirst(),tp,tp,LOCATION_PZONE,POS_FACEUP,true)
end
end
--
function c67200705.accon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsFaceup()
end
function c67200705.aclimit(e,re,tp)
if not re:IsHasType(EFFECT_TYPE_ACTIVATE) or not re:IsActiveType(TYPE_SPELL) then return false end
local c=re:GetHandler()
return not c:IsLocation(LOCATION_SZONE) or c:GetFlagEffect(67200705)>0
end
function c67200705.aclimset(e,tp,eg,ep,ev,re,r,rp)
local tc=eg:GetFirst()
while tc do
local reset=tc:GetControler()==tp and RESET_OPPO_TURN or RESET_SELF_TURN
tc:RegisterFlagEffect(67200705,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END+reset,0,1)
tc=eg:GetNext()
end
end
......@@ -947,6 +947,4 @@
!setname 0x6f30 混沌构想|非「混沌」
!counter 0xf30 创造指示物
!setname 0x622 ¸ÖÌúÂÉÃü
!setname 0x677 征冥天
!setname 0x773 混沌的|非「混沌」
!setname 0x774 龙猿圣尊
!setname 0x67f ǹËþ
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