Commit 73b237d0 authored by nekrozar's avatar nekrozar Committed by GitHub

fix Duel.SSet (#250)

* fix Duel.SSet

* fix EFFECT_SSET_COST
parent f0ce4df1
...@@ -448,7 +448,11 @@ int32 scriptlib::duel_sets(lua_State *L) { ...@@ -448,7 +448,11 @@ int32 scriptlib::duel_sets(lua_State *L) {
} else } else
luaL_error(L, "Parameter %d should be \"Card\" or \"Group\".", 2); luaL_error(L, "Parameter %d should be \"Card\" or \"Group\".", 2);
pduel->game_field->add_process(PROCESSOR_SSET_G, 0, pduel->game_field->core.reason_effect, pgroup, playerid, toplayer, confirm); pduel->game_field->add_process(PROCESSOR_SSET_G, 0, pduel->game_field->core.reason_effect, pgroup, playerid, toplayer, confirm);
return lua_yield(L, 0); return lua_yieldk(L, 0, (lua_KContext)pduel, [](lua_State *L, int32 status, lua_KContext ctx) {
duel* pduel = (duel*)ctx;
lua_pushinteger(L, pduel->game_field->returns.ivalue[0]);
return 1;
});
} }
int32 scriptlib::duel_create_token(lua_State *L) { int32 scriptlib::duel_create_token(lua_State *L) {
check_action_permission(L); check_action_permission(L);
......
...@@ -2386,6 +2386,17 @@ int32 field::sset_g(uint16 step, uint8 setplayer, uint8 toplayer, group* ptarget ...@@ -2386,6 +2386,17 @@ int32 field::sset_g(uint16 step, uint8 setplayer, uint8 toplayer, group* ptarget
returns.ivalue[0] = 0; returns.ivalue[0] = 0;
return TRUE; return TRUE;
} }
effect_set eset;
for(auto& pcard : *set_cards) {
eset.clear();
pcard->filter_effect(EFFECT_SSET_COST, &eset);
for(int32 i = 0; i < eset.size(); ++i) {
if(eset[i]->operation) {
core.sub_solving_event.push_back(nil_event);
add_process(PROCESSOR_EXECUTE_OPERATION, 0, eset[i], 0, setplayer, 0);
}
}
}
core.set_group_pre_set.clear(); core.set_group_pre_set.clear();
core.set_group_set.clear(); core.set_group_set.clear();
core.set_group_used_zones = 0; core.set_group_used_zones = 0;
......
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