Commit 332107b7 authored by wind2009's avatar wind2009

Revert "Merge remote-tracking branch 'wind/patch-XyzLevel' into develop"

This reverts commit 87421ada, reversing
changes made to 02aa68b3.
parent 87421ada
...@@ -1052,22 +1052,14 @@ uint32_t card::check_xyz_level(card* pcard, uint32_t lv) { ...@@ -1052,22 +1052,14 @@ uint32_t card::check_xyz_level(card* pcard, uint32_t lv) {
return lev; return lev;
return 0; return 0;
} }
uint32_t maxctlimit = 0;
for (int32_t i = 0; i < eset.size(); ++i) {
pduel->lua->add_param(this, PARAM_TYPE_CARD);
pduel->lua->add_param(pcard, PARAM_TYPE_CARD);
uint32_t ctlimit = (eset[i]->get_value(2) >> 12) & 0xf;
if (ctlimit > 0)
maxctlimit = maxctlimit > ctlimit ? maxctlimit : ctlimit;
}
for(int32_t i = 0; i < eset.size(); ++i) { for(int32_t i = 0; i < eset.size(); ++i) {
pduel->lua->add_param(this, PARAM_TYPE_CARD); pduel->lua->add_param(this, PARAM_TYPE_CARD);
pduel->lua->add_param(pcard, PARAM_TYPE_CARD); pduel->lua->add_param(pcard, PARAM_TYPE_CARD);
uint32_t lev = eset[i]->get_value(2); uint32_t lev = eset[i]->get_value(2);
if(((lev & 0xfff) == lv)) if(((lev & 0xfff) == lv))
return (lev & 0xfff) | (maxctlimit << 12); return lev & 0xffff;
if(((lev >> 16) & 0xfff) == lv) if(((lev >> 16) & 0xfff) == lv)
return ((lev >> 16) & 0xffff) | (maxctlimit << 12); return (lev >> 16) & 0xffff;
} }
return 0; return 0;
} }
......
...@@ -1941,7 +1941,6 @@ void field::ritual_release(const card_set& material) { ...@@ -1941,7 +1941,6 @@ void field::ritual_release(const card_set& material) {
} }
void field::get_xyz_material(lua_State* L, card* scard, int32_t findex, uint32_t lv, int32_t maxc, group* mg) { void field::get_xyz_material(lua_State* L, card* scard, int32_t findex, uint32_t lv, int32_t maxc, group* mg) {
core.xmaterial_lst.clear(); core.xmaterial_lst.clear();
core.xmaterial_lst_origin.clear();
uint32_t xyz_level; uint32_t xyz_level;
if(mg) { if(mg) {
for (auto& pcard : mg->container) { for (auto& pcard : mg->container) {
...@@ -1970,7 +1969,6 @@ void field::get_xyz_material(lua_State* L, card* scard, int32_t findex, uint32_t ...@@ -1970,7 +1969,6 @@ void field::get_xyz_material(lua_State* L, card* scard, int32_t findex, uint32_t
auto iter = core.xmaterial_lst.lower_bound(maxc); auto iter = core.xmaterial_lst.lower_bound(maxc);
core.xmaterial_lst.erase(core.xmaterial_lst.begin(), iter); core.xmaterial_lst.erase(core.xmaterial_lst.begin(), iter);
} }
core.xmaterial_lst_origin.insert(core.xmaterial_lst.begin(), core.xmaterial_lst.end());
} }
void field::get_overlay_group(uint8_t self, uint8_t s, uint8_t o, card_set* pset) { void field::get_overlay_group(uint8_t self, uint8_t s, uint8_t o, card_set* pset) {
if (!check_playerid(self)) if (!check_playerid(self))
......
...@@ -260,7 +260,6 @@ struct processor { ...@@ -260,7 +260,6 @@ struct processor {
std::unordered_map<uint32_t, uint32_t> effect_count_code_chain; std::unordered_map<uint32_t, uint32_t> effect_count_code_chain;
std::unordered_map<uint32_t, uint32_t> spsummon_once_map[2]; std::unordered_map<uint32_t, uint32_t> spsummon_once_map[2];
std::multimap<int32_t, card*, std::greater<int32_t>> xmaterial_lst; std::multimap<int32_t, card*, std::greater<int32_t>> xmaterial_lst;
std::multimap<int32_t, card*, std::greater<int32_t>> xmaterial_lst_origin;
int32_t temp_var[4]{}; int32_t temp_var[4]{};
uint32_t global_flag{ 0 }; uint32_t global_flag{ 0 };
......
...@@ -5942,7 +5942,6 @@ int32_t field::select_xyz_material(int16_t step, uint8_t playerid, uint32_t lv, ...@@ -5942,7 +5942,6 @@ int32_t field::select_xyz_material(int16_t step, uint8_t playerid, uint32_t lv,
min = 0; min = 0;
if(pv - (int32_t)core.operated_set.size() > min) if(pv - (int32_t)core.operated_set.size() > min)
min = pv - (int32_t)core.operated_set.size(); min = pv - (int32_t)core.operated_set.size();
core.units.begin()->arg3 = core.units.begin()->arg2;
core.units.begin()->arg2 = min + (max << 16); core.units.begin()->arg2 = min + (max << 16);
if(min == 0) { if(min == 0) {
add_process(PROCESSOR_SELECT_YESNO, 0, 0, 0, playerid, 93); add_process(PROCESSOR_SELECT_YESNO, 0, 0, 0, playerid, 93);
...@@ -5968,24 +5967,15 @@ int32_t field::select_xyz_material(int16_t step, uint8_t playerid, uint32_t lv, ...@@ -5968,24 +5967,15 @@ int32_t field::select_xyz_material(int16_t step, uint8_t playerid, uint32_t lv,
if(min == 0) if(min == 0)
min = 1; min = 1;
if(min + (int32_t)core.operated_set.size() >= maxv) if(min + (int32_t)core.operated_set.size() >= maxv)
add_process(PROCESSOR_SELECT_CARD, 0, 0, 0, playerid + ((uint32_t)1 << 16), min + (max << 16)); add_process(PROCESSOR_SELECT_CARD, 0, 0, 0, playerid, min + (max << 16));
else { else {
add_process(PROCESSOR_SELECT_CARD, 0, 0, 0, playerid + ((uint32_t)1 << 16), min + (min << 16)); add_process(PROCESSOR_SELECT_CARD, 0, 0, 0, playerid, min + (min << 16));
core.units.begin()->step = 7; core.units.begin()->step = 7;
} }
return FALSE; return FALSE;
} }
case 10: { case 10: {
group* pgroup = pduel->new_group(core.operated_set); group* pgroup = pduel->new_group(core.operated_set);
if (returns.ivalue[0] == -1) {
core.units.begin()->arg2 = core.units.begin()->arg3;
core.units.begin()->arg3 = 0;
core.units.begin()->step = -1;
core.operated_set.clear();
core.xmaterial_lst.clear();
core.xmaterial_lst.insert(core.xmaterial_lst_origin.begin(), core.xmaterial_lst_origin.end());
return FALSE;
}
for(int32_t i = 0; i < returns.bvalue[0]; ++i) { for(int32_t i = 0; i < returns.bvalue[0]; ++i) {
card* pcard = core.select_cards[returns.bvalue[i + 1]]; card* pcard = core.select_cards[returns.bvalue[i + 1]];
pgroup->container.insert(pcard); pgroup->container.insert(pcard);
......
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