Commit 5211263b authored by nanahira's avatar nanahira

Merge branch 'patch-allow-synchro' into develop

parents bb6fd728 3f2f5943
...@@ -1088,10 +1088,10 @@ uint32_t card::get_mat_level(card* pcard, uint32_t level_effect_code, uint32_t a ...@@ -1088,10 +1088,10 @@ uint32_t card::get_mat_level(card* pcard, uint32_t level_effect_code, uint32_t a
return get_level(); return get_level();
} }
uint32_t card::get_synchro_level(card* pcard) { uint32_t card::get_synchro_level(card* pcard) {
return get_mat_level(pcard, EFFECT_SYNCHRO_LEVEL, EFFECT_ALLOW_FOR_SYNCHRO); return get_mat_level(pcard, EFFECT_SYNCHRO_LEVEL, EFFECT_SYNCHRO_LEVEL_EX);
} }
uint32_t card::get_ritual_level(card* pcard) { uint32_t card::get_ritual_level(card* pcard) {
return get_mat_level(pcard, EFFECT_RITUAL_LEVEL, EFFECT_ALLOW_FOR_RITUAL); return get_mat_level(pcard, EFFECT_RITUAL_LEVEL, EFFECT_RITUAL_LEVEL_EX);
} }
uint32_t card::check_xyz_level(card* pcard, uint32_t lv) { uint32_t card::check_xyz_level(card* pcard, uint32_t lv) {
if(status & STATUS_NO_LEVEL) if(status & STATUS_NO_LEVEL)
......
...@@ -547,8 +547,8 @@ const std::map<uint64_t, uint64_t> category_checklist{ ...@@ -547,8 +547,8 @@ const std::map<uint64_t, uint64_t> category_checklist{
#define EFFECT_KAISER_COLOSSEUM 370 #define EFFECT_KAISER_COLOSSEUM 370
#define EFFECT_REPLACE_DAMAGE 371 #define EFFECT_REPLACE_DAMAGE 371
#define EFFECT_XYZ_MIN_COUNT 372 #define EFFECT_XYZ_MIN_COUNT 372
#define EFFECT_ALLOW_FOR_SYNCHRO 373 #define EFFECT_SYNCHRO_LEVEL_EX 373
#define EFFECT_ALLOW_FOR_RITUAL 374 #define EFFECT_RITUAL_LEVEL_EX 374
//#define EVENT_STARTUP 1000 //#define EVENT_STARTUP 1000
#define EVENT_FLIP 1001 #define EVENT_FLIP 1001
......
...@@ -1868,18 +1868,18 @@ void field::get_ritual_material(uint8_t playerid, effect* peffect, card_set* mat ...@@ -1868,18 +1868,18 @@ void field::get_ritual_material(uint8_t playerid, effect* peffect, card_set* mat
for(auto& pcard : player[playerid].list_mzone) { for(auto& pcard : player[playerid].list_mzone) {
if(pcard && pcard->is_affect_by_effect(peffect) if(pcard && pcard->is_affect_by_effect(peffect)
&& pcard->is_releasable_by_nonsummon(playerid, REASON_EFFECT) && pcard->is_releasable_by_effect(playerid, peffect) && pcard->is_releasable_by_nonsummon(playerid, REASON_EFFECT) && pcard->is_releasable_by_effect(playerid, peffect)
&& (no_level || pcard->get_level() > 0 || pcard->is_affected_by_effect(EFFECT_ALLOW_FOR_RITUAL))) && (no_level || pcard->get_level() > 0 || pcard->is_affected_by_effect(EFFECT_RITUAL_LEVEL_EX)))
material->insert(pcard); material->insert(pcard);
if(pcard && pcard->is_affected_by_effect(EFFECT_OVERLAY_RITUAL_MATERIAL)) if(pcard && pcard->is_affected_by_effect(EFFECT_OVERLAY_RITUAL_MATERIAL))
for(auto& mcard : pcard->xyz_materials) for(auto& mcard : pcard->xyz_materials)
if (no_level || mcard->get_level() > 0 || pcard->is_affected_by_effect(EFFECT_ALLOW_FOR_RITUAL)) if (no_level || mcard->get_level() > 0 || pcard->is_affected_by_effect(EFFECT_RITUAL_LEVEL_EX))
material->insert(mcard); material->insert(mcard);
} }
for(auto& pcard : player[1 - playerid].list_mzone) { for(auto& pcard : player[1 - playerid].list_mzone) {
if(pcard && pcard->is_affect_by_effect(peffect) if(pcard && pcard->is_affect_by_effect(peffect)
&& pcard->is_affected_by_effect(EFFECT_EXTRA_RELEASE) && pcard->is_position(POS_FACEUP) && pcard->is_affected_by_effect(EFFECT_EXTRA_RELEASE) && pcard->is_position(POS_FACEUP)
&& pcard->is_releasable_by_nonsummon(playerid, REASON_EFFECT) && pcard->is_releasable_by_effect(playerid, peffect) && pcard->is_releasable_by_nonsummon(playerid, REASON_EFFECT) && pcard->is_releasable_by_effect(playerid, peffect)
&& (no_level || pcard->get_level() > 0 || pcard->is_affected_by_effect(EFFECT_ALLOW_FOR_RITUAL))) && (no_level || pcard->get_level() > 0 || pcard->is_affected_by_effect(EFFECT_RITUAL_LEVEL_EX)))
material->insert(pcard); material->insert(pcard);
} }
for(auto& pcard : player[playerid].list_hand) for(auto& pcard : player[playerid].list_hand)
...@@ -1888,11 +1888,11 @@ void field::get_ritual_material(uint8_t playerid, effect* peffect, card_set* mat ...@@ -1888,11 +1888,11 @@ void field::get_ritual_material(uint8_t playerid, effect* peffect, card_set* mat
for(auto& pcard : player[playerid].list_grave) for(auto& pcard : player[playerid].list_grave)
if((pcard->data.type & TYPE_MONSTER) if((pcard->data.type & TYPE_MONSTER)
&& pcard->is_affected_by_effect(EFFECT_EXTRA_RITUAL_MATERIAL) && pcard->is_removeable(playerid, POS_FACEUP, REASON_EFFECT) && pcard->is_affected_by_effect(EFFECT_EXTRA_RITUAL_MATERIAL) && pcard->is_removeable(playerid, POS_FACEUP, REASON_EFFECT)
&& (no_level || pcard->get_level() > 0 || pcard->is_affected_by_effect(EFFECT_ALLOW_FOR_RITUAL))) && (no_level || pcard->get_level() > 0 || pcard->is_affected_by_effect(EFFECT_RITUAL_LEVEL_EX)))
material->insert(pcard); material->insert(pcard);
for(auto& pcard : player[playerid].list_extra) for(auto& pcard : player[playerid].list_extra)
if(((pcard->is_affected_by_effect(EFFECT_EXTRA_RITUAL_MATERIAL) || pcard->data.type & TYPE_MONSTER) && pcard->is_affected_by_effect(EFFECT_MAP_OF_HEAVEN) && pcard->is_capable_send_to_grave(playerid)) if(((pcard->is_affected_by_effect(EFFECT_EXTRA_RITUAL_MATERIAL) || pcard->data.type & TYPE_MONSTER) && pcard->is_affected_by_effect(EFFECT_MAP_OF_HEAVEN) && pcard->is_capable_send_to_grave(playerid))
&& (no_level || pcard->get_level() > 0 || pcard->is_affected_by_effect(EFFECT_ALLOW_FOR_RITUAL))) && (no_level || pcard->get_level() > 0 || pcard->is_affected_by_effect(EFFECT_RITUAL_LEVEL_EX)))
material->insert(pcard); material->insert(pcard);
} }
void field::get_fusion_material(uint8_t playerid, card_set* material_all, card_set* material_base, uint32_t location) { void field::get_fusion_material(uint8_t playerid, card_set* material_all, card_set* material_base, uint32_t location) {
......
...@@ -99,7 +99,7 @@ interpreter::interpreter(duel* pd): coroutines(256) { ...@@ -99,7 +99,7 @@ interpreter::interpreter(duel* pd): coroutines(256) {
lua_setglobal(lua_state, "EFFECT_EXTRA_TOMAIN_KOISHI"); lua_setglobal(lua_state, "EFFECT_EXTRA_TOMAIN_KOISHI");
lua_pushinteger(lua_state, EFFECT_OVERLAY_REMOVE_COST_CHANGE_KOISHI); lua_pushinteger(lua_state, EFFECT_OVERLAY_REMOVE_COST_CHANGE_KOISHI);
lua_setglobal(lua_state, "EFFECT_OVERLAY_REMOVE_COST_CHANGE_KOISHI"); lua_setglobal(lua_state, "EFFECT_OVERLAY_REMOVE_COST_CHANGE_KOISHI");
lua_pushinteger(lua_state, EFFECT_ALLOW_FOR_SYNCHRO); lua_pushinteger(lua_state, EFFECT_SYNCHRO_LEVEL_EX);
lua_setglobal(lua_state, "EFFECT_ALLOW_SYNCHRO_KOISHI"); // for compat only lua_setglobal(lua_state, "EFFECT_ALLOW_SYNCHRO_KOISHI"); // for compat only
// lua_pushinteger(lua_state, EFFECT_MINIATURE_GARDEN_GIRL); // lua_pushinteger(lua_state, EFFECT_MINIATURE_GARDEN_GIRL);
// lua_setglobal(lua_state, "EFFECT_MINIATURE_GARDEN_GIRL"); // lua_setglobal(lua_state, "EFFECT_MINIATURE_GARDEN_GIRL");
......
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