Commit bf57ec47 authored by salix5's avatar salix5

fix

440556 バハムート·シャーク
The player who activates sp_summon effect will sp_summon the water xyz
monster, even if the control is changed to opponent.
(According to Konami database)

69042950 バグ·ロード
Revert to  previous version.
(This card can be activated only if both player control a monster with
level<=4)
The sp_summon of opponent is selectable now.

75797046 フォトン・アレキサンドラ・クイーン
The previous ID is wrong, and it should be 75797046.
parent 51a9b729
......@@ -30,9 +30,8 @@ end
function c440556.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
local c=e:GetHandler()
local cp=c:GetControler()
Duel.Hint(HINT_SELECTMSG,cp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(cp,c440556.filter,cp,LOCATION_EXTRA,0,1,1,nil,e,tp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c440556.filter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
local e1=Effect.CreateEffect(e:GetHandler())
......@@ -41,10 +40,10 @@ function c440556.spop(e,tp,eg,ep,ev,re,r,rp)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END)
c:RegisterEffect(e1)
elseif cp~=tp then
local cg=Duel.GetFieldGroup(cp,LOCATION_EXTRA,0)
else
local cg=Duel.GetFieldGroup(tp,LOCATION_EXTRA,0)
if cg and cg:GetCount()>0 then
Duel.ConfirmCards(cg,tp)
Duel.ConfirmCards(cg,1-tp)
end
end
end
......@@ -12,6 +12,9 @@ end
function c69042950.mfilter(c,clv)
return c:IsFaceup() and c:GetLevel()==clv
end
function c69042950.mfilter2(c)
return c:IsFaceup() and c:IsLevelBelow(4)
end
function c69042950.spfilter(c,e,tp)
local lv=c:GetLevel()
return lv>0 and lv<=4 and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
......@@ -20,7 +23,7 @@ end
function c69042950.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c69042950.spfilter,tp,LOCATION_HAND,0,1,nil,e,tp)
end
and Duel.IsExistingMatchingCard(c69042950.mfilter2,tp,0,LOCATION_MZONE,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND)
end
function c69042950.activate(e,tp,eg,ep,ev,re,r,rp)
......@@ -31,7 +34,8 @@ function c69042950.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.SpecialSummonStep(g:GetFirst(),0,tp,tp,false,false,POS_FACEUP)
end
end
if Duel.GetLocationCount(1-tp,LOCATION_MZONE)>0 and Duel.SelectYesNo(1-tp,aux.Stringid(69042950,0)) then
if Duel.GetLocationCount(1-tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(c69042950.spfilter,1-tp,LOCATION_HAND,0,1,nil,e,1-tp)
and Duel.SelectYesNo(1-tp,aux.Stringid(69042950,0)) then
Duel.Hint(HINT_SELECTMSG,1-tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(1-tp,c69042950.spfilter,1-tp,LOCATION_HAND,0,1,1,nil,e,1-tp)
if g:GetCount()~=0 then
......
--フォトン・アレキサンドラ・クイーン
function c75797045.initial_effect(c)
--xyz summon
aux.AddXyzProcedure(c,aux.XyzFilterFunctionF(c,aux.FilterBoolFunction(Card.IsSetCard,0x6a),4),2)
c:EnableReviveLimit()
--return
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(75797045,0))
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_DAMAGE)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetCost(c75797045.retcost)
e1:SetTarget(c75797045.rettg)
e1:SetOperation(c75797045.retop)
c:RegisterEffect(e1)
end
function c75797045.retcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
end
function c75797045.rettg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToHand,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end
local g=Duel.GetMatchingGroup(Card.IsAbleToHand,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,g:GetCount(),0,0)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,PLAYER_ALL,0)
end
function c75797045.hfilter(c,tp)
return c:IsLocation(LOCATION_HAND) and c:IsControler(tp)
end
function c75797045.retop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(Card.IsAbleToHand,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
if g:GetCount()==0 then return end
Duel.SendtoHand(g,nil,REASON_EFFECT)
local ct1=g:FilterCount(c75797045.hfilter,nil,tp)
local ct2=g:FilterCount(c75797045.hfilter,nil,1-tp)
Duel.Damage(tp,ct1*300,REASON_EFFECT)
Duel.Damage(1-tp,ct2*300,REASON_EFFECT)
end
--フォトン・アレキサンドラ・クイーン
function c75797046.initial_effect(c)
--xyz summon
aux.AddXyzProcedure(c,aux.XyzFilterFunctionF(c,aux.FilterBoolFunction(Card.IsSetCard,0x6a),4),2)
c:EnableReviveLimit()
--return
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(75797046,0))
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_DAMAGE)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetCost(c75797046.retcost)
e1:SetTarget(c75797046.rettg)
e1:SetOperation(c75797046.retop)
c:RegisterEffect(e1)
end
function c75797046.retcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
end
function c75797046.rettg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToHand,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end
local g=Duel.GetMatchingGroup(Card.IsAbleToHand,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,g:GetCount(),0,0)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,PLAYER_ALL,0)
end
function c75797046.hfilter(c,tp)
return c:IsLocation(LOCATION_HAND) and c:IsControler(tp)
end
function c75797046.retop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(Card.IsAbleToHand,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
if g:GetCount()==0 then return end
Duel.SendtoHand(g,nil,REASON_EFFECT)
local ct1=g:FilterCount(c75797046.hfilter,nil,tp)
local ct2=g:FilterCount(c75797046.hfilter,nil,1-tp)
Duel.Damage(tp,ct1*300,REASON_EFFECT)
Duel.Damage(1-tp,ct2*300,REASON_EFFECT)
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