Commit e5feeae6 authored by Chen Bill's avatar Chen Bill

const reference in card::xyz_overlay

parent 94dcb8a2
...@@ -1569,12 +1569,11 @@ int32 card::get_old_union_count() { ...@@ -1569,12 +1569,11 @@ int32 card::get_old_union_count() {
} }
return count; return count;
} }
void card::xyz_overlay(card_set* materials) { void card::xyz_overlay(const card_set& materials) {
if(materials->empty()) if(materials.empty())
return; return;
card_set des, leave_grave, leave_deck; card_set des, leave_grave, leave_deck;
card_vector cv; card_vector cv(materials.begin(), materials.end());
cv.assign(materials->begin(), materials->end());
std::sort(cv.begin(), cv.end(), card::card_operation_sort); std::sort(cv.begin(), cv.end(), card::card_operation_sort);
if(pduel->game_field->core.global_flag & GLOBALFLAG_DECK_REVERSE_CHECK) { if(pduel->game_field->core.global_flag & GLOBALFLAG_DECK_REVERSE_CHECK) {
int32 d0 = (int32)pduel->game_field->player[0].list_main.size() - 1, s0 = d0; int32 d0 = (int32)pduel->game_field->player[0].list_main.size() - 1, s0 = d0;
......
...@@ -285,7 +285,7 @@ public: ...@@ -285,7 +285,7 @@ public:
void unequip(); void unequip();
int32 get_union_count(); int32 get_union_count();
int32 get_old_union_count(); int32 get_old_union_count();
void xyz_overlay(card_set* materials); void xyz_overlay(const card_set& materials);
void xyz_add(card* mat); void xyz_add(card* mat);
void xyz_remove(card* mat); void xyz_remove(card* mat);
void apply_field_effect(); void apply_field_effect();
......
...@@ -3631,11 +3631,10 @@ int32 scriptlib::duel_overlay(lua_State *L) { ...@@ -3631,11 +3631,10 @@ int32 scriptlib::duel_overlay(lua_State *L) {
} else } else
return luaL_error(L, "Parameter %d should be \"Card\" or \"Group\".", 2); return luaL_error(L, "Parameter %d should be \"Card\" or \"Group\".", 2);
if(pcard) { if(pcard) {
card_set cset; card_set cset{ pcard };
cset.insert(pcard); target->xyz_overlay(cset);
target->xyz_overlay(&cset);
} else } else
target->xyz_overlay(&pgroup->container); target->xyz_overlay(pgroup->container);
uint32 adjust = TRUE; uint32 adjust = TRUE;
if(lua_gettop(L) > 2) { if(lua_gettop(L) > 2) {
adjust = lua_toboolean(L, 3); adjust = lua_toboolean(L, 3);
......
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