Commit dcfb08ce authored by salix5's avatar salix5 Committed by GitHub

Merge pull request #324 from Fluorohydride/patch-reflect

change the order of EFFECT_REFLECT_DAMAGE
parents 4bedd847 e4dbda7a
...@@ -467,32 +467,33 @@ int32 field::damage(uint16 step, effect* reason_effect, uint32 reason, uint8 rea ...@@ -467,32 +467,33 @@ int32 field::damage(uint16 step, effect* reason_effect, uint32 reason, uint8 rea
} }
} }
} }
uint32 val = amount;
eset.clear(); eset.clear();
filter_player_effect(playerid, EFFECT_CHANGE_DAMAGE, &eset); filter_player_effect(playerid, EFFECT_REFLECT_DAMAGE, &eset);
for(int32 i = 0; i < eset.size(); ++i) { for(int32 i = 0; i < eset.size(); ++i) {
pduel->lua->add_param(reason_effect, PARAM_TYPE_EFFECT); pduel->lua->add_param(reason_effect, PARAM_TYPE_EFFECT);
pduel->lua->add_param(amount, PARAM_TYPE_INT); pduel->lua->add_param(amount, PARAM_TYPE_INT);
pduel->lua->add_param(reason, PARAM_TYPE_INT); pduel->lua->add_param(reason, PARAM_TYPE_INT);
pduel->lua->add_param(reason_player, PARAM_TYPE_INT); pduel->lua->add_param(reason_player, PARAM_TYPE_INT);
pduel->lua->add_param(reason_card, PARAM_TYPE_CARD); pduel->lua->add_param(reason_card, PARAM_TYPE_CARD);
val = eset[i]->get_value(5); if (eset[i]->check_value_condition(5)) {
returns.ivalue[0] = val; playerid = 1 - playerid;
if(val == 0) core.units.begin()->arg2 |= 1 << 29;
return TRUE; break;
}
} }
uint32 val = amount;
eset.clear(); eset.clear();
filter_player_effect(playerid, EFFECT_REFLECT_DAMAGE, &eset); filter_player_effect(playerid, EFFECT_CHANGE_DAMAGE, &eset);
for(int32 i = 0; i < eset.size(); ++i) { for(int32 i = 0; i < eset.size(); ++i) {
pduel->lua->add_param(reason_effect, PARAM_TYPE_EFFECT); pduel->lua->add_param(reason_effect, PARAM_TYPE_EFFECT);
pduel->lua->add_param(val, PARAM_TYPE_INT); pduel->lua->add_param(val, PARAM_TYPE_INT);
pduel->lua->add_param(reason, PARAM_TYPE_INT); pduel->lua->add_param(reason, PARAM_TYPE_INT);
pduel->lua->add_param(reason_player, PARAM_TYPE_INT); pduel->lua->add_param(reason_player, PARAM_TYPE_INT);
pduel->lua->add_param(reason_card, PARAM_TYPE_CARD); pduel->lua->add_param(reason_card, PARAM_TYPE_CARD);
if(eset[i]->check_value_condition(5)) { val = eset[i]->get_value(5);
core.units.begin()->arg2 |= 1 << 29; returns.ivalue[0] = val;
break; if(val == 0)
} return TRUE;
} }
core.units.begin()->arg2 = (core.units.begin()->arg2 & 0xff000000) | (val & 0xffffff); core.units.begin()->arg2 = (core.units.begin()->arg2 & 0xff000000) | (val & 0xffffff);
if(is_step) { if(is_step) {
......
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