Commit 98568bee authored by mercury233's avatar mercury233

update scripts

parent 4d1006bc
......@@ -38,8 +38,7 @@ function c100413009.ctcost(e,tp,eg,ep,ev,re,r,rp,chk)
if not Duel.IsExistingMatchingCard(aux.TRUE,tp,0,LOCATION_MZONE,1,nil) then rt=rt-1 end
if not Duel.IsExistingMatchingCard(Card.IsType,tp,0,LOCATION_ONFIELD,1,nil,TYPE_SPELL+TYPE_TRAP) then rt=rt-1 end
if chk==0 then return c:CheckRemoveOverlayCard(tp,1,REASON_COST) end
c:RemoveOverlayCard(tp,1,rt,REASON_COST)
local ct=Duel.GetOperatedGroup():GetCount()
local ct=c:RemoveOverlayCard(tp,1,rt,REASON_COST)
e:SetLabel(ct)
end
function c100413009.efftg(e,tp,eg,ep,ev,re,r,rp,chk)
......
......@@ -61,7 +61,7 @@ function c101010008.spcon(e,tp,eg,ep,ev,re,r,rp)
return (c:IsReason(REASON_BATTLE) or (c:IsReason(REASON_EFFECT) and not re:GetHandler():IsCode(101010008))) and c:IsPreviousLocation(LOCATION_ONFIELD)
end
function c101010008.spfilter(c,e,tp)
return c:IsSetCard(0x230) and not c:IsCode(101010008) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
return c:IsSetCard(0x130) and not c:IsCode(101010008) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c101010008.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
......
......@@ -56,7 +56,7 @@ function c101010009.spcon(e,tp,eg,ep,ev,re,r,rp)
return (c:IsReason(REASON_BATTLE) or (c:IsReason(REASON_EFFECT) and not re:GetHandler():IsCode(101010009))) and c:IsPreviousLocation(LOCATION_ONFIELD)
end
function c101010009.spfilter(c,e,tp)
return c:IsSetCard(0x230) and not c:IsCode(101010009) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
return c:IsSetCard(0x130) and not c:IsCode(101010009) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c101010009.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
......
......@@ -35,14 +35,14 @@ function c101010010.initial_effect(c)
c:RegisterEffect(e3)
end
function c101010010.atkval(e,c)
return Duel.GetMatchingGroupCount(Card.IsSetCard,c:GetControler(),LOCATION_GRAVE,0,nil,0x230)*300
return Duel.GetMatchingGroupCount(Card.IsSetCard,c:GetControler(),LOCATION_GRAVE,0,nil,0x130)*300
end
function c101010010.tgfilter(c,tp,ec)
local mg=Group.FromCards(ec,c)
return c:IsFaceup() and Duel.IsExistingMatchingCard(c101010010.lfilter,tp,LOCATION_EXTRA,0,1,nil,mg)
end
function c101010010.lfilter(c,mg)
return c:IsAttribute(ATTRIBUTE_DARK) and c:IsLinkSummonable(mg,2,2)
return c:IsAttribute(ATTRIBUTE_DARK) and c:IsLinkSummonable(mg,nil,2,2)
end
function c101010010.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local c=e:GetHandler()
......@@ -62,7 +62,7 @@ function c101010010.operation(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.SelectMatchingCard(tp,c101010010.lfilter,tp,LOCATION_EXTRA,0,1,1,nil,mg)
local lc=g:GetFirst()
if lc then
Duel.LinkSummon(tp,lc,mg,2,2)
Duel.LinkSummon(tp,lc,mg,nil,2,2)
end
end
end
......@@ -70,7 +70,7 @@ function c101010010.spcon(e,tp,eg,ep,ev,re,r,rp)
return bit.band(r,REASON_EFFECT+REASON_BATTLE)~=0 and e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD)
end
function c101010010.spfilter(c,e,tp)
return c:IsSetCard(0x230) and not c:IsCode(101010010) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
return c:IsSetCard(0x130) and not c:IsCode(101010010) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c101010010.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and c101010010.spfilter(chkc,e,tp) end
......
......@@ -19,6 +19,7 @@ function c101010015.initial_effect(c)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,101010015+100)
e2:SetCost(aux.bfgcost)
e2:SetTarget(c101010015.thtg)
e2:SetOperation(c101010015.thop)
......@@ -69,18 +70,18 @@ function c101010015.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if not Duel.IsPlayerAffectedByEffect(tp,59822133) and Duel.GetLocationCount(tp,LOCATION_MZONE)>1
and c:IsRelateToEffect(e) and tc:IsRelateToEffect(e) then
and c:IsRelateToEffect(e) and tc:IsRelateToEffect(e)
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and tc:IsCanBeSpecialSummoned(e,0,tp,false,false) then
Duel.SpecialSummonStep(c,0,tp,tp,false,false,POS_FACEUP_DEFENSE)
Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP_DEFENSE)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DISABLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e1,true)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
local e2=e1:Clone()
e2:SetCode(EFFECT_DISABLE_EFFECT)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e2,true)
local e3=e1:Clone()
tc:RegisterEffect(e3,true)
......
......@@ -2,7 +2,7 @@
--
--Scripted by 龙骑
function c101010037.initial_effect(c)
c:EnableCounterPermit(0x152)
c:EnableCounterPermit(0x52)
--link summon
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkType,TYPE_EFFECT),3)
c:EnableReviveLimit()
......@@ -53,7 +53,7 @@ function c101010037.cttg(e,tp,eg,ep,ev,re,r,rp,chk)
ct=ct+1
end
end
if chk==0 then return ct>0 and e:GetHandler():IsCanAddCounter(0x152,ct) end
if chk==0 then return ct>0 and e:GetHandler():IsCanAddCounter(0x52,ct) end
end
function c101010037.ctop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......@@ -65,7 +65,7 @@ function c101010037.ctop(e,tp,eg,ep,ev,re,r,rp)
end
end
if ct>0 then
c:AddCounter(0x152,ct)
c:AddCounter(0x52,ct)
end
end
function c101010037.atkcon(e,tp,eg,ep,ev,re,r,rp)
......@@ -73,14 +73,14 @@ function c101010037.atkcon(e,tp,eg,ep,ev,re,r,rp)
return ph>=PHASE_BATTLE_START and ph<=PHASE_BATTLE
end
function c101010037.atkval(e,c)
return c:GetCounter(0x152)*2500
return c:GetCounter(0x52)*2500
end
function c101010037.discon(e,tp,eg,ep,ev,re,r,rp)
return rp==1-tp and not e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED) and Duel.IsChainNegatable(ev) and re:IsActiveType(TYPE_MONSTER)
end
function c101010037.discost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsCanRemoveCounter(tp,0x152,1,REASON_COST) end
e:GetHandler():RemoveCounter(tp,0x152,1,REASON_COST)
if chk==0 then return e:GetHandler():IsCanRemoveCounter(tp,0x52,1,REASON_COST) end
e:GetHandler():RemoveCounter(tp,0x52,1,REASON_COST)
end
function c101010037.distg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
......
......@@ -33,7 +33,7 @@ function c101010043.initial_effect(c)
c:RegisterEffect(e2)
end
function c101010043.lcheck(g)
return g:IsExists(Card.IsLinkSetCard,1,nil,0x1230)
return g:IsExists(Card.IsLinkSetCard,1,nil,0x1130)
end
function c101010043.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()~=tp and (Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2)
......@@ -43,7 +43,7 @@ function c101010043.tgfilter(c,tp,ec)
return c:IsFaceup() and c:IsSummonType(SUMMON_TYPE_SPECIAL) and Duel.IsExistingMatchingCard(c101010043.lfilter,tp,LOCATION_EXTRA,0,1,nil,mg)
end
function c101010043.lfilter(c,mg)
return c:IsAttribute(ATTRIBUTE_DARK) and not c:IsCode(101010043) and c:IsLinkSummonable(mg,2,2)
return c:IsAttribute(ATTRIBUTE_DARK) and not c:IsCode(101010043) and c:IsLinkSummonable(mg,nil,2,2)
end
function c101010043.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local c=e:GetHandler()
......@@ -63,7 +63,7 @@ function c101010043.operation(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.SelectMatchingCard(tp,c101010043.lfilter,tp,LOCATION_EXTRA,0,1,1,nil,mg)
local lc=g:GetFirst()
if lc then
Duel.LinkSummon(tp,lc,mg,2,2)
Duel.LinkSummon(tp,lc,mg,nil,2,2)
end
end
end
......
......@@ -30,14 +30,14 @@ function c101010044.initial_effect(c)
c:RegisterEffect(e2)
end
function c101010044.lcheck(g)
return g:IsExists(Card.IsLinkSetCard,1,nil,0x1230)
return g:IsExists(Card.IsLinkSetCard,1,nil,0x1130)
end
function c101010044.tgfilter(c,tp,ec)
local mg=Group.FromCards(ec,c)
return c:IsFaceup() and Duel.IsExistingMatchingCard(c101010044.lfilter,tp,LOCATION_EXTRA,0,1,nil,mg)
end
function c101010044.lfilter(c,mg)
return c:IsAttribute(ATTRIBUTE_DARK) and not c:IsCode(101010044) and c:IsLinkSummonable(mg,2,2)
return c:IsAttribute(ATTRIBUTE_DARK) and not c:IsCode(101010044) and c:IsLinkSummonable(mg,nil,2,2)
end
function c101010044.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local c=e:GetHandler()
......@@ -57,7 +57,7 @@ function c101010044.operation(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.SelectMatchingCard(tp,c101010044.lfilter,tp,LOCATION_EXTRA,0,1,1,nil,mg)
local lc=g:GetFirst()
if lc then
Duel.LinkSummon(tp,lc,mg,2,2)
Duel.LinkSummon(tp,lc,mg,nil,2,2)
end
end
end
......
--I:Pマスカレーナ
--Scripted by nekrozar
--need Card.IsLinkSummonable and Duel.LinkSummon update
function c101010049.initial_effect(c)
--link summon
aux.AddLinkProcedure(c,aux.NOT(aux.FilterBoolFunction(Card.IsLinkType,TYPE_LINK)),2,2)
......@@ -31,40 +30,19 @@ function c101010049.lkcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()~=tp
and (Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2)
end
function c101010049.lkfilter(c,mc)
local e1=Effect.CreateEffect(mc)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_MUST_BE_LMATERIAL)
e1:SetRange(LOCATION_MZONE)
e1:SetTargetRange(1,0)
mc:RegisterEffect(e1,true)
local res=c:IsLinkSummonable(nil)
e1:Reset()
return res
end
function c101010049.lktg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.IsExistingMatchingCard(c101010049.lkfilter,tp,LOCATION_EXTRA,0,1,nil,c) end
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsLinkSummonable,tp,LOCATION_EXTRA,0,1,nil,nil,e:GetHandler()) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function c101010049.lkop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsControler(1-tp) or not c:IsRelateToEffect(e) then return end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_MUST_BE_LMATERIAL)
e1:SetRange(LOCATION_MZONE)
e1:SetTargetRange(1,0)
c:RegisterEffect(e1,true)
local g=Duel.GetMatchingGroup(c101010049.lkfilter,tp,LOCATION_EXTRA,0,nil,c)
local g=Duel.GetMatchingGroup(Card.IsLinkSummonable,tp,LOCATION_EXTRA,0,nil,nil,c)
if g:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=g:Select(tp,1,1,nil)
Duel.LinkSummon(tp,sg:GetFirst(),nil)
Duel.LinkSummon(tp,sg:GetFirst(),nil,c)
end
e1:Reset()
end
function c101010049.indcon(e,tp,eg,ep,ev,re,r,rp)
return r==REASON_LINK
......@@ -77,7 +55,11 @@ function c101010049.indop(e,tp,eg,ep,ev,re,r,rp)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CLIENT_HINT)
e1:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e1:SetValue(1)
e1:SetValue(c101010049.indval)
e1:SetOwnerPlayer(tp)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
rc:RegisterEffect(e1,true)
end
function c101010049.indval(e,re,rp)
return rp==1-e:GetOwnerPlayer()
end
......@@ -2,7 +2,7 @@
--
--Scripted by 龙骑
function c101010050.initial_effect(c)
c:EnableCounterPermit(0x153)
c:EnableCounterPermit(0x53)
--link summon
aux.AddLinkProcedure(c,nil,2,99,c101010050.lcheck)
c:EnableReviveLimit()
......@@ -60,20 +60,20 @@ end
function c101010050.cttg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
local ct=e:GetLabelObject():GetLabel()
Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,ct,0,0x153)
Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,ct,0,0x53)
end
function c101010050.ctop(e,tp,eg,ep,ev,re,r,rp)
local ct=e:GetLabelObject():GetLabel()
if e:GetHandler():IsRelateToEffect(e) then
e:GetHandler():AddCounter(0x153,ct)
e:GetHandler():AddCounter(0x53,ct)
end
end
function c101010050.atkval(e,c)
return c:GetCounter(0x153)*200
return c:GetCounter(0x53)*200
end
function c101010050.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsCanRemoveCounter(tp,0x153,1,REASON_COST) end
e:GetHandler():RemoveCounter(tp,0x153,1,REASON_COST)
if chk==0 then return e:GetHandler():IsCanRemoveCounter(tp,0x53,1,REASON_COST) end
e:GetHandler():RemoveCounter(tp,0x53,1,REASON_COST)
end
function c101010050.spfilter(c,e,tp)
return c:IsRace(RACE_INSECT) and c:IsLevelBelow(4) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE)
......
......@@ -24,7 +24,7 @@ function c101010051.initial_effect(c)
c:RegisterEffect(e2)
end
function c101010051.lkfilter(c,mc)
return c:IsSetCard(0x119) --and c:IsLinkSummonable(nil,mc)
return c:IsSetCard(0x119) and c:IsLinkSummonable(nil,mc)
end
function c101010051.spfilter(c,e,tp)
return c:IsSetCard(0x119) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
......@@ -56,8 +56,7 @@ function c101010051.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=tg:Select(tp,1,1,nil)
local sc=sg:GetFirst()
--Duel.LinkSummon(tp,sc,nil,tc)
Duel.LinkSummon(tp,sc)
Duel.LinkSummon(tp,sc,nil,tc)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_CANNOT_ATTACK)
......
......@@ -26,7 +26,7 @@ function c101010054.initial_effect(c)
c:RegisterEffect(e2)
end
function c101010054.filter(c)
return c:IsSetCard(0x230) and c:IsAbleToHand()
return c:IsSetCard(0x130) and c:IsAbleToHand()
end
function c101010054.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c101010054.filter,tp,LOCATION_DECK,0,1,nil) end
......@@ -45,7 +45,7 @@ function c101010054.spcon(e,tp,eg,ep,ev,re,r,rp)
return c:IsReason(REASON_EFFECT) and c:IsPreviousLocation(LOCATION_ONFIELD) and c:IsPreviousPosition(POS_FACEDOWN)
end
function c101010054.spfilter(c,e,tp)
return c:IsSetCard(0x230) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
return c:IsSetCard(0x130) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c101010054.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
......
......@@ -34,7 +34,7 @@ function c101010055.initial_effect(c)
c:RegisterEffect(e3)
end
function c101010055.cfilter(c,tp)
return c:IsFaceup() and c:IsSetCard(0x230) and c:IsSummonType(SUMMON_TYPE_LINK) and c:GetSummonPlayer()==tp
return c:IsFaceup() and c:IsSetCard(0x130) and c:IsSummonType(SUMMON_TYPE_LINK) and c:GetSummonPlayer()==tp
end
function c101010055.descon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c101010055.cfilter,1,nil,tp)
......@@ -58,7 +58,7 @@ function c101010055.spcon(e,tp,eg,ep,ev,re,r,rp)
return c:IsReason(REASON_EFFECT) and c:IsPreviousLocation(LOCATION_ONFIELD) and c:IsPreviousPosition(POS_FACEDOWN)
end
function c101010055.spfilter(c,e,tp)
return c:IsSetCard(0x230) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
return c:IsSetCard(0x130) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c101010055.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
......
......@@ -3,8 +3,8 @@
--Scripted by nekrozar
function c101010061.initial_effect(c)
c:SetUniqueOnField(1,0,101010061)
c:EnableCounterPermit(0x53)
c:SetCounterLimit(0x53,7)
c:EnableCounterPermit(0x54)
c:SetCounterLimit(0x54,7)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
......@@ -35,11 +35,11 @@ end
function c101010061.ctop(e,tp,eg,ep,ev,re,r,rp)
local ct=eg:FilterCount(c101010061.ctfilter,nil)
if ct>0 then
e:GetHandler():AddCounter(0x53,ct,true)
e:GetHandler():AddCounter(0x54,ct,true)
end
end
function c101010061.spcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetCounter(0x53)==7
return e:GetHandler():GetCounter(0x54)==7
end
function c101010061.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
......
......@@ -2,7 +2,7 @@
--Scripted by nekrozar
function c101010064.initial_effect(c)
c:EnableCounterPermit(0x52)
c:EnableCounterPermit(0x55)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_COUNTER)
......@@ -43,13 +43,13 @@ function c101010064.initial_effect(c)
c:RegisterEffect(e4)
end
function c101010064.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsCanAddCounter(tp,0x52,1,e:GetHandler()) end
Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,1,0,0x52)
if chk==0 then return Duel.IsCanAddCounter(tp,0x55,1,e:GetHandler()) end
Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,1,0,0x55)
end
function c101010064.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
c:AddCounter(0x52,1)
c:AddCounter(0x55,1)
end
end
function c101010064.ctcon(e,tp,eg,ep,ev,re,r,rp)
......@@ -57,10 +57,10 @@ function c101010064.ctcon(e,tp,eg,ep,ev,re,r,rp)
end
function c101010064.cttg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,1,0,0x52)
Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,1,0,0x55)
end
function c101010064.rectg(e,tp,eg,ep,ev,re,r,rp,chk)
local ct=e:GetHandler():GetCounter(0x52)
local ct=e:GetHandler():GetCounter(0x55)
if chk==0 then return ct>0 end
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
Duel.SetTargetPlayer(tp)
......@@ -68,14 +68,14 @@ function c101010064.rectg(e,tp,eg,ep,ev,re,r,rp,chk)
end
function c101010064.recop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local ct=c:GetCounter(0x52)
local ct=c:GetCounter(0x55)
local p=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER)
if c:IsRelateToEffect(e) and ct>0 then
Duel.Recover(p,ct*500,REASON_EFFECT)
end
end
function c101010064.damtg(e,tp,eg,ep,ev,re,r,rp,chk)
local ct=e:GetHandler():GetCounter(0x52)
local ct=e:GetHandler():GetCounter(0x55)
if chk==0 then return ct>0 end
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
Duel.SetTargetPlayer(1-tp)
......@@ -83,7 +83,7 @@ function c101010064.damtg(e,tp,eg,ep,ev,re,r,rp,chk)
end
function c101010064.damop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local ct=c:GetCounter(0x52)
local ct=c:GetCounter(0x55)
local p=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER)
if c:IsRelateToEffect(e) and ct>0 then
Duel.Damage(p,ct*300,REASON_EFFECT)
......
......@@ -27,7 +27,7 @@ function c101010066.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=Duel.GetMatchingGroup(c101010066.filter,tp,LOCATION_HAND,0,nil,type)
local op=0
if g:GetCount()>0 and tc:IsDiscardable(REASON_EFFECT) and c:IsRelateToEffect(e) and Duel.IsPlayerCanDraw(tp,1) then
if g:GetCount()>0 and tc:IsDiscardable(REASON_EFFECT) and c:IsRelateToEffect(e) and c:GetLeaveFieldDest()==0 and Duel.IsPlayerCanDraw(tp,1) then
op=Duel.SelectOption(tp,aux.Stringid(101010066,0),aux.Stringid(101010066,1))
else
op=Duel.SelectOption(tp,aux.Stringid(101010066,1))+1
......
......@@ -28,7 +28,7 @@ function c101010069.initial_effect(c)
c:RegisterEffect(e2)
end
function c101010069.desfilter(c,tp,ec)
return c:IsFaceup() and c:IsSetCard(0x230)
return c:IsFaceup() and c:IsSetCard(0x130)
and Duel.IsExistingTarget(nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,Group.FromCards(c,ec))
end
function c101010069.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
......@@ -53,7 +53,7 @@ function c101010069.spcon(e,tp,eg,ep,ev,re,r,rp)
return c:IsReason(REASON_EFFECT) and c:IsPreviousLocation(LOCATION_ONFIELD) and c:IsPreviousPosition(POS_FACEDOWN)
end
function c101010069.spfilter(c,e,tp)
return c:IsSetCard(0x230) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
return c:IsSetCard(0x130) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c101010069.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
......
......@@ -27,7 +27,7 @@ function c101010070.initial_effect(c)
c:RegisterEffect(e2)
end
function c101010070.filter(c,e,tp)
return c:IsSetCard(0x230) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
return c:IsSetCard(0x130) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c101010070.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
......@@ -47,7 +47,7 @@ function c101010070.spcon(e,tp,eg,ep,ev,re,r,rp)
return c:IsReason(REASON_EFFECT) and c:IsPreviousLocation(LOCATION_ONFIELD) and c:IsPreviousPosition(POS_FACEDOWN)
end
function c101010070.spfilter(c,e,tp)
return c:IsSetCard(0x230) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
return c:IsSetCard(0x130) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c101010070.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
......
--ドカンポリン
--Scripted by nekrozar
--need Duel.SelectDisableField or Duel.SelectSequence update
function c101010080.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
......@@ -24,39 +23,10 @@ function c101010080.initial_effect(c)
end
function c101010080.target(e,tp,eg,ep,ev,re,r,rp,chk)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE,PLAYER_NONE,0)+Duel.GetLocationCount(1-tp,LOCATION_MZONE,PLAYER_NONE,0)
local b1=Duel.CheckLocation(tp,LOCATION_MZONE,5) and Duel.CheckLocation(1-tp,LOCATION_MZONE,6)
local b2=Duel.CheckLocation(tp,LOCATION_MZONE,6) and Duel.CheckLocation(1-tp,LOCATION_MZONE,5)
if b1 then ft=ft+1 end
if b2 then ft=ft+1 end
if Duel.CheckLocation(tp,LOCATION_MZONE,5) and Duel.CheckLocation(1-tp,LOCATION_MZONE,6) then ft=ft+1 end
if Duel.CheckLocation(tp,LOCATION_MZONE,6) and Duel.CheckLocation(1-tp,LOCATION_MZONE,5) then ft=ft+1 end
if chk==0 then return ft>0 end
local off=1
local ops={}
local opval={}
if Duel.GetLocationCount(tp,LOCATION_MZONE,PLAYER_NONE,0)+Duel.GetLocationCount(1-tp,LOCATION_MZONE,PLAYER_NONE,0)>0 then
ops[off]=aux.Stringid(101010080,1)
opval[off-1]=1
off=off+1
end
if b1 then
ops[off]=aux.Stringid(101010080,2)
opval[off-1]=2
off=off+1
end
if b2 then
ops[off]=aux.Stringid(101010080,3)
opval[off-1]=3
off=off+1
end
if off==1 then return end
local op=Duel.SelectOption(tp,table.unpack(ops))
local seq=nil
if op==0 then
seq=Duel.SelectDisableField(tp,1,LOCATION_MZONE,LOCATION_MZONE,0)
elseif op==1 then
seq=0x400020
else
seq=0x200040
end
local seq=Duel.SelectDisableField(tp,1,LOCATION_MZONE,LOCATION_MZONE,0)
e:SetLabel(seq)
end
function c101010080.cfilter(c,seq,tp)
......
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