Commit b413df16 authored by mercury233's avatar mercury233
parents 0b5801b5 55e5ffaa
...@@ -184,18 +184,8 @@ void ClientField::AddCard(ClientCard* pcard, int controler, int location, int se ...@@ -184,18 +184,8 @@ void ClientField::AddCard(ClientCard* pcard, int controler, int location, int se
break; break;
} }
case LOCATION_EXTRA: { case LOCATION_EXTRA: {
if (sequence != 0 || extra[controler].size() == 0) { extra[controler].push_back(pcard);
extra[controler].push_back(pcard); pcard->sequence = extra[controler].size() - 1;
pcard->sequence = extra[controler].size() - 1;
} else {
extra[controler].push_back(0);
for(int i = extra[controler].size() - 1; i > 0; --i) {
extra[controler][i] = extra[controler][i - 1];
extra[controler][i]->sequence++;
}
extra[controler][0] = pcard;
pcard->sequence = 0;
}
if ((pcard->type & TYPE_PENDULUM) && (pcard->position & POS_FACEUP)) if ((pcard->type & TYPE_PENDULUM) && (pcard->position & POS_FACEUP))
extra_p_count[controler]++; extra_p_count[controler]++;
break; break;
......
...@@ -423,8 +423,9 @@ void Game::DrawMisc() { ...@@ -423,8 +423,9 @@ void Game::DrawMisc() {
adFont->draw(pcard->rscstring, recti(464, 246, 496, 266), 0xffffffff, true, false, 0); adFont->draw(pcard->rscstring, recti(464, 246, 496, 266), 0xffffffff, true, false, 0);
} }
if(dField.extra[0].size()) { if(dField.extra[0].size()) {
numFont->draw(dataManager.GetNumString(dField.extra[0].size()), recti(320, 562, 371, 552), 0xff000000, true, false, 0); int offset = (dField.extra[0].size() >= 10) ? 0 : mainGame->textFont->getDimension(dataManager.GetNumString(1)).Width;
numFont->draw(dataManager.GetNumString(dField.extra[0].size()), recti(320, 563, 373, 553), 0xffffff00, true, false, 0); numFont->draw(dataManager.GetNumString(dField.extra[0].size()), recti(320 + offset, 562, 371, 552), 0xff000000, true, false, 0);
numFont->draw(dataManager.GetNumString(dField.extra[0].size()), recti(320 + offset, 563, 373, 553), 0xffffff00, true, false, 0);
numFont->draw(dataManager.GetNumString(dField.extra_p_count[0], true), recti(340, 562, 391, 552), 0xff000000, true, false, 0); numFont->draw(dataManager.GetNumString(dField.extra_p_count[0], true), recti(340, 562, 391, 552), 0xff000000, true, false, 0);
numFont->draw(dataManager.GetNumString(dField.extra_p_count[0], true), recti(340, 563, 393, 553), 0xffffff00, true, false, 0); numFont->draw(dataManager.GetNumString(dField.extra_p_count[0], true), recti(340, 563, 393, 553), 0xffffff00, true, false, 0);
} }
...@@ -441,8 +442,9 @@ void Game::DrawMisc() { ...@@ -441,8 +442,9 @@ void Game::DrawMisc() {
numFont->draw(dataManager.GetNumString(dField.remove[0].size()), recti(1015, 376, 959, 381), 0xffffff00, true, false, 0); numFont->draw(dataManager.GetNumString(dField.remove[0].size()), recti(1015, 376, 959, 381), 0xffffff00, true, false, 0);
} }
if(dField.extra[1].size()) { if(dField.extra[1].size()) {
numFont->draw(dataManager.GetNumString(dField.extra[1].size()), recti(808, 207, 898, 232), 0xff000000, true, false, 0); int offset = (dField.extra[1].size() >= 10) ? 0 : mainGame->textFont->getDimension(dataManager.GetNumString(1)).Width;
numFont->draw(dataManager.GetNumString(dField.extra[1].size()), recti(808, 208, 900, 233), 0xffffff00, true, false, 0); numFont->draw(dataManager.GetNumString(dField.extra[1].size()), recti(808 + offset, 207, 898, 232), 0xff000000, true, false, 0);
numFont->draw(dataManager.GetNumString(dField.extra[1].size()), recti(808 + offset, 208, 900, 233), 0xffffff00, true, false, 0);
numFont->draw(dataManager.GetNumString(dField.extra_p_count[1], true), recti(828, 207, 918, 232), 0xff000000, true, false, 0); numFont->draw(dataManager.GetNumString(dField.extra_p_count[1], true), recti(828, 207, 918, 232), 0xff000000, true, false, 0);
numFont->draw(dataManager.GetNumString(dField.extra_p_count[1], true), recti(828, 208, 920, 233), 0xffffff00, true, false, 0); numFont->draw(dataManager.GetNumString(dField.extra_p_count[1], true), recti(828, 208, 920, 233), 0xffffff00, true, false, 0);
} }
......
...@@ -27,7 +27,7 @@ field::field(duel* pduel) { ...@@ -27,7 +27,7 @@ field::field(duel* pduel) {
this->pduel = pduel; this->pduel = pduel;
infos.field_id = 1; infos.field_id = 1;
infos.copy_id = 1; infos.copy_id = 1;
infos.shuffle_count = 0; infos.can_shuffle = TRUE;
infos.turn_id = 0; infos.turn_id = 0;
infos.card_id = 1; infos.card_id = 1;
infos.phase = 0; infos.phase = 0;
...@@ -150,7 +150,6 @@ void field::add_card(uint8 playerid, card* pcard, uint8 location, uint8 sequence ...@@ -150,7 +150,6 @@ void field::add_card(uint8 playerid, card* pcard, uint8 location, uint8 sequence
return; return;
if((pcard->data.type & (TYPE_FUSION | TYPE_SYNCHRO | TYPE_XYZ)) && (location & (LOCATION_HAND | LOCATION_DECK))) { if((pcard->data.type & (TYPE_FUSION | TYPE_SYNCHRO | TYPE_XYZ)) && (location & (LOCATION_HAND | LOCATION_DECK))) {
location = LOCATION_EXTRA; location = LOCATION_EXTRA;
sequence = 1;
pcard->operation_param = (pcard->operation_param & 0x00ffffff) | (POS_FACEDOWN_DEFENCE << 24); pcard->operation_param = (pcard->operation_param & 0x00ffffff) | (POS_FACEDOWN_DEFENCE << 24);
} }
pcard->current.controler = playerid; pcard->current.controler = playerid;
...@@ -196,13 +195,8 @@ void field::add_card(uint8 playerid, card* pcard, uint8 location, uint8 sequence ...@@ -196,13 +195,8 @@ void field::add_card(uint8 playerid, card* pcard, uint8 location, uint8 sequence
pcard->current.sequence = player[playerid].list_remove.size() - 1; pcard->current.sequence = player[playerid].list_remove.size() - 1;
break; break;
case LOCATION_EXTRA: case LOCATION_EXTRA:
if (sequence == 1) { player[playerid].list_extra.push_back(pcard);
player[playerid].list_extra.insert(player[playerid].list_extra.begin(), pcard); pcard->current.sequence = player[playerid].list_extra.size() - 1;
reset_sequence(playerid, LOCATION_EXTRA);
} else {
player[playerid].list_extra.push_back(pcard);
pcard->current.sequence = player[playerid].list_extra.size() - 1;
}
break; break;
} }
pcard->apply_field_effect(); pcard->apply_field_effect();
...@@ -268,7 +262,6 @@ void field::move_card(uint8 playerid, card* pcard, uint8 location, uint8 sequenc ...@@ -268,7 +262,6 @@ void field::move_card(uint8 playerid, card* pcard, uint8 location, uint8 sequenc
uint8 presequence = pcard->current.sequence; uint8 presequence = pcard->current.sequence;
if((pcard->data.type & (TYPE_FUSION | TYPE_SYNCHRO | TYPE_XYZ)) && (location & (LOCATION_HAND | LOCATION_DECK))) { if((pcard->data.type & (TYPE_FUSION | TYPE_SYNCHRO | TYPE_XYZ)) && (location & (LOCATION_HAND | LOCATION_DECK))) {
location = LOCATION_EXTRA; location = LOCATION_EXTRA;
sequence = 1;
pcard->operation_param = (pcard->operation_param & 0x00ffffff) | (POS_FACEDOWN_DEFENCE << 24); pcard->operation_param = (pcard->operation_param & 0x00ffffff) | (POS_FACEDOWN_DEFENCE << 24);
} }
if (pcard->current.location) { if (pcard->current.location) {
...@@ -376,7 +369,6 @@ void field::move_card(uint8 playerid, card* pcard, uint8 location, uint8 sequenc ...@@ -376,7 +369,6 @@ void field::move_card(uint8 playerid, card* pcard, uint8 location, uint8 sequenc
&& (((pcard->current.location == LOCATION_MZONE) && !pcard->is_status(STATUS_SUMMON_DISABLED)) && (((pcard->current.location == LOCATION_MZONE) && !pcard->is_status(STATUS_SUMMON_DISABLED))
|| ((pcard->current.location == LOCATION_SZONE) && !pcard->is_status(STATUS_ACTIVATE_DISABLED)))) { || ((pcard->current.location == LOCATION_SZONE) && !pcard->is_status(STATUS_ACTIVATE_DISABLED)))) {
location = LOCATION_EXTRA; location = LOCATION_EXTRA;
sequence = 0;
pcard->operation_param = (pcard->operation_param & 0x00ffffff) | (POS_FACEUP_DEFENCE << 24); pcard->operation_param = (pcard->operation_param & 0x00ffffff) | (POS_FACEUP_DEFENCE << 24);
} }
remove_card(pcard); remove_card(pcard);
......
...@@ -115,7 +115,7 @@ struct field_info { ...@@ -115,7 +115,7 @@ struct field_info {
uint8 phase; uint8 phase;
uint8 turn_player; uint8 turn_player;
uint8 priorities[2]; uint8 priorities[2];
uint8 shuffle_count; uint8 can_shuffle;
}; };
struct lpcost { struct lpcost {
int32 count; int32 count;
......
...@@ -243,11 +243,7 @@ void field::send_to(card_set* targets, effect* reason_effect, uint32 reason, uin ...@@ -243,11 +243,7 @@ void field::send_to(card_set* targets, effect* reason_effect, uint32 reason, uin
pcard->current.reason_effect = reason_effect; pcard->current.reason_effect = reason_effect;
pcard->current.reason_player = reason_player; pcard->current.reason_player = reason_player;
p = playerid; p = playerid;
/* // send to hand from deck & playerid not given => send to the hand of controler
* if playerid not given, will send card from Deck to Hand,
* also that card is in Triggering Player's Deck,
* then send it to Triggering Player's Hand, insdead of Owner's Hand.
*/
if(p == PLAYER_NONE && (destination & LOCATION_HAND) && (pcard->current.location & LOCATION_DECK) && pcard->current.controler == reason_player) if(p == PLAYER_NONE && (destination & LOCATION_HAND) && (pcard->current.location & LOCATION_DECK) && pcard->current.controler == reason_player)
p = reason_player; p = reason_player;
if(destination & (LOCATION_GRAVE + LOCATION_REMOVED) || p == PLAYER_NONE) if(destination & (LOCATION_GRAVE + LOCATION_REMOVED) || p == PLAYER_NONE)
......
...@@ -139,7 +139,7 @@ int32 field::select_idle_command(uint16 step, uint8 playerid) { ...@@ -139,7 +139,7 @@ int32 field::select_idle_command(uint16 step, uint8 playerid) {
pduel->write_buffer8(1); pduel->write_buffer8(1);
else else
pduel->write_buffer8(0); pduel->write_buffer8(0);
if(infos.shuffle_count < 1 && player[playerid].list_hand.size() > 1) if(infos.can_shuffle && player[playerid].list_hand.size() > 1)
pduel->write_buffer8(1); pduel->write_buffer8(1);
else else
pduel->write_buffer8(0); pduel->write_buffer8(0);
...@@ -156,7 +156,7 @@ int32 field::select_idle_command(uint16 step, uint8 playerid) { ...@@ -156,7 +156,7 @@ int32 field::select_idle_command(uint16 step, uint8 playerid) {
|| (t == 5 && s >= core.select_chains.size()) || (t == 5 && s >= core.select_chains.size())
|| (t == 6 && (infos.phase != PHASE_MAIN1 || !core.to_bp)) || (t == 6 && (infos.phase != PHASE_MAIN1 || !core.to_bp))
|| (t == 7 && !core.to_ep) || (t == 7 && !core.to_ep)
|| (t == 8 && !(infos.shuffle_count < 1 && player[playerid].list_hand.size() > 1))) { || (t == 8 && !(infos.can_shuffle && player[playerid].list_hand.size() > 1))) {
pduel->write_buffer8(MSG_RETRY); pduel->write_buffer8(MSG_RETRY);
return FALSE; return FALSE;
} }
......
...@@ -2575,7 +2575,7 @@ int32 field::process_idle_command(uint16 step) { ...@@ -2575,7 +2575,7 @@ int32 field::process_idle_command(uint16 step) {
} else if (ctype == 8) { } else if (ctype == 8) {
core.units.begin()->step = -1; core.units.begin()->step = -1;
shuffle(infos.turn_player, LOCATION_HAND); shuffle(infos.turn_player, LOCATION_HAND);
infos.shuffle_count++; infos.can_shuffle = FALSE;
return FALSE; return FALSE;
} else { } else {
core.units.begin()->step = 9; core.units.begin()->step = 9;
...@@ -2679,7 +2679,7 @@ int32 field::process_idle_command(uint16 step) { ...@@ -2679,7 +2679,7 @@ int32 field::process_idle_command(uint16 step) {
} }
case 11: { case 11: {
returns.ivalue[0] = core.units.begin()->arg1; returns.ivalue[0] = core.units.begin()->arg1;
infos.shuffle_count = 0; infos.can_shuffle = TRUE;
return TRUE; return TRUE;
} }
case 12: { case 12: {
...@@ -4045,6 +4045,7 @@ int32 field::process_turn(uint16 step, uint8 turn_player) { ...@@ -4045,6 +4045,7 @@ int32 field::process_turn(uint16 step, uint8 turn_player) {
core.delayed_quick_tmp.clear(); core.delayed_quick_tmp.clear();
pduel->write_buffer8(MSG_NEW_PHASE); pduel->write_buffer8(MSG_NEW_PHASE);
pduel->write_buffer8(infos.phase); pduel->write_buffer8(infos.phase);
add_process(PROCESSOR_IDLE_COMMAND, 0, 0, 0, 0, 0); add_process(PROCESSOR_IDLE_COMMAND, 0, 0, 0, 0, 0);
return FALSE; return FALSE;
} }
...@@ -4128,6 +4129,7 @@ int32 field::process_turn(uint16 step, uint8 turn_player) { ...@@ -4128,6 +4129,7 @@ int32 field::process_turn(uint16 step, uint8 turn_player) {
core.delayed_quick_tmp.clear(); core.delayed_quick_tmp.clear();
pduel->write_buffer8(MSG_NEW_PHASE); pduel->write_buffer8(MSG_NEW_PHASE);
pduel->write_buffer8(infos.phase); pduel->write_buffer8(infos.phase);
infos.can_shuffle = TRUE;
add_process(PROCESSOR_IDLE_COMMAND, 0, 0, 0, 0, 0); add_process(PROCESSOR_IDLE_COMMAND, 0, 0, 0, 0, 0);
return FALSE; return FALSE;
} }
......
...@@ -14,7 +14,7 @@ function c10117149.initial_effect(c) ...@@ -14,7 +14,7 @@ function c10117149.initial_effect(c)
e2:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON) e2:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CANNOT_DISABLE) e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CANNOT_DISABLE)
e2:SetTargetRange(1,0) e2:SetTargetRange(1,0)
e2:SetCondition(c10117149.splimcon) e2:SetCondition(aux.nfbdncon)
e2:SetTarget(c10117149.splimit) e2:SetTarget(c10117149.splimit)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--destroy --destroy
...@@ -49,9 +49,6 @@ function c10117149.initial_effect(c) ...@@ -49,9 +49,6 @@ function c10117149.initial_effect(c)
e6:SetOperation(c10117149.spop) e6:SetOperation(c10117149.spop)
c:RegisterEffect(e6) c:RegisterEffect(e6)
end end
function c10117149.splimcon(e)
return not e:GetHandler():IsForbidden()
end
function c10117149.splimit(e,c,tp,sumtp,sumpos) function c10117149.splimit(e,c,tp,sumtp,sumpos)
return not c:IsSetCard(0xab) and bit.band(sumtp,SUMMON_TYPE_PENDULUM)==SUMMON_TYPE_PENDULUM return not c:IsSetCard(0xab) and bit.band(sumtp,SUMMON_TYPE_PENDULUM)==SUMMON_TYPE_PENDULUM
end end
......
...@@ -20,12 +20,14 @@ function c10691144.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -20,12 +20,14 @@ function c10691144.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterFlagEffect(tp,10691144,RESET_PHASE+PHASE_END,0,1) Duel.RegisterFlagEffect(tp,10691144,RESET_PHASE+PHASE_END,0,1)
end end
function c10691144.rmcon(e,tp,eg,ep,ev,re,r,rp) function c10691144.rmcon(e,tp,eg,ep,ev,re,r,rp)
if not (re:GetOwnerPlayer()==1-tp and re:IsActiveType(TYPE_MONSTER) and re:IsActivated()) then
return false
end
local flag=0 local flag=0
local tc=eg:GetFirst() local tc=eg:GetFirst()
while tc do while tc do
local ploc=tc:GetPreviousLocation() local ploc=tc:GetPreviousLocation()
if tc:IsReason(REASON_EFFECT) and not tc:IsReason(REASON_REDIRECT) and bit.band(ploc,0x1e)~=0 if tc:GetPreviousControler()==tp and bit.band(ploc,0x1e)~=0 then
and tc:GetPreviousControler()==tp and tc:GetReasonEffect():GetOwner():IsType(TYPE_MONSTER) then
flag=bit.bor(flag,ploc) flag=bit.bor(flag,ploc)
end end
tc=eg:GetNext() tc=eg:GetNext()
......
...@@ -14,7 +14,7 @@ function c11609969.initial_effect(c) ...@@ -14,7 +14,7 @@ function c11609969.initial_effect(c)
e2:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON) e2:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CANNOT_DISABLE) e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CANNOT_DISABLE)
e2:SetTargetRange(1,0) e2:SetTargetRange(1,0)
e2:SetCondition(c11609969.splimcon) e2:SetCondition(aux.nfbdncon)
e2:SetTarget(c11609969.splimit) e2:SetTarget(c11609969.splimit)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--scale change --scale change
...@@ -42,9 +42,6 @@ function c11609969.initial_effect(c) ...@@ -42,9 +42,6 @@ function c11609969.initial_effect(c)
e5:SetCode(EVENT_SPSUMMON_SUCCESS) e5:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e5) c:RegisterEffect(e5)
end end
function c11609969.splimcon(e)
return not e:GetHandler():IsForbidden()
end
function c11609969.splimit(e,c,tp,sumtp,sumpos) function c11609969.splimit(e,c,tp,sumtp,sumpos)
return not c:IsSetCard(0xaf) and bit.band(sumtp,SUMMON_TYPE_PENDULUM)==SUMMON_TYPE_PENDULUM return not c:IsSetCard(0xaf) and bit.band(sumtp,SUMMON_TYPE_PENDULUM)==SUMMON_TYPE_PENDULUM
end end
......
...@@ -15,7 +15,7 @@ function c20773176.initial_effect(c) ...@@ -15,7 +15,7 @@ function c20773176.initial_effect(c)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CANNOT_DISABLE) e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CANNOT_DISABLE)
e2:SetTargetRange(1,0) e2:SetTargetRange(1,0)
e2:SetTarget(c20773176.splimit) e2:SetTarget(c20773176.splimit)
e2:SetCondition(c20773176.splimcon) e2:SetCondition(aux.nfbdncon)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--spsummon --spsummon
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
...@@ -34,9 +34,6 @@ function c20773176.splimit(e,c,sump,sumtype,sumpos,targetp) ...@@ -34,9 +34,6 @@ function c20773176.splimit(e,c,sump,sumtype,sumpos,targetp)
if c:IsSetCard(0xb4) or c:IsSetCard(0xc4) then return false end if c:IsSetCard(0xb4) or c:IsSetCard(0xc4) then return false end
return bit.band(sumtype,SUMMON_TYPE_PENDULUM)==SUMMON_TYPE_PENDULUM return bit.band(sumtype,SUMMON_TYPE_PENDULUM)==SUMMON_TYPE_PENDULUM
end end
function c20773176.splimcon(e)
return not e:GetHandler():IsForbidden()
end
function c20773176.filter(c,tp) function c20773176.filter(c,tp)
return c:IsReason(REASON_BATTLE+REASON_EFFECT) return c:IsReason(REASON_BATTLE+REASON_EFFECT)
and (c:IsSetCard(0xb4) or c:IsSetCard(0xc4)) and not c:IsCode(20773176) and (c:IsSetCard(0xb4) or c:IsSetCard(0xc4)) and not c:IsCode(20773176)
......
...@@ -15,7 +15,7 @@ function c21495657.initial_effect(c) ...@@ -15,7 +15,7 @@ function c21495657.initial_effect(c)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CANNOT_DISABLE) e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CANNOT_DISABLE)
e2:SetTargetRange(1,0) e2:SetTargetRange(1,0)
e2:SetTarget(c21495657.splimit) e2:SetTarget(c21495657.splimit)
e2:SetCondition(c21495657.splimcon) e2:SetCondition(aux.nfbdncon)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--spsummon success --spsummon success
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
...@@ -32,9 +32,6 @@ function c21495657.splimit(e,c,sump,sumtype,sumpos,targetp) ...@@ -32,9 +32,6 @@ function c21495657.splimit(e,c,sump,sumtype,sumpos,targetp)
if c:IsSetCard(0x9e) or c:IsSetCard(0xc4) then return false end if c:IsSetCard(0x9e) or c:IsSetCard(0xc4) then return false end
return bit.band(sumtype,SUMMON_TYPE_PENDULUM)==SUMMON_TYPE_PENDULUM return bit.band(sumtype,SUMMON_TYPE_PENDULUM)==SUMMON_TYPE_PENDULUM
end end
function c21495657.splimcon(e)
return not e:GetHandler():IsForbidden()
end
function c21495657.condition(e,tp,eg,ep,ev,re,r,rp) function c21495657.condition(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetSummonType()==SUMMON_TYPE_PENDULUM or e:GetHandler():IsPreviousLocation(LOCATION_DECK) return e:GetHandler():GetSummonType()==SUMMON_TYPE_PENDULUM or e:GetHandler():IsPreviousLocation(LOCATION_DECK)
end end
......
...@@ -15,7 +15,7 @@ function c22617205.initial_effect(c) ...@@ -15,7 +15,7 @@ function c22617205.initial_effect(c)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CANNOT_DISABLE) e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CANNOT_DISABLE)
e2:SetTargetRange(1,0) e2:SetTargetRange(1,0)
e2:SetTarget(c22617205.splimit) e2:SetTarget(c22617205.splimit)
e2:SetCondition(c22617205.splimcon) e2:SetCondition(aux.nfbdncon)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--destroy --destroy
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
...@@ -39,9 +39,6 @@ function c22617205.splimit(e,c,sump,sumtype,sumpos,targetp) ...@@ -39,9 +39,6 @@ function c22617205.splimit(e,c,sump,sumtype,sumpos,targetp)
if c:IsSetCard(0x9c) or c:IsSetCard(0xc4) then return false end if c:IsSetCard(0x9c) or c:IsSetCard(0xc4) then return false end
return bit.band(sumtype,SUMMON_TYPE_PENDULUM)==SUMMON_TYPE_PENDULUM return bit.band(sumtype,SUMMON_TYPE_PENDULUM)==SUMMON_TYPE_PENDULUM
end end
function c22617205.splimcon(e)
return not e:GetHandler():IsForbidden()
end
function c22617205.condition(e,tp,eg,ep,ev,re,r,rp) function c22617205.condition(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetSummonType()==SUMMON_TYPE_PENDULUM return e:GetHandler():GetSummonType()==SUMMON_TYPE_PENDULUM
end end
......
...@@ -16,7 +16,7 @@ function c23166823.initial_effect(c) ...@@ -16,7 +16,7 @@ function c23166823.initial_effect(c)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CANNOT_DISABLE) e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CANNOT_DISABLE)
e2:SetTargetRange(1,0) e2:SetTargetRange(1,0)
e2:SetTarget(c23166823.splimit) e2:SetTarget(c23166823.splimit)
e2:SetCondition(c23166823.splimcon) e2:SetCondition(aux.nfbdncon)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--to hand --to hand
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
...@@ -35,9 +35,6 @@ function c23166823.splimit(e,c,sump,sumtype,sumpos,targetp) ...@@ -35,9 +35,6 @@ function c23166823.splimit(e,c,sump,sumtype,sumpos,targetp)
if c:IsSetCard(0xb5) or c:IsSetCard(0xc4) then return false end if c:IsSetCard(0xb5) or c:IsSetCard(0xc4) then return false end
return bit.band(sumtype,SUMMON_TYPE_PENDULUM)==SUMMON_TYPE_PENDULUM return bit.band(sumtype,SUMMON_TYPE_PENDULUM)==SUMMON_TYPE_PENDULUM
end end
function c23166823.splimcon(e)
return not e:GetHandler():IsForbidden()
end
function c23166823.condition(e,tp,eg,ep,ev,re,r,rp) function c23166823.condition(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetSummonType()==SUMMON_TYPE_PENDULUM return e:GetHandler():GetSummonType()==SUMMON_TYPE_PENDULUM
end end
......
...@@ -10,7 +10,7 @@ function c3280747.initial_effect(c) ...@@ -10,7 +10,7 @@ function c3280747.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c3280747.target(e,tp,eg,ep,ev,re,r,rp,chk) function c3280747.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>=6 end
Duel.SetOperationInfo(0,CATEGORY_DICE,nil,0,tp,2) Duel.SetOperationInfo(0,CATEGORY_DICE,nil,0,tp,2)
end end
function c3280747.activate(e,tp,eg,ep,ev,re,r,rp) function c3280747.activate(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -14,7 +14,7 @@ function c37991342.initial_effect(c) ...@@ -14,7 +14,7 @@ function c37991342.initial_effect(c)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CANNOT_DISABLE) e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CANNOT_DISABLE)
e2:SetRange(LOCATION_PZONE) e2:SetRange(LOCATION_PZONE)
e2:SetTargetRange(1,0) e2:SetTargetRange(1,0)
e2:SetCondition(c37991342.splimcon) e2:SetCondition(aux.nfbdncon)
e2:SetTarget(c37991342.splimit) e2:SetTarget(c37991342.splimit)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--atk down --atk down
...@@ -64,9 +64,6 @@ function c37991342.initial_effect(c) ...@@ -64,9 +64,6 @@ function c37991342.initial_effect(c)
e8:SetOperation(c37991342.desop) e8:SetOperation(c37991342.desop)
c:RegisterEffect(e8) c:RegisterEffect(e8)
end end
function c37991342.splimcon(e)
return not e:GetHandler():IsForbidden()
end
function c37991342.splimit(e,c) function c37991342.splimit(e,c)
return not c:IsSetCard(0xaa) return not c:IsSetCard(0xaa)
end end
......
...@@ -14,7 +14,7 @@ function c40318957.initial_effect(c) ...@@ -14,7 +14,7 @@ function c40318957.initial_effect(c)
e2:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON) e2:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CANNOT_DISABLE) e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CANNOT_DISABLE)
e2:SetTargetRange(1,0) e2:SetTargetRange(1,0)
e2:SetCondition(c40318957.splimcon) e2:SetCondition(aux.nfbdncon)
e2:SetTarget(c40318957.splimit) e2:SetTarget(c40318957.splimit)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--search --search
...@@ -30,9 +30,6 @@ end ...@@ -30,9 +30,6 @@ end
function c40318957.filter(c) function c40318957.filter(c)
return c:IsSetCard(0x9f) or (c:IsSetCard(0x98) and c:IsType(TYPE_PENDULUM)) or c:IsSetCard(0x99) return c:IsSetCard(0x9f) or (c:IsSetCard(0x98) and c:IsType(TYPE_PENDULUM)) or c:IsSetCard(0x99)
end end
function c40318957.splimcon(e)
return not e:GetHandler():IsForbidden()
end
function c40318957.splimit(e,c,tp,sumtp,sumpos) function c40318957.splimit(e,c,tp,sumtp,sumpos)
return not c40318957.filter(c) and bit.band(sumtp,SUMMON_TYPE_PENDULUM)==SUMMON_TYPE_PENDULUM return not c40318957.filter(c) and bit.band(sumtp,SUMMON_TYPE_PENDULUM)==SUMMON_TYPE_PENDULUM
end end
......
...@@ -29,7 +29,7 @@ function c40817915.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -29,7 +29,7 @@ function c40817915.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
and Duel.IsExistingTarget(c40817915.ofilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) and Duel.IsExistingTarget(c40817915.ofilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil)
and Duel.IsExistingMatchingCard(c40817915.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp) and Duel.IsExistingMatchingCard(c40817915.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp)
end end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET) Duel.Hint(HINT_SELECTMSG,tp,532)
local g=Duel.SelectTarget(tp,c40817915.ofilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil) local g=Duel.SelectTarget(tp,c40817915.ofilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
end end
......
...@@ -14,7 +14,7 @@ function c51194046.initial_effect(c) ...@@ -14,7 +14,7 @@ function c51194046.initial_effect(c)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CANNOT_DISABLE) e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CANNOT_DISABLE)
e2:SetRange(LOCATION_PZONE) e2:SetRange(LOCATION_PZONE)
e2:SetTargetRange(1,0) e2:SetTargetRange(1,0)
e2:SetCondition(c51194046.splimcon) e2:SetCondition(aux.nfbdncon)
e2:SetTarget(c51194046.splimit) e2:SetTarget(c51194046.splimit)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--draw --draw
...@@ -57,9 +57,6 @@ function c51194046.initial_effect(c) ...@@ -57,9 +57,6 @@ function c51194046.initial_effect(c)
Duel.RegisterEffect(ge4,0) Duel.RegisterEffect(ge4,0)
end end
end end
function c51194046.splimcon(e)
return not e:GetHandler():IsForbidden()
end
function c51194046.splimit(e,c) function c51194046.splimit(e,c)
return not c:IsSetCard(0xaa) return not c:IsSetCard(0xaa)
end end
......
...@@ -14,7 +14,7 @@ function c55106249.initial_effect(c) ...@@ -14,7 +14,7 @@ function c55106249.initial_effect(c)
e2:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON) e2:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CANNOT_DISABLE) e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CANNOT_DISABLE)
e2:SetTargetRange(1,0) e2:SetTargetRange(1,0)
e2:SetCondition(c55106249.splimcon) e2:SetCondition(aux.nfbdncon)
e2:SetTarget(c55106249.splimit) e2:SetTarget(c55106249.splimit)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--pos --pos
...@@ -49,9 +49,6 @@ function c55106249.initial_effect(c) ...@@ -49,9 +49,6 @@ function c55106249.initial_effect(c)
e6:SetOperation(c55106249.thop) e6:SetOperation(c55106249.thop)
c:RegisterEffect(e6) c:RegisterEffect(e6)
end end
function c55106249.splimcon(e)
return not e:GetHandler():IsForbidden()
end
function c55106249.splimit(e,c,tp,sumtp,sumpos) function c55106249.splimit(e,c,tp,sumtp,sumpos)
return not c:IsSetCard(0xab) and bit.band(sumtp,SUMMON_TYPE_PENDULUM)==SUMMON_TYPE_PENDULUM return not c:IsSetCard(0xab) and bit.band(sumtp,SUMMON_TYPE_PENDULUM)==SUMMON_TYPE_PENDULUM
end end
......
...@@ -16,7 +16,7 @@ function c57777714.initial_effect(c) ...@@ -16,7 +16,7 @@ function c57777714.initial_effect(c)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CANNOT_DISABLE) e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CANNOT_DISABLE)
e2:SetTargetRange(1,0) e2:SetTargetRange(1,0)
e2:SetTarget(c57777714.splimit) e2:SetTarget(c57777714.splimit)
e2:SetCondition(c57777714.splimcon) e2:SetCondition(aux.nfbdncon)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--spsummon --spsummon
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
...@@ -36,9 +36,6 @@ function c57777714.splimit(e,c,sump,sumtype,sumpos,targetp) ...@@ -36,9 +36,6 @@ function c57777714.splimit(e,c,sump,sumtype,sumpos,targetp)
if c:IsSetCard(0xb5) or c:IsSetCard(0xc4) then return false end if c:IsSetCard(0xb5) or c:IsSetCard(0xc4) then return false end
return bit.band(sumtype,SUMMON_TYPE_PENDULUM)==SUMMON_TYPE_PENDULUM return bit.band(sumtype,SUMMON_TYPE_PENDULUM)==SUMMON_TYPE_PENDULUM
end end
function c57777714.splimcon(e)
return not e:GetHandler():IsForbidden()
end
function c57777714.condition(e,tp,eg,ep,ev,re,r,rp) function c57777714.condition(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetSummonType()==SUMMON_TYPE_PENDULUM return e:GetHandler():GetSummonType()==SUMMON_TYPE_PENDULUM
end end
......
...@@ -15,7 +15,7 @@ function c58016954.initial_effect(c) ...@@ -15,7 +15,7 @@ function c58016954.initial_effect(c)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CANNOT_DISABLE) e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CANNOT_DISABLE)
e2:SetTargetRange(1,0) e2:SetTargetRange(1,0)
e2:SetTarget(c58016954.splimit) e2:SetTarget(c58016954.splimit)
e2:SetCondition(c58016954.splimcon) e2:SetCondition(aux.nfbdncon)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--spsummon --spsummon
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
...@@ -37,9 +37,6 @@ function c58016954.splimit(e,c,sump,sumtype,sumpos,targetp) ...@@ -37,9 +37,6 @@ function c58016954.splimit(e,c,sump,sumtype,sumpos,targetp)
if c:IsSetCard(0x9d) or c:IsSetCard(0xc4) then return false end if c:IsSetCard(0x9d) or c:IsSetCard(0xc4) then return false end
return bit.band(sumtype,SUMMON_TYPE_PENDULUM)==SUMMON_TYPE_PENDULUM return bit.band(sumtype,SUMMON_TYPE_PENDULUM)==SUMMON_TYPE_PENDULUM
end end
function c58016954.splimcon(e)
return not e:GetHandler():IsForbidden()
end
function c58016954.condition1(e,tp,eg,ep,ev,re,r,rp) function c58016954.condition1(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetSummonType()==SUMMON_TYPE_PENDULUM return e:GetHandler():GetSummonType()==SUMMON_TYPE_PENDULUM
end end
......
...@@ -15,7 +15,7 @@ function c58990362.initial_effect(c) ...@@ -15,7 +15,7 @@ function c58990362.initial_effect(c)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CANNOT_DISABLE) e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CANNOT_DISABLE)
e2:SetTargetRange(1,0) e2:SetTargetRange(1,0)
e2:SetTarget(c58990362.splimit) e2:SetTarget(c58990362.splimit)
e2:SetCondition(c58990362.splimcon) e2:SetCondition(aux.nfbdncon)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--search --search
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
...@@ -37,9 +37,6 @@ function c58990362.splimit(e,c,sump,sumtype,sumpos,targetp) ...@@ -37,9 +37,6 @@ function c58990362.splimit(e,c,sump,sumtype,sumpos,targetp)
if c:IsSetCard(0x9e) or c:IsSetCard(0xc4) then return false end if c:IsSetCard(0x9e) or c:IsSetCard(0xc4) then return false end
return bit.band(sumtype,SUMMON_TYPE_PENDULUM)==SUMMON_TYPE_PENDULUM return bit.band(sumtype,SUMMON_TYPE_PENDULUM)==SUMMON_TYPE_PENDULUM
end end
function c58990362.splimcon(e)
return not e:GetHandler():IsForbidden()
end
function c58990362.condition1(e,tp,eg,ep,ev,re,r,rp) function c58990362.condition1(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetSummonType()==SUMMON_TYPE_PENDULUM return e:GetHandler():GetSummonType()==SUMMON_TYPE_PENDULUM
end end
......
...@@ -19,5 +19,12 @@ function c59644958.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -19,5 +19,12 @@ function c59644958.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckRemoveOverlayCard(tp,1,1,1,REASON_EFFECT) end if chk==0 then return Duel.CheckRemoveOverlayCard(tp,1,1,1,REASON_EFFECT) end
end end
function c59644958.operation(e,tp,eg,ep,ev,re,r,rp) function c59644958.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.RemoveOverlayCard(tp,1,1,1,1,REASON_EFFECT) local sg=Duel.GetMatchingGroup(Card.CheckRemoveOverlayCard,tp,LOCATION_MZONE,LOCATION_MZONE,nil,tp,1,REASON_EFFECT)
if sg:GetCount()==0 then return end
if sg:GetCount()>1 then
Duel.Hint(HINT_SELECTMSG,tp,532)
sg=sg:Select(tp,1,1,nil)
Duel.HintSelection(sg)
end
sg:GetFirst():RemoveOverlayCard(tp,1,1,REASON_EFFECT)
end end
...@@ -23,7 +23,9 @@ function c63323539.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -23,7 +23,9 @@ function c63323539.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=eg:FilterSelect(tp,c63323539.filter,1,1,nil,e,tp) local g=eg:FilterSelect(tp,c63323539.filter,1,1,nil,e,tp)
local tc=g:GetFirst() local tc=g:GetFirst()
local atk=tc:GetAttack()
if atk<0 or tc:IsFacedown() then atk=0 end
if tc and Duel.Destroy(tc,REASON_EFFECT)~=0 then if tc and Duel.Destroy(tc,REASON_EFFECT)~=0 then
Duel.Damage(1-tp,tc:GetAttack(),REASON_EFFECT) Duel.Damage(1-tp,atk,REASON_EFFECT)
end end
end end
...@@ -14,7 +14,7 @@ function c64496451.initial_effect(c) ...@@ -14,7 +14,7 @@ function c64496451.initial_effect(c)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CANNOT_DISABLE) e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CANNOT_DISABLE)
e2:SetRange(LOCATION_PZONE) e2:SetRange(LOCATION_PZONE)
e2:SetTargetRange(1,0) e2:SetTargetRange(1,0)
e2:SetCondition(c64496451.splimcon) e2:SetCondition(aux.nfbdncon)
e2:SetTarget(c64496451.splimit) e2:SetTarget(c64496451.splimit)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--atk up --atk up
...@@ -72,9 +72,6 @@ function c64496451.initial_effect(c) ...@@ -72,9 +72,6 @@ function c64496451.initial_effect(c)
e9:SetLabelObject(e8) e9:SetLabelObject(e8)
c:RegisterEffect(e9) c:RegisterEffect(e9)
end end
function c64496451.splimcon(e)
return not e:GetHandler():IsForbidden()
end
function c64496451.splimit(e,c) function c64496451.splimit(e,c)
return not c:IsSetCard(0xaa) return not c:IsSetCard(0xaa)
end end
......
...@@ -14,7 +14,7 @@ function c65518099.initial_effect(c) ...@@ -14,7 +14,7 @@ function c65518099.initial_effect(c)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CANNOT_DISABLE) e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CANNOT_DISABLE)
e2:SetRange(LOCATION_PZONE) e2:SetRange(LOCATION_PZONE)
e2:SetTargetRange(1,0) e2:SetTargetRange(1,0)
e2:SetCondition(c65518099.splimcon) e2:SetCondition(aux.nfbdncon)
e2:SetTarget(c65518099.splimit) e2:SetTarget(c65518099.splimit)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--tohand --tohand
...@@ -29,9 +29,6 @@ function c65518099.initial_effect(c) ...@@ -29,9 +29,6 @@ function c65518099.initial_effect(c)
e3:SetOperation(c65518099.operation) e3:SetOperation(c65518099.operation)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c65518099.splimcon(e)
return not e:GetHandler():IsForbidden()
end
function c65518099.splimit(e,c,tp,sumtp,sumpos) function c65518099.splimit(e,c,tp,sumtp,sumpos)
return not c:IsSetCard(0xaa) return not c:IsSetCard(0xaa)
end end
......
...@@ -15,7 +15,7 @@ function c69176131.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -15,7 +15,7 @@ function c69176131.activate(e,tp,eg,ep,ev,re,r,rp)
local sg=Duel.GetMatchingGroup(Card.CheckRemoveOverlayCard,tp,LOCATION_MZONE,LOCATION_MZONE,nil,tp,1,REASON_EFFECT) local sg=Duel.GetMatchingGroup(Card.CheckRemoveOverlayCard,tp,LOCATION_MZONE,LOCATION_MZONE,nil,tp,1,REASON_EFFECT)
if sg:GetCount()==0 then return end if sg:GetCount()==0 then return end
if sg:GetCount()>1 then if sg:GetCount()>1 then
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(69176131,0)) Duel.Hint(HINT_SELECTMSG,tp,532)
sg=sg:Select(tp,1,1,nil) sg=sg:Select(tp,1,1,nil)
Duel.HintSelection(sg) Duel.HintSelection(sg)
end end
......
...@@ -15,7 +15,7 @@ function c74605254.initial_effect(c) ...@@ -15,7 +15,7 @@ function c74605254.initial_effect(c)
e2:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON) e2:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CANNOT_DISABLE) e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CANNOT_DISABLE)
e2:SetTargetRange(1,0) e2:SetTargetRange(1,0)
e2:SetCondition(c74605254.splimcon) e2:SetCondition(aux.nfbdncon)
e2:SetTarget(c74605254.splimit) e2:SetTarget(c74605254.splimit)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--scale change --scale change
...@@ -43,9 +43,6 @@ function c74605254.initial_effect(c) ...@@ -43,9 +43,6 @@ function c74605254.initial_effect(c)
e4:SetOperation(c74605254.thop) e4:SetOperation(c74605254.thop)
c:RegisterEffect(e4) c:RegisterEffect(e4)
end end
function c74605254.splimcon(e)
return not e:GetHandler():IsForbidden()
end
function c74605254.splimit(e,c,sump,sumtype,sumpos,targetp) function c74605254.splimit(e,c,sump,sumtype,sumpos,targetp)
return not c:IsSetCard(0xaf) and bit.band(sumtype,SUMMON_TYPE_PENDULUM)==SUMMON_TYPE_PENDULUM return not c:IsSetCard(0xaf) and bit.band(sumtype,SUMMON_TYPE_PENDULUM)==SUMMON_TYPE_PENDULUM
end end
......
...@@ -16,7 +16,7 @@ function c84388461.initial_effect(c) ...@@ -16,7 +16,7 @@ function c84388461.initial_effect(c)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CANNOT_DISABLE) e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CANNOT_DISABLE)
e2:SetTargetRange(1,0) e2:SetTargetRange(1,0)
e2:SetTarget(c84388461.splimit) e2:SetTarget(c84388461.splimit)
e2:SetCondition(c84388461.splimcon) e2:SetCondition(aux.nfbdncon)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--spsummon --spsummon
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
...@@ -34,9 +34,6 @@ function c84388461.splimit(e,c,sump,sumtype,sumpos,targetp) ...@@ -34,9 +34,6 @@ function c84388461.splimit(e,c,sump,sumtype,sumpos,targetp)
if c:IsSetCard(0xb4) or c:IsSetCard(0xc4) then return false end if c:IsSetCard(0xb4) or c:IsSetCard(0xc4) then return false end
return bit.band(sumtype,SUMMON_TYPE_PENDULUM)==SUMMON_TYPE_PENDULUM return bit.band(sumtype,SUMMON_TYPE_PENDULUM)==SUMMON_TYPE_PENDULUM
end end
function c84388461.splimcon(e)
return not e:GetHandler():IsForbidden()
end
function c84388461.filter(c,e,tp,m) function c84388461.filter(c,e,tp,m)
if not c:IsSetCard(0xb4) or bit.band(c:GetType(),0x81)~=0x81 if not c:IsSetCard(0xb4) or bit.band(c:GetType(),0x81)~=0x81
or not c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,false,true) then return false end or not c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,false,true) then return false end
......
...@@ -14,7 +14,7 @@ function c87588741.initial_effect(c) ...@@ -14,7 +14,7 @@ function c87588741.initial_effect(c)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CANNOT_DISABLE) e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CANNOT_DISABLE)
e2:SetRange(LOCATION_PZONE) e2:SetRange(LOCATION_PZONE)
e2:SetTargetRange(1,0) e2:SetTargetRange(1,0)
e2:SetCondition(c87588741.splimcon) e2:SetCondition(aux.nfbdncon)
e2:SetTarget(c87588741.splimit) e2:SetTarget(c87588741.splimit)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--atk down --atk down
...@@ -72,9 +72,6 @@ function c87588741.initial_effect(c) ...@@ -72,9 +72,6 @@ function c87588741.initial_effect(c)
e9:SetLabelObject(e8) e9:SetLabelObject(e8)
c:RegisterEffect(e9) c:RegisterEffect(e9)
end end
function c87588741.splimcon(e)
return not e:GetHandler():IsForbidden()
end
function c87588741.splimit(e,c) function c87588741.splimit(e,c)
return not c:IsSetCard(0xaa) return not c:IsSetCard(0xaa)
end end
......
...@@ -14,7 +14,7 @@ function c90885155.initial_effect(c) ...@@ -14,7 +14,7 @@ function c90885155.initial_effect(c)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CANNOT_DISABLE) e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CANNOT_DISABLE)
e2:SetRange(LOCATION_PZONE) e2:SetRange(LOCATION_PZONE)
e2:SetTargetRange(1,0) e2:SetTargetRange(1,0)
e2:SetCondition(c90885155.splimcon) e2:SetCondition(aux.nfbdncon)
e2:SetTarget(c90885155.splimit) e2:SetTarget(c90885155.splimit)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--atk down --atk down
...@@ -70,9 +70,6 @@ function c90885155.initial_effect(c) ...@@ -70,9 +70,6 @@ function c90885155.initial_effect(c)
e9:SetLabelObject(e8) e9:SetLabelObject(e8)
c:RegisterEffect(e9) c:RegisterEffect(e9)
end end
function c90885155.splimcon(e)
return not e:GetHandler():IsForbidden()
end
function c90885155.splimit(e,c) function c90885155.splimit(e,c)
return not c:IsSetCard(0xaa) return not c:IsSetCard(0xaa)
end end
......
...@@ -14,7 +14,7 @@ function c91907707.initial_effect(c) ...@@ -14,7 +14,7 @@ function c91907707.initial_effect(c)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CANNOT_DISABLE) e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CANNOT_DISABLE)
e2:SetRange(LOCATION_PZONE) e2:SetRange(LOCATION_PZONE)
e2:SetTargetRange(1,0) e2:SetTargetRange(1,0)
e2:SetCondition(c91907707.splimcon) e2:SetCondition(aux.nfbdncon)
e2:SetTarget(c91907707.splimit) e2:SetTarget(c91907707.splimit)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--atk up --atk up
...@@ -65,9 +65,6 @@ function c91907707.initial_effect(c) ...@@ -65,9 +65,6 @@ function c91907707.initial_effect(c)
e8:SetOperation(c91907707.thop) e8:SetOperation(c91907707.thop)
c:RegisterEffect(e8) c:RegisterEffect(e8)
end end
function c91907707.splimcon(e)
return not e:GetHandler():IsForbidden()
end
function c91907707.splimit(e,c) function c91907707.splimit(e,c)
return not c:IsSetCard(0xaa) return not c:IsSetCard(0xaa)
end end
......
...@@ -15,7 +15,7 @@ function c95401059.initial_effect(c) ...@@ -15,7 +15,7 @@ function c95401059.initial_effect(c)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CANNOT_DISABLE) e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CANNOT_DISABLE)
e2:SetTargetRange(1,0) e2:SetTargetRange(1,0)
e2:SetTarget(c95401059.splimit) e2:SetTarget(c95401059.splimit)
e2:SetCondition(c95401059.splimcon) e2:SetCondition(aux.nfbdncon)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--spsummon --spsummon
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
...@@ -37,9 +37,6 @@ function c95401059.splimit(e,c,sump,sumtype,sumpos,targetp) ...@@ -37,9 +37,6 @@ function c95401059.splimit(e,c,sump,sumtype,sumpos,targetp)
if c:IsSetCard(0x9d) or c:IsSetCard(0xc4) then return false end if c:IsSetCard(0x9d) or c:IsSetCard(0xc4) then return false end
return bit.band(sumtype,SUMMON_TYPE_PENDULUM)==SUMMON_TYPE_PENDULUM return bit.band(sumtype,SUMMON_TYPE_PENDULUM)==SUMMON_TYPE_PENDULUM
end end
function c95401059.splimcon(e)
return not e:GetHandler():IsForbidden()
end
function c95401059.condition1(e,tp,eg,ep,ev,re,r,rp) function c95401059.condition1(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetSummonType()==SUMMON_TYPE_PENDULUM return e:GetHandler():GetSummonType()==SUMMON_TYPE_PENDULUM
end end
......
...@@ -15,7 +15,7 @@ function c96223501.initial_effect(c) ...@@ -15,7 +15,7 @@ function c96223501.initial_effect(c)
e2:SetRange(LOCATION_PZONE) e2:SetRange(LOCATION_PZONE)
e2:SetTargetRange(1,0) e2:SetTargetRange(1,0)
e2:SetTarget(c96223501.splimit) e2:SetTarget(c96223501.splimit)
e2:SetCondition(c96223501.splimcon) e2:SetCondition(aux.nfbdncon)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--destroy --destroy
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
...@@ -39,9 +39,6 @@ function c96223501.splimit(e,c,sump,sumtype,sumpos,targetp) ...@@ -39,9 +39,6 @@ function c96223501.splimit(e,c,sump,sumtype,sumpos,targetp)
if c:IsSetCard(0x9c) or c:IsSetCard(0xc4) then return false end if c:IsSetCard(0x9c) or c:IsSetCard(0xc4) then return false end
return bit.band(sumtype,SUMMON_TYPE_PENDULUM)==SUMMON_TYPE_PENDULUM return bit.band(sumtype,SUMMON_TYPE_PENDULUM)==SUMMON_TYPE_PENDULUM
end end
function c96223501.splimcon(e)
return not e:GetHandler():IsForbidden()
end
function c96223501.condition(e,tp,eg,ep,ev,re,r,rp) function c96223501.condition(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetSummonType()==SUMMON_TYPE_PENDULUM return e:GetHandler():GetSummonType()==SUMMON_TYPE_PENDULUM
end end
......
...@@ -1180,6 +1180,10 @@ function Auxiliary.bdogcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -1180,6 +1180,10 @@ function Auxiliary.bdogcon(e,tp,eg,ep,ev,re,r,rp)
local bc=c:GetBattleTarget() local bc=c:GetBattleTarget()
return c:IsRelateToBattle() and c:IsStatus(STATUS_OPPO_BATTLE) and bc:IsLocation(LOCATION_GRAVE) and bc:IsType(TYPE_MONSTER) return c:IsRelateToBattle() and c:IsStatus(STATUS_OPPO_BATTLE) and bc:IsLocation(LOCATION_GRAVE) and bc:IsType(TYPE_MONSTER)
end end
--condition of "cannot be negated"
function Auxiliary.nfbdncon(e)
return not e:GetHandler():IsForbidden()
end
--flag effect for spell counter --flag effect for spell counter
function Auxiliary.chainreg(e,tp,eg,ep,ev,re,r,rp) function Auxiliary.chainreg(e,tp,eg,ep,ev,re,r,rp)
if e:GetHandler():GetFlagEffect(1)==0 then if e:GetHandler():GetFlagEffect(1)==0 then
......
...@@ -94,6 +94,7 @@ ...@@ -94,6 +94,7 @@
!system 529 请选择自己的卡 !system 529 请选择自己的卡
!system 530 请选择对方的卡 !system 530 请选择对方的卡
!system 531 请选择上级召唤用需要解放的怪兽: !system 531 请选择上级召唤用需要解放的怪兽:
!system 532 请选择要取除超量素材的怪兽
!system 550 请选择要发动的效果 !system 550 请选择要发动的效果
!system 551 请选择效果的对象 !system 551 请选择效果的对象
!system 552 请选择硬币的正反面 !system 552 请选择硬币的正反面
......
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