Commit 4af7a163 authored by argon.sun's avatar argon.sun

Merge branch 'master' of github.com:Fluorohydride/ygopro

parents de2aff58 c6db5f8b
...@@ -682,7 +682,8 @@ void card::apply_field_effect() { ...@@ -682,7 +682,8 @@ void card::apply_field_effect() {
if (current.controler == PLAYER_NONE) if (current.controler == PLAYER_NONE)
return; return;
for (auto it = field_effect.begin(); it != field_effect.end(); ++it) { for (auto it = field_effect.begin(); it != field_effect.end(); ++it) {
if ((current.location & it->second->range) || ((it->second->range & LOCATION_HAND) && (it->second->type & EFFECT_TYPE_TRIGGER_O))) if ((current.location & it->second->range) || ((it->second->range & LOCATION_HAND)
&& (it->second->type & EFFECT_TYPE_TRIGGER_O) && !(it->second->code & EVENT_PHASE)))
pduel->game_field->add_effect(it->second); pduel->game_field->add_effect(it->second);
} }
if(unique_code && (current.location & LOCATION_ONFIELD)) if(unique_code && (current.location & LOCATION_ONFIELD))
...@@ -692,7 +693,8 @@ void card::cancel_field_effect() { ...@@ -692,7 +693,8 @@ void card::cancel_field_effect() {
if (current.controler == PLAYER_NONE) if (current.controler == PLAYER_NONE)
return; return;
for (auto it = field_effect.begin(); it != field_effect.end(); ++it) { for (auto it = field_effect.begin(); it != field_effect.end(); ++it) {
if ((current.location & it->second->range) || ((it->second->range & LOCATION_HAND) && (it->second->type & EFFECT_TYPE_TRIGGER_O))) if ((current.location & it->second->range) || ((it->second->range & LOCATION_HAND)
&& (it->second->type & EFFECT_TYPE_TRIGGER_O) && !(it->second->code & EVENT_PHASE)))
pduel->game_field->remove_effect(it->second); pduel->game_field->remove_effect(it->second);
} }
if(unique_code && current.location & LOCATION_ONFIELD) if(unique_code && current.location & LOCATION_ONFIELD)
......
...@@ -397,7 +397,7 @@ int32 effect::is_chainable(uint8 tp) { ...@@ -397,7 +397,7 @@ int32 effect::is_chainable(uint8 tp) {
if((type & EFFECT_TYPE_ACTIVATE) && (sp <= 1) && !(flag & EFFECT_FLAG_COF)) if((type & EFFECT_TYPE_ACTIVATE) && (sp <= 1) && !(flag & EFFECT_FLAG_COF))
return FALSE; return FALSE;
if(pduel->game_field->core.current_chain.size()) { if(pduel->game_field->core.current_chain.size()) {
if((type & EFFECT_TYPE_TRIGGER_O) && (handler->current.location == LOCATION_HAND)) { if(!(flag & EFFECT_FLAG_FIELD_ONLY) && (type & EFFECT_TYPE_TRIGGER_O) && (handler->current.location == LOCATION_HAND)) {
if(pduel->game_field->core.current_chain.rbegin()->triggering_effect->get_speed() > 2) if(pduel->game_field->core.current_chain.rbegin()->triggering_effect->get_speed() > 2)
return FALSE; return FALSE;
} else if(sp < pduel->game_field->core.current_chain.rbegin()->triggering_effect->get_speed()) } else if(sp < pduel->game_field->core.current_chain.rbegin()->triggering_effect->get_speed())
......
...@@ -1734,7 +1734,8 @@ int32 field::process_point_event(int16 step, int32 special, int32 skip_new) { ...@@ -1734,7 +1734,8 @@ int32 field::process_point_event(int16 step, int32 special, int32 skip_new) {
for (auto clit = core.new_ochain_s.begin(); clit != core.new_ochain_s.end(); ++clit) { for (auto clit = core.new_ochain_s.begin(); clit != core.new_ochain_s.end(); ++clit) {
effect* peffect = clit->triggering_effect; effect* peffect = clit->triggering_effect;
if((!(peffect->flag & (EFFECT_FLAG_EVENT_PLAYER | EFFECT_FLAG_BOTH_SIDE)) && peffect->handler->is_has_relation(peffect)) if((!(peffect->flag & (EFFECT_FLAG_EVENT_PLAYER | EFFECT_FLAG_BOTH_SIDE)) && peffect->handler->is_has_relation(peffect))
|| ((peffect->range & LOCATION_HAND) && peffect->handler->current.location == LOCATION_HAND)) { || (!(peffect->flag & EFFECT_FLAG_FIELD_ONLY) && (peffect->type & EFFECT_TYPE_FIELD)
&& (peffect->range & LOCATION_HAND) && peffect->handler->current.location == LOCATION_HAND)) {
if(!peffect->handler->is_has_relation(peffect)) if(!peffect->handler->is_has_relation(peffect))
peffect->handler->create_relation(peffect); peffect->handler->create_relation(peffect);
clit->triggering_player = peffect->handler->current.controler; clit->triggering_player = peffect->handler->current.controler;
...@@ -1769,10 +1770,11 @@ int32 field::process_point_event(int16 step, int32 special, int32 skip_new) { ...@@ -1769,10 +1770,11 @@ int32 field::process_point_event(int16 step, int32 special, int32 skip_new) {
if(peffect->is_chainable(tp) && peffect->is_activateable(tp, clit->evt, TRUE) if(peffect->is_chainable(tp) && peffect->is_activateable(tp, clit->evt, TRUE)
&& ((peffect->code == EVENT_FLIP) || (clit->triggering_location & 0x3) && ((peffect->code == EVENT_FLIP) || (clit->triggering_location & 0x3)
|| !(peffect->handler->current.location & 0x3) || peffect->handler->is_status(STATUS_IS_PUBLIC))) { || !(peffect->handler->current.location & 0x3) || peffect->handler->is_status(STATUS_IS_PUBLIC))) {
if((peffect->range & LOCATION_HAND) && clit->triggering_location == LOCATION_HAND) { if(!(peffect->flag & EFFECT_FLAG_FIELD_ONLY) && clit->triggering_location == LOCATION_HAND
&& (((peffect->type & EFFECT_TYPE_SINGLE) && !(peffect->flag & EFFECT_FLAG_SINGLE_RANGE)) || (peffect->range & LOCATION_HAND))) {
core.new_ochain_h.push_back(*clit); core.new_ochain_h.push_back(*clit);
act = false; act = false;
} else if(!(peffect->type & EFFECT_TYPE_FIELD) || (clit->triggering_location & peffect->range)) { } else if((peffect->flag & EFFECT_FLAG_FIELD_ONLY) || !(peffect->type & EFFECT_TYPE_FIELD) || (clit->triggering_location & peffect->range)) {
if(peffect->flag & EFFECT_FLAG_CHAIN_UNIQUE) { if(peffect->flag & EFFECT_FLAG_CHAIN_UNIQUE) {
if(tp == infos.turn_player) { if(tp == infos.turn_player) {
for(auto tpit = core.tpchain.begin(); tpit != core.tpchain.end(); ++tpit) { for(auto tpit = core.tpchain.begin(); tpit != core.tpchain.end(); ++tpit) {
......
...@@ -18,7 +18,6 @@ function c1412158.initial_effect(c) ...@@ -18,7 +18,6 @@ function c1412158.initial_effect(c)
e2:SetDescription(aux.Stringid(1412158,1)) e2:SetDescription(aux.Stringid(1412158,1))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON) e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_IGNITION) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetCode(EVENT_CHAIN_SOLVING)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCondition(c1412158.spcon) e2:SetCondition(c1412158.spcon)
e2:SetTarget(c1412158.sptg) e2:SetTarget(c1412158.sptg)
......
...@@ -35,11 +35,28 @@ function c16886617.rfilter(c) ...@@ -35,11 +35,28 @@ function c16886617.rfilter(c)
end end
function c16886617.spcon(e,c) function c16886617.spcon(e,c)
if c==nil then return true end if c==nil then return true end
return Duel.IsExistingMatchingCard(c16886617.rfilter,0,LOCATION_MZONE,LOCATION_MZONE,2,nil) local tp=c:GetControler()
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
local ct=-ft+1
if ct>2 then return false end
if ct>0 and not Duel.IsExistingMatchingCard(c16886617.rfilter,tp,LOCATION_MZONE,0,ct,nil) then return false end
return Duel.IsExistingMatchingCard(c16886617.rfilter,tp,LOCATION_MZONE,LOCATION_MZONE,2,nil)
end end
function c16886617.spop(e,tp,eg,ep,ev,re,r,rp,c) function c16886617.spop(e,tp,eg,ep,ev,re,r,rp,c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
local g=Duel.SelectMatchingCard(tp,c16886617.rfilter,0,LOCATION_MZONE,LOCATION_MZONE,2,2,nil) local ct=-ft+1
if ct<0 then ct=0 end
local g=Group.CreateGroup()
if ct>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local sg=Duel.SelectMatchingCard(tp,c16886617.rfilter,tp,LOCATION_MZONE,0,ct,ct,nil)
g:Merge(sg)
end
if ct<2 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local sg=Duel.SelectMatchingCard(tp,c16886617.rfilter,tp,LOCATION_MZONE,LOCATION_MZONE,2-ct,2-ct,g:GetFirst())
g:Merge(sg)
end
Duel.Release(g,REASON_COST) Duel.Release(g,REASON_COST)
end end
function c16886617.desfilter(c) function c16886617.desfilter(c)
......
...@@ -50,6 +50,6 @@ end ...@@ -50,6 +50,6 @@ end
function c19667590.spop(e,tp,eg,ep,ev,re,r,rp) function c19667590.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) then if c:IsRelateToEffect(e) then
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP_DEFENCE)
end end
end end
...@@ -4,7 +4,6 @@ function c23168060.initial_effect(c) ...@@ -4,7 +4,6 @@ function c23168060.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(23168060,0)) e1:SetDescription(aux.Stringid(23168060,0))
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1) e1:SetCountLimit(1)
e1:SetCondition(c23168060.condition) e1:SetCondition(c23168060.condition)
......
...@@ -22,7 +22,7 @@ function c23232295.initial_effect(c) ...@@ -22,7 +22,7 @@ function c23232295.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c23232295.repfilter(c,tp) function c23232295.repfilter(c,tp)
return c:IsOnField() and c:IsFaceup() and c:IsControler(tp) and c:IsSetCard(0x84) return c:IsFaceup() and c:IsControler(tp) and c:IsLocation(LOCATION_MZONE) and c:IsSetCard(0x84)
end end
function c23232295.reptg(e,tp,eg,ep,ev,re,r,rp,chk) function c23232295.reptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return eg:IsExists(c23232295.repfilter,1,nil,tp) end if chk==0 then return eg:IsExists(c23232295.repfilter,1,nil,tp) end
......
...@@ -46,14 +46,13 @@ function c25341652.posop(e,tp,eg,ep,ev,re,r,rp) ...@@ -46,14 +46,13 @@ function c25341652.posop(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function c25341652.repfilter(c,tp) function c25341652.repfilter(c,tp)
return c:IsOnField() and c:IsFaceup() and c:IsControler(tp) and c:IsSetCard(0x6d) and c:CheckRemoveOverlayCard(tp,1,REASON_EFFECT) return c:IsFaceup() and c:IsControler(tp) and c:IsLocation(LOCATION_MZONE) and c:IsSetCard(0x6d) and c:CheckRemoveOverlayCard(tp,1,REASON_EFFECT)
end end
function c25341652.reptg(e,tp,eg,ep,ev,re,r,rp,chk) function c25341652.reptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return eg:IsExists(c25341652.repfilter,1,nil,tp) end if chk==0 then return eg:IsExists(c25341652.repfilter,1,nil,tp) end
if Duel.SelectYesNo(tp,aux.Stringid(25341652,1)) then if Duel.SelectYesNo(tp,aux.Stringid(25341652,1)) then
local g=eg:Filter(c25341652.repfilter,nil,tp) local g=eg:Filter(c25341652.repfilter,nil,tp)
g:KeepAlive() Duel.SetTargetCard(g)
e:SetLabelObject(g)
return true return true
else return false end else return false end
end end
...@@ -61,7 +60,7 @@ function c25341652.repval(e,c) ...@@ -61,7 +60,7 @@ function c25341652.repval(e,c)
return c25341652.repfilter(c,e:GetHandlerPlayer()) return c25341652.repfilter(c,e:GetHandlerPlayer())
end end
function c25341652.repop(e,tp,eg,ep,ev,re,r,rp) function c25341652.repop(e,tp,eg,ep,ev,re,r,rp)
local g=e:GetLabelObject() local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS)
local tc=g:GetFirst() local tc=g:GetFirst()
while tc do while tc do
tc:RemoveOverlayCard(tp,1,1,REASON_EFFECT) tc:RemoveOverlayCard(tp,1,1,REASON_EFFECT)
......
...@@ -3,9 +3,8 @@ function c25788011.initial_effect(c) ...@@ -3,9 +3,8 @@ function c25788011.initial_effect(c)
--lv up --lv up
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(25788011,0)) e1:SetDescription(aux.Stringid(25788011,0))
e1:SetProperty(EFFECT_FLAG_CARD_TARGET) e1:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e1:SetCode(EVENT_SPSUMMON_SUCCESS) e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetTarget(c25788011.target) e1:SetTarget(c25788011.target)
e1:SetOperation(c25788011.operation) e1:SetOperation(c25788011.operation)
......
...@@ -25,7 +25,8 @@ function c31766317.rfilter(c) ...@@ -25,7 +25,8 @@ function c31766317.rfilter(c)
end end
function c31766317.destg(e,tp,eg,ep,ev,re,r,rp,chk) function c31766317.destg(e,tp,eg,ep,ev,re,r,rp,chk)
local dc=eg:GetFirst() local dc=eg:GetFirst()
if chk==0 then return eg:GetCount()==1 and dc~=e:GetHandler() and dc:IsFaceup() and dc:IsRace(RACE_FIEND) and dc:IsAttribute(ATTRIBUTE_DARK) if chk==0 then return eg:GetCount()==1 and dc~=e:GetHandler() and dc:IsFaceup() and dc:IsLocation(LOCATION_MZONE)
and dc:IsRace(RACE_FIEND) and dc:IsAttribute(ATTRIBUTE_DARK)
and Duel.IsExistingMatchingCard(c31766317.rfilter,tp,LOCATION_GRAVE,0,1,nil) end and Duel.IsExistingMatchingCard(c31766317.rfilter,tp,LOCATION_GRAVE,0,1,nil) end
if Duel.SelectYesNo(tp,aux.Stringid(31766317,0)) then if Duel.SelectYesNo(tp,aux.Stringid(31766317,0)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
......
...@@ -58,6 +58,7 @@ function c4694209.addc2(e,tp,eg,ep,ev,re,r,rp) ...@@ -58,6 +58,7 @@ function c4694209.addc2(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc:IsFaceup() and tc:IsRelateToEffect(e) then if tc:IsFaceup() and tc:IsRelateToEffect(e) then
tc:AddCounter(0x21,1) tc:AddCounter(0x21,1)
if tc:GetFlagEffect(4694209)~=0 then return end
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EFFECT_DESTROY_REPLACE) e1:SetCode(EFFECT_DESTROY_REPLACE)
...@@ -65,6 +66,7 @@ function c4694209.addc2(e,tp,eg,ep,ev,re,r,rp) ...@@ -65,6 +66,7 @@ function c4694209.addc2(e,tp,eg,ep,ev,re,r,rp)
e1:SetOperation(c4694209.repop) e1:SetOperation(c4694209.repop)
e1:SetReset(RESET_EVENT+0x1fe0000) e1:SetReset(RESET_EVENT+0x1fe0000)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
tc:RegisterFlagEffect(4694209,RESET_EVENT+0x1fe0000,0,0)
end end
end end
function c4694209.reptg(e,tp,eg,ep,ev,re,r,rp,chk) function c4694209.reptg(e,tp,eg,ep,ev,re,r,rp,chk)
......
...@@ -5,7 +5,6 @@ function c4904812.initial_effect(c) ...@@ -5,7 +5,6 @@ function c4904812.initial_effect(c)
e1:SetDescription(aux.Stringid(4904812,0)) e1:SetDescription(aux.Stringid(4904812,0))
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH) e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EVENT_SUMMON_SUCCESS) e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetCost(c4904812.cost) e1:SetCost(c4904812.cost)
e1:SetTarget(c4904812.target) e1:SetTarget(c4904812.target)
......
...@@ -52,7 +52,11 @@ function c49221191.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -52,7 +52,11 @@ function c49221191.operation(e,tp,eg,ep,ev,re,r,rp)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetCode(EFFECT_SET_ATTACK_FINAL) e1:SetCode(EFFECT_SET_ATTACK_FINAL)
e1:SetValue(0) e1:SetValue(0)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END+RESET_SELF_TURN) if Duel.GetTurnPlayer()~=tp then
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,2)
else
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,1)
end
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
local e2=e1:Clone() local e2=e1:Clone()
e2:SetCode(EFFECT_SET_DEFENCE_FINAL) e2:SetCode(EFFECT_SET_DEFENCE_FINAL)
......
...@@ -17,6 +17,7 @@ function c50433147.initial_effect(c) ...@@ -17,6 +17,7 @@ function c50433147.initial_effect(c)
--destroy --destroy
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(50433147,0)) e3:SetDescription(aux.Stringid(50433147,0))
e3:SetCategory(CATEGORY_DESTROY)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F) e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e3:SetCode(EVENT_DESTROYED) e3:SetCode(EVENT_DESTROYED)
e3:SetCondition(c50433147.descon) e3:SetCondition(c50433147.descon)
......
...@@ -27,8 +27,7 @@ function c60080151.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -27,8 +27,7 @@ function c60080151.activate(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and tc:IsFaceup() then if tc:IsRelateToEffect(e) and tc:IsFaceup() then
local dam=tc:GetAttack() local dam=tc:GetAttack()
Duel.Damage(tp,dam,REASON_EFFECT) if Duel.Damage(tp,dam,REASON_EFFECT)>0 and Duel.Remove(tc,POS_FACEUP,REASON_EFFECT)>0 then
if Duel.Remove(tc,POS_FACEUP,REASON_EFFECT)>0 then
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetDescription(aux.Stringid(60080151,0)) e1:SetDescription(aux.Stringid(60080151,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
......
...@@ -16,16 +16,17 @@ function c62878208.eqcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -16,16 +16,17 @@ function c62878208.eqcon(e,tp,eg,ep,ev,re,r,rp)
end end
function c62878208.filter1(c,e,tp) function c62878208.filter1(c,e,tp)
local ec=c:GetEquipTarget() local ec=c:GetEquipTarget()
return ec and ec:IsPosition(POS_FACEUP_ATTACK) and Duel.IsExistingTarget(c62878208.filter2,tp,0,LOCATION_MZONE,1,nil,c) return ec and ec:IsControler(tp) and ec:IsPosition(POS_FACEUP_ATTACK)
and Duel.IsExistingTarget(c62878208.filter2,tp,0,LOCATION_MZONE,1,nil,c)
end end
function c62878208.filter2(c,ec) function c62878208.filter2(c,ec)
return c:IsPosition(POS_FACEUP_ATTACK) and ec:CheckEquipTarget(c) return c:IsPosition(POS_FACEUP_ATTACK) and ec:CheckEquipTarget(c)
end end
function c62878208.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c62878208.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return false end if chkc then return false end
if chk==0 then return Duel.IsExistingTarget(c62878208.filter1,tp,LOCATION_SZONE,0,1,nil,e,tp) end if chk==0 then return Duel.IsExistingTarget(c62878208.filter1,tp,LOCATION_SZONE,LOCATION_SZONE,1,nil,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(62878208,2)) Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(62878208,2))
local g1=Duel.SelectTarget(tp,c62878208.filter1,tp,LOCATION_SZONE,0,1,1,nil,e,tp) local g1=Duel.SelectTarget(tp,c62878208.filter1,tp,LOCATION_SZONE,LOCATION_SZONE,1,1,nil,e,tp)
e:SetLabelObject(g1:GetFirst()) e:SetLabelObject(g1:GetFirst())
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUPATTACK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUPATTACK)
local g2=Duel.SelectTarget(tp,c62878208.filter2,tp,0,LOCATION_MZONE,1,1,nil,g1:GetFirst()) local g2=Duel.SelectTarget(tp,c62878208.filter2,tp,0,LOCATION_MZONE,1,1,nil,g1:GetFirst())
......
...@@ -18,7 +18,6 @@ function c75923050.initial_effect(c) ...@@ -18,7 +18,6 @@ function c75923050.initial_effect(c)
e2:SetDescription(aux.Stringid(75923050,1)) e2:SetDescription(aux.Stringid(75923050,1))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON) e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_IGNITION) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetCode(EVENT_CHAIN_SOLVING)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCondition(c75923050.spcon) e2:SetCondition(c75923050.spcon)
e2:SetTarget(c75923050.sptg) e2:SetTarget(c75923050.sptg)
......
...@@ -8,7 +8,6 @@ function c84747429.initial_effect(c) ...@@ -8,7 +8,6 @@ function c84747429.initial_effect(c)
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1) e1:SetCountLimit(1)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetCost(c84747429.descost) e1:SetCost(c84747429.descost)
e1:SetTarget(c84747429.destg) e1:SetTarget(c84747429.destg)
e1:SetOperation(c84747429.desop) e1:SetOperation(c84747429.desop)
......
...@@ -13,18 +13,17 @@ function c88513608.initial_effect(c) ...@@ -13,18 +13,17 @@ function c88513608.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c88513608.check(tp) function c88513608.check(tp)
local at1=-1 local at1=0
local at2=-2 local ct=0
for i=0,4 do for i=0,4 do
local tc=Duel.GetFieldCard(tp,LOCATION_MZONE,i) local tc=Duel.GetFieldCard(tp,LOCATION_MZONE,i)
if tc and tc:IsFaceup() then if tc and tc:IsPosition(POS_FACEUP_ATTACK) then
local atk=tc:GetAttack() at1=at1+tc:GetAttack()
if at1<0 or atk<=at1 then at2=at1 at1=atk end ct=ct+1
end end
end end
if at1<0 or at2<0 then return false end if ct<2 then return false end
at1=at1+at2 local at2=-1
at2=-1
for i=0,4 do for i=0,4 do
local tc=Duel.GetFieldCard(1-tp,LOCATION_MZONE,i) local tc=Duel.GetFieldCard(1-tp,LOCATION_MZONE,i)
if tc and tc:IsFaceup() then if tc and tc:IsFaceup() then
......
...@@ -17,7 +17,6 @@ function c91350799.initial_effect(c) ...@@ -17,7 +17,6 @@ function c91350799.initial_effect(c)
e2:SetType(EFFECT_TYPE_IGNITION) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET) e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetCode(EVENT_SUMMON_SUCCESS)
e2:SetCost(c91350799.spcost) e2:SetCost(c91350799.spcost)
e2:SetTarget(c91350799.sptg) e2:SetTarget(c91350799.sptg)
e2:SetOperation(c91350799.spop) e2:SetOperation(c91350799.spop)
......
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