Commit bee4c504 authored by fallenstardust's avatar fallenstardust

sync ocgcore

parent 47aace20
......@@ -849,7 +849,7 @@ uint32 effect::get_active_type() {
}
int32 effect::get_code_type() {
// start from the highest bit
if (code & EVENT_CUSTOM)
if (code & 0xf0000000)
return CODE_CUSTOM;
else if (code & 0xf0000)
return CODE_COUNTER;
......
......@@ -550,10 +550,10 @@ inline effect_flag operator|(effect_flag flag1, effect_flag flag2)
#define HALF_DAMAGE 0x80000001
// flag effect
#define HEADER_FLAG_EFFECT 0x20000000
#define EFFECT_FLAG_EFFECT 0x20000000
#define MAX_CARD_ID 0xfffffff
// The type of event in code
// The type of effect code
#define CODE_CUSTOM 1 // header + id (28 bits)
#define CODE_COUNTER 2 // header + counter_id (16 bits)
#define CODE_PHASE 3 // header + phase_id (12 bits)
......
......@@ -1793,7 +1793,7 @@ int32 scriptlib::card_register_flag_effect(lua_State *L) {
check_param_count(L, 5);
check_param(L, PARAM_TYPE_CARD, 1);
card* pcard = *(card**) lua_touserdata(L, 1);
int32 code = (lua_tointeger(L, 2) & MAX_CARD_ID) | HEADER_FLAG_EFFECT;
int32 code = (lua_tointeger(L, 2) & MAX_CARD_ID) | EFFECT_FLAG_EFFECT;
int32 reset = (int32)lua_tointeger(L, 3);
int32 flag = (int32)lua_tointeger(L, 4);
int32 count = (int32)lua_tointeger(L, 5);
......@@ -1827,7 +1827,7 @@ int32 scriptlib::card_get_flag_effect(lua_State *L) {
check_param_count(L, 2);
check_param(L, PARAM_TYPE_CARD, 1);
card* pcard = *(card**) lua_touserdata(L, 1);
int32 code = (lua_tointeger(L, 2) & MAX_CARD_ID) | HEADER_FLAG_EFFECT;
int32 code = (lua_tointeger(L, 2) & MAX_CARD_ID) | EFFECT_FLAG_EFFECT;
lua_pushinteger(L, pcard->single_effect.count(code));
return 1;
}
......@@ -1835,7 +1835,7 @@ int32 scriptlib::card_reset_flag_effect(lua_State *L) {
check_param_count(L, 2);
check_param(L, PARAM_TYPE_CARD, 1);
card* pcard = *(card**) lua_touserdata(L, 1);
int32 code = (lua_tointeger(L, 2) & MAX_CARD_ID) | HEADER_FLAG_EFFECT;
int32 code = (lua_tointeger(L, 2) & MAX_CARD_ID) | EFFECT_FLAG_EFFECT;
pcard->reset(code, RESET_CODE);
return 0;
}
......@@ -1843,7 +1843,7 @@ int32 scriptlib::card_set_flag_effect_label(lua_State *L) {
check_param_count(L, 3);
check_param(L, PARAM_TYPE_CARD, 1);
card* pcard = *(card**) lua_touserdata(L, 1);
uint32 code = (lua_tointeger(L, 2) & MAX_CARD_ID) | HEADER_FLAG_EFFECT;
uint32 code = (lua_tointeger(L, 2) & MAX_CARD_ID) | EFFECT_FLAG_EFFECT;
int32 lab = (int32)lua_tointeger(L, 3);
auto eit = pcard->single_effect.find(code);
if(eit == pcard->single_effect.end())
......@@ -1859,7 +1859,7 @@ int32 scriptlib::card_get_flag_effect_label(lua_State *L) {
check_param_count(L, 2);
check_param(L, PARAM_TYPE_CARD, 1);
card* pcard = *(card**) lua_touserdata(L, 1);
uint32 code = (lua_tointeger(L, 2) & MAX_CARD_ID) | HEADER_FLAG_EFFECT;
uint32 code = (lua_tointeger(L, 2) & MAX_CARD_ID) | EFFECT_FLAG_EFFECT;
auto rg = pcard->single_effect.equal_range(code);
int32 count = 0;
for(; rg.first != rg.second; ++rg.first, ++count)
......
......@@ -85,7 +85,7 @@ int32 scriptlib::duel_register_flag_effect(lua_State *L) {
int32 playerid = (int32)lua_tointeger(L, 1);
if(playerid != 0 && playerid != 1)
return 0;
int32 code = (lua_tointeger(L, 2) & MAX_CARD_ID) | HEADER_FLAG_EFFECT;
int32 code = (lua_tointeger(L, 2) & MAX_CARD_ID) | EFFECT_FLAG_EFFECT;
int32 reset = (int32)lua_tointeger(L, 3);
int32 flag = (int32)lua_tointeger(L, 4);
int32 count = (int32)lua_tointeger(L, 5);
......@@ -118,7 +118,7 @@ int32 scriptlib::duel_get_flag_effect(lua_State *L) {
int32 playerid = (int32)lua_tointeger(L, 1);
if(playerid != 0 && playerid != 1)
return 0;
int32 code = (lua_tointeger(L, 2) & MAX_CARD_ID) | HEADER_FLAG_EFFECT;
int32 code = (lua_tointeger(L, 2) & MAX_CARD_ID) | EFFECT_FLAG_EFFECT;
duel* pduel = interpreter::get_duel_info(L);
effect_set eset;
pduel->game_field->filter_player_effect(playerid, code, &eset);
......@@ -130,7 +130,7 @@ int32 scriptlib::duel_reset_flag_effect(lua_State *L) {
int32 playerid = (int32)lua_tointeger(L, 1);
if(playerid != 0 && playerid != 1)
return 0;
uint32 code = (lua_tointeger(L, 2) & MAX_CARD_ID) | HEADER_FLAG_EFFECT;
uint32 code = (lua_tointeger(L, 2) & MAX_CARD_ID) | EFFECT_FLAG_EFFECT;
duel* pduel = interpreter::get_duel_info(L);
auto pr = pduel->game_field->effects.aura_effect.equal_range(code);
for(; pr.first != pr.second; ) {
......@@ -146,7 +146,7 @@ int32 scriptlib::duel_set_flag_effect_label(lua_State *L) {
int32 playerid = (int32)lua_tointeger(L, 1);
if(playerid != 0 && playerid != 1)
return 0;
uint32 code = (lua_tointeger(L, 2) & MAX_CARD_ID) | HEADER_FLAG_EFFECT;
uint32 code = (lua_tointeger(L, 2) & MAX_CARD_ID) | EFFECT_FLAG_EFFECT;
int32 lab = (int32)lua_tointeger(L, 3);
duel* pduel = interpreter::get_duel_info(L);
effect_set eset;
......@@ -165,7 +165,7 @@ int32 scriptlib::duel_get_flag_effect_label(lua_State *L) {
int32 playerid = (int32)lua_tointeger(L, 1);
if(playerid != 0 && playerid != 1)
return 0;
uint32 code = (lua_tointeger(L, 2) & MAX_CARD_ID) | HEADER_FLAG_EFFECT;
uint32 code = (lua_tointeger(L, 2) & MAX_CARD_ID) | EFFECT_FLAG_EFFECT;
duel* pduel = interpreter::get_duel_info(L);
effect_set eset;
pduel->game_field->filter_player_effect(playerid, code, &eset);
......
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