Commit 6113e3d3 authored by VanillaSalt's avatar VanillaSalt

update AnnounceCard

parent ea2ad25d
...@@ -531,7 +531,7 @@ public: ...@@ -531,7 +531,7 @@ public:
int32 sort_card(int16 step, uint8 playerid, uint8 is_chain); int32 sort_card(int16 step, uint8 playerid, uint8 is_chain);
int32 announce_race(int16 step, uint8 playerid, int32 count, int32 available); int32 announce_race(int16 step, uint8 playerid, int32 count, int32 available);
int32 announce_attribute(int16 step, uint8 playerid, int32 count, int32 available); int32 announce_attribute(int16 step, uint8 playerid, int32 count, int32 available);
int32 announce_card(int16 step, uint8 playerid); int32 announce_card(int16 step, uint8 playerid, uint32 ttype);
int32 announce_number(int16 step, uint8 playerid); int32 announce_number(int16 step, uint8 playerid);
}; };
......
...@@ -2702,7 +2702,10 @@ int32 scriptlib::duel_announce_card(lua_State * L) { ...@@ -2702,7 +2702,10 @@ int32 scriptlib::duel_announce_card(lua_State * L) {
check_param_count(L, 1); check_param_count(L, 1);
int32 playerid = lua_tointeger(L, 1); int32 playerid = lua_tointeger(L, 1);
duel* pduel = interpreter::get_duel_info(L); duel* pduel = interpreter::get_duel_info(L);
pduel->game_field->add_process(PROCESSOR_ANNOUNCE_CARD, 0, 0, 0, playerid, 0); uint32 ttype = TYPE_MONSTER | TYPE_SPELL | TYPE_TRAP;
if(lua_gettop(L) >= 2)
ttype = lua_tointeger(L, 2);
pduel->game_field->add_process(PROCESSOR_ANNOUNCE_CARD, 0, 0, 0, playerid, ttype);
return lua_yield(L, 0); return lua_yield(L, 0);
} }
int32 scriptlib::duel_announce_type(lua_State * L) { int32 scriptlib::duel_announce_type(lua_State * L) {
......
...@@ -731,10 +731,11 @@ int32 field::announce_attribute(int16 step, uint8 playerid, int32 count, int32 a ...@@ -731,10 +731,11 @@ int32 field::announce_attribute(int16 step, uint8 playerid, int32 count, int32 a
} }
return TRUE; return TRUE;
} }
int32 field::announce_card(int16 step, uint8 playerid) { int32 field::announce_card(int16 step, uint8 playerid, uint32 ttype) {
if(step == 0) { if(step == 0) {
pduel->write_buffer8(MSG_ANNOUNCE_CARD); pduel->write_buffer8(MSG_ANNOUNCE_CARD);
pduel->write_buffer8(playerid); pduel->write_buffer8(playerid);
pduel->write_buffer32(ttype);
return FALSE; return FALSE;
} else { } else {
pduel->write_buffer8(MSG_HINT); pduel->write_buffer8(MSG_HINT);
......
...@@ -569,7 +569,7 @@ int32 field::process() { ...@@ -569,7 +569,7 @@ int32 field::process() {
return PROCESSOR_WAITING + pduel->bufferlen; return PROCESSOR_WAITING + pduel->bufferlen;
} }
case PROCESSOR_ANNOUNCE_CARD: { case PROCESSOR_ANNOUNCE_CARD: {
if(announce_card(it->step, it->arg1)) { if(announce_card(it->step, it->arg1, it->arg2)) {
pduel->lua->add_param(returns.ivalue[0], PARAM_TYPE_INT); pduel->lua->add_param(returns.ivalue[0], PARAM_TYPE_INT);
core.units.pop_front(); core.units.pop_front();
} else { } else {
......
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