Fixed some addtional cppcheck warnings
int8 is not readable with scanf though
This commit is contained in:
parent
9f1d4da7ff
commit
93bd68b6fd
@ -1489,12 +1489,12 @@ int mapif_parse_GuildMemberInfoChange(int fd,int guild_id,uint32 account_id,uint
|
|||||||
}
|
}
|
||||||
case GMI_EXP:
|
case GMI_EXP:
|
||||||
{ // EXP
|
{ // EXP
|
||||||
uint64 exp, old_exp=g->member[i].exp;
|
uint64 old_exp=g->member[i].exp;
|
||||||
g->member[i].exp=*((uint64 *)data);
|
g->member[i].exp=*((uint64 *)data);
|
||||||
g->member[i].modified = GS_MEMBER_MODIFIED;
|
g->member[i].modified = GS_MEMBER_MODIFIED;
|
||||||
if (g->member[i].exp > old_exp)
|
if (g->member[i].exp > old_exp)
|
||||||
{
|
{
|
||||||
exp = g->member[i].exp - old_exp;
|
uint64 exp = g->member[i].exp - old_exp;
|
||||||
|
|
||||||
// Compute gained exp
|
// Compute gained exp
|
||||||
if (charserv_config.guild_exp_rate != 100)
|
if (charserv_config.guild_exp_rate != 100)
|
||||||
|
@ -1814,7 +1814,6 @@ ACMD_FUNC(go)
|
|||||||
int i;
|
int i;
|
||||||
int town;
|
int town;
|
||||||
char map_name[MAP_NAME_LENGTH];
|
char map_name[MAP_NAME_LENGTH];
|
||||||
int16 m;
|
|
||||||
|
|
||||||
const struct {
|
const struct {
|
||||||
char map[MAP_NAME_LENGTH];
|
char map[MAP_NAME_LENGTH];
|
||||||
@ -1983,7 +1982,7 @@ ACMD_FUNC(go)
|
|||||||
|
|
||||||
if (town >= 0 && town < ARRAYLENGTH(data))
|
if (town >= 0 && town < ARRAYLENGTH(data))
|
||||||
{
|
{
|
||||||
m = map_mapname2mapid(data[town].map);
|
int16 m = map_mapname2mapid(data[town].map);
|
||||||
if (m >= 0 && map[m].flag.nowarpto && !pc_has_permission(sd, PC_PERM_WARP_ANYWHERE)) {
|
if (m >= 0 && map[m].flag.nowarpto && !pc_has_permission(sd, PC_PERM_WARP_ANYWHERE)) {
|
||||||
clif_displaymessage(fd, msg_txt(sd,247));
|
clif_displaymessage(fd, msg_txt(sd,247));
|
||||||
return -1;
|
return -1;
|
||||||
@ -6042,7 +6041,7 @@ ACMD_FUNC(autolootitem)
|
|||||||
*------------------------------------------*/
|
*------------------------------------------*/
|
||||||
ACMD_FUNC(autoloottype)
|
ACMD_FUNC(autoloottype)
|
||||||
{
|
{
|
||||||
uint8 i = 0, action = 3; // 1=add, 2=remove, 3=help+list (default), 4=reset
|
uint8 action = 3; // 1=add, 2=remove, 3=help+list (default), 4=reset
|
||||||
enum item_types type = -1;
|
enum item_types type = -1;
|
||||||
int ITEM_MAX = 1533;
|
int ITEM_MAX = 1533;
|
||||||
|
|
||||||
@ -6116,6 +6115,7 @@ ACMD_FUNC(autoloottype)
|
|||||||
if (sd->state.autoloottype == 0)
|
if (sd->state.autoloottype == 0)
|
||||||
clif_displaymessage(fd, msg_txt(sd,1489)); // Your autoloottype list is empty.
|
clif_displaymessage(fd, msg_txt(sd,1489)); // Your autoloottype list is empty.
|
||||||
else {
|
else {
|
||||||
|
uint8 i = 0;
|
||||||
clif_displaymessage(fd, msg_txt(sd,1490)); // Item types on your autoloottype list:
|
clif_displaymessage(fd, msg_txt(sd,1490)); // Item types on your autoloottype list:
|
||||||
while (i < IT_MAX) {
|
while (i < IT_MAX) {
|
||||||
if (sd->state.autoloottype&(1<<i)) {
|
if (sd->state.autoloottype&(1<<i)) {
|
||||||
@ -8902,7 +8902,7 @@ ACMD_FUNC(accinfo) {
|
|||||||
char type = 0; // type = 1, get only account name
|
char type = 0; // type = 1, get only account name
|
||||||
|
|
||||||
if (!message || !*message || strlen(message) > NAME_LENGTH
|
if (!message || !*message || strlen(message) > NAME_LENGTH
|
||||||
|| ( sscanf(message, "%31s %c", query, &type) < 1))
|
|| ( sscanf(message, "%23s %c", query, &type) < 1))
|
||||||
{
|
{
|
||||||
clif_displaymessage(fd, msg_txt(sd,1365)); // Usage: @accinfo/@accountinfo <account_id/char name>
|
clif_displaymessage(fd, msg_txt(sd,1365)); // Usage: @accinfo/@accountinfo <account_id/char name>
|
||||||
clif_displaymessage(fd, msg_txt(sd,1366)); // You may search partial name by making use of '%' in the search, ex. "@accinfo %Mario%" lists all characters whose name contains "Mario".
|
clif_displaymessage(fd, msg_txt(sd,1366)); // You may search partial name by making use of '%' in the search, ex. "@accinfo %Mario%" lists all characters whose name contains "Mario".
|
||||||
|
@ -2501,7 +2501,6 @@ static int battle_get_weapon_element(struct Damage wd, struct block_list *src, s
|
|||||||
struct map_session_data *sd = BL_CAST(BL_PC, src);
|
struct map_session_data *sd = BL_CAST(BL_PC, src);
|
||||||
struct status_change *sc = status_get_sc(src);
|
struct status_change *sc = status_get_sc(src);
|
||||||
struct status_data *sstatus = status_get_status_data(src);
|
struct status_data *sstatus = status_get_status_data(src);
|
||||||
uint8 i;
|
|
||||||
int element = skill_get_ele(skill_id, skill_lv);
|
int element = skill_get_ele(skill_id, skill_lv);
|
||||||
|
|
||||||
//Take weapon's element
|
//Take weapon's element
|
||||||
@ -2514,6 +2513,7 @@ static int battle_get_weapon_element(struct Damage wd, struct block_list *src, s
|
|||||||
element = sd->bonus.arrow_ele;
|
element = sd->bonus.arrow_ele;
|
||||||
// on official endows override all other elements [helvetica]
|
// on official endows override all other elements [helvetica]
|
||||||
if (sd) { //Summoning 10 talisman will endow your weapon.
|
if (sd) { //Summoning 10 talisman will endow your weapon.
|
||||||
|
uint8 i;
|
||||||
ARR_FIND(1, 6, i, sd->talisman[i] >= 10);
|
ARR_FIND(1, 6, i, sd->talisman[i] >= 10);
|
||||||
if (i < 5)
|
if (i < 5)
|
||||||
element = i;
|
element = i;
|
||||||
@ -3087,7 +3087,7 @@ static struct Damage battle_calc_multi_attack(struct Damage wd, struct block_lis
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if( ((sd->weapontype1 == W_REVOLVER && (skill_lv = pc_checkskill(sd,GS_CHAINACTION)) > 0) //Normal Chain Action effect
|
else if( ((sd->weapontype1 == W_REVOLVER && (skill_lv = pc_checkskill(sd,GS_CHAINACTION)) > 0) //Normal Chain Action effect
|
||||||
|| (sd && sc->count && sc->data[SC_E_CHAIN] && (skill_lv = sc->data[SC_E_CHAIN]->val2) > 0)) //Chain Action of ETERNAL_CHAIN
|
|| (sd && sc && sc->count && sc->data[SC_E_CHAIN] && (skill_lv = sc->data[SC_E_CHAIN]->val2) > 0)) //Chain Action of ETERNAL_CHAIN
|
||||||
&& rnd()%100 < 5*skill_lv ) //Success rate
|
&& rnd()%100 < 5*skill_lv ) //Success rate
|
||||||
{
|
{
|
||||||
wd.div_ = skill_get_num(GS_CHAINACTION,skill_lv);
|
wd.div_ = skill_get_num(GS_CHAINACTION,skill_lv);
|
||||||
|
@ -382,7 +382,7 @@ int channel_chk(char *chname, char *chpass, int type){
|
|||||||
return -4;
|
return -4;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (type&4 && (chpass != '\0' && strlen(chpass) > CHAN_NAME_LENGTH ) ) {
|
if (type&4 && (chpass[0] != '\0' && strlen(chpass) > CHAN_NAME_LENGTH ) ) {
|
||||||
return -3;
|
return -3;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8641,12 +8641,13 @@ void clif_messagecolor(struct block_list* bl, unsigned long color, const char* m
|
|||||||
|
|
||||||
void clif_messagecolor2(struct map_session_data *sd, unsigned long color, const char* msg)
|
void clif_messagecolor2(struct map_session_data *sd, unsigned long color, const char* msg)
|
||||||
{
|
{
|
||||||
int fd;
|
|
||||||
unsigned short msg_len = strlen(msg) + 1;
|
unsigned short msg_len = strlen(msg) + 1;
|
||||||
|
|
||||||
nullpo_retv(sd);
|
nullpo_retv(sd);
|
||||||
|
|
||||||
if(msg_len > 0) {
|
if(msg_len > 0) {
|
||||||
|
int fd;
|
||||||
|
|
||||||
color = (color & 0x0000FF) << 16 | (color & 0x00FF00) | (color & 0xFF0000) >> 16; // RGB to BGR
|
color = (color & 0x0000FF) << 16 | (color & 0x00FF00) | (color & 0xFF0000) >> 16; // RGB to BGR
|
||||||
|
|
||||||
fd = sd->fd;
|
fd = sd->fd;
|
||||||
|
@ -3441,7 +3441,6 @@ int parse_console(const char* buf){
|
|||||||
char mapname[64];
|
char mapname[64];
|
||||||
int16 x = 0;
|
int16 x = 0;
|
||||||
int16 y = 0;
|
int16 y = 0;
|
||||||
int16 m;
|
|
||||||
int n;
|
int n;
|
||||||
struct map_session_data sd;
|
struct map_session_data sd;
|
||||||
|
|
||||||
@ -3470,7 +3469,7 @@ int parse_console(const char* buf){
|
|||||||
|
|
||||||
if(strcmpi("admin",type) == 0 ) {
|
if(strcmpi("admin",type) == 0 ) {
|
||||||
if(strcmpi("map",command) == 0){
|
if(strcmpi("map",command) == 0){
|
||||||
m = map_mapname2mapid(mapname);
|
int16 m = map_mapname2mapid(mapname);
|
||||||
if( m < 0 ){
|
if( m < 0 ){
|
||||||
ShowWarning("Console: Unknown map.\n");
|
ShowWarning("Console: Unknown map.\n");
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -2387,7 +2387,7 @@ static const char* npc_parse_shop(char* w1, char* w2, char* w3, char* w4, const
|
|||||||
{
|
{
|
||||||
char *p, point_str[32];
|
char *p, point_str[32];
|
||||||
int m, is_discount = 0;
|
int m, is_discount = 0;
|
||||||
uint8 dir;
|
uint16 dir;
|
||||||
short x, y;
|
short x, y;
|
||||||
unsigned short nameid = 0;
|
unsigned short nameid = 0;
|
||||||
struct npc_data *nd;
|
struct npc_data *nd;
|
||||||
@ -2401,7 +2401,7 @@ static const char* npc_parse_shop(char* w1, char* w2, char* w3, char* w4, const
|
|||||||
else
|
else
|
||||||
{// w1=<map name>,<x>,<y>,<facing>
|
{// w1=<map name>,<x>,<y>,<facing>
|
||||||
char mapname[32]; // TODO: Check why this does not use MAP_NAME_LENGTH_EXT
|
char mapname[32]; // TODO: Check why this does not use MAP_NAME_LENGTH_EXT
|
||||||
if( sscanf(w1, "%31[^,],%6hd,%6hd,%4d", mapname, &x, &y, &dir) != 4
|
if( sscanf(w1, "%31[^,],%6hd,%6hd,%4hd", mapname, &x, &y, &dir) != 4
|
||||||
|| strchr(w4, ',') == NULL )
|
|| strchr(w4, ',') == NULL )
|
||||||
{
|
{
|
||||||
ShowError("npc_parse_shop: Invalid shop definition in file '%s', line '%d'.\n * w1=%s\n * w2=%s\n * w3=%s\n * w4=%s\n", filepath, strline(buffer,start-buffer), w1, w2, w3, w4);
|
ShowError("npc_parse_shop: Invalid shop definition in file '%s', line '%d'.\n * w1=%s\n * w2=%s\n * w3=%s\n * w4=%s\n", filepath, strline(buffer,start-buffer), w1, w2, w3, w4);
|
||||||
@ -2687,7 +2687,7 @@ static const char* npc_skip_script(const char* start, const char* buffer, const
|
|||||||
* @return new index for next parsing
|
* @return new index for next parsing
|
||||||
*/
|
*/
|
||||||
static const char* npc_parse_script(char* w1, char* w2, char* w3, char* w4, const char* start, const char* buffer, const char* filepath, bool runOnInit) {
|
static const char* npc_parse_script(char* w1, char* w2, char* w3, char* w4, const char* start, const char* buffer, const char* filepath, bool runOnInit) {
|
||||||
int8 dir = 0;
|
int16 dir = 0;
|
||||||
short m, x, y, xs = 0, ys = 0; // [Valaris] thanks to fov
|
short m, x, y, xs = 0, ys = 0; // [Valaris] thanks to fov
|
||||||
struct script_code *script;
|
struct script_code *script;
|
||||||
int i;
|
int i;
|
||||||
@ -2708,7 +2708,7 @@ static const char* npc_parse_script(char* w1, char* w2, char* w3, char* w4, cons
|
|||||||
{// npc in a map
|
{// npc in a map
|
||||||
char mapname[32]; // TODO: Check why this does not use MAP_NAME_LENGTH_EXT
|
char mapname[32]; // TODO: Check why this does not use MAP_NAME_LENGTH_EXT
|
||||||
|
|
||||||
if( sscanf(w1, "%31[^,],%6hd,%6hd,%4d", mapname, &x, &y, &dir) != 4 )
|
if( sscanf(w1, "%31[^,],%6hd,%6hd,%4hd", mapname, &x, &y, &dir) != 4 )
|
||||||
{
|
{
|
||||||
ShowError("npc_parse_script: Invalid placement format for a script in file '%s', line '%d'. Skipping the rest of file...\n * w1=%s\n * w2=%s\n * w3=%s\n * w4=%s\n", filepath, strline(buffer,start-buffer), w1, w2, w3, w4);
|
ShowError("npc_parse_script: Invalid placement format for a script in file '%s', line '%d'. Skipping the rest of file...\n * w1=%s\n * w2=%s\n * w3=%s\n * w4=%s\n", filepath, strline(buffer,start-buffer), w1, w2, w3, w4);
|
||||||
return NULL;// unknown format, don't continue
|
return NULL;// unknown format, don't continue
|
||||||
@ -2829,7 +2829,7 @@ static const char* npc_parse_script(char* w1, char* w2, char* w3, char* w4, cons
|
|||||||
const char* npc_parse_duplicate(char* w1, char* w2, char* w3, char* w4, const char* start, const char* buffer, const char* filepath)
|
const char* npc_parse_duplicate(char* w1, char* w2, char* w3, char* w4, const char* start, const char* buffer, const char* filepath)
|
||||||
{
|
{
|
||||||
short x, y, m, xs = -1, ys = -1;
|
short x, y, m, xs = -1, ys = -1;
|
||||||
int8 dir;
|
int16 dir;
|
||||||
char srcname[128];
|
char srcname[128];
|
||||||
int i;
|
int i;
|
||||||
const char* end;
|
const char* end;
|
||||||
@ -2866,7 +2866,7 @@ const char* npc_parse_duplicate(char* w1, char* w2, char* w3, char* w4, const ch
|
|||||||
} else {
|
} else {
|
||||||
char mapname[32]; // TODO: Check why this does not use MAP_NAME_LENGTH_EXT
|
char mapname[32]; // TODO: Check why this does not use MAP_NAME_LENGTH_EXT
|
||||||
|
|
||||||
if( sscanf(w1, "%31[^,],%6hd,%6hd,%4d", mapname, &x, &y, &dir) != 4 ) { // <map name>,<x>,<y>,<facing>
|
if( sscanf(w1, "%31[^,],%6hd,%6hd,%4hd", mapname, &x, &y, &dir) != 4 ) { // <map name>,<x>,<y>,<facing>
|
||||||
ShowError("npc_parse_duplicate: Invalid placement format for duplicate in file '%s', line '%d'. Skipping line...\n * w1=%s\n * w2=%s\n * w3=%s\n * w4=%s\n", filepath, strline(buffer,start-buffer), w1, w2, w3, w4);
|
ShowError("npc_parse_duplicate: Invalid placement format for duplicate in file '%s', line '%d'. Skipping line...\n * w1=%s\n * w2=%s\n * w3=%s\n * w4=%s\n", filepath, strline(buffer,start-buffer), w1, w2, w3, w4);
|
||||||
return end;// next line, try to continue
|
return end;// next line, try to continue
|
||||||
}
|
}
|
||||||
@ -3318,7 +3318,7 @@ static const char* npc_parse_mob(char* w1, char* w2, char* w3, char* w4, const c
|
|||||||
// w3=<mob name>{,<mob level>}
|
// w3=<mob name>{,<mob level>}
|
||||||
// w4=<mob id>,<amount>,<delay1>,<delay2>,<event>{,<mob size>,<mob ai>}
|
// w4=<mob id>,<amount>,<delay1>,<delay2>,<event>{,<mob size>,<mob ai>}
|
||||||
if( sscanf(w1, "%31[^,],%6hd,%6hd,%6hd,%6hd", mapname, &x, &y, &xs, &ys) < 3
|
if( sscanf(w1, "%31[^,],%6hd,%6hd,%6hd,%6hd", mapname, &x, &y, &xs, &ys) < 3
|
||||||
|| sscanf(w3, "%23[^,],%d", mobname, &mob_lv) < 1
|
|| sscanf(w3, "%23[^,],%11d", mobname, &mob_lv) < 1
|
||||||
|| sscanf(w4, "%11d,%11d,%11u,%11u,%127[^,],%11d,%11d[^\t\r\n]", &class_, &num, &mob.delay1, &mob.delay2, mob.eventname, &size, &ai) < 2 )
|
|| sscanf(w4, "%11d,%11d,%11u,%11u,%127[^,],%11d,%11d[^\t\r\n]", &class_, &num, &mob.delay1, &mob.delay2, mob.eventname, &size, &ai) < 2 )
|
||||||
{
|
{
|
||||||
ShowError("npc_parse_mob: Invalid mob definition in file '%s', line '%d'.\n * w1=%s\n * w2=%s\n * w3=%s\n * w4=%s\n", filepath, strline(buffer,start-buffer), w1, w2, w3, w4);
|
ShowError("npc_parse_mob: Invalid mob definition in file '%s', line '%d'.\n * w1=%s\n * w2=%s\n * w3=%s\n * w4=%s\n", filepath, strline(buffer,start-buffer), w1, w2, w3, w4);
|
||||||
@ -3564,7 +3564,7 @@ static const char* npc_parse_mapflag(char* w1, char* w2, char* w3, char* w4, con
|
|||||||
else if (!strcmpi(w3, "pvp_nightmaredrop")) {
|
else if (!strcmpi(w3, "pvp_nightmaredrop")) {
|
||||||
char drop_arg1[16], drop_arg2[16];
|
char drop_arg1[16], drop_arg2[16];
|
||||||
int drop_per = 0;
|
int drop_per = 0;
|
||||||
if (sscanf(w4, "%15[^,],%15[^,],%d", drop_arg1, drop_arg2, &drop_per) == 3) {
|
if (sscanf(w4, "%15[^,],%15[^,],%11d", drop_arg1, drop_arg2, &drop_per) == 3) {
|
||||||
int drop_id = 0, drop_type = 0;
|
int drop_id = 0, drop_type = 0;
|
||||||
if (!strcmpi(drop_arg1, "random"))
|
if (!strcmpi(drop_arg1, "random"))
|
||||||
drop_id = -1;
|
drop_id = -1;
|
||||||
@ -3695,7 +3695,7 @@ static const char* npc_parse_mapflag(char* w1, char* w2, char* w3, char* w4, con
|
|||||||
else if (!strcmpi(w3,"restricted")) {
|
else if (!strcmpi(w3,"restricted")) {
|
||||||
if (state) {
|
if (state) {
|
||||||
map[m].flag.restricted=1;
|
map[m].flag.restricted=1;
|
||||||
sscanf(w4, "%d", &state); // TODO: Something should be done if it could not be read
|
sscanf(w4, "%11d", &state); // TODO: Something should be done if it could not be read
|
||||||
map[m].zone |= 1<<(state+1);
|
map[m].zone |= 1<<(state+1);
|
||||||
} else {
|
} else {
|
||||||
map[m].flag.restricted=0;
|
map[m].flag.restricted=0;
|
||||||
@ -4054,7 +4054,6 @@ void npc_clear_pathlist(void) {
|
|||||||
//Clear then reload npcs files
|
//Clear then reload npcs files
|
||||||
int npc_reload(void) {
|
int npc_reload(void) {
|
||||||
struct npc_src_list *nsl;
|
struct npc_src_list *nsl;
|
||||||
int16 m, i;
|
|
||||||
int npc_new_min = npc_id;
|
int npc_new_min = npc_id;
|
||||||
struct s_mapiterator* iter;
|
struct s_mapiterator* iter;
|
||||||
struct block_list* bl;
|
struct block_list* bl;
|
||||||
@ -4087,7 +4086,9 @@ int npc_reload(void) {
|
|||||||
|
|
||||||
if(battle_config.dynamic_mobs)
|
if(battle_config.dynamic_mobs)
|
||||||
{// dynamic check by [random]
|
{// dynamic check by [random]
|
||||||
|
int16 m;
|
||||||
for (m = 0; m < map_num; m++) {
|
for (m = 0; m < map_num; m++) {
|
||||||
|
int16 i;
|
||||||
for (i = 0; i < MAX_MOB_LIST_PER_MAP; i++) {
|
for (i = 0; i < MAX_MOB_LIST_PER_MAP; i++) {
|
||||||
if (map[m].moblist[i] != NULL) {
|
if (map[m].moblist[i] != NULL) {
|
||||||
aFree(map[m].moblist[i]);
|
aFree(map[m].moblist[i]);
|
||||||
|
@ -754,7 +754,14 @@ int party_changeleader(struct map_session_data *sd, struct map_session_data *tsd
|
|||||||
return 0; // Shouldn't happen
|
return 0; // Shouldn't happen
|
||||||
} else {
|
} else {
|
||||||
ARR_FIND(0,MAX_PARTY,mi,p->party.member[mi].leader);
|
ARR_FIND(0,MAX_PARTY,mi,p->party.member[mi].leader);
|
||||||
|
|
||||||
|
if (mi == MAX_PARTY)
|
||||||
|
return 0; // Shouldn't happen
|
||||||
|
|
||||||
ARR_FIND(0,MAX_PARTY,tmi,p->data[tmi].sd == tsd);
|
ARR_FIND(0,MAX_PARTY,tmi,p->data[tmi].sd == tsd);
|
||||||
|
|
||||||
|
if (tmi == MAX_PARTY)
|
||||||
|
return 0; // Shouldn't happen
|
||||||
}
|
}
|
||||||
|
|
||||||
// Change leadership.
|
// Change leadership.
|
||||||
|
@ -1895,7 +1895,7 @@ int pc_disguise(struct map_session_data *sd, int class_)
|
|||||||
struct chat_data* cd;
|
struct chat_data* cd;
|
||||||
nullpo_retr(1, sd);
|
nullpo_retr(1, sd);
|
||||||
cd = (struct chat_data*)map_id2bl(sd->chatID);
|
cd = (struct chat_data*)map_id2bl(sd->chatID);
|
||||||
if( cd != NULL || (struct block_list*)sd == cd->owner )
|
if( cd != NULL || (struct block_list*)sd == cd->owner ) // TODO: one of those two checks is unnecessary
|
||||||
clif_dispchat(cd,0);
|
clif_dispchat(cd,0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -17088,7 +17088,7 @@ BUILDIN_FUNC(waitingroom2bg)
|
|||||||
}
|
}
|
||||||
|
|
||||||
n = cd->users;
|
n = cd->users;
|
||||||
for( i = 0; i < n && i < MAX_BG_MEMBERS; i++ )
|
for( i = 0; i < n && i < MAX_BG_MEMBERS; i++ ) // TODO: should this be MAX_CHAT_USERS?! otherwise cd->usersd[i] might be out of bounds
|
||||||
{
|
{
|
||||||
struct map_session_data *sd;
|
struct map_session_data *sd;
|
||||||
if( (sd = cd->usersd[i]) != NULL && bg_team_join(bg_id, sd) )
|
if( (sd = cd->usersd[i]) != NULL && bg_team_join(bg_id, sd) )
|
||||||
@ -18270,7 +18270,6 @@ BUILDIN_FUNC(cleanmap)
|
|||||||
{
|
{
|
||||||
const char *mapname;
|
const char *mapname;
|
||||||
int16 m;
|
int16 m;
|
||||||
int16 x0 = 0, y0 = 0, x1 = 0, y1 = 0;
|
|
||||||
|
|
||||||
mapname = script_getstr(st, 2);
|
mapname = script_getstr(st, 2);
|
||||||
m = map_mapname2mapid(mapname);
|
m = map_mapname2mapid(mapname);
|
||||||
@ -18280,10 +18279,10 @@ BUILDIN_FUNC(cleanmap)
|
|||||||
if ((script_lastdata(st) - 2) < 4) {
|
if ((script_lastdata(st) - 2) < 4) {
|
||||||
map_foreachinmap(atcommand_cleanfloor_sub, m, BL_ITEM);
|
map_foreachinmap(atcommand_cleanfloor_sub, m, BL_ITEM);
|
||||||
} else {
|
} else {
|
||||||
x0 = script_getnum(st, 3);
|
int16 x0 = script_getnum(st, 3);
|
||||||
y0 = script_getnum(st, 4);
|
int16 y0 = script_getnum(st, 4);
|
||||||
x1 = script_getnum(st, 5);
|
int16 x1 = script_getnum(st, 5);
|
||||||
y1 = script_getnum(st, 6);
|
int16 y1 = script_getnum(st, 6);
|
||||||
if (x0 > 0 && y0 > 0 && x1 > 0 && y1 > 0) {
|
if (x0 > 0 && y0 > 0 && x1 > 0 && y1 > 0) {
|
||||||
map_foreachinarea(atcommand_cleanfloor_sub, m, x0, y0, x1, y1, BL_ITEM);
|
map_foreachinarea(atcommand_cleanfloor_sub, m, x0, y0, x1, y1, BL_ITEM);
|
||||||
} else {
|
} else {
|
||||||
@ -19129,11 +19128,11 @@ BUILDIN_FUNC(mergeitem) {
|
|||||||
|
|
||||||
if (script_hasdata(st, 2)) {
|
if (script_hasdata(st, 2)) {
|
||||||
struct script_data *data = script_getdata(st, 2);
|
struct script_data *data = script_getdata(st, 2);
|
||||||
struct item_data *id;
|
|
||||||
get_val(st, data);
|
get_val(st, data);
|
||||||
|
|
||||||
if (data_isstring(data)) {// "<item name>"
|
if (data_isstring(data)) {// "<item name>"
|
||||||
const char *name = conv_str(st,data);
|
const char *name = conv_str(st,data);
|
||||||
|
struct item_data *id;
|
||||||
if (!(id = itemdb_searchname(name))) {
|
if (!(id = itemdb_searchname(name))) {
|
||||||
ShowError("buildin_mergeitem: Nonexistant item %s requested.\n", name);
|
ShowError("buildin_mergeitem: Nonexistant item %s requested.\n", name);
|
||||||
script_pushint(st, count);
|
script_pushint(st, count);
|
||||||
@ -19143,7 +19142,7 @@ BUILDIN_FUNC(mergeitem) {
|
|||||||
}
|
}
|
||||||
else if (data_isint(data)) {// <item id>
|
else if (data_isint(data)) {// <item id>
|
||||||
nameid = conv_num(st,data);
|
nameid = conv_num(st,data);
|
||||||
if (!(id = itemdb_exists(nameid))) {
|
if (!itemdb_exists(nameid)) {
|
||||||
ShowError("buildin_mergeitem: Nonexistant item %d requested.\n", nameid);
|
ShowError("buildin_mergeitem: Nonexistant item %d requested.\n", nameid);
|
||||||
script_pushint(st, count);
|
script_pushint(st, count);
|
||||||
return SCRIPT_CMD_FAILURE;
|
return SCRIPT_CMD_FAILURE;
|
||||||
|
@ -12853,7 +12853,7 @@ static bool status_readdb_attrfix(const char *basedir,bool silent)
|
|||||||
continue;
|
continue;
|
||||||
|
|
||||||
for (j = 0, p = line; j < ELE_ALL && p; j++) {
|
for (j = 0, p = line; j < ELE_ALL && p; j++) {
|
||||||
while (*p > 0 && *p == 32) //skipping newline and space (32=' ')
|
while (*p == 32) //skipping space (32=' ')
|
||||||
p++;
|
p++;
|
||||||
attr_fix_table[lv-1][i][j] = atoi(p);
|
attr_fix_table[lv-1][i][j] = atoi(p);
|
||||||
if (battle_config.attr_recover == 0 && attr_fix_table[lv-1][i][j] < 0)
|
if (battle_config.attr_recover == 0 && attr_fix_table[lv-1][i][j] < 0)
|
||||||
|
@ -58,8 +58,6 @@ int read_map(char *name, struct map_data *m)
|
|||||||
unsigned char *gat, *rsw;
|
unsigned char *gat, *rsw;
|
||||||
int water_height;
|
int water_height;
|
||||||
size_t xy, off, num_cells;
|
size_t xy, off, num_cells;
|
||||||
float height;
|
|
||||||
uint32 type;
|
|
||||||
|
|
||||||
// Open map GAT
|
// Open map GAT
|
||||||
sprintf(filename,"data\\%s.gat", name);
|
sprintf(filename,"data\\%s.gat", name);
|
||||||
@ -93,9 +91,9 @@ int read_map(char *name, struct map_data *m)
|
|||||||
for (xy = 0; xy < num_cells; xy++)
|
for (xy = 0; xy < num_cells; xy++)
|
||||||
{
|
{
|
||||||
// Height of the bottom-left corner
|
// Height of the bottom-left corner
|
||||||
height = GetFloat( gat + off );
|
float height = GetFloat( gat + off );
|
||||||
// Type of cell
|
// Type of cell
|
||||||
type = GetULong( gat + off + 16 );
|
uint32 type = GetULong( gat + off + 16 );
|
||||||
off += 20;
|
off += 20;
|
||||||
|
|
||||||
if (type == 0 && water_height != NO_WATER && height > water_height)
|
if (type == 0 && water_height != NO_WATER && height > water_height)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user