Commit 3b1a76f6 authored by DailyShana's avatar DailyShana

fix

parent 70184ee9
...@@ -12,6 +12,19 @@ function c13317419.initial_effect(c) ...@@ -12,6 +12,19 @@ function c13317419.initial_effect(c)
e1:SetTarget(c13317419.target) e1:SetTarget(c13317419.target)
e1:SetOperation(c13317419.operation) e1:SetOperation(c13317419.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--destroy
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_DESTROY+CATEGORY_ATKCHANGE)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_SZONE)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetCountLimit(1,13317419)
e2:SetCondition(c13317419.descon)
e2:SetCost(c13317419.descost)
e2:SetTarget(c13317419.destg)
e2:SetOperation(c13317419.desop)
c:RegisterEffect(e2)
end end
function c13317419.condition(e,tp,eg,ep,ev,re,r,rp) function c13317419.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetCurrentPhase()~=PHASE_DAMAGE or not Duel.IsDamageCalculated() return Duel.GetCurrentPhase()~=PHASE_DAMAGE or not Duel.IsDamageCalculated()
...@@ -40,30 +53,19 @@ function c13317419.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -40,30 +53,19 @@ function c13317419.operation(e,tp,eg,ep,ev,re,r,rp)
e1:SetValue(800) e1:SetValue(800)
e1:SetReset(RESET_EVENT+0x1fe0000) e1:SetReset(RESET_EVENT+0x1fe0000)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--destroy --Equip limit
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(13317419,0)) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCategory(CATEGORY_DESTROY) e2:SetCode(EFFECT_EQUIP_LIMIT)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET) e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetType(EFFECT_TYPE_QUICK_O) e2:SetValue(1)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_SZONE)
e2:SetCountLimit(1,13317419)
e2:SetCost(c13317419.descost)
e2:SetTarget(c13317419.destg)
e2:SetOperation(c13317419.desop)
e2:SetReset(RESET_EVENT+0x1fe0000) e2:SetReset(RESET_EVENT+0x1fe0000)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--Equip limit
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_EQUIP_LIMIT)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e3:SetValue(1)
e3:SetReset(RESET_EVENT+0x1fe0000)
c:RegisterEffect(e3)
end end
end end
function c13317419.descon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetEquipTarget()
end
function c13317419.descost(e,tp,eg,ep,ev,re,r,rp,chk) function c13317419.descost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToGraveAsCost() end if chk==0 then return e:GetHandler():IsAbleToGraveAsCost() end
e:SetLabelObject(e:GetHandler():GetEquipTarget()) e:SetLabelObject(e:GetHandler():GetEquipTarget())
......
...@@ -20,6 +20,14 @@ function c82044279.initial_effect(c) ...@@ -20,6 +20,14 @@ function c82044279.initial_effect(c)
e2:SetDescription(aux.Stringid(82044279,1)) e2:SetDescription(aux.Stringid(82044279,1))
e2:SetCondition(c82044279.condition2) e2:SetCondition(c82044279.condition2)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--atk
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_DESTROYED)
e3:SetRange(LOCATION_MZONE)
e3:SetCondition(c82044279.atkcon)
e3:SetOperation(c82044279.atkop)
c:RegisterEffect(e3)
end end
function c82044279.condition(e,tp,eg,ep,ev,re,r,rp) function c82044279.condition(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
...@@ -39,24 +47,40 @@ function c82044279.condition2(e,tp,eg,ep,ev,re,r,rp) ...@@ -39,24 +47,40 @@ function c82044279.condition2(e,tp,eg,ep,ev,re,r,rp)
end end
function c82044279.target(e,tp,eg,ep,ev,re,r,rp,chk) function c82044279.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0) Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0)
if re:GetHandler():IsDestructable() and re:GetHandler():IsRelateToEffect(re) then if re:GetHandler():IsDestructable() and re:GetHandler():IsRelateToEffect(re) then
Duel.SetOperationInfo(0,CATEGORY_DESTROY,eg,1,0,0) Duel.SetOperationInfo(0,CATEGORY_DESTROY,eg,1,0,0)
end end
end end
function c82044279.operation(e,tp,eg,ep,ev,re,r,rp) function c82044279.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.NegateActivation(ev) Duel.NegateActivation(ev)
local rc=re:GetHandler() local rc=re:GetHandler()
if not rc:IsRelateToEffect(re) then return end if rc:IsRelateToEffect(re) then
if Duel.Destroy(rc,REASON_EFFECT)~=0 and c:IsRelateToEffect(e) and c:IsFaceup() then Duel.Destroy(rc,REASON_EFFECT)
local atk=rc:GetTextAttack() end
if atk<0 then atk=0 end end
function c82044279.atkcon(e,tp,eg,ep,ev,re,r,rp)
return bit.band(r,REASON_EFFECT)~=0 and re and re:GetHandler()==e:GetHandler()
and eg:IsExists(Card.IsType,1,nil,TYPE_MONSTER)
end
function c82044279.atkop(e,tp,eg,ep,ev,re,r,rp)
local g=eg:Filter(Card.IsType,nil,TYPE_MONSTER)
local c=e:GetHandler()
local atk=0
local tc=g:GetFirst()
while tc do
if tc:GetBaseAttack()>0 then
atk=atk+tc:GetBaseAttack()
end
tc=g:GetNext()
end
if atk>0 then
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK) e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetReset(RESET_EVENT+0x1ff0000+RESET_PHASE+PHASE_END)
e1:SetValue(atk) e1:SetValue(atk)
e1:SetReset(RESET_EVENT+0x1ff0000+RESET_PHASE+RESET_END)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
end end
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