Commit 07a74fc1 authored by salix5's avatar salix5

remove cancelable

parent 108ab49d
...@@ -65,7 +65,6 @@ field::field(duel* pduel) { ...@@ -65,7 +65,6 @@ field::field(duel* pduel) {
core.opp_mzone[i] = 0; core.opp_mzone[i] = 0;
core.summoning_card = 0; core.summoning_card = 0;
core.summon_depth = 0; core.summon_depth = 0;
core.summon_cancelable = FALSE;
core.chain_limit = 0; core.chain_limit = 0;
core.chain_limit_p = 0; core.chain_limit_p = 0;
core.chain_solving = FALSE; core.chain_solving = FALSE;
......
...@@ -243,7 +243,6 @@ struct processor { ...@@ -243,7 +243,6 @@ struct processor {
uint8 reason_player; uint8 reason_player;
card* summoning_card; card* summoning_card;
uint8 summon_depth; uint8 summon_depth;
uint8 summon_cancelable;
card* attacker; card* attacker;
card* attack_target; card* attack_target;
card* limit_tuner; card* limit_tuner;
......
...@@ -228,7 +228,6 @@ int32 scriptlib::duel_summon(lua_State *L) { ...@@ -228,7 +228,6 @@ int32 scriptlib::duel_summon(lua_State *L) {
if(lua_gettop(L) > 4) if(lua_gettop(L) > 4)
min_tribute = lua_tointeger(L, 5); min_tribute = lua_tointeger(L, 5);
duel * pduel = pcard->pduel; duel * pduel = pcard->pduel;
pduel->game_field->core.summon_cancelable = FALSE;
pduel->game_field->summon(playerid, pcard, peffect, ignore_count, min_tribute); pduel->game_field->summon(playerid, pcard, peffect, ignore_count, min_tribute);
return lua_yield(L, 0); return lua_yield(L, 0);
} }
...@@ -241,7 +240,6 @@ int32 scriptlib::duel_special_summon_rule(lua_State *L) { ...@@ -241,7 +240,6 @@ int32 scriptlib::duel_special_summon_rule(lua_State *L) {
return 0; return 0;
card* pcard = *(card**)lua_touserdata(L, 2); card* pcard = *(card**)lua_touserdata(L, 2);
duel * pduel = pcard->pduel; duel * pduel = pcard->pduel;
pduel->game_field->core.summon_cancelable = FALSE;
pduel->game_field->special_summon_rule(playerid, pcard, 0); pduel->game_field->special_summon_rule(playerid, pcard, 0);
return lua_yield(L, 0); return lua_yield(L, 0);
} }
...@@ -268,7 +266,6 @@ int32 scriptlib::duel_synchro_summon(lua_State *L) { ...@@ -268,7 +266,6 @@ int32 scriptlib::duel_synchro_summon(lua_State *L) {
duel * pduel = pcard->pduel; duel * pduel = pcard->pduel;
pduel->game_field->core.limit_tuner = tuner; pduel->game_field->core.limit_tuner = tuner;
pduel->game_field->core.limit_syn = mg; pduel->game_field->core.limit_syn = mg;
pduel->game_field->core.summon_cancelable = FALSE;
pduel->game_field->special_summon_rule(playerid, pcard, SUMMON_TYPE_SYNCHRO); pduel->game_field->special_summon_rule(playerid, pcard, SUMMON_TYPE_SYNCHRO);
return lua_yield(L, 0); return lua_yield(L, 0);
} }
...@@ -295,7 +292,6 @@ int32 scriptlib::duel_xyz_summon(lua_State *L) { ...@@ -295,7 +292,6 @@ int32 scriptlib::duel_xyz_summon(lua_State *L) {
pduel->game_field->core.limit_xyz = materials; pduel->game_field->core.limit_xyz = materials;
pduel->game_field->core.limit_xyz_minc = minc; pduel->game_field->core.limit_xyz_minc = minc;
pduel->game_field->core.limit_xyz_maxc = maxc; pduel->game_field->core.limit_xyz_maxc = maxc;
pduel->game_field->core.summon_cancelable = FALSE;
pduel->game_field->special_summon_rule(playerid, pcard, SUMMON_TYPE_XYZ); pduel->game_field->special_summon_rule(playerid, pcard, SUMMON_TYPE_XYZ);
return lua_yield(L, 0); return lua_yield(L, 0);
} }
...@@ -317,7 +313,6 @@ int32 scriptlib::duel_setm(lua_State *L) { ...@@ -317,7 +313,6 @@ int32 scriptlib::duel_setm(lua_State *L) {
if(lua_gettop(L) > 4) if(lua_gettop(L) > 4)
min_tribute = lua_tointeger(L, 5); min_tribute = lua_tointeger(L, 5);
duel * pduel = pcard->pduel; duel * pduel = pcard->pduel;
pduel->game_field->core.summon_cancelable = FALSE;
pduel->game_field->add_process(PROCESSOR_MSET, 0, peffect, (group*)pcard, playerid + (ignore_count << 8) + (min_tribute << 16), 0); pduel->game_field->add_process(PROCESSOR_MSET, 0, peffect, (group*)pcard, playerid + (ignore_count << 8) + (min_tribute << 16), 0);
return lua_yield(L, 0); return lua_yield(L, 0);
} }
......
...@@ -1336,8 +1336,6 @@ int32 field::summon(uint16 step, uint8 sumplayer, card * target, effect * proc, ...@@ -1336,8 +1336,6 @@ int32 field::summon(uint16 step, uint8 sumplayer, card * target, effect * proc,
return TRUE; return TRUE;
if(target->is_affected_by_effect(EFFECT_CANNOT_SUMMON)) if(target->is_affected_by_effect(EFFECT_CANNOT_SUMMON))
return TRUE; return TRUE;
if(core.summon_depth)
core.summon_cancelable = FALSE;
core.summon_depth++; core.summon_depth++;
target->material_cards.clear(); target->material_cards.clear();
if(target->current.location == LOCATION_MZONE) if(target->current.location == LOCATION_MZONE)
...@@ -1404,7 +1402,7 @@ int32 field::summon(uint16 step, uint8 sumplayer, card * target, effect * proc, ...@@ -1404,7 +1402,7 @@ int32 field::summon(uint16 step, uint8 sumplayer, card * target, effect * proc,
min = -fcount + 1; min = -fcount + 1;
required = min + (max << 16); required = min + (max << 16);
} }
add_process(PROCESSOR_SELECT_TRIBUTE, 0, 0, 0, sumplayer + ((uint32)core.summon_cancelable << 16), required); add_process(PROCESSOR_SELECT_TRIBUTE, 0, 0, 0, sumplayer, required);
core.units.begin()->step = 3; core.units.begin()->step = 3;
} }
} }
...@@ -1416,7 +1414,7 @@ int32 field::summon(uint16 step, uint8 sumplayer, card * target, effect * proc, ...@@ -1416,7 +1414,7 @@ int32 field::summon(uint16 step, uint8 sumplayer, card * target, effect * proc,
returns.bvalue[0] = 0; returns.bvalue[0] = 0;
else { else {
int32 required = 1 + core.units.begin()->arg2; int32 required = 1 + core.units.begin()->arg2;
add_process(PROCESSOR_SELECT_TRIBUTE, 0, 0, 0, sumplayer + ((uint32)core.summon_cancelable << 16), required); add_process(PROCESSOR_SELECT_TRIBUTE, 0, 0, 0, sumplayer, required);
} }
return FALSE; return FALSE;
} }
...@@ -1902,7 +1900,7 @@ int32 field::mset(uint16 step, uint8 setplayer, card * target, effect * proc, ui ...@@ -1902,7 +1900,7 @@ int32 field::mset(uint16 step, uint8 setplayer, card * target, effect * proc, ui
min = -fcount + 1; min = -fcount + 1;
required = min + (max << 16); required = min + (max << 16);
} }
add_process(PROCESSOR_SELECT_TRIBUTE, 0, 0, 0, setplayer + ((uint32)core.summon_cancelable << 16), required); add_process(PROCESSOR_SELECT_TRIBUTE, 0, 0, 0, setplayer, required);
core.units.begin()->step = 3; core.units.begin()->step = 3;
} }
} }
...@@ -1914,7 +1912,7 @@ int32 field::mset(uint16 step, uint8 setplayer, card * target, effect * proc, ui ...@@ -1914,7 +1912,7 @@ int32 field::mset(uint16 step, uint8 setplayer, card * target, effect * proc, ui
returns.bvalue[0] = 0; returns.bvalue[0] = 0;
else { else {
int32 required = 1 + core.units.begin()->arg2; int32 required = 1 + core.units.begin()->arg2;
add_process(PROCESSOR_SELECT_TRIBUTE, 0, 0, 0, setplayer + ((uint32)core.summon_cancelable << 16), required); add_process(PROCESSOR_SELECT_TRIBUTE, 0, 0, 0, setplayer, required);
} }
return FALSE; return FALSE;
} }
...@@ -4346,7 +4344,7 @@ int32 field::select_synchro_material(int16 step, uint8 playerid, card* pcard, in ...@@ -4346,7 +4344,7 @@ int32 field::select_synchro_material(int16 step, uint8 playerid, card* pcard, in
pduel->write_buffer8(HINT_SELECTMSG); pduel->write_buffer8(HINT_SELECTMSG);
pduel->write_buffer8(playerid); pduel->write_buffer8(playerid);
pduel->write_buffer32(512); pduel->write_buffer32(512);
add_process(PROCESSOR_SELECT_CARD, 0, 0, 0, playerid + ((uint32)core.summon_cancelable << 16), 0x10001); add_process(PROCESSOR_SELECT_CARD, 0, 0, 0, playerid, 0x10001);
return FALSE; return FALSE;
} }
} }
...@@ -4370,7 +4368,7 @@ int32 field::select_synchro_material(int16 step, uint8 playerid, card* pcard, in ...@@ -4370,7 +4368,7 @@ int32 field::select_synchro_material(int16 step, uint8 playerid, card* pcard, in
pduel->write_buffer8(HINT_SELECTMSG); pduel->write_buffer8(HINT_SELECTMSG);
pduel->write_buffer8(playerid); pduel->write_buffer8(playerid);
pduel->write_buffer32(512); pduel->write_buffer32(512);
add_process(PROCESSOR_SELECT_CARD, 0, 0, 0, playerid + ((uint32)core.summon_cancelable << 16), 0x10001); add_process(PROCESSOR_SELECT_CARD, 0, 0, 0, playerid, 0x10001);
return FALSE; return FALSE;
} }
case 1: { case 1: {
...@@ -4599,7 +4597,7 @@ int32 field::select_xyz_material(int16 step, uint8 playerid, uint32 lv, card* sc ...@@ -4599,7 +4597,7 @@ int32 field::select_xyz_material(int16 step, uint8 playerid, uint32 lv, card* sc
pduel->write_buffer8(HINT_SELECTMSG); pduel->write_buffer8(HINT_SELECTMSG);
pduel->write_buffer8(playerid); pduel->write_buffer8(playerid);
pduel->write_buffer32(513); pduel->write_buffer32(513);
add_process(PROCESSOR_SELECT_CARD, 0, 0, 0, playerid + ((uint32)core.summon_cancelable << 16), min + (max << 16)); add_process(PROCESSOR_SELECT_CARD, 0, 0, 0, playerid, min + (max << 16));
} else } else
core.units.begin()->step = 1; core.units.begin()->step = 1;
return FALSE; return FALSE;
...@@ -4626,7 +4624,7 @@ int32 field::select_xyz_material(int16 step, uint8 playerid, uint32 lv, card* sc ...@@ -4626,7 +4624,7 @@ int32 field::select_xyz_material(int16 step, uint8 playerid, uint32 lv, card* sc
pduel->write_buffer8(HINT_SELECTMSG); pduel->write_buffer8(HINT_SELECTMSG);
pduel->write_buffer8(playerid); pduel->write_buffer8(playerid);
pduel->write_buffer32(513); pduel->write_buffer32(513);
add_process(PROCESSOR_SELECT_CARD, 0, 0, 0, playerid + ((uint32)core.summon_cancelable << 16), min + (min << 16)); add_process(PROCESSOR_SELECT_CARD, 0, 0, 0, playerid, min + (min << 16));
return FALSE; return FALSE;
} }
case 3: { case 3: {
...@@ -4711,7 +4709,7 @@ int32 field::select_release_cards(int16 step, uint8 playerid, uint8 check_field, ...@@ -4711,7 +4709,7 @@ int32 field::select_release_cards(int16 step, uint8 playerid, uint8 check_field,
pduel->write_buffer8(HINT_SELECTMSG); pduel->write_buffer8(HINT_SELECTMSG);
pduel->write_buffer8(playerid); pduel->write_buffer8(playerid);
pduel->write_buffer32(500); pduel->write_buffer32(500);
add_process(PROCESSOR_SELECT_CARD, 0, 0, 0, ((uint32)cancelable << 16) + playerid, (max << 16) + min); add_process(PROCESSOR_SELECT_CARD, 0, 0, 0, playerid, (max << 16) + min);
return TRUE; return TRUE;
} }
if(core.release_cards_ex.size() >= (uint32)min) { if(core.release_cards_ex.size() >= (uint32)min) {
...@@ -4722,7 +4720,7 @@ int32 field::select_release_cards(int16 step, uint8 playerid, uint8 check_field, ...@@ -4722,7 +4720,7 @@ int32 field::select_release_cards(int16 step, uint8 playerid, uint8 check_field,
pduel->write_buffer8(HINT_SELECTMSG); pduel->write_buffer8(HINT_SELECTMSG);
pduel->write_buffer8(playerid); pduel->write_buffer8(playerid);
pduel->write_buffer32(500); pduel->write_buffer32(500);
add_process(PROCESSOR_SELECT_CARD, 0, 0, 0, ((uint32)cancelable << 16) + playerid, (max << 16) + min); add_process(PROCESSOR_SELECT_CARD, 0, 0, 0, playerid, (max << 16) + min);
return TRUE; return TRUE;
} }
core.operated_set.clear(); core.operated_set.clear();
...@@ -4733,7 +4731,7 @@ int32 field::select_release_cards(int16 step, uint8 playerid, uint8 check_field, ...@@ -4733,7 +4731,7 @@ int32 field::select_release_cards(int16 step, uint8 playerid, uint8 check_field,
pduel->write_buffer8(HINT_SELECTMSG); pduel->write_buffer8(HINT_SELECTMSG);
pduel->write_buffer8(playerid); pduel->write_buffer8(playerid);
pduel->write_buffer32(500); pduel->write_buffer32(500);
add_process(PROCESSOR_SELECT_CARD, 0, 0, 0, ((uint32)cancelable << 16) + playerid, (core.release_cards_ex.size() << 16) + core.release_cards_ex.size()); add_process(PROCESSOR_SELECT_CARD, 0, 0, 0, playerid, (core.release_cards_ex.size() << 16) + core.release_cards_ex.size());
min -= core.release_cards_ex.size(); min -= core.release_cards_ex.size();
max -= core.release_cards_ex.size(); max -= core.release_cards_ex.size();
core.units.begin()->arg2 = (max << 16) + min; core.units.begin()->arg2 = (max << 16) + min;
...@@ -4749,7 +4747,7 @@ int32 field::select_release_cards(int16 step, uint8 playerid, uint8 check_field, ...@@ -4749,7 +4747,7 @@ int32 field::select_release_cards(int16 step, uint8 playerid, uint8 check_field,
pduel->write_buffer8(HINT_SELECTMSG); pduel->write_buffer8(HINT_SELECTMSG);
pduel->write_buffer8(playerid); pduel->write_buffer8(playerid);
pduel->write_buffer32(500); pduel->write_buffer32(500);
add_process(PROCESSOR_SELECT_CARD, 0, 0, 0, ((uint32)cancelable << 16) + playerid, (max << 16) + min); add_process(PROCESSOR_SELECT_CARD, 0, 0, 0, playerid, (max << 16) + min);
return FALSE; return FALSE;
} }
case 2: { case 2: {
...@@ -4779,7 +4777,7 @@ int32 field::select_tribute_cards(int16 step, uint8 playerid, uint8 cancelable, ...@@ -4779,7 +4777,7 @@ int32 field::select_tribute_cards(int16 step, uint8 playerid, uint8 cancelable,
pduel->write_buffer8(HINT_SELECTMSG); pduel->write_buffer8(HINT_SELECTMSG);
pduel->write_buffer8(playerid); pduel->write_buffer8(playerid);
pduel->write_buffer32(500); pduel->write_buffer32(500);
add_process(PROCESSOR_SELECT_TRIBUTE_P, 0, 0, 0, ((uint32)cancelable << 16) + playerid, (max << 16) + min); add_process(PROCESSOR_SELECT_TRIBUTE_P, 0, 0, 0, playerid, (max << 16) + min);
return TRUE; return TRUE;
} }
if(core.release_cards_ex.size() >= (uint32)max) { if(core.release_cards_ex.size() >= (uint32)max) {
...@@ -4790,7 +4788,7 @@ int32 field::select_tribute_cards(int16 step, uint8 playerid, uint8 cancelable, ...@@ -4790,7 +4788,7 @@ int32 field::select_tribute_cards(int16 step, uint8 playerid, uint8 cancelable,
pduel->write_buffer8(HINT_SELECTMSG); pduel->write_buffer8(HINT_SELECTMSG);
pduel->write_buffer8(playerid); pduel->write_buffer8(playerid);
pduel->write_buffer32(500); pduel->write_buffer32(500);
add_process(PROCESSOR_SELECT_TRIBUTE_P, 0, 0, 0, ((uint32)cancelable << 16) + playerid, (max << 16) + min); add_process(PROCESSOR_SELECT_TRIBUTE_P, 0, 0, 0, playerid, (max << 16) + min);
return TRUE; return TRUE;
} }
core.operated_set.clear(); core.operated_set.clear();
...@@ -4827,7 +4825,7 @@ int32 field::select_tribute_cards(int16 step, uint8 playerid, uint8 cancelable, ...@@ -4827,7 +4825,7 @@ int32 field::select_tribute_cards(int16 step, uint8 playerid, uint8 cancelable,
pduel->write_buffer8(HINT_SELECTMSG); pduel->write_buffer8(HINT_SELECTMSG);
pduel->write_buffer8(playerid); pduel->write_buffer8(playerid);
pduel->write_buffer32(500); pduel->write_buffer32(500);
add_process(PROCESSOR_SELECT_CARD, 0, 0, 0, ((uint32)cancelable << 16) + playerid, 0x10001); add_process(PROCESSOR_SELECT_CARD, 0, 0, 0, playerid, 0x10001);
return FALSE; return FALSE;
} }
case 2: { case 2: {
...@@ -4847,7 +4845,7 @@ int32 field::select_tribute_cards(int16 step, uint8 playerid, uint8 cancelable, ...@@ -4847,7 +4845,7 @@ int32 field::select_tribute_cards(int16 step, uint8 playerid, uint8 cancelable,
pduel->write_buffer8(HINT_SELECTMSG); pduel->write_buffer8(HINT_SELECTMSG);
pduel->write_buffer8(playerid); pduel->write_buffer8(playerid);
pduel->write_buffer32(500); pduel->write_buffer32(500);
add_process(PROCESSOR_SELECT_CARD, 0, 0, 0, ((uint32)cancelable << 16) + playerid, (core.release_cards_ex.size() << 16) + core.release_cards_ex.size()); add_process(PROCESSOR_SELECT_CARD, 0, 0, 0, playerid, (core.release_cards_ex.size() << 16) + core.release_cards_ex.size());
return FALSE; return FALSE;
} }
case 4: { case 4: {
...@@ -4883,7 +4881,7 @@ int32 field::select_tribute_cards(int16 step, uint8 playerid, uint8 cancelable, ...@@ -4883,7 +4881,7 @@ int32 field::select_tribute_cards(int16 step, uint8 playerid, uint8 cancelable,
pduel->write_buffer8(HINT_SELECTMSG); pduel->write_buffer8(HINT_SELECTMSG);
pduel->write_buffer8(playerid); pduel->write_buffer8(playerid);
pduel->write_buffer32(500); pduel->write_buffer32(500);
add_process(PROCESSOR_SELECT_TRIBUTE_P, 0, 0, 0, ((uint32)cancelable << 16) + playerid, (max << 16) + min); add_process(PROCESSOR_SELECT_TRIBUTE_P, 0, 0, 0, playerid, (max << 16) + min);
return FALSE; return FALSE;
} }
case 6: { case 6: {
......
...@@ -2684,14 +2684,12 @@ int32 field::process_idle_command(uint16 step) { ...@@ -2684,14 +2684,12 @@ int32 field::process_idle_command(uint16 step) {
} }
case 5: { case 5: {
card* target = core.summonable_cards[returns.ivalue[0] >> 16]; card* target = core.summonable_cards[returns.ivalue[0] >> 16];
core.summon_cancelable = TRUE;
summon(infos.turn_player, target, 0, FALSE, 0); summon(infos.turn_player, target, 0, FALSE, 0);
core.units.begin()->step = -1; core.units.begin()->step = -1;
return FALSE; return FALSE;
} }
case 6: { case 6: {
card* target = core.spsummonable_cards[returns.ivalue[0] >> 16]; card* target = core.spsummonable_cards[returns.ivalue[0] >> 16];
core.summon_cancelable = TRUE;
special_summon_rule(infos.turn_player, target, 0); special_summon_rule(infos.turn_player, target, 0);
core.units.begin()->step = -1; core.units.begin()->step = -1;
return FALSE; return FALSE;
...@@ -2726,7 +2724,6 @@ int32 field::process_idle_command(uint16 step) { ...@@ -2726,7 +2724,6 @@ int32 field::process_idle_command(uint16 step) {
} }
case 8: { case 8: {
card* target = core.msetable_cards[returns.ivalue[0] >> 16]; card* target = core.msetable_cards[returns.ivalue[0] >> 16];
core.summon_cancelable = TRUE;
add_process(PROCESSOR_MSET, 0, 0, (group*)target, target->current.controler, 0); add_process(PROCESSOR_MSET, 0, 0, (group*)target, target->current.controler, 0);
core.units.begin()->step = -1; core.units.begin()->step = -1;
return FALSE; return FALSE;
...@@ -3008,7 +3005,7 @@ int32 field::process_battle_command(uint16 step) { ...@@ -3008,7 +3005,7 @@ int32 field::process_battle_command(uint16 step) {
pduel->write_buffer8(HINT_SELECTMSG); pduel->write_buffer8(HINT_SELECTMSG);
pduel->write_buffer8(infos.turn_player); pduel->write_buffer8(infos.turn_player);
pduel->write_buffer32(549); pduel->write_buffer32(549);
add_process(PROCESSOR_SELECT_CARD, 0, 0, 0, infos.turn_player + (core.units.begin()->arg1 ? 0x20000 : 0), 0x10001); add_process(PROCESSOR_SELECT_CARD, 0, 0, 0, infos.turn_player, 0x10001);
} }
core.units.begin()->step = 5; core.units.begin()->step = 5;
return FALSE; return FALSE;
......
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