Commit 6e291f6f authored by Momobako's avatar Momobako

updc

parent 38713158
...@@ -108,7 +108,7 @@ public: ...@@ -108,7 +108,7 @@ public:
//status //status
#define EFFECT_STATUS_AVAILABLE 0x0001 #define EFFECT_STATUS_AVAILABLE 0x0001
#define EFFECT_STATUS_ACTIVATED 0x0002 //#define EFFECT_STATUS_ACTIVATED 0x0002
#define EFFECT_COUNT_CODE_OATH 0x10000000 #define EFFECT_COUNT_CODE_OATH 0x10000000
#define EFFECT_COUNT_CODE_DUEL 0x20000000 #define EFFECT_COUNT_CODE_DUEL 0x20000000
......
...@@ -1450,9 +1450,6 @@ int32 scriptlib::card_register_effect(lua_State *L) { ...@@ -1450,9 +1450,6 @@ int32 scriptlib::card_register_effect(lua_State *L) {
pduel->game_field->core.reseted_effects.insert(peffect); pduel->game_field->core.reseted_effects.insert(peffect);
return 0; return 0;
} }
if((peffect->type & 0x7f0)
|| (pduel->game_field->core.reason_effect && (pduel->game_field->core.reason_effect->status & EFFECT_STATUS_ACTIVATED)))
peffect->status |= EFFECT_STATUS_ACTIVATED;
int32 id; int32 id;
if (peffect->handler) if (peffect->handler)
id = -1; id = -1;
......
...@@ -219,9 +219,6 @@ int32 scriptlib::duel_register_effect(lua_State *L) { ...@@ -219,9 +219,6 @@ int32 scriptlib::duel_register_effect(lua_State *L) {
if(playerid != 0 && playerid != 1) if(playerid != 0 && playerid != 1)
return 0; return 0;
duel* pduel = peffect->pduel; duel* pduel = peffect->pduel;
if((peffect->type & 0x7f0)
|| (pduel->game_field->core.reason_effect && (pduel->game_field->core.reason_effect->status & EFFECT_STATUS_ACTIVATED)))
peffect->status |= EFFECT_STATUS_ACTIVATED;
pduel->game_field->add_effect(peffect, playerid); pduel->game_field->add_effect(peffect, playerid);
return 0; return 0;
} }
......
...@@ -5491,8 +5491,10 @@ int32 field::select_tribute_cards(int16 step, uint8 playerid, uint8 cancelable, ...@@ -5491,8 +5491,10 @@ int32 field::select_tribute_cards(int16 step, uint8 playerid, uint8 cancelable,
core.operated_set.insert(pcard); core.operated_set.insert(pcard);
core.release_cards.erase(pcard); core.release_cards.erase(pcard);
if(min <= (int32)pcard->release_param) { if(min <= (int32)pcard->release_param) {
if(max > 1 && (!core.release_cards.empty() || !core.release_cards_ex.empty() || !core.release_cards_ex_sum.empty())) if(max > 1 && core.release_cards_ex.empty() && (!core.release_cards.empty() || !core.release_cards_ex_sum.empty()))
add_process(PROCESSOR_SELECT_YESNO, 0, 0, 0, playerid, 210); add_process(PROCESSOR_SELECT_YESNO, 0, 0, 0, playerid, 210);
else if(max > 1 && !core.release_cards_ex.empty())
returns.ivalue[0] = TRUE;
else else
core.units.begin()->step = 8; core.units.begin()->step = 8;
} else } else
...@@ -5601,6 +5603,8 @@ int32 field::select_tribute_cards(int16 step, uint8 playerid, uint8 cancelable, ...@@ -5601,6 +5603,8 @@ int32 field::select_tribute_cards(int16 step, uint8 playerid, uint8 cancelable,
rmax += (*cit)->release_param; rmax += (*cit)->release_param;
min -= rmax; min -= rmax;
max -= rmin; max -= rmin;
min = min > 0 ? min : 0;
max = max > 0 ? max : 0;
core.units.begin()->arg2 = (max << 16) + min; core.units.begin()->arg2 = (max << 16) + min;
if(min <= 0) { if(min <= 0) {
if(max > 0 && !core.release_cards.empty()) if(max > 0 && !core.release_cards.empty())
...@@ -5706,6 +5710,8 @@ int32 field::select_tribute_cards(int16 step, uint8 playerid, uint8 cancelable, ...@@ -5706,6 +5710,8 @@ int32 field::select_tribute_cards(int16 step, uint8 playerid, uint8 cancelable,
max--; max--;
fcount++; fcount++;
} }
min = min > 0 ? min : 0;
max = max > 0 ? max : 0;
core.units.begin()->arg2 = (max << 16) + min; core.units.begin()->arg2 = (max << 16) + min;
if(core.release_cards.size() == 0 if(core.release_cards.size() == 0
|| (fcount <= 0 && min < 2)) { || (fcount <= 0 && min < 2)) {
......
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