Commit d85fc462 authored by TanakaKotoha's avatar TanakaKotoha

dededededededededededede

parent ec060c27
...@@ -57,7 +57,8 @@ function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -57,7 +57,8 @@ function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil,e,tp) and Duel.IsExistingTarget(cm.tdfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil,e,tp) and Duel.IsExistingTarget(cm.tdfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local tg=Duel.SelectTarget(tp,cm.tdfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil) local tg=Duel.SelectTarget(tp,cm.tdfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_RECOVER,nil,0,tp,tg:GetBaseAttack()) local tc=tg:GetFirst()
Duel.SetOperationInfo(0,CATEGORY_RECOVER,nil,0,tp,tc:GetBaseAttack())
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_GRAVE) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_GRAVE)
end end
......
--终结与开始 鹿目圆香 --终结与开始 鹿目圆香
function c60151611.initial_effect(c) function c60151611.initial_effect(c)
--xyz summon --xyz summon
aux.AddXyzProcedure(c,c60151611.mfilter,3,2) aux.AddXyzProcedure(c,c60151611.mfilter,3,2)
c:EnableReviveLimit() c:EnableReviveLimit()
--pendulum summon --pendulum summon
aux.EnablePendulumAttribute(c,false) aux.EnablePendulumAttribute(c,false)
local e11=Effect.CreateEffect(c) local e11=Effect.CreateEffect(c)
e11:SetCategory(CATEGORY_RECOVER+CATEGORY_ATKCHANGE) e11:SetCategory(CATEGORY_RECOVER+CATEGORY_ATKCHANGE)
e11:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD) e11:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e11:SetRange(LOCATION_MZONE) e11:SetRange(LOCATION_MZONE)
e11:SetCode(EVENT_CHAIN_ACTIVATING) e11:SetCode(EVENT_CHAIN_ACTIVATING)
e11:SetOperation(c60151611.disop) e11:SetOperation(c60151611.disop)
c:RegisterEffect(e11) c:RegisterEffect(e11)
--addown --addown
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(60151611,0)) e1:SetDescription(aux.Stringid(60151611,0))
e1:SetCategory(CATEGORY_ATKCHANGE+CATEGORY_DEFCHANGE) e1:SetCategory(CATEGORY_ATKCHANGE+CATEGORY_DEFCHANGE)
e1:SetType(EFFECT_TYPE_QUICK_O) e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP) e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,60151611) e1:SetCountLimit(1,60151611)
e1:SetCost(c60151611.adcost) e1:SetCost(c60151611.adcost)
e1:SetTarget(c60151611.adtg) e1:SetTarget(c60151611.adtg)
e1:SetOperation(c60151611.adop) e1:SetOperation(c60151611.adop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
local e5=Effect.CreateEffect(c) local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(60151601,0)) e5:SetDescription(aux.Stringid(60151601,0))
e5:SetCategory(CATEGORY_SPECIAL_SUMMON) e5:SetCategory(CATEGORY_SPECIAL_SUMMON)
...@@ -37,15 +37,15 @@ function c60151611.initial_effect(c) ...@@ -37,15 +37,15 @@ function c60151611.initial_effect(c)
e5:SetOperation(c60151611.operation) e5:SetOperation(c60151611.operation)
c:RegisterEffect(e5) c:RegisterEffect(e5)
--pendulum --pendulum
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_IGNITION) e4:SetType(EFFECT_TYPE_IGNITION)
e4:SetRange(LOCATION_EXTRA) e4:SetRange(LOCATION_EXTRA)
e4:SetCountLimit(1,6011611) e4:SetCountLimit(1,6011611)
e4:SetCost(c60151611.cost) e4:SetCost(c60151611.cost)
e4:SetCondition(c60151611.spcon) e4:SetCondition(c60151611.spcon)
e4:SetTarget(c60151611.pentg) e4:SetTarget(c60151611.pentg)
e4:SetOperation(c60151611.penop) e4:SetOperation(c60151611.penop)
c:RegisterEffect(e4) c:RegisterEffect(e4)
end end
c60151611.pendulum_level=3 c60151611.pendulum_level=3
function c60151611.condition(e,tp,eg,ep,ev,re,r,rp) function c60151611.condition(e,tp,eg,ep,ev,re,r,rp)
...@@ -72,75 +72,77 @@ function c60151611.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -72,75 +72,77 @@ function c60151611.operation(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function c60151611.mfilter(c) function c60151611.mfilter(c)
return c:IsRace(RACE_SPELLCASTER) and c:IsAttribute(ATTRIBUTE_LIGHT) return c:IsRace(RACE_SPELLCASTER) and c:IsAttribute(ATTRIBUTE_LIGHT)
end end
function c60151611.afilter(c) function c60151611.afilter(c)
return c:IsFaceup() and c:IsSetCard(0xcb25) and c:IsType(TYPE_MONSTER) return c:IsFaceup() and c:IsSetCard(0xcb25) and c:IsType(TYPE_MONSTER)
end end
function c60151611.disop(e,tp,eg,ep,ev,re,r,rp) function c60151611.disop(e,tp,eg,ep,ev,re,r,rp)
if not (re:IsActiveType(TYPE_MONSTER) and re:IsActivated()) then return end if not (re:IsActiveType(TYPE_MONSTER) and re:IsActivated()) then return end
Duel.Hint(HINT_CARD,0,60151611) Duel.Hint(HINT_CARD,0,60151611)
Duel.Recover(tp,300,REASON_EFFECT) Duel.Recover(tp,300,REASON_EFFECT)
local g=Duel.GetMatchingGroup(c60151611.afilter,tp,LOCATION_MZONE,0,nil) local g=Duel.GetMatchingGroup(c60151611.afilter,tp,LOCATION_MZONE,0,nil)
local tc=g:GetFirst() local tc=g:GetFirst()
while tc do while tc do
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK) e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(100) e1:SetValue(100)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
tc=g:GetNext() tc=g:GetNext()
end end
end end
function c60151611.adcost(e,tp,eg,ep,ev,re,r,rp,chk) function c60151611.adcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST) e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
Duel.PayLPCost(tp,math.floor(Duel.GetLP(tp)/2)) Duel.PayLPCost(tp,math.floor(Duel.GetLP(tp)/2))
end end
function c60151611.filter(c) function c60151611.filter(c)
return c:IsFaceup() return c:IsFaceup()
end end
function c60151611.adtg(e,tp,eg,ep,ev,re,r,rp,chk) function c60151611.adtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c60151611.filter,tp,0,LOCATION_MZONE,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(c60151611.filter,tp,0,LOCATION_MZONE,1,nil) end
end end
function c60151611.adop(e,tp,eg,ep,ev,re,r,rp) function c60151611.adop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(c60151611.filter,tp,0,LOCATION_MZONE,nil) local g=Duel.GetMatchingGroup(c60151611.filter,tp,0,LOCATION_MZONE,nil)
local tc=g:GetFirst() local tc=g:GetFirst()
while tc do while tc do
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK) e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(-(math.abs(Duel.GetLP(0)-Duel.GetLP(1)))) e1:SetValue(-(math.abs(Duel.GetLP(0)-Duel.GetLP(1))))
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
local e2=e1:Clone() local e2=e1:Clone()
e2:SetCode(EFFECT_UPDATE_DEFENSE) e2:SetCode(EFFECT_UPDATE_DEFENSE)
tc:RegisterEffect(e2) tc:RegisterEffect(e2)
tc=g:GetNext() tc=g:GetNext()
end end
if Duel.GetLP(tp)<Duel.GetLP(1-tp) then if Duel.GetLP(tp)<Duel.GetLP(1-tp) then
Duel.Recover(tp,(math.abs(Duel.GetLP(0)-Duel.GetLP(1)))/2,REASON_EFFECT) Duel.Recover(tp,(math.abs(Duel.GetLP(0)-Duel.GetLP(1)))/2,REASON_EFFECT)
end end
end end
function c60151611.spcon(e,tp,eg,ep,ev,re,r,rp) function c60151611.spcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsFaceup() and (Duel.CheckLocation(tp,LOCATION_SZONE,6) or Duel.CheckLocation(tp,LOCATION_SZONE,7)) return e:GetHandler():IsFaceup()
end end
function c60151611.cfilter(c,tp) function c60151611.cfilter(c,tp)
return c:IsFaceup() and c:IsType(TYPE_PENDULUM) and c:IsAbleToGraveAsCost() return c:IsFaceup() and c:IsType(TYPE_PENDULUM) and c:IsAbleToGraveAsCost()
end end
function c60151611.cost(e,tp,eg,ep,ev,re,r,rp,chk) function c60151611.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c60151611.cfilter,tp,LOCATION_EXTRA,0,1,e:GetHandler()) end if chk==0 then return Duel.IsExistingMatchingCard(c60151611.cfilter,tp,LOCATION_EXTRA,0,1,e:GetHandler()) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c60151611.cfilter,tp,LOCATION_EXTRA,0,1,1,e:GetHandler()) local g=Duel.SelectMatchingCard(tp,c60151611.cfilter,tp,LOCATION_EXTRA,0,1,1,e:GetHandler())
Duel.SendtoGrave(g,REASON_COST) Duel.SendtoGrave(g,REASON_COST)
end end
function c60151611.pentg(e,tp,eg,ep,ev,re,r,rp,chk) function c60151611.pentg(e,tp,eg,ep,ev,re,r,rp,chk)
local lsc=Duel.CheckLocation(tp,LOCATION_SZONE,6) if chk==0 then return Duel.CheckLocation(tp,LOCATION_PZONE,0) or Duel.CheckLocation(tp,LOCATION_PZONE,1) end
local rsc=Duel.CheckLocation(tp,LOCATION_SZONE,7)
if chk==0 then return lsc or rsc end
end end
function c60151611.penop(e,tp,eg,ep,ev,re,r,rp) function c60151611.penop(e,tp,eg,ep,ev,re,r,rp)
Duel.MoveToField(e:GetHandler(),tp,tp,LOCATION_SZONE,POS_FACEUP,true) if not Duel.CheckLocation(tp,LOCATION_PZONE,0) and not Duel.CheckLocation(tp,LOCATION_PZONE,1) then return false end
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.MoveToField(c,tp,tp,LOCATION_PZONE,POS_FACEUP,true)
end
end end
\ No newline at end of file
...@@ -144,7 +144,7 @@ function c60151612.setcon3(e,tp,eg,ep,ev,re,r,rp) ...@@ -144,7 +144,7 @@ function c60151612.setcon3(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetSummonType()==SUMMON_TYPE_SYNCHRO return e:GetHandler():GetSummonType()==SUMMON_TYPE_SYNCHRO
end end
function c60151612.spcon(e,tp,eg,ep,ev,re,r,rp) function c60151612.spcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsFaceup() and (Duel.CheckLocation(tp,LOCATION_SZONE,6) or Duel.CheckLocation(tp,LOCATION_SZONE,7)) return e:GetHandler():IsFaceup()
end end
function c60151612.cfilter(c,tp) function c60151612.cfilter(c,tp)
return c:IsFaceup() and c:IsType(TYPE_PENDULUM) and c:IsAbleToGraveAsCost() return c:IsFaceup() and c:IsType(TYPE_PENDULUM) and c:IsAbleToGraveAsCost()
...@@ -156,10 +156,12 @@ function c60151612.cost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -156,10 +156,12 @@ function c60151612.cost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SendtoGrave(g,REASON_COST) Duel.SendtoGrave(g,REASON_COST)
end end
function c60151612.pentg(e,tp,eg,ep,ev,re,r,rp,chk) function c60151612.pentg(e,tp,eg,ep,ev,re,r,rp,chk)
local lsc=Duel.CheckLocation(tp,LOCATION_SZONE,6) if chk==0 then return Duel.CheckLocation(tp,LOCATION_PZONE,0) or Duel.CheckLocation(tp,LOCATION_PZONE,1) end
local rsc=Duel.CheckLocation(tp,LOCATION_SZONE,7)
if chk==0 then return lsc or rsc end
end end
function c60151612.penop(e,tp,eg,ep,ev,re,r,rp) function c60151612.penop(e,tp,eg,ep,ev,re,r,rp)
Duel.MoveToField(e:GetHandler(),tp,tp,LOCATION_SZONE,POS_FACEUP,true) if not Duel.CheckLocation(tp,LOCATION_PZONE,0) and not Duel.CheckLocation(tp,LOCATION_PZONE,1) then return false end
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.MoveToField(c,tp,tp,LOCATION_PZONE,POS_FACEUP,true)
end
end end
\ No newline at end of file
...@@ -96,7 +96,7 @@ function c60151613.disop(e,tp,eg,ep,ev,re,r,rp) ...@@ -96,7 +96,7 @@ function c60151613.disop(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function c60151613.spcon(e,tp,eg,ep,ev,re,r,rp) function c60151613.spcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsFaceup() and (Duel.CheckLocation(tp,LOCATION_SZONE,6) or Duel.CheckLocation(tp,LOCATION_SZONE,7)) return e:GetHandler():IsFaceup()
end end
function c60151613.cfilter(c,tp) function c60151613.cfilter(c,tp)
return c:IsFaceup() and c:IsType(TYPE_PENDULUM) and c:IsAbleToGraveAsCost() return c:IsFaceup() and c:IsType(TYPE_PENDULUM) and c:IsAbleToGraveAsCost()
...@@ -108,12 +108,14 @@ function c60151613.cost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -108,12 +108,14 @@ function c60151613.cost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SendtoGrave(g,REASON_COST) Duel.SendtoGrave(g,REASON_COST)
end end
function c60151613.pentg(e,tp,eg,ep,ev,re,r,rp,chk) function c60151613.pentg(e,tp,eg,ep,ev,re,r,rp,chk)
local lsc=Duel.CheckLocation(tp,LOCATION_SZONE,6) if chk==0 then return Duel.CheckLocation(tp,LOCATION_PZONE,0) or Duel.CheckLocation(tp,LOCATION_PZONE,1) end
local rsc=Duel.CheckLocation(tp,LOCATION_SZONE,7)
if chk==0 then return lsc or rsc end
end end
function c60151613.penop(e,tp,eg,ep,ev,re,r,rp) function c60151613.penop(e,tp,eg,ep,ev,re,r,rp)
Duel.MoveToField(e:GetHandler(),tp,tp,LOCATION_SZONE,POS_FACEUP,true) if not Duel.CheckLocation(tp,LOCATION_PZONE,0) and not Duel.CheckLocation(tp,LOCATION_PZONE,1) then return false end
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.MoveToField(c,tp,tp,LOCATION_PZONE,POS_FACEUP,true)
end
end end
function c60151613.adcost(e,tp,eg,ep,ev,re,r,rp,chk) function c60151613.adcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
......
...@@ -153,7 +153,7 @@ function c60151614.setcon3(e,tp,eg,ep,ev,re,r,rp) ...@@ -153,7 +153,7 @@ function c60151614.setcon3(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetSummonType()==SUMMON_TYPE_SYNCHRO return e:GetHandler():GetSummonType()==SUMMON_TYPE_SYNCHRO
end end
function c60151614.spcon(e,tp,eg,ep,ev,re,r,rp) function c60151614.spcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsFaceup() and (Duel.CheckLocation(tp,LOCATION_SZONE,6) or Duel.CheckLocation(tp,LOCATION_SZONE,7)) return e:GetHandler():IsFaceup()
end end
function c60151614.cfilter(c,tp) function c60151614.cfilter(c,tp)
return c:IsFaceup() and c:IsType(TYPE_PENDULUM) and c:IsAbleToGraveAsCost() return c:IsFaceup() and c:IsType(TYPE_PENDULUM) and c:IsAbleToGraveAsCost()
...@@ -165,10 +165,12 @@ function c60151614.cost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -165,10 +165,12 @@ function c60151614.cost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SendtoGrave(g,REASON_COST) Duel.SendtoGrave(g,REASON_COST)
end end
function c60151614.pentg(e,tp,eg,ep,ev,re,r,rp,chk) function c60151614.pentg(e,tp,eg,ep,ev,re,r,rp,chk)
local lsc=Duel.CheckLocation(tp,LOCATION_SZONE,6) if chk==0 then return Duel.CheckLocation(tp,LOCATION_PZONE,0) or Duel.CheckLocation(tp,LOCATION_PZONE,1) end
local rsc=Duel.CheckLocation(tp,LOCATION_SZONE,7)
if chk==0 then return lsc or rsc end
end end
function c60151614.penop(e,tp,eg,ep,ev,re,r,rp) function c60151614.penop(e,tp,eg,ep,ev,re,r,rp)
Duel.MoveToField(e:GetHandler(),tp,tp,LOCATION_SZONE,POS_FACEUP,true) if not Duel.CheckLocation(tp,LOCATION_PZONE,0) and not Duel.CheckLocation(tp,LOCATION_PZONE,1) then return false end
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.MoveToField(c,tp,tp,LOCATION_PZONE,POS_FACEUP,true)
end
end end
\ No newline at end of file
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