Commit 96a69be0 authored by mercury233's avatar mercury233

fix

parent 68dbfedd
...@@ -51,6 +51,8 @@ function c100227002.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -51,6 +51,8 @@ function c100227002.activate(e,tp,eg,ep,ev,re,r,rp)
local tc=g:Select(tp,1,1,nil):GetFirst() local tc=g:Select(tp,1,1,nil):GetFirst()
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
end end
elseif d==7 then
return
else else
local g=Duel.GetMatchingGroup(c100227002.filter3,tp,LOCATION_HAND,0,nil,e,tp) local g=Duel.GetMatchingGroup(c100227002.filter3,tp,LOCATION_HAND,0,nil,e,tp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and g:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(100227002,2)) then if Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and g:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(100227002,2)) then
......
...@@ -67,5 +67,5 @@ function c100227006.atkfilter(c) ...@@ -67,5 +67,5 @@ function c100227006.atkfilter(c)
return c:IsFaceup() and c:IsCode(100227007) return c:IsFaceup() and c:IsCode(100227007)
end end
function c100227006.value(e,c) function c100227006.value(e,c)
return Duel.GetMatchingGroupCount(c100227006.filter,c:GetControler(),LOCATION_ONFIELD,0,nil)*1000 return Duel.GetMatchingGroupCount(c100227006.atkfilter,c:GetControler(),LOCATION_ONFIELD,0,nil)*1000
end end
...@@ -46,6 +46,7 @@ end ...@@ -46,6 +46,7 @@ end
function c100227010.mtop(e,tp,eg,ep,ev,re,r,rp) function c100227010.mtop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetDecktopGroup(tp,10) local g=Duel.GetDecktopGroup(tp,10)
if g:FilterCount(Card.IsAbleToRemoveAsCost,nil)==10 then if g:FilterCount(Card.IsAbleToRemoveAsCost,nil)==10 then
Duel.DisableShuffleCheck()
Duel.Remove(g,POS_FACEDOWN,REASON_COST) Duel.Remove(g,POS_FACEDOWN,REASON_COST)
else else
Duel.Destroy(e:GetHandler(),REASON_COST) Duel.Destroy(e:GetHandler(),REASON_COST)
...@@ -86,12 +87,13 @@ end ...@@ -86,12 +87,13 @@ end
function c100227010.atktg(e,tp,eg,ep,ev,re,r,rp,chk) function c100227010.atktg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
local tc=Duel.GetAttacker() local tc=Duel.GetAttacker()
Duel.SetTargetCard(tc)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,tc,1,0,0) Duel.SetOperationInfo(0,CATEGORY_DESTROY,tc,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,1-tp,tc:GetAttack()/2) Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,1-tp,tc:GetAttack()/2)
end end
function c100227010.atkop(e,tp,eg,ep,ev,re,r,rp) function c100227010.atkop(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end if not e:GetHandler():IsRelateToEffect(e) then return end
local tc=Duel.GetAttacker() local tc=Duel.GetFirstTarget()
local atk=math.ceil(tc:GetAttack()/2) local atk=math.ceil(tc:GetAttack()/2)
if tc:IsRelateToEffect(e) and not tc:IsStatus(STATUS_ATTACK_CANCELED) and Duel.Destroy(tc,REASON_EFFECT)~=0 then if tc:IsRelateToEffect(e) and not tc:IsStatus(STATUS_ATTACK_CANCELED) and Duel.Destroy(tc,REASON_EFFECT)~=0 then
Duel.Damage(1-tp,atk,REASON_EFFECT) Duel.Damage(1-tp,atk,REASON_EFFECT)
......
...@@ -35,6 +35,13 @@ function c100227011.initial_effect(c) ...@@ -35,6 +35,13 @@ function c100227011.initial_effect(c)
e4:SetTarget(c100227011.eqtg) e4:SetTarget(c100227011.eqtg)
e4:SetOperation(c100227011.operation) e4:SetOperation(c100227011.operation)
c:RegisterEffect(e4) c:RegisterEffect(e4)
--Equip limit
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetCode(EFFECT_EQUIP_LIMIT)
e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e5:SetValue(1)
c:RegisterEffect(e5)
end end
function c100227011.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c100227011.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsFaceup() end if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsFaceup() end
......
...@@ -7,6 +7,7 @@ function c100227017.initial_effect(c) ...@@ -7,6 +7,7 @@ function c100227017.initial_effect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,0x1e0)
e1:SetCost(c100227017.cost) e1:SetCost(c100227017.cost)
e1:SetTarget(c100227017.target) e1:SetTarget(c100227017.target)
e1:SetOperation(c100227017.activate) e1:SetOperation(c100227017.activate)
...@@ -19,7 +20,7 @@ end ...@@ -19,7 +20,7 @@ end
function c100227017.cost(e,tp,eg,ep,ev,re,r,rp,chk) function c100227017.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetMatchingGroup(c100227017.cfilter,tp,LOCATION_MZONE+LOCATION_GRAVE,0,nil) local g=Duel.GetMatchingGroup(c100227017.cfilter,tp,LOCATION_MZONE+LOCATION_GRAVE,0,nil)
if chk==0 then return g:GetCount()>0 and Duel.GetActivityCount(tp,ACTIVITY_SPSUMMON)==0 end if chk==0 then return g:GetCount()>0 and Duel.GetActivityCount(tp,ACTIVITY_SPSUMMON)==0 end
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON) e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
......
...@@ -35,7 +35,7 @@ function c100228001.initial_effect(c) ...@@ -35,7 +35,7 @@ function c100228001.initial_effect(c)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c100228001.ffilter(c,fc,sub,mg,sg) function c100228001.ffilter(c,fc,sub,mg,sg)
return c:IsLocation(LOCATION_MZONE+LOCATION_HAND) and not sg or not sg:IsExists(Card.IsFusionCode,1,c,c:GetFusionCode()) return c:IsLocation(LOCATION_MZONE+LOCATION_HAND) and (sg==nil or not sg:IsExists(Card.IsFusionCode,1,c,c:GetFusionCode()))
end end
function c100228001.cfilter(c,fc) function c100228001.cfilter(c,fc)
return c:IsAbleToRemoveAsCost() and c:IsCanBeFusionMaterial(fc) return c:IsAbleToRemoveAsCost() and c:IsCanBeFusionMaterial(fc)
...@@ -75,7 +75,7 @@ end ...@@ -75,7 +75,7 @@ end
function c100228001.remcon(e,tp,eg,ep,ev,re,r,rp) function c100228001.remcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local mg=c:GetMaterial() local mg=c:GetMaterial()
return c:IsSummonType(SUMMON_TYPE_FUSION) and not mg:IsExists(c100228001.mfilter,1,nil) return mg and not mg:IsExists(c100228001.mfilter,1,nil)
end end
function c100228001.remtg(e,tp,eg,ep,ev,re,r,rp,chk) function c100228001.remtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToRemove,tp,LOCATION_DECK,0,1,nil) if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToRemove,tp,LOCATION_DECK,0,1,nil)
...@@ -92,9 +92,10 @@ function c100228001.remop(e,tp,eg,ep,ev,re,r,rp) ...@@ -92,9 +92,10 @@ function c100228001.remop(e,tp,eg,ep,ev,re,r,rp)
local sg1=g1:Select(tp,1,1,nil) local sg1=g1:Select(tp,1,1,nil)
Duel.ConfirmDecktop(1-tp,1) Duel.ConfirmDecktop(1-tp,1)
local sg2=g2:GetFirst() local sg2=g2:GetFirst()
Duel.ConfirmCards(tp,g3)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local sg3=g3:Select(tp,1,1,nil) local sg3=g3:Select(tp,1,1,nil)
sg1:Merge(sg2) sg1:AddCard(sg2)
sg1:Merge(sg3) sg1:Merge(sg3)
Duel.Remove(sg1,POS_FACEUP,REASON_EFFECT) Duel.Remove(sg1,POS_FACEUP,REASON_EFFECT)
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