Commit 8b82a865 authored by salix5's avatar salix5

fix 闇晦ましの城

■『フィールド上に表側表示で存在する全てのアンデット族モンスターの攻撃力と守備力は200ポイントアップする』モンスター効果は、効果処理時に自分のモンスターゾーンに表側表示で存在する全てのアンデット族モンスターに適用されます。
■『このカードがフィールド上に表側表示で存在する限り、自分のスタンバイフェイズ毎にさらに200ポイントずつアップする』モンスター効果は、効果処理時に自分のモンスターゾーンに表側表示で存在する全てのアンデット族モンスターに適用されます。
parent 44dd8447
......@@ -8,28 +8,24 @@ function c62121.initial_effect(c)
e1:SetOperation(c62121.operation)
c:RegisterEffect(e1)
end
function c62121.atktg(e,c)
return c:GetFieldID()<=e:GetLabel() and c:IsRace(RACE_ZOMBIE)
end
function c62121.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and c:IsFaceup() then
local g=Duel.GetFieldGroup(tp,LOCATION_MZONE,LOCATION_MZONE)
local mg,fid=g:GetMaxGroup(Card.GetFieldID)
local g=Duel.GetMatchingGroup(Card.IsRace,tp,LOCATION_MZONE,0,nil,RACE_ZOMBIE)
local tc=g:GetFirst()
while tc do
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetRange(LOCATION_MZONE)
e1:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e1:SetTarget(c62121.atktg)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetValue(200)
e1:SetLabel(fid)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE)
c:RegisterEffect(e1)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_UPDATE_DEFENSE)
e2:SetLabelObject(e1)
c:RegisterEffect(e2)
tc:RegisterEffect(e2)
tc=g:GetNext()
end
if c:IsRelateToEffect(e) and c:IsFaceup() then
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(62121,1))
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
......@@ -38,9 +34,7 @@ function c62121.operation(e,tp,eg,ep,ev,re,r,rp)
e3:SetCountLimit(1)
e3:SetCondition(c62121.atkcon)
e3:SetOperation(c62121.atkop)
e3:SetLabelObject(e2)
e3:SetLabel(2)
e3:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE+RESET_PHASE+PHASE_STANDBY+RESET_SELF_TURN,4)
e3:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_STANDBY+RESET_SELF_TURN,4)
c:RegisterEffect(e3)
end
end
......@@ -48,9 +42,20 @@ function c62121.atkcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==tp
end
function c62121.atkop(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
local ct=e:GetLabel()
e:GetLabelObject():SetValue(ct*200)
e:GetLabelObject():GetLabelObject():SetValue(ct*200)
e:SetLabel(ct+1)
local c=e:GetHandler()
local g=Duel.GetMatchingGroup(Card.IsRace,tp,LOCATION_MZONE,0,nil,RACE_ZOMBIE)
local tc=g:GetFirst()
while tc do
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetValue(200)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_UPDATE_DEFENSE)
tc:RegisterEffect(e2)
tc=g:GetNext()
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