Commit ad0a929a authored by VanillaSalt's avatar VanillaSalt

fix

parent 61664cd0
...@@ -4214,8 +4214,7 @@ int32 field::select_tribute_cards(int16 step, uint8 playerid, uint8 cancelable, ...@@ -4214,8 +4214,7 @@ int32 field::select_tribute_cards(int16 step, uint8 playerid, uint8 cancelable,
card* pcard = core.select_cards[returns.bvalue[i + 1]]; card* pcard = core.select_cards[returns.bvalue[i + 1]];
core.operated_set.insert(pcard); core.operated_set.insert(pcard);
effect* peffect = pcard->is_affected_by_effect(EFFECT_EXTRA_RELEASE_SUM); effect* peffect = pcard->is_affected_by_effect(EFFECT_EXTRA_RELEASE_SUM);
if((peffect->flag & EFFECT_FLAG_COUNT_LIMIT) && (peffect->reset_count & 0xf00) > 0) peffect->dec_count();
peffect->dec_count();
} }
return FALSE; return FALSE;
} }
......
--û֮ --幻惑の巻物
function c10352095.initial_effect(c) function c10352095.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
...@@ -9,7 +9,7 @@ function c10352095.initial_effect(c) ...@@ -9,7 +9,7 @@ function c10352095.initial_effect(c)
e1:SetTarget(c10352095.target) e1:SetTarget(c10352095.target)
e1:SetOperation(c10352095.operation) e1:SetOperation(c10352095.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--ATTRIBUTE --ATTRIBUTE
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_EQUIP) e2:SetType(EFFECT_TYPE_EQUIP)
e2:SetCode(EFFECT_CHANGE_ATTRIBUTE) e2:SetCode(EFFECT_CHANGE_ATTRIBUTE)
......
--魔界発現世行きデスガイド --魔界発現世行きデスガイド
function c10802915.initial_effect(c) function c10802915.initial_effect(c)
--spsummon --spsummon
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
......
--ɥ?ѥ --シャドウ・ヴァンパイア
function c14212201.initial_effect(c) function c14212201.initial_effect(c)
--spsummon --spsummon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
--¥Ø¥ë¡¤¥Æ¥ó¥Ú¥¹¥È --ヘル・テンペスト
function c14391920.initial_effect(c) function c14391920.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
--\L --暗黒界の闘神 ラチナ
function c15667446.initial_effect(c) function c15667446.initial_effect(c)
--spsummon --spsummon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
--`ڥ륿 --エヴォルダー・ペルタ
function c16480084.initial_effect(c) function c16480084.initial_effect(c)
end end
function c16480084.evolreg(c) function c16480084.evolreg(c)
...@@ -22,14 +22,14 @@ function c16480084.evolreg(c) ...@@ -22,14 +22,14 @@ function c16480084.evolreg(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c16480084.schcon(e,tp,eg,ep,ev,re,r,rp) function c16480084.schcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsLocation(LOCATION_GRAVE) and e:GetHandler():IsReason(REASON_BATTLE) return e:GetHandler():IsLocation(LOCATION_GRAVE) and e:GetHandler():IsReason(REASON_BATTLE)
end end
function c16480084.sfilter(c) function c16480084.sfilter(c)
return c:IsSetCard(0x304e) and c:IsAbleToHand() return c:IsSetCard(0x304e) and c:IsAbleToHand()
end end
function c16480084.schtg(e,tp,eg,ep,ev,re,r,rp,chk) function c16480084.schtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c16480084.sfilter,tp,LOCATION_DECK,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(c16480084.sfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,0,0) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end end
function c16480084.schop(e,tp,eg,ep,ev,re,r,rp) function c16480084.schop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
......
...@@ -25,7 +25,7 @@ function c17626381.drcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -25,7 +25,7 @@ function c17626381.drcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c17626381.cfilter,1,nil,tp) return eg:IsExists(c17626381.cfilter,1,nil,tp)
end end
function c17626381.drtg(e,tp,eg,ep,ev,re,r,rp,chk) function c17626381.drtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return not e:GetHandler():IsStatus(STATUS_CHAINING) and Duel.IsPlayerCanDraw(tp,1) end if chk==0 then return Duel.IsPlayerCanDraw(tp,1) end
Duel.SetTargetPlayer(tp) Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(1) Duel.SetTargetParam(1)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1) Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
......
...@@ -41,11 +41,11 @@ end ...@@ -41,11 +41,11 @@ end
function c1784686.activate(e,tp,eg,ep,ev,re,r,rp) function c1784686.activate(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<0 then return end if Duel.GetLocationCount(tp,LOCATION_MZONE)<0 then return end
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc and tc:IsRelateToEffect(e) and tc:IsFaceup() then if tc:IsRelateToEffect(e) and tc:IsFaceup() and c:IsCanBeFusionMaterial() and not c:IsImmuneToEffect(e) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=Duel.SelectMatchingCard(tp,c1784686.spfilter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp,tc:GetCode()) local sg=Duel.SelectMatchingCard(tp,c1784686.spfilter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp,tc:GetCode())
local sc=sg:GetFirst() local sc=sg:GetFirst()
if sg then if sc then
sc:SetMaterial(Group.FromCards(tc)) sc:SetMaterial(Group.FromCards(tc))
Duel.SendtoGrave(tc,REASON_EFFECT+REASON_MATERIAL+REASON_FUSION) Duel.SendtoGrave(tc,REASON_EFFECT+REASON_MATERIAL+REASON_FUSION)
Duel.BreakEffect() Duel.BreakEffect()
......
...@@ -7,6 +7,7 @@ function c20630765.initial_effect(c) ...@@ -7,6 +7,7 @@ function c20630765.initial_effect(c)
e1:SetCode(EVENT_CHAIN_SOLVING) e1:SetCode(EVENT_CHAIN_SOLVING)
e1:SetProperty(EFFECT_FLAG_DELAY) e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1)
e1:SetOperation(c20630765.ctop) e1:SetOperation(c20630765.ctop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--attackup --attackup
...@@ -24,6 +25,7 @@ function c20630765.initial_effect(c) ...@@ -24,6 +25,7 @@ function c20630765.initial_effect(c)
e3:SetType(EFFECT_TYPE_IGNITION) e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET) e3:SetProperty(EFFECT_FLAG_CARD_TARGET)
e3:SetCountLimit(1)
e3:SetCost(c20630765.rmcost) e3:SetCost(c20630765.rmcost)
e3:SetTarget(c20630765.rmtg) e3:SetTarget(c20630765.rmtg)
e3:SetOperation(c20630765.rmop) e3:SetOperation(c20630765.rmop)
......
...@@ -32,8 +32,6 @@ function c25700114.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -32,8 +32,6 @@ function c25700114.activate(e,tp,eg,ep,ev,re,r,rp)
if tc:IsRelateToEffect(e) then if tc:IsRelateToEffect(e) then
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_UNRELEASABLE_SUM) e1:SetCode(EFFECT_UNRELEASABLE_SUM)
e1:SetValue(1) e1:SetValue(1)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+RESET_END) e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+RESET_END)
......
...@@ -26,7 +26,7 @@ function c31467372.damcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -26,7 +26,7 @@ function c31467372.damcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c31467372.filter,1,nil,tp) return eg:IsExists(c31467372.filter,1,nil,tp)
end end
function c31467372.damtg(e,tp,eg,ep,ev,re,r,rp,chk) function c31467372.damtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return not e:GetHandler():IsStatus(STATUS_CHAINING) end if chk==0 then return true end
Duel.SetTargetPlayer(1-tp) Duel.SetTargetPlayer(1-tp)
Duel.SetTargetParam(800) Duel.SetTargetParam(800)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,1-tp,800) Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,1-tp,800)
......
...@@ -11,8 +11,8 @@ function c48800175.initial_effect(c) ...@@ -11,8 +11,8 @@ function c48800175.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c48800175.cost(e,tp,eg,ep,ev,re,r,rp,chk) function c48800175.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToGraveAsCost,tp,LOCATION_HAND,0,1,e:GetHandler()) end if chk==0 then return Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,e:GetHandler()) end
Duel.DiscardHand(tp,Card.IsAbleToGraveAsCost,1,1,REASON_COST) Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_COST)
end end
function c48800175.filter(c) function c48800175.filter(c)
return c:IsRace(RACE_DRAGON) and c:IsAttackAbove(3000) and c:IsDefenceBelow(2500) and c:IsAbleToHand() return c:IsRace(RACE_DRAGON) and c:IsAttackAbove(3000) and c:IsDefenceBelow(2500) and c:IsAbleToHand()
......
...@@ -10,7 +10,6 @@ function c68396121.initial_effect(c) ...@@ -10,7 +10,6 @@ function c68396121.initial_effect(c)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1) e1:SetCountLimit(1)
e1:SetCost(c68396121.negcost) e1:SetCost(c68396121.negcost)
e1:SetTarget(c68396121.negtg)
e1:SetOperation(c68396121.negop) e1:SetOperation(c68396121.negop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--atk --atk
...@@ -32,9 +31,6 @@ end ...@@ -32,9 +31,6 @@ end
function c68396121.filter(c) function c68396121.filter(c)
return c:IsFaceup() and (c:IsLocation(LOCATION_SZONE) or c:IsType(TYPE_EFFECT)) and not c:IsDisabled() return c:IsFaceup() and (c:IsLocation(LOCATION_SZONE) or c:IsType(TYPE_EFFECT)) and not c:IsDisabled()
end end
function c68396121.negtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c68396121.filter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,e:GetHandler()) end
end
function c68396121.negop(e,tp,eg,ep,ev,re,r,rp) function c68396121.negop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local g=Duel.GetMatchingGroup(c68396121.filter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,c) local g=Duel.GetMatchingGroup(c68396121.filter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,c)
......
...@@ -28,13 +28,13 @@ function c68535320.spfilter(c,e,tp) ...@@ -28,13 +28,13 @@ function c68535320.spfilter(c,e,tp)
end end
function c68535320.operation(e,tp,eg,ep,ev,re,r,rp) function c68535320.operation(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc and tc:IsRelateToEffect(e) then if tc:IsRelateToEffect(e) and Duel.Destroy(tc,REASON_EFFECT)~=0 then
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
local g=Duel.GetMatchingGroup(c68535320.spfilter,tp,LOCATION_DECK,0,nil,e,tp) local g=Duel.GetMatchingGroup(c68535320.spfilter,tp,LOCATION_DECK,0,nil,e,tp)
if Duel.Destroy(tc,REASON_EFFECT)~=0 and g:GetCount()>0 if g:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(68535320,1)) then
and Duel.SelectYesNo(tp,aux.Stringid(68535320,1)) then Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=g:Select(tp,1,1,nil) local sg=g:Select(tp,1,1,nil)
Duel.BreakEffect()
Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP)
end end
end end
......
--アミュレット・ドラゴン --呪符竜
function c75380687.initial_effect(c) function c75380687.initial_effect(c)
--fusion material --fusion material
c:EnableReviveLimit() c:EnableReviveLimit()
......
...@@ -24,20 +24,20 @@ function c95929069.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -24,20 +24,20 @@ function c95929069.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.IsExistingTarget(c95929069.dfilter,tp,0,LOCATION_ONFIELD,1,nil) end if chk==0 then return Duel.IsExistingTarget(c95929069.dfilter,tp,0,LOCATION_ONFIELD,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectTarget(tp,c95929069.dfilter,tp,0,LOCATION_ONFIELD,1,1,nil) local g=Duel.SelectTarget(tp,c95929069.dfilter,tp,0,LOCATION_ONFIELD,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),0,0) Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0)
end end
function c95929069.spfilter(c,e,tp) function c95929069.spfilter(c,e,tp)
return c:IsCode(68535320) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsCode(68535320) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function c95929069.operation(e,tp,eg,ep,ev,re,r,rp) function c95929069.operation(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc and tc:IsRelateToEffect(e) then if tc:IsRelateToEffect(e) and Duel.Destroy(tc,REASON_EFFECT)~=0 then
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
local g=Duel.GetMatchingGroup(c95929069.spfilter,tp,LOCATION_DECK,0,nil,e,tp) local g=Duel.GetMatchingGroup(c95929069.spfilter,tp,LOCATION_DECK,0,nil,e,tp)
if Duel.Destroy(tc,REASON_EFFECT)~=0 and g:GetCount()>0 if g:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(95929069,1)) then
and Duel.SelectYesNo(tp,aux.Stringid(95929069,1)) then Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=g:Select(tp,1,1,nil) local sg=g:Select(tp,1,1,nil)
Duel.BreakEffect()
Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP)
end end
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