Commit 63faf4ba authored by nekrozar's avatar nekrozar

fix Dirge of the Lost Dragon

https://www.db.yugioh-card.com/yugiohdb/faq_search.action?ope=5&fid=22410

なお、その後に、「王宮の勅命」の効果の適用がなくなった場合には、「亡龍の旋律」のそれぞれの効果は再び適用される事になりますので、カードの発動時に宣言したカード名(=この場合、「亡龍の戦慄-デストルドー」)の効果が発動した場合には、その元々の持ち主のライフポイントを半分にする処理が行われます。)

https://www.db.yugioh-card.com/yugiohdb/faq_search.action?ope=5&fid=22429

質問の状況の場合、「亡龍の旋律」の効果による『その効果を発動したカードの元々の持ち主のLPは半分になる』処理は既に適用されていますので、エンドフェイズに「王宮の勅命」が適用され、「亡龍の旋律」の効果が無効化されている場合でも、『この効果を適用したターンのエンドフェイズにこのカードは墓地へ送られる』処理は通常通り適用され、「亡龍の旋律」は墓地へ送られます。

http://yugioh-wiki.net/index.php?%A1%D4%CB%B4%CE%B6%A4%CE%C0%FB%CE%A7%A1%D5

公式データベースにおけるこのカードの詳細説明には、「その宣言されたカード名のカードの効果を発動したプレイヤーのライフポイントが半分になります」と書かれている。

コントロール奪取などが生じた場合にテキストの処理と食い違っている様な文章だが、公式側の説明によると「他のカードの効果を考慮した記述ではないので元々の持ち主が使用している前提となる」との事であり、実際の処理には違いはない。
parent 59fe1e03
...@@ -3,6 +3,7 @@ function c40971261.initial_effect(c) ...@@ -3,6 +3,7 @@ function c40971261.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetProperty(EFFECT_FLAG_CONTINUOUS_TARGET)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(c40971261.target) e1:SetTarget(c40971261.target)
e1:SetOperation(c40971261.activate) e1:SetOperation(c40971261.activate)
...@@ -24,15 +25,6 @@ function c40971261.initial_effect(c) ...@@ -24,15 +25,6 @@ function c40971261.initial_effect(c)
e3:SetCondition(c40971261.lpcon) e3:SetCondition(c40971261.lpcon)
e3:SetOperation(c40971261.lpop) e3:SetOperation(c40971261.lpop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--to grave
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e4:SetCode(EVENT_PHASE+PHASE_END)
e4:SetRange(LOCATION_SZONE)
e4:SetCountLimit(1)
e4:SetCondition(c40971261.tgcon)
e4:SetOperation(c40971261.tgop)
c:RegisterEffect(e4)
--indes --indes
local e5=Effect.CreateEffect(c) local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE) e5:SetType(EFFECT_TYPE_SINGLE)
...@@ -58,7 +50,7 @@ end ...@@ -58,7 +50,7 @@ end
function c40971261.regop(e,tp,eg,ep,ev,re,r,rp) function c40971261.regop(e,tp,eg,ep,ev,re,r,rp)
if eg:GetFirst():IsCode(e:GetLabelObject():GetLabel()) then if eg:GetFirst():IsCode(e:GetLabelObject():GetLabel()) then
e:GetHandler():RegisterFlagEffect(40971261,RESET_EVENT+RESETS_STANDARD-RESET_TURN_SET+RESET_CHAIN,0,1) e:GetHandler():RegisterFlagEffect(40971261,RESET_EVENT+RESETS_STANDARD-RESET_TURN_SET+RESET_CHAIN,0,1)
e:SetLabel(ep) e:SetLabel(eg:GetFirst():GetOwner())
end end
end end
function c40971261.lpcon(e,tp,eg,ep,ev,re,r,rp) function c40971261.lpcon(e,tp,eg,ep,ev,re,r,rp)
...@@ -70,10 +62,21 @@ function c40971261.lpop(e,tp,eg,ep,ev,re,r,rp) ...@@ -70,10 +62,21 @@ function c40971261.lpop(e,tp,eg,ep,ev,re,r,rp)
local p=e:GetLabelObject():GetLabel() local p=e:GetLabelObject():GetLabel()
Duel.Hint(HINT_CARD,0,40971261) Duel.Hint(HINT_CARD,0,40971261)
Duel.SetLP(p,math.ceil(Duel.GetLP(p)/2)) Duel.SetLP(p,math.ceil(Duel.GetLP(p)/2))
c:RegisterFlagEffect(40971262,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1) local fid=c:GetFieldID()
c:RegisterFlagEffect(40971262,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1,fid)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetCountLimit(1)
e1:SetLabel(fid)
e1:SetCondition(c40971261.tgcon)
e1:SetOperation(c40971261.tgop)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end end
function c40971261.tgcon(e,tp,eg,ep,ev,re,r,rp) function c40971261.tgcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetFlagEffect(40971262)~=0 return e:GetHandler():GetFlagEffectLabel(40971262)==e:GetLabel()
end end
function c40971261.tgop(e,tp,eg,ep,ev,re,r,rp) function c40971261.tgop(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoGrave(e:GetHandler(),REASON_EFFECT) Duel.SendtoGrave(e:GetHandler(),REASON_EFFECT)
......
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