Commit d1600d4e authored by JoyJ's avatar JoyJ

add skill 66957584

parent 2b46af7b
dc-php @ f0577fab
Subproject commit f0577fab8da59b23f8b3e3e495c292b0995ed3e4
...@@ -259,19 +259,79 @@ oneTimeSkill(13171876, function(e,tp,eg,ep,ev,re,r,rp) ...@@ -259,19 +259,79 @@ oneTimeSkill(13171876, function(e,tp,eg,ep,ev,re,r,rp)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP) e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e1:SetCode(EVENT_DRAW) e1:SetCode(EVENT_DRAW)
e1:SetOperation(c21082832_op) e1:SetCountLimit(1)
e1:SetOperation(c13171876_op)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
end end
Duel.SendtoDeck(Duel.GetFieldGroup(tp,LOCATION_HAND,0),nil,2,REASON_RULE) Duel.SendtoDeck(Duel.GetFieldGroup(1-tp,LOCATION_HAND,0),nil,2,REASON_RULE)
Duel.Draw(tp,5,REASON_RULE) Duel.Draw(1-tp,5,REASON_RULE)
end) end)
function c21082832_op(e,tp,eg,ep,ev,re,r,rp) function c13171876_op(e,tp,eg,ep,ev,re,r,rp)
local lp=Duel.GetLP(tp)-3000 local lp=Duel.GetLP(tp)-3000
if lp<0 then lp=0 end if lp<0 then lp=0 end
Duel.SetLP(tp,lp) Duel.SetLP(tp,lp)
end end
oneTimeSkill(66957584,function(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetFieldGroup(LOCATION_DECK+LOCATION_HAND)
g:ForEach(c66957584_reg)
end)
function c66957584_reg(c)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCategory(CATEGORY_TOGRAVE)
e1:SetDescription(aux.Stringid(7337976,1))
e1:SetRange(LOCATION_HAND)
e1:SetCondition(c66957584_con)
e1:SetTarget(c66957584_tg)
e1:SetOperation(c66957584_op)
end
function c66957584_con(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetFlagEffect(87654321)==0
end
function c66957584_tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToGrave() and Duel.IsPlayerCanDraw(tp,1) end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,e:GetHandler(),1,0,0)
end
function c66957584_op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SendtoGrave(c) then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCategory(CATEGORY_TOHAND)
e1:SetDescription(aux.Stringid(1264319,1))
e1:SetRange(LOCATION_GRAVE)
e1:SetCondition(aux.exccon)
e1:SetTarget(c66957584_backtg)
e1:SetOperation(c66957584_backop)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e1)
local g=Duel.GetDecktopGroup(tp,1)
if Duel.Draw(tp,1)>0 then
Duel.RegisterFlagEffect(g:GetFirst(),87654321,RESET_PHASE+PHASE_END,0,1)
end
end
end
function c66957584_backtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return e:GetHandler():IsAbleToHand() end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,e:GetHandler(),1,0,0)
end
function c66957584_backop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.SendtoHand(c,nil,REASON_EFFECT)
end
end
oneTimeSkill(21082832, function(e,tp,eg,ep,ev,re,r,rp) oneTimeSkill(21082832, function(e,tp,eg,ep,ev,re,r,rp)
for i=1,5 do for i=1,5 do
local tc=Duel.CreateToken(tp,55410871) local tc=Duel.CreateToken(tp,55410871)
......
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