Commit 1162d9c7 authored by wind2009's avatar wind2009

Merge remote-tracking branch 'upstream/master'

parents 31f22442 9e92d5b2
......@@ -21,7 +21,11 @@ Interface provided function that handles error messages.
These functions create the game itself and then manipulate it.
- `intptr_t create_duel(uint_fast32_t seed);`
Create a the instance of the duel with a PRNG seed.
(Deprecated) Create an instance of `duel` with 1 uint32 PRNG seed.
This function is reserved for replay mode only.
- `intptr_t create_duel_v2(uint32_t seed_sequence[]);`
Create an instance of `duel` with PRNG seed `seed_sequence[]` of length `SEED_COUNT`.
- `void start_duel(intptr_t pduel, uint32_t options);`
Start the duel.
......
......@@ -4093,19 +4093,6 @@ int32_t card::is_can_be_synchro_material(card* scard, card* tuner) {
for(effect_set::size_type i = 0; i < eset.size(); ++i)
if(eset[i]->get_value(scard))
return FALSE;
if(scard && !(current.location == LOCATION_MZONE && current.controler == scard->current.controler)) {
eset.clear();
filter_effect(EFFECT_EXTRA_SYNCHRO_MATERIAL, &eset);
if(eset.size()) {
for(effect_set::size_type i = 0; i < eset.size(); ++i) {
if(!eset[i]->check_count_limit(scard->current.controler))
continue;
if(eset[i]->get_value(scard))
return TRUE;
}
return FALSE;
}
}
return TRUE;
}
int32_t card::is_can_be_ritual_material(card* scard) {
......
......@@ -149,6 +149,10 @@ int32_t scriptlib::debug_reload_field_begin(lua_State *L) {
pduel->game_field->core.duel_rule = 1;
else
pduel->game_field->core.duel_rule = CURRENT_RULE;
if (pduel->game_field->core.duel_rule == MASTER_RULE3) {
pduel->game_field->player[0].szone_size = 8;
pduel->game_field->player[1].szone_size = 8;
}
return 0;
}
int32_t scriptlib::debug_reload_field_end(lua_State *L) {
......@@ -176,10 +180,12 @@ int32_t scriptlib::debug_set_ai_name(lua_State *L) {
}
int32_t scriptlib::debug_show_hint(lua_State *L) {
check_param_count(L, 1);
check_param(L, PARAM_TYPE_STRING, 1);
duel* pduel = interpreter::get_duel_info(L);
lua_getglobal(L, "tostring");
lua_pushvalue(L, -2);
lua_pcall(L, 1, 1, 0);
pduel->write_buffer8(MSG_SHOW_HINT);
const char* pstr = lua_tostring(L, 1);
const char* pstr = lua_tostring(L, -1);
int len = (int)std::strlen(pstr);
if (len > SIZE_HINT_MSG - 1)
len = SIZE_HINT_MSG - 1;
......
......@@ -45,8 +45,7 @@ int32_t field::disable_chain(uint8_t chaincount, uint8_t forced) {
chain& pchain = core.current_chain[chaincount - 1];
card* phandler = pchain.triggering_effect->get_handler();
if(!(pchain.flag & CHAIN_DISABLE_EFFECT) && is_chain_disablable(pchain.chain_count)
&& (!phandler->is_has_relation(pchain) || phandler->is_affect_by_effect(core.reason_effect))
&& !(phandler->is_has_relation(pchain) && phandler->is_status(STATUS_DISABLED) && !forced)) {
&& (!phandler->is_has_relation(pchain) || phandler->is_affect_by_effect(core.reason_effect))) {
core.current_chain[chaincount - 1].flag |= CHAIN_DISABLE_EFFECT;
core.current_chain[chaincount - 1].disable_reason = core.reason_effect;
core.current_chain[chaincount - 1].disable_player = core.reason_player;
......
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