diff options
Diffstat (limited to 'src/map')
-rw-r--r-- | src/map/GNUmakefile | 7 | ||||
-rw-r--r-- | src/map/Makefile | 51 | ||||
-rw-r--r-- | src/map/atcommand.c | 232 | ||||
-rw-r--r-- | src/map/battle.c | 48 | ||||
-rw-r--r-- | src/map/chat.c | 4 | ||||
-rw-r--r-- | src/map/chrif.c | 10 | ||||
-rw-r--r-- | src/map/chrif.h | 2 | ||||
-rw-r--r-- | src/map/clif.c | 189 | ||||
-rw-r--r-- | src/map/clif.h | 4 | ||||
-rw-r--r-- | src/map/guild.c | 44 | ||||
-rw-r--r-- | src/map/guild.h | 2 | ||||
-rw-r--r-- | src/map/intif.c | 6 | ||||
-rw-r--r-- | src/map/intif.h | 2 | ||||
-rw-r--r-- | src/map/itemdb.c | 18 | ||||
-rw-r--r-- | src/map/magic-expr.c | 14 | ||||
-rw-r--r-- | src/map/magic-expr.h | 2 | ||||
-rw-r--r-- | src/map/magic-interpreter-parser.y | 49 | ||||
-rw-r--r-- | src/map/magic-interpreter.h | 2 | ||||
-rw-r--r-- | src/map/magic-stmt.c | 21 | ||||
-rw-r--r-- | src/map/magic.c | 2 | ||||
-rw-r--r-- | src/map/magic.h | 2 | ||||
-rw-r--r-- | src/map/map.c | 85 | ||||
-rw-r--r-- | src/map/map.h | 10 | ||||
-rw-r--r-- | src/map/mob.c | 600 | ||||
-rw-r--r-- | src/map/mob.h | 6 | ||||
-rw-r--r-- | src/map/npc.c | 103 | ||||
-rw-r--r-- | src/map/npc.h | 2 | ||||
-rw-r--r-- | src/map/party.c | 10 | ||||
-rw-r--r-- | src/map/pc.c | 156 | ||||
-rw-r--r-- | src/map/script.c | 92 | ||||
-rw-r--r-- | src/map/script.h | 8 | ||||
-rw-r--r-- | src/map/skill.c | 73 | ||||
-rw-r--r-- | src/map/skill.h | 4 |
33 files changed, 857 insertions, 1003 deletions
diff --git a/src/map/GNUmakefile b/src/map/GNUmakefile new file mode 100644 index 0000000..a02deda --- /dev/null +++ b/src/map/GNUmakefile @@ -0,0 +1,7 @@ +.SUFFIXES: +all: + make -C ../.. map-server +clean: + rm -r ../../obj/map/ +%:: + make -C ../.. obj/map/$@ diff --git a/src/map/Makefile b/src/map/Makefile deleted file mode 100644 index d340015..0000000 --- a/src/map/Makefile +++ /dev/null @@ -1,51 +0,0 @@ -include ../../make.defs - -all: map - -obj: - mkdir obj - -COMMON_OBJ = ../common/core.o ../common/socket.o ../common/timer.o ../common/grfio.o ../common/db.o ../common/lock.o ../common/nullpo.o ../common/mt_rand.o ../common/md5calc.o -LDLIBS = -lm - -map: obj/tmw.o obj/magic-interpreter-lexer.o obj/magic-interpreter-parser.o obj/magic-interpreter-base.o obj/magic-expr.o obj/magic-stmt.o obj/magic.o obj/map.o obj/chrif.o obj/clif.o obj/pc.o obj/npc.o obj/chat.o obj/path.o obj/itemdb.o obj/mob.o obj/script.o obj/storage.o obj/skill.o obj/skill-pools.o obj/atcommand.o obj/battle.o obj/intif.o obj/trade.o obj/party.o obj/guild.o $(COMMON_OBJ) - ${LINK.c} $^ ${LDLIBS} -o $@ -obj/%.o: %.c | obj - ${COMPILE.c} $< -o $@ - -magic-interpreter-lexer.c: magic-interpreter-lexer.l -magic-interpreter-parser.c magic-interpreter-parser.h: magic-interpreter-parser.y -#The builtin yacc rule is insufficient, (but yacc can be used in place of bison) - ${YACC} $^ -d -o magic-interpreter-parser.c - -obj/magic-interpreter-lexer.o: magic-interpreter-lexer.c magic-interpreter-parser.h magic-expr.h magic-interpreter.h chrif.h clif.h npc.h pc.h mob.h chat.h skill.h itemdb.h storage.h party.h atcommand.h ../common/core.h ../common/timer.h ../common/db.h ../common/grfio.h ../common/mmo.h -obj/magic-interpreter-parser.o: magic-interpreter-parser.c magic-expr.h magic-interpreter.h chrif.h clif.h npc.h pc.h mob.h chat.h skill.h itemdb.h storage.h party.h atcommand.h ../common/core.h ../common/timer.h ../common/db.h ../common/grfio.h ../common/mmo.h -obj/magic-interpreter-base.o: magic-interpreter-base.c magic-expr-eval.h magic-interpreter-aux.h magic-expr.h magic-interpreter.h chrif.h clif.h npc.h pc.h mob.h chat.h skill.h itemdb.h storage.h party.h atcommand.h ../common/core.h ../common/timer.h ../common/db.h ../common/grfio.h ../common/mmo.h -obj/magic-expr.o: magic-expr.c magic-expr-eval.h magic-interpreter-aux.h magic-expr.h magic-interpreter.h chrif.h clif.h npc.h pc.h mob.h chat.h skill.h itemdb.h storage.h party.h atcommand.h ../common/core.h ../common/timer.h ../common/db.h ../common/grfio.h ../common/mmo.h -obj/magic-stmt.o: magic-stmt.c magic-expr-eval.h magic-interpreter-aux.h magic-expr.h magic-interpreter.h chrif.h clif.h npc.h pc.h mob.h chat.h skill.h itemdb.h storage.h party.h atcommand.h ../common/core.h ../common/timer.h ../common/db.h ../common/grfio.h ../common/mmo.h -obj/magic.o: magic.c magic.h magic-expr.h magic-interpreter.h chrif.h clif.h npc.h pc.h mob.h chat.h skill.h itemdb.h storage.h party.h atcommand.h ../common/core.h ../common/timer.h ../common/db.h ../common/grfio.h ../common/mmo.h -obj/map.o: map.c map.h chrif.h clif.h npc.h pc.h mob.h chat.h skill.h itemdb.h storage.h party.h atcommand.h ../common/core.h ../common/timer.h ../common/db.h ../common/grfio.h ../common/mmo.h -obj/chrif.o: chrif.c map.h battle.h chrif.h clif.h intif.h pc.h npc.h ../common/socket.h ../common/timer.h ../common/mmo.h -obj/clif.o: magic.h clif.c map.h chrif.h clif.h mob.h intif.h pc.h npc.h itemdb.h chat.h script.h storage.h party.h guild.h atcommand.h atcommand.h ../common/socket.h ../common/timer.h ../common/mmo.h ../common/version.h tmw.h -obj/pc.o: pc.c map.h clif.h intif.h pc.h npc.h mob.h itemdb.h battle.h skill.h script.h party.h guild.h trade.h storage.h chat.h ../common/timer.h ../common/mmo.h ../common/db.h -obj/npc.o: npc.c map.h npc.h clif.h pc.h script.h mob.h itemdb.h battle.h ../common/db.h ../common/timer.h ../common/mmo.h -obj/chat.o: chat.c map.h clif.h pc.h chat.h ../common/db.h ../common/mmo.h -obj/path.o: path.c map.h battle.h ../common/mmo.h -obj/itemdb.o: itemdb.c map.h battle.h itemdb.h ../common/db.h ../common/grfio.h ../common/mmo.h -obj/mob.o: mob.c map.h clif.h intif.h pc.h mob.h skill.h battle.h npc.h itemdb.h ../common/timer.h ../common/socket.h ../common/mmo.h -obj/script.o: script.c itemdb.h map.h pc.h mob.h clif.h intif.h npc.h script.h storage.h skill.h battle.h ../common/timer.h ../common/socket.h ../common/db.h ../common/mmo.h ../common/lock.h -obj/storage.o: storage.c itemdb.h pc.h clif.h intif.h storage.h guild.h ../common/mmo.h ../common/db.h -obj/skill.o: skill.c skill.h map.h clif.h pc.h mob.h battle.h itemdb.h script.h ../common/timer.h ../common/mmo.h -obj/skill-pools.o: skill-pools.c skill.h map.h clif.h pc.h mob.h battle.h itemdb.h script.h ../common/timer.h ../common/mmo.h -obj/atcommand.o: atcommand.c atcommand.h itemdb.h pc.h map.h skill.h clif.h mob.h intif.h battle.h storage.h guild.h ../common/socket.h ../common/timer.h ../common/mmo.h -obj/battle.o: battle.c battle.h skill.h map.h mob.h pc.h guild.h ../common/timer.h ../common/mmo.h -obj/intif.o: intif.c intif.h chrif.h clif.h party.h guild.h storage.h map.h battle.h ../common/socket.h ../common/mmo.h -obj/trade.o: trade.c trade.h clif.h itemdb.h map.h pc.h npc.h ../common/mmo.h -obj/party.o: party.c party.h clif.h intif.h pc.h map.h battle.h ../common/db.h ../common/socket.h ../common/timer.h ../common/mmo.h -obj/tmw.o: tmw.c tmw.h map.h clif.h -obj/guild.o: guild.c guild.h storage.h ../common/mmo.h ../common/utils.h \ - ../common/mt_rand.h ../common/timer.h ../common/socket.h \ - ../common/nullpo.h battle.h npc.h pc.h map.h mob.h intif.h clif.h tmw.h - -clean: - rm -rf *.o map obj magic-interpreter-parser.c magic-interpreter-parser.h magic-interpreter-lexer.c diff --git a/src/map/atcommand.c b/src/map/atcommand.c index 6a09970..3c54d5e 100644 --- a/src/map/atcommand.c +++ b/src/map/atcommand.c @@ -418,9 +418,9 @@ static AtCommandInfo atcommand_info[] = { * This function return the name of the job (by [Yor]) *---------------------------------------------------- */ -char *job_name (int class) +const char *job_name (int pc_class) { - switch (class) + switch (pc_class) { case 0: return "Novice"; @@ -681,7 +681,7 @@ void gm_log (const char *fmt, ...) if (logfile_nr != last_logfile_nr) { - char *fullname = malloc (strlen (gm_logfile_name) + 10); + char *fullname = (char *)malloc (strlen (gm_logfile_name) + 10); sprintf (fullname, "%s.%04d-%02d", gm_logfile_name, year, month); if (gm_logfile) @@ -1301,7 +1301,7 @@ int atcommand_who (const int fd, struct map_session_data *sd, GM_level = pc_isGM (sd); for (i = 0; i < fd_max; i++) { - if (session[i] && (pl_sd = session[i]->session_data) + if (session[i] && (pl_sd = (struct map_session_data *)session[i]->session_data) && pl_sd->state.auth) { pl_GM_level = pc_isGM (pl_sd); @@ -1377,7 +1377,7 @@ int atcommand_whogroup (const int fd, struct map_session_data *sd, GM_level = pc_isGM (sd); for (i = 0; i < fd_max; i++) { - if (session[i] && (pl_sd = session[i]->session_data) + if (session[i] && (pl_sd = (struct map_session_data *)session[i]->session_data) && pl_sd->state.auth) { pl_GM_level = pc_isGM (pl_sd); @@ -1462,7 +1462,7 @@ int atcommand_whomap (const int fd, struct map_session_data *sd, GM_level = pc_isGM (sd); for (i = 0; i < fd_max; i++) { - if (session[i] && (pl_sd = session[i]->session_data) + if (session[i] && (pl_sd = (struct map_session_data *)session[i]->session_data) && pl_sd->state.auth) { pl_GM_level = pc_isGM (pl_sd); @@ -1540,7 +1540,7 @@ int atcommand_whomapgroup (const int fd, struct map_session_data *sd, GM_level = pc_isGM (sd); for (i = 0; i < fd_max; i++) { - if (session[i] && (pl_sd = session[i]->session_data) + if (session[i] && (pl_sd = (struct map_session_data *)session[i]->session_data) && pl_sd->state.auth) { pl_GM_level = pc_isGM (pl_sd); @@ -1623,7 +1623,7 @@ int atcommand_whogm (const int fd, struct map_session_data *sd, GM_level = pc_isGM (sd); for (i = 0; i < fd_max; i++) { - if (session[i] && (pl_sd = session[i]->session_data) + if (session[i] && (pl_sd = (struct map_session_data *)session[i]->session_data) && pl_sd->state.auth) { pl_GM_level = pc_isGM (pl_sd); @@ -1647,7 +1647,7 @@ int atcommand_whogm (const int fd, struct map_session_data *sd, sprintf (output, " BLvl: %d | Job: %s (Lvl: %d)", pl_sd->status.base_level, - job_name (pl_sd->status.class), + job_name (pl_sd->status.pc_class), pl_sd->status.job_level); clif_displaymessage (fd, output); g = guild_search (pl_sd->status.guild_id); @@ -1865,19 +1865,19 @@ int atcommand_option (const int fd, struct map_session_data *sd, } sd->status.option = param3; // fix pecopeco display - if (sd->status.class == 13 || sd->status.class == 21 - || sd->status.class == 4014 || sd->status.class == 4022) + if (sd->status.pc_class == 13 || sd->status.pc_class == 21 + || sd->status.pc_class == 4014 || sd->status.pc_class == 4022) { if (!pc_isriding (sd)) { // sd have the new value... - if (sd->status.class == 13) - sd->status.class = sd->view_class = 7; - else if (sd->status.class == 21) - sd->status.class = sd->view_class = 14; - else if (sd->status.class == 4014) - sd->status.class = sd->view_class = 4008; - else if (sd->status.class == 4022) - sd->status.class = sd->view_class = 4015; + if (sd->status.pc_class == 13) + sd->status.pc_class = sd->view_class = 7; + else if (sd->status.pc_class == 21) + sd->status.pc_class = sd->view_class = 14; + else if (sd->status.pc_class == 4014) + sd->status.pc_class = sd->view_class = 4008; + else if (sd->status.pc_class == 4022) + sd->status.pc_class = sd->view_class = 4015; } } else @@ -1890,14 +1890,14 @@ int atcommand_option (const int fd, struct map_session_data *sd, } else { - if (sd->status.class == 7) - sd->status.class = sd->view_class = 13; - else if (sd->status.class == 14) - sd->status.class = sd->view_class = 21; - else if (sd->status.class == 4008) - sd->status.class = sd->view_class = 4014; - else if (sd->status.class == 4015) - sd->status.class = sd->view_class = 4022; + if (sd->status.pc_class == 7) + sd->status.pc_class = sd->view_class = 13; + else if (sd->status.pc_class == 14) + sd->status.pc_class = sd->view_class = 21; + else if (sd->status.pc_class == 4008) + sd->status.pc_class = sd->view_class = 4014; + else if (sd->status.pc_class == 4015) + sd->status.pc_class = sd->view_class = 4022; else sd->status.option &= ~0x0020; } @@ -2255,10 +2255,10 @@ int atcommand_joblevelup (const int fd, struct map_session_data *sd, return -1; } - if (sd->status.class == 0 || sd->status.class == 4001) + if (sd->status.pc_class == 0 || sd->status.pc_class == 4001) up_level -= 40; - else if ((sd->status.class > 4007 && sd->status.class < 4024) - || sd->status.class == 23) + else if ((sd->status.pc_class > 4007 && sd->status.pc_class < 4024) + || sd->status.pc_class == 23) up_level += 20; if (level > 0) @@ -2402,7 +2402,7 @@ int atcommand_pvpoff (const int fd, struct map_session_data *sd, clif_send0199 (sd->bl.m, 0); for (i = 0; i < fd_max; i++) { //人数分ループ - if (session[i] && (pl_sd = session[i]->session_data) + if (session[i] && (pl_sd = (struct map_session_data *)session[i]->session_data) && pl_sd->state.auth) { if (sd->bl.m == pl_sd->bl.m) @@ -2450,7 +2450,7 @@ int atcommand_pvpon (const int fd, struct map_session_data *sd, clif_send0199 (sd->bl.m, 1); for (i = 0; i < fd_max; i++) { - if (session[i] && (pl_sd = session[i]->session_data) + if (session[i] && (pl_sd = (struct map_session_data *)session[i]->session_data) && pl_sd->state.auth) { if (sd->bl.m == pl_sd->bl.m && pl_sd->pvp_timer == -1) @@ -2549,7 +2549,7 @@ int atcommand_model (const int fd, struct map_session_data *sd, { //服の色変更 if (cloth_color != 0 && sd->status.sex == 1 - && (sd->status.class == 12 || sd->status.class == 17)) + && (sd->status.pc_class == 12 || sd->status.pc_class == 17)) { //服の色未実装職の判定 clif_displaymessage (fd, msg_table[35]); // You can't use this command with this class. @@ -2596,7 +2596,7 @@ int atcommand_dye (const int fd, struct map_session_data *sd, if (cloth_color >= MIN_CLOTH_COLOR && cloth_color <= MAX_CLOTH_COLOR) { if (cloth_color != 0 && sd->status.sex == 1 - && (sd->status.class == 12 || sd->status.class == 17)) + && (sd->status.pc_class == 12 || sd->status.pc_class == 17)) { clif_displaymessage (fd, msg_table[35]); // You can't use this command with this class. return -1; @@ -2651,7 +2651,7 @@ int atcommand_hair_style (const int fd, struct map_session_data *sd, if (hair_style >= MIN_HAIR_STYLE && hair_style <= MAX_HAIR_STYLE) { if (hair_style != 0 && sd->status.sex == 1 - && (sd->status.class == 12 || sd->status.class == 17)) + && (sd->status.pc_class == 12 || sd->status.pc_class == 17)) { clif_displaymessage (fd, msg_table[35]); // You can't use this command with this class. return -1; @@ -2706,7 +2706,7 @@ int atcommand_hair_color (const int fd, struct map_session_data *sd, if (hair_color >= MIN_HAIR_COLOR && hair_color <= MAX_HAIR_COLOR) { if (hair_color != 0 && sd->status.sex == 1 - && (sd->status.class == 12 || sd->status.class == 17)) + && (sd->status.pc_class == 12 || sd->status.pc_class == 17)) { clif_displaymessage (fd, msg_table[35]); // You can't use this command with this class. return -1; @@ -3810,7 +3810,7 @@ int atcommand_character_stats (const int fd, struct map_session_data *sd, { NULL, 0} }; - sprintf (job_jobname, "Job - %s %s", job_name (pl_sd->status.class), + sprintf (job_jobname, "Job - %s %s", job_name (pl_sd->status.pc_class), "(level %d)"); sprintf (output, msg_table[53], pl_sd->status.name); // '%s' stats: clif_displaymessage (fd, output); @@ -3848,7 +3848,7 @@ int atcommand_character_stats_all (const int fd, struct map_session_data *sd, count = 0; for (i = 0; i < fd_max; i++) { - if (session[i] && (pl_sd = session[i]->session_data) + if (session[i] && (pl_sd = (struct map_session_data *)session[i]->session_data) && pl_sd->state.auth) { @@ -3860,7 +3860,7 @@ int atcommand_character_stats_all (const int fd, struct map_session_data *sd, sprintf (output, "Name: %s | BLvl: %d | Job: %s (Lvl: %d) | HP: %d/%d | SP: %d/%d", pl_sd->status.name, pl_sd->status.base_level, - job_name (pl_sd->status.class), pl_sd->status.job_level, + job_name (pl_sd->status.pc_class), pl_sd->status.job_level, pl_sd->status.hp, pl_sd->status.max_hp, pl_sd->status.sp, pl_sd->status.max_sp); clif_displaymessage (fd, output); @@ -3918,19 +3918,19 @@ int atcommand_character_option (const int fd, struct map_session_data *sd, pl_sd->opt2 = opt2; pl_sd->status.option = opt3; // fix pecopeco display - if (pl_sd->status.class == 13 || pl_sd->status.class == 21 - || pl_sd->status.class == 4014 || pl_sd->status.class == 4022) + if (pl_sd->status.pc_class == 13 || pl_sd->status.pc_class == 21 + || pl_sd->status.pc_class == 4014 || pl_sd->status.pc_class == 4022) { if (!pc_isriding (pl_sd)) { // pl_sd have the new value... - if (pl_sd->status.class == 13) - pl_sd->status.class = pl_sd->view_class = 7; - else if (pl_sd->status.class == 21) - pl_sd->status.class = pl_sd->view_class = 14; - else if (pl_sd->status.class == 4014) - pl_sd->status.class = pl_sd->view_class = 4008; - else if (pl_sd->status.class == 4022) - pl_sd->status.class = pl_sd->view_class = 4015; + if (pl_sd->status.pc_class == 13) + pl_sd->status.pc_class = pl_sd->view_class = 7; + else if (pl_sd->status.pc_class == 21) + pl_sd->status.pc_class = pl_sd->view_class = 14; + else if (pl_sd->status.pc_class == 4014) + pl_sd->status.pc_class = pl_sd->view_class = 4008; + else if (pl_sd->status.pc_class == 4022) + pl_sd->status.pc_class = pl_sd->view_class = 4015; } } else @@ -3943,14 +3943,14 @@ int atcommand_character_option (const int fd, struct map_session_data *sd, } else { - if (pl_sd->status.class == 7) - pl_sd->status.class = pl_sd->view_class = 13; - else if (pl_sd->status.class == 14) - pl_sd->status.class = pl_sd->view_class = 21; - else if (pl_sd->status.class == 4008) - pl_sd->status.class = pl_sd->view_class = 4014; - else if (pl_sd->status.class == 4015) - pl_sd->status.class = pl_sd->view_class = 4022; + if (pl_sd->status.pc_class == 7) + pl_sd->status.pc_class = pl_sd->view_class = 13; + else if (pl_sd->status.pc_class == 14) + pl_sd->status.pc_class = pl_sd->view_class = 21; + else if (pl_sd->status.pc_class == 4008) + pl_sd->status.pc_class = pl_sd->view_class = 4014; + else if (pl_sd->status.pc_class == 4015) + pl_sd->status.pc_class = pl_sd->view_class = 4022; else pl_sd->status.option &= ~0x0020; } @@ -4324,7 +4324,7 @@ int atcommand_night (const int fd, struct map_session_data *sd, night_flag = 1; // 0=day, 1=night [Yor] for (i = 0; i < fd_max; i++) { - if (session[i] && (pl_sd = session[i]->session_data) + if (session[i] && (pl_sd = (struct map_session_data *)session[i]->session_data) && pl_sd->state.auth) { pl_sd->opt2 |= STATE_BLIND; @@ -4357,7 +4357,7 @@ int atcommand_day (const int fd, struct map_session_data *sd, night_flag = 0; // 0=day, 1=night [Yor] for (i = 0; i < fd_max; i++) { - if (session[i] && (pl_sd = session[i]->session_data) + if (session[i] && (pl_sd = (struct map_session_data *)session[i]->session_data) && pl_sd->state.auth) { pl_sd->opt2 &= ~STATE_BLIND; @@ -4387,7 +4387,7 @@ int atcommand_doom (const int fd, struct map_session_data *sd, for (i = 0; i < fd_max; i++) { - if (session[i] && (pl_sd = session[i]->session_data) + if (session[i] && (pl_sd = (struct map_session_data *)session[i]->session_data) && pl_sd->state.auth && i != fd && pc_isGM (sd) >= pc_isGM (pl_sd)) { // you can doom only lower or same gm level @@ -4412,7 +4412,7 @@ int atcommand_doommap (const int fd, struct map_session_data *sd, for (i = 0; i < fd_max; i++) { - if (session[i] && (pl_sd = session[i]->session_data) + if (session[i] && (pl_sd = (struct map_session_data *)session[i]->session_data) && pl_sd->state.auth && i != fd && sd->bl.m == pl_sd->bl.m && pc_isGM (sd) >= pc_isGM (pl_sd)) { // you can doom only lower or same gm level @@ -4455,7 +4455,7 @@ int atcommand_raise (const int fd, struct map_session_data *sd, for (i = 0; i < fd_max; i++) { if (session[i]) - atcommand_raise_sub (session[i]->session_data); + atcommand_raise_sub ((struct map_session_data *)session[i]->session_data); } clif_displaymessage (fd, msg_table[64]); // Mercy has been granted. @@ -4474,7 +4474,7 @@ int atcommand_raisemap (const int fd, struct map_session_data *sd, for (i = 0; i < fd_max; i++) { - if (session[i] && (pl_sd = session[i]->session_data) + if (session[i] && (pl_sd = (struct map_session_data *)session[i]->session_data) && pl_sd->state.auth && sd->bl.m == pl_sd->bl.m) atcommand_raise_sub (pl_sd); } @@ -4603,7 +4603,7 @@ int atcommand_character_joblevel (const int fd, struct map_session_data *sd, if ((pl_sd = map_nick2sd (character)) != NULL) { - pl_s_class = pc_calc_base_job (pl_sd->status.class); + pl_s_class = pc_calc_base_job (pl_sd->status.pc_class); if (pc_isGM (sd) >= pc_isGM (pl_sd)) { // you can change job level only lower or same gm level if (pl_s_class.job == 0) @@ -4717,7 +4717,7 @@ int atcommand_kickall (const int fd, struct map_session_data *sd, for (i = 0; i < fd_max; i++) { - if (session[i] && (pl_sd = session[i]->session_data) + if (session[i] && (pl_sd = (struct map_session_data *)session[i]->session_data) && pl_sd->state.auth && pc_isGM (sd) >= pc_isGM (pl_sd)) { // you can kick only lower or same gm level if (sd->status.account_id != pl_sd->status.account_id) @@ -5063,7 +5063,7 @@ int atcommand_mapexit (const int fd, struct map_session_data *sd, for (i = 0; i < fd_max; i++) { - if (session[i] && (pl_sd = session[i]->session_data) + if (session[i] && (pl_sd = (struct map_session_data *)session[i]->session_data) && pl_sd->state.auth) { if (sd->status.account_id != pl_sd->status.account_id) @@ -5380,7 +5380,7 @@ int atcommand_charmodel (const int fd, struct map_session_data *sd, if (cloth_color != 0 && pl_sd->status.sex == 1 && - (pl_sd->status.class == 12 || pl_sd->status.class == 17)) + (pl_sd->status.pc_class == 12 || pl_sd->status.pc_class == 17)) { clif_displaymessage (fd, msg_table[35]); // You can't use this command with this class. return -1; @@ -5593,7 +5593,7 @@ int atcommand_recallall (const int fd, struct map_session_data *sd, count = 0; for (i = 0; i < fd_max; i++) { - if (session[i] && (pl_sd = session[i]->session_data) + if (session[i] && (pl_sd = (struct map_session_data *)session[i]->session_data) && pl_sd->state.auth && sd->status.account_id != pl_sd->status.account_id && pc_isGM (sd) >= pc_isGM (pl_sd)) @@ -5656,7 +5656,7 @@ int atcommand_guildrecall (const int fd, struct map_session_data *sd, count = 0; for (i = 0; i < fd_max; i++) { - if (session[i] && (pl_sd = session[i]->session_data) + if (session[i] && (pl_sd = (struct map_session_data *)session[i]->session_data) && pl_sd->state.auth && sd->status.account_id != pl_sd->status.account_id && pl_sd->status.guild_id == g->guild_id) @@ -5725,7 +5725,7 @@ int atcommand_partyrecall (const int fd, struct map_session_data *sd, count = 0; for (i = 0; i < fd_max; i++) { - if (session[i] && (pl_sd = session[i]->session_data) + if (session[i] && (pl_sd = (struct map_session_data *)session[i]->session_data) && pl_sd->state.auth && sd->status.account_id != pl_sd->status.account_id && pl_sd->status.party_id == p->party_id) @@ -5880,7 +5880,7 @@ int atcommand_mapinfo (const int fd, struct map_session_data *sd, chat_num = 0; for (i = 0; i < fd_max; i++) { - if (session[i] && (pl_sd = session[i]->session_data) + if (session[i] && (pl_sd = (struct map_session_data *)session[i]->session_data) && pl_sd->state.auth && (cd = (struct chat_data *) map_id2bl (pl_sd->chatID))) { @@ -5933,7 +5933,7 @@ int atcommand_mapinfo (const int fd, struct map_session_data *sd, clif_displaymessage (fd, "----- Players in Map -----"); for (i = 0; i < fd_max; i++) { - if (session[i] && (pl_sd = session[i]->session_data) + if (session[i] && (pl_sd = (struct map_session_data *)session[i]->session_data) && pl_sd->state.auth && strcmp (pl_sd->mapname, map_name) == 0) { @@ -5984,7 +5984,7 @@ int atcommand_mapinfo (const int fd, struct map_session_data *sd, } sprintf (output, "NPC %d: %s | Direction: %s | Sprite: %d | Location: %d %d", - ++i, nd->name, direction, nd->class, nd->bl.x, + ++i, nd->name, direction, nd->npc_class, nd->bl.x, nd->bl.y); clif_displaymessage (fd, output); } @@ -5993,7 +5993,7 @@ int atcommand_mapinfo (const int fd, struct map_session_data *sd, clif_displaymessage (fd, "----- Chats in Map -----"); for (i = 0; i < fd_max; i++) { - if (session[i] && (pl_sd = session[i]->session_data) + if (session[i] && (pl_sd = (struct map_session_data *)session[i]->session_data) && pl_sd->state.auth && (cd = (struct chat_data *) map_id2bl (pl_sd->chatID)) && strcmp (pl_sd->mapname, map_name) == 0 @@ -6037,17 +6037,17 @@ int atcommand_mount_peco (const int fd, struct map_session_data *sd, if (!pc_isriding (sd)) { // if actually no peco - if (sd->status.class == 7 || sd->status.class == 14 - || sd->status.class == 4008 || sd->status.class == 4015) - { - if (sd->status.class == 7) - sd->status.class = sd->view_class = 13; - else if (sd->status.class == 14) - sd->status.class = sd->view_class = 21; - else if (sd->status.class == 4008) - sd->status.class = sd->view_class = 4014; - else if (sd->status.class == 4015) - sd->status.class = sd->view_class = 4022; + if (sd->status.pc_class == 7 || sd->status.pc_class == 14 + || sd->status.pc_class == 4008 || sd->status.pc_class == 4015) + { + if (sd->status.pc_class == 7) + sd->status.pc_class = sd->view_class = 13; + else if (sd->status.pc_class == 14) + sd->status.pc_class = sd->view_class = 21; + else if (sd->status.pc_class == 4008) + sd->status.pc_class = sd->view_class = 4014; + else if (sd->status.pc_class == 4015) + sd->status.pc_class = sd->view_class = 4022; pc_setoption (sd, sd->status.option | 0x0020); clif_displaymessage (fd, msg_table[102]); // Mounted Peco. } @@ -6059,14 +6059,14 @@ int atcommand_mount_peco (const int fd, struct map_session_data *sd, } else { - if (sd->status.class == 13) - sd->status.class = sd->view_class = 7; - else if (sd->status.class == 21) - sd->status.class = sd->view_class = 14; - else if (sd->status.class == 4014) - sd->status.class = sd->view_class = 4008; - else if (sd->status.class == 4022) - sd->status.class = sd->view_class = 4015; + if (sd->status.pc_class == 13) + sd->status.pc_class = sd->view_class = 7; + else if (sd->status.pc_class == 21) + sd->status.pc_class = sd->view_class = 14; + else if (sd->status.pc_class == 4014) + sd->status.pc_class = sd->view_class = 4008; + else if (sd->status.pc_class == 4022) + sd->status.pc_class = sd->view_class = 4015; pc_setoption (sd, sd->status.option & ~0x0020); clif_displaymessage (fd, msg_table[214]); // Unmounted Peco. } @@ -6103,17 +6103,17 @@ int atcommand_char_mount_peco (const int fd, struct map_session_data *sd, if (!pc_isriding (pl_sd)) { // if actually no peco - if (pl_sd->status.class == 7 || pl_sd->status.class == 14 - || pl_sd->status.class == 4008 || pl_sd->status.class == 4015) + if (pl_sd->status.pc_class == 7 || pl_sd->status.pc_class == 14 + || pl_sd->status.pc_class == 4008 || pl_sd->status.pc_class == 4015) { - if (pl_sd->status.class == 7) - pl_sd->status.class = pl_sd->view_class = 13; - else if (pl_sd->status.class == 14) - pl_sd->status.class = pl_sd->view_class = 21; - else if (pl_sd->status.class == 4008) - pl_sd->status.class = pl_sd->view_class = 4014; - else if (pl_sd->status.class == 4015) - pl_sd->status.class = pl_sd->view_class = 4022; + if (pl_sd->status.pc_class == 7) + pl_sd->status.pc_class = pl_sd->view_class = 13; + else if (pl_sd->status.pc_class == 14) + pl_sd->status.pc_class = pl_sd->view_class = 21; + else if (pl_sd->status.pc_class == 4008) + pl_sd->status.pc_class = pl_sd->view_class = 4014; + else if (pl_sd->status.pc_class == 4015) + pl_sd->status.pc_class = pl_sd->view_class = 4022; pc_setoption (pl_sd, pl_sd->status.option | 0x0020); clif_displaymessage (fd, msg_table[216]); // Now, this player mounts a peco. } @@ -6125,14 +6125,14 @@ int atcommand_char_mount_peco (const int fd, struct map_session_data *sd, } else { - if (pl_sd->status.class == 13) - pl_sd->status.class = pl_sd->view_class = 7; - else if (pl_sd->status.class == 21) - pl_sd->status.class = pl_sd->view_class = 14; - else if (pl_sd->status.class == 4014) - pl_sd->status.class = pl_sd->view_class = 4008; - else if (pl_sd->status.class == 4022) - pl_sd->status.class = pl_sd->view_class = 4015; + if (pl_sd->status.pc_class == 13) + pl_sd->status.pc_class = pl_sd->view_class = 7; + else if (pl_sd->status.pc_class == 21) + pl_sd->status.pc_class = pl_sd->view_class = 14; + else if (pl_sd->status.pc_class == 4014) + pl_sd->status.pc_class = pl_sd->view_class = 4008; + else if (pl_sd->status.pc_class == 4022) + pl_sd->status.pc_class = pl_sd->view_class = 4015; pc_setoption (pl_sd, pl_sd->status.option & ~0x0020); clif_displaymessage (fd, msg_table[218]); // Now, this player has not more peco. } @@ -7176,7 +7176,7 @@ int atcommand_effect (const int fd, struct map_session_data *sd, { for (i = 0; i < fd_max; i++) { - if (session[i] && (pl_sd = session[i]->session_data) + if (session[i] && (pl_sd = (struct map_session_data *)session[i]->session_data) && pl_sd->state.auth) { clif_specialeffect (&pl_sd->bl, type, flag); @@ -8151,7 +8151,7 @@ int atcommand_summon (const int fd, struct map_session_data *sd, { md->master_id = sd->bl.id; md->state.special_mob_ai = 1; - md->mode = mob_db[md->class].mode | 0x04; + md->mode = mob_db[md->mob_class].mode | 0x04; md->deletetimer = add_timer (tick + 60000, mob_timer_delete, id, 0); clif_misceffect (&md->bl, 344); } @@ -8400,7 +8400,7 @@ int atcommand_tee (const int fd, struct map_session_data *sd, const char *command, const char *message) { - char *data = malloc (strlen (message) + 28); + char *data = (char *)malloc (strlen (message) + 28); strcpy (data, sd->status.name); strcat (data, " : "); strcat (data, message); @@ -8426,7 +8426,7 @@ atcommand_visible (const int fd, struct map_session_data *sd, int atcommand_jump_iterate (const int fd, struct map_session_data *sd, const char *command, const char *message, - struct map_session_data *(*get_start) (), + struct map_session_data *(*get_start) (void), struct map_session_data *(*get_next) (struct map_session_data * current)) @@ -8679,7 +8679,7 @@ int atcommand_ipcheck (const int fd, struct map_session_data *sd, for (i = 0; i < fd_max; i++) { - if (session[i] && (pl_sd = session[i]->session_data) + if (session[i] && (pl_sd = (struct map_session_data *)session[i]->session_data) && pl_sd->state.auth) { if (getpeername (pl_sd->fd, (struct sockaddr *)&sai, &sa_len)) diff --git a/src/map/battle.c b/src/map/battle.c index a6a803a..6edf996 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -67,9 +67,9 @@ int battle_get_class (struct block_list *bl) { nullpo_retr (0, bl); if (bl->type == BL_MOB && (struct mob_data *) bl) - return ((struct mob_data *) bl)->class; + return ((struct mob_data *) bl)->mob_class; else if (bl->type == BL_PC && (struct map_session_data *) bl) - return ((struct map_session_data *) bl)->status.class; + return ((struct map_session_data *) bl)->status.pc_class; else return 0; } @@ -115,7 +115,7 @@ int battle_get_range (struct block_list *bl) { nullpo_retr (0, bl); if (bl->type == BL_MOB && (struct mob_data *) bl) - return mob_db[((struct mob_data *) bl)->class].range; + return mob_db[((struct mob_data *) bl)->mob_class].range; else if (bl->type == BL_PC && (struct map_session_data *) bl) return ((struct map_session_data *) bl)->attackrange; else @@ -155,7 +155,7 @@ int battle_get_max_hp (struct block_list *bl) if (bl->type == BL_MOB && ((struct mob_data *) bl)) { max_hp = ((struct mob_data *) bl)->stats[MOB_MAX_HP]; - if (mob_db[((struct mob_data *) bl)->class].mexp > 0) + if (mob_db[((struct mob_data *) bl)->mob_class].mexp > 0) { if (battle_config.mvp_hp_rate != 100) max_hp = (max_hp * battle_config.mvp_hp_rate) / 100; @@ -1076,7 +1076,7 @@ int battle_get_amotion (struct block_list *bl) struct status_change *sc_data = battle_get_sc_data (bl); int amotion = 2000, aspd_rate = 100, i; if (bl->type == BL_MOB && (struct mob_data *) bl) - amotion = mob_db[((struct mob_data *) bl)->class].amotion; + amotion = mob_db[((struct mob_data *) bl)->mob_class].amotion; if (sc_data) { @@ -1138,7 +1138,7 @@ int battle_get_dmotion (struct block_list *bl) sc_data = battle_get_sc_data (bl); if (bl->type == BL_MOB && (struct mob_data *) bl) { - ret = mob_db[((struct mob_data *) bl)->class].dmotion; + ret = mob_db[((struct mob_data *) bl)->mob_class].dmotion; if (battle_config.monster_damage_delay_rate != 100) ret = ret * battle_config.monster_damage_delay_rate / 400; } @@ -1267,7 +1267,7 @@ int battle_get_guild_id (struct block_list *bl) if (bl->type == BL_PC && (struct map_session_data *) bl) return ((struct map_session_data *) bl)->status.guild_id; else if (bl->type == BL_MOB && (struct mob_data *) bl) - return ((struct mob_data *) bl)->class; + return ((struct mob_data *) bl)->mob_class; else if (bl->type == BL_SKILL && (struct skill_unit *) bl) return ((struct skill_unit *) bl)->group->guild_id; else @@ -1278,7 +1278,7 @@ int battle_get_race (struct block_list *bl) { nullpo_retr (0, bl); if (bl->type == BL_MOB && (struct mob_data *) bl) - return mob_db[((struct mob_data *) bl)->class].race; + return mob_db[((struct mob_data *) bl)->mob_class].race; else if (bl->type == BL_PC && (struct map_session_data *) bl) return 7; else @@ -1289,7 +1289,7 @@ int battle_get_size (struct block_list *bl) { nullpo_retr (1, bl); if (bl->type == BL_MOB && (struct mob_data *) bl) - return mob_db[((struct mob_data *) bl)->class].size; + return mob_db[((struct mob_data *) bl)->mob_class].size; else if (bl->type == BL_PC && (struct map_session_data *) bl) return 1; else @@ -1300,7 +1300,7 @@ int battle_get_mode (struct block_list *bl) { nullpo_retr (0x01, bl); if (bl->type == BL_MOB && (struct mob_data *) bl) - return mob_db[((struct mob_data *) bl)->class].mode; + return mob_db[((struct mob_data *) bl)->mob_class].mode; else return 0x01; // とりあえず動くということで1 } @@ -1312,7 +1312,7 @@ int battle_get_mexp (struct block_list *bl) { const struct mob_data *mob = (struct mob_data *) bl; const int retval = - (mob_db[mob->class].mexp * + (mob_db[mob->mob_class].mexp * (int) (mob->stats[MOB_XP_BONUS])) >> MOB_XP_BONUS_SHIFT; fprintf (stderr, "Modifier of %x: -> %d\n", mob->stats[MOB_XP_BONUS], retval); @@ -1614,11 +1614,11 @@ int battle_calc_damage (struct block_list *src, struct block_list *bl, struct mob_data *md = NULL; struct status_change *sc_data, *sc; short *sc_count; - int class; + int class_; nullpo_retr (0, bl); - class = battle_get_class (bl); + class_ = battle_get_class (bl); if (bl->type == BL_MOB) md = (struct mob_data *) bl; else @@ -1785,10 +1785,10 @@ int battle_calc_damage (struct block_list *src, struct block_list *bl, } } - if (class == 1288 || class == 1287 || class == 1286 || class == 1285) + if (class_ == 1288 || class_ == 1287 || class_ == 1286 || class_ == 1285) { // if(class == 1288) { - if (class == 1288 && flag & BF_SKILL) + if (class_ == 1288 && flag & BF_SKILL) damage = 0; if (src->type == BL_PC) { @@ -1798,7 +1798,7 @@ int battle_calc_damage (struct block_list *src, struct block_list *bl, struct guild_castle *gc = guild_mapname2gc (map[bl->m].name); if (!((struct map_session_data *) src)->status.guild_id) damage = 0; - if (gc && agit_flag == 0 && class != 1288) // guardians cannot be damaged during non-woe [Valaris] + if (gc && agit_flag == 0 && class_ != 1288) // guardians cannot be damaged during non-woe [Valaris] damage = 0; // end woe check [Valaris] if (g == NULL) damage = 0; //ギルド未加入ならダメージ無し @@ -2136,7 +2136,7 @@ static struct Damage battle_calc_mob_weapon_attack (struct block_list *src, atkmin = battle_get_atk (src); atkmax = battle_get_atk2 (src); } - if (mob_db[md->class].range > 3) + if (mob_db[md->mob_class].range > 3) flag = (flag & ~BF_RANGEMASK) | BF_LONG; if (atkmin > atkmax) @@ -2536,13 +2536,13 @@ static struct Damage battle_calc_mob_weapon_attack (struct block_list *src, int cardfix = 100, i; cardfix = cardfix * (100 - tsd->subele[s_ele]) / 100; // 属 性によるダメージ耐性 cardfix = cardfix * (100 - tsd->subrace[s_race]) / 100; // 種族によるダメージ耐性 - if (mob_db[md->class].mode & 0x20) + if (mob_db[md->mob_class].mode & 0x20) cardfix = cardfix * (100 - tsd->subrace[10]) / 100; else cardfix = cardfix * (100 - tsd->subrace[11]) / 100; for (i = 0; i < tsd->add_def_class_count; i++) { - if (tsd->add_def_classid[i] == md->class) + if (tsd->add_def_classid[i] == md->mob_class) { cardfix = cardfix * (100 - tsd->add_def_classrate[i]) / 100; break; @@ -3868,7 +3868,7 @@ static struct Damage battle_calc_pc_weapon_attack (struct block_list *src, //特定Class用補正処理左手(少女の日記→ボンゴン用?) for (i = 0; i < tsd->add_def_class_count; i++) { - if (tsd->add_def_classid[i] == sd->status.class) + if (tsd->add_def_classid[i] == sd->status.pc_class) { cardfix = cardfix * (100 - tsd->add_def_classrate[i]) / 100; break; @@ -4875,7 +4875,7 @@ int battle_weapon_attack (struct block_list *src, struct block_list *target, BL_PC) ? ((struct map_session_data *) target)-> status.char_id : target->id, (target->type == - BL_PC) ? 0 : ((struct mob_data *) target)->class, + BL_PC) ? 0 : ((struct mob_data *) target)->mob_class, wd.damage + wd.damage2, weapon); } @@ -4889,7 +4889,7 @@ int battle_weapon_attack (struct block_list *src, struct block_list *target, BL_PC) ? ((struct map_session_data *) src)-> status.char_id : src->id, (src->type == - BL_PC) ? 0 : ((struct mob_data *) src)->class, + BL_PC) ? 0 : ((struct mob_data *) src)->mob_class, wd.damage + wd.damage2); } @@ -5332,9 +5332,9 @@ int battle_check_target (struct block_list *src, struct block_list *target, if (su && su->group->target_flag == BCT_NOENEMY) return 1; else if (battle_config.pk_mode - && (((struct map_session_data *) ss)->status.class == 0 + && (((struct map_session_data *) ss)->status.pc_class == 0 || ((struct map_session_data *) target)-> - status.class == 0)) + status.pc_class == 0)) return 1; // prevent novice engagement in pk_mode [Valaris] else if (map[ss->m].flag.pvp_noparty && s_p > 0 && t_p > 0 && s_p == t_p) diff --git a/src/map/chat.c b/src/map/chat.c index 00aadea..ccb75df 100644 --- a/src/map/chat.c +++ b/src/map/chat.c @@ -28,7 +28,7 @@ int chat_createchat (struct map_session_data *sd, int limit, int pub, nullpo_retr (0, sd); - cd = calloc (1, sizeof (struct chat_data)); + CREATE(cd, struct chat_data, 1); cd->limit = limit; cd->pub = pub; @@ -279,7 +279,7 @@ int chat_createnpcchat (struct npc_data *nd, int limit, int pub, int trigger, nullpo_retr (1, nd); - cd = calloc (1, sizeof (struct chat_data)); + CREATE (cd, struct chat_data, 1); cd->limit = cd->trigger = limit; if (trigger > 0) diff --git a/src/map/chrif.c b/src/map/chrif.c index b80b4fd..5e2cd4c 100644 --- a/src/map/chrif.c +++ b/src/map/chrif.c @@ -65,7 +65,7 @@ void chrif_setpasswd (char *pwd) passwd[sizeof(passwd)-1] = '\0'; } -char *chrif_getpasswd () +char *chrif_getpasswd (void) { return passwd; } @@ -651,7 +651,7 @@ int chrif_changedsex (int fd) { if (sd != NULL && sd->status.sex != sex) { - s_class = pc_calc_base_job (sd->status.class); + s_class = pc_calc_base_job (sd->status.pc_class); if (sd->status.sex == 0) { sd->status.sex = 1; @@ -679,10 +679,10 @@ int chrif_changedsex (int fd) // change job if necessary if (s_class.job == 20 || s_class.job == 4021 || s_class.job == 4043) - sd->status.class -= 1; + sd->status.pc_class -= 1; else if (s_class.job == 19 || s_class.job == 4020 || s_class.job == 4042) - sd->status.class += 1; + sd->status.pc_class += 1; } // save character chrif_save (sd); @@ -1257,7 +1257,7 @@ void send_users_tochar (timer_id tid, tick_t tick, custom_id_t id, custom_data_t WFIFOW (char_fd, 0) = 0x2aff; for (i = 0; i < fd_max; i++) { - if (session[i] && (sd = session[i]->session_data) && sd->state.auth && + if (session[i] && (sd = (struct map_session_data *)session[i]->session_data) && sd->state.auth && !((battle_config.hide_GM_session || sd->state.shroud_active || (sd->status.option & OPTION_HIDE)) && pc_isGM (sd))) diff --git a/src/map/chrif.h b/src/map/chrif.h index 3515463..e891be7 100644 --- a/src/map/chrif.h +++ b/src/map/chrif.h @@ -4,7 +4,7 @@ void chrif_setuserid (char *); void chrif_setpasswd (char *); -char *chrif_getpasswd (); +char *chrif_getpasswd (void); void chrif_setip (char *); void chrif_setport (int); diff --git a/src/map/clif.c b/src/map/clif.c index b0dd487..11b1f83 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -185,7 +185,7 @@ int clif_countusers (void) for (i = 0; i < fd_max; i++) { - if (session[i] && (sd = session[i]->session_data) && sd + if (session[i] && (sd = (struct map_session_data *)session[i]->session_data) && sd && sd->state.auth && !(battle_config.hide_GM_session && pc_isGM (sd))) users++; @@ -206,7 +206,7 @@ int clif_foreachclient (int (*func) (struct map_session_data *, va_list), ...) va_start (ap, func); for (i = 0; i < fd_max; i++) { - if (session[i] && (sd = session[i]->session_data) && sd + if (session[i] && (sd = (struct map_session_data *)session[i]->session_data) && sd && sd->state.auth) func (sd, ap); } @@ -348,7 +348,7 @@ int clif_send (unsigned char *buf, int len, struct block_list *bl, int type) case ALL_CLIENT: // 全クライアントに送信 for (i = 0; i < fd_max; i++) { - if (session[i] && (sd = session[i]->session_data) != NULL + if (session[i] && (sd = (struct map_session_data *)session[i]->session_data) != NULL && sd->state.auth) { if (packet_len_table[RBUFW (buf, 0)]) @@ -362,7 +362,7 @@ int clif_send (unsigned char *buf, int len, struct block_list *bl, int type) case ALL_SAMEMAP: // 同じマップの全クライアントに送信 for (i = 0; i < fd_max; i++) { - if (session[i] && (sd = session[i]->session_data) != NULL + if (session[i] && (sd = (struct map_session_data *)session[i]->session_data) != NULL && sd->state.auth && sd->bl.m == bl->m) { if (packet_len_table[RBUFW (buf, 0)]) @@ -462,7 +462,7 @@ int clif_send (unsigned char *buf, int len, struct block_list *bl, int type) } for (i = 0; i < fd_max; i++) { - if (session[i] && (sd = session[i]->session_data) != NULL + if (session[i] && (sd = (struct map_session_data *)session[i]->session_data) != NULL && sd->state.auth) { if (sd->partyspy == p->party_id) @@ -526,7 +526,7 @@ int clif_send (unsigned char *buf, int len, struct block_list *bl, int type) } for (i = 0; i < fd_max; i++) { - if (session[i] && (sd = session[i]->session_data) != NULL + if (session[i] && (sd = (struct map_session_data *)session[i]->session_data) != NULL && sd->state.auth) { if (sd->guildspy == g->guild_id) @@ -766,12 +766,9 @@ static void clif_clearchar_delay_sub (timer_id tid, tick_t tick, custom_id_t id, int clif_clearchar_delay (unsigned int tick, struct block_list *bl, int type) { - struct block_list *tmpbl = calloc (sizeof (struct block_list), 1); - if (tmpbl == NULL) - { - printf ("clif_clearchar_delay: out of memory !\n"); - exit (1); - } + struct block_list *tmpbl; + CREATE (tmpbl, struct block_list, 1); + memcpy (tmpbl, bl, sizeof (struct block_list)); add_timer (tick, clif_clearchar_delay_sub, (custom_id_t) tmpbl, type); @@ -982,18 +979,18 @@ static int clif_set007b (struct map_session_data *sd, unsigned char *buf) * クラスチェンジ typeはMobの場合は1で他は0? *------------------------------------------ */ -int clif_class_change (struct block_list *bl, int class, int type) +int clif_npc_class_change (struct block_list *bl, int npc_class, int type) { char buf[16]; nullpo_retr (0, bl); - if (class >= MAX_PC_CLASS) + if (npc_class >= MAX_PC_CLASS) { WBUFW (buf, 0) = 0x1b0; WBUFL (buf, 2) = bl->id; WBUFB (buf, 6) = type; - WBUFL (buf, 7) = class; + WBUFL (buf, 7) = npc_class; clif_send (buf, packet_len_table[0x1b0], bl, AREA); } @@ -1004,10 +1001,10 @@ int clif_class_change (struct block_list *bl, int class, int type) * *------------------------------------------ */ -int clif_mob_class_change (struct mob_data *md, int class) +int clif_mob_class_change (struct mob_data *md, int class_) { char buf[16]; - int view = mob_get_viewclass (class); + int view = mob_get_viewclass (class_); nullpo_retr (0, md); @@ -1061,24 +1058,24 @@ static int clif_mob0078 (struct mob_data *md, unsigned char *buf) WBUFW (buf, 8) = md->opt1; WBUFW (buf, 10) = md->opt2; WBUFW (buf, 12) = md->option; - WBUFW (buf, 14) = mob_get_viewclass (md->class); - if ((mob_get_viewclass (md->class) <= 23) - || (mob_get_viewclass (md->class) == 812) - || (mob_get_viewclass (md->class) >= 4001)) - { - WBUFW (buf, 12) |= mob_db[md->class].option; - WBUFW (buf, 16) = mob_get_hair (md->class); - WBUFW (buf, 18) = mob_get_weapon (md->class); - WBUFW (buf, 20) = mob_get_head_buttom (md->class); - WBUFW (buf, 22) = mob_get_shield (md->class); - WBUFW (buf, 24) = mob_get_head_top (md->class); - WBUFW (buf, 26) = mob_get_head_mid (md->class); - WBUFW (buf, 28) = mob_get_hair_color (md->class); - WBUFW (buf, 30) = mob_get_clothes_color (md->class); //Add for player monster dye - Valaris - WBUFB (buf, 45) = mob_get_sex (md->class); - } - - if (md->class >= 1285 && md->class <= 1287) + WBUFW (buf, 14) = mob_get_viewclass (md->mob_class); + if ((mob_get_viewclass (md->mob_class) <= 23) + || (mob_get_viewclass (md->mob_class) == 812) + || (mob_get_viewclass (md->mob_class) >= 4001)) + { + WBUFW (buf, 12) |= mob_db[md->mob_class].option; + WBUFW (buf, 16) = mob_get_hair (md->mob_class); + WBUFW (buf, 18) = mob_get_weapon (md->mob_class); + WBUFW (buf, 20) = mob_get_head_buttom (md->mob_class); + WBUFW (buf, 22) = mob_get_shield (md->mob_class); + WBUFW (buf, 24) = mob_get_head_top (md->mob_class); + WBUFW (buf, 26) = mob_get_head_mid (md->mob_class); + WBUFW (buf, 28) = mob_get_hair_color (md->mob_class); + WBUFW (buf, 30) = mob_get_clothes_color (md->mob_class); //Add for player monster dye - Valaris + WBUFB (buf, 45) = mob_get_sex (md->mob_class); + } + + if (md->mob_class >= 1285 && md->mob_class <= 1287) { // Added guardian emblems [Valaris] struct guild *g; struct guild_castle *gc = guild_mapname2gc (map[md->bl.m].name); @@ -1123,26 +1120,26 @@ static int clif_mob007b (struct mob_data *md, unsigned char *buf) WBUFW (buf, 8) = md->opt1; WBUFW (buf, 10) = md->opt2; WBUFW (buf, 12) = md->option; - WBUFW (buf, 14) = mob_get_viewclass (md->class); - if ((mob_get_viewclass (md->class) < 24) - || (mob_get_viewclass (md->class) > 4000)) - { - WBUFW (buf, 12) |= mob_db[md->class].option; - WBUFW (buf, 16) = mob_get_hair (md->class); - WBUFW (buf, 18) = mob_get_weapon (md->class); - WBUFW (buf, 20) = mob_get_head_buttom (md->class); + WBUFW (buf, 14) = mob_get_viewclass (md->mob_class); + if ((mob_get_viewclass (md->mob_class) < 24) + || (mob_get_viewclass (md->mob_class) > 4000)) + { + WBUFW (buf, 12) |= mob_db[md->mob_class].option; + WBUFW (buf, 16) = mob_get_hair (md->mob_class); + WBUFW (buf, 18) = mob_get_weapon (md->mob_class); + WBUFW (buf, 20) = mob_get_head_buttom (md->mob_class); WBUFL (buf, 22) = gettick (); - WBUFW (buf, 26) = mob_get_shield (md->class); - WBUFW (buf, 28) = mob_get_head_top (md->class); - WBUFW (buf, 30) = mob_get_head_mid (md->class); - WBUFW (buf, 32) = mob_get_hair_color (md->class); - WBUFW (buf, 34) = mob_get_clothes_color (md->class); //Add for player monster dye - Valaris - WBUFB (buf, 49) = mob_get_sex (md->class); + WBUFW (buf, 26) = mob_get_shield (md->mob_class); + WBUFW (buf, 28) = mob_get_head_top (md->mob_class); + WBUFW (buf, 30) = mob_get_head_mid (md->mob_class); + WBUFW (buf, 32) = mob_get_hair_color (md->mob_class); + WBUFW (buf, 34) = mob_get_clothes_color (md->mob_class); //Add for player monster dye - Valaris + WBUFB (buf, 49) = mob_get_sex (md->mob_class); } else WBUFL (buf, 22) = gettick (); - if (md->class >= 1285 && md->class <= 1287) + if (md->mob_class >= 1285 && md->mob_class <= 1287) { // Added guardian emblems [Valaris] struct guild *g; struct guild_castle *gc = guild_mapname2gc (map[md->bl.m].name); @@ -1183,8 +1180,8 @@ static int clif_npc0078 (struct npc_data *nd, unsigned char *buf) WBUFW (buf, 0) = 0x78; WBUFL (buf, 2) = nd->bl.id; WBUFW (buf, 6) = nd->speed; - WBUFW (buf, 14) = nd->class; - if ((nd->class == 722) && (nd->u.scr.guild_id > 0) + WBUFW (buf, 14) = nd->npc_class; + if ((nd->npc_class == 722) && (nd->u.scr.guild_id > 0) && ((g = guild_search (nd->u.scr.guild_id)) != NULL)) { WBUFL (buf, 22) = g->emblem_id; @@ -1301,13 +1298,13 @@ int clif_spawnpc (struct map_session_data *sd) clif_guild_emblem (sd, g); } // end addition [Valaris] - if (sd->status.class == 13 || sd->status.class == 21 - || sd->status.class == 4014 || sd->status.class == 4022) + if (sd->status.pc_class == 13 || sd->status.pc_class == 21 + || sd->status.pc_class == 4014 || sd->status.pc_class == 4022) pc_setoption (sd, sd->status.option | 0x0020); // [Valaris] if ((pc_isriding (sd) && pc_checkskill (sd, KN_RIDING) > 0) - && (sd->status.class == 7 || sd->status.class == 14 - || sd->status.class == 4008 || sd->status.class == 4015)) + && (sd->status.pc_class == 7 || sd->status.pc_class == 14 + || sd->status.pc_class == 4008 || sd->status.pc_class == 4015)) pc_setriding (sd); // update peco riders for people upgrading athena [Valaris] if (map[sd->bl.m].flag.snow) @@ -1337,7 +1334,7 @@ int clif_spawnnpc (struct npc_data *nd) nullpo_retr (0, nd); - if (nd->class < 0 || nd->flag & 1 || nd->class == INVISIBLE_CLASS) + if (nd->npc_class < 0 || nd->flag & 1 || nd->npc_class == INVISIBLE_CLASS) return 0; memset (buf, 0, packet_len_table[0x7c]); @@ -1345,7 +1342,7 @@ int clif_spawnnpc (struct npc_data *nd) WBUFW (buf, 0) = 0x7c; WBUFL (buf, 2) = nd->bl.id; WBUFW (buf, 6) = nd->speed; - WBUFW (buf, 20) = nd->class; + WBUFW (buf, 20) = nd->npc_class; WBUFPOS (buf, 36, nd->bl.x, nd->bl.y); clif_send (buf, packet_len_table[0x7c], &nd->bl, AREA); @@ -1405,7 +1402,7 @@ int clif_spawnmob (struct mob_data *md) nullpo_retr (0, md); - if (mob_get_viewclass (md->class) > 23) + if (mob_get_viewclass (md->mob_class) > 23) { memset (buf, 0, packet_len_table[0x7c]); @@ -1415,7 +1412,7 @@ int clif_spawnmob (struct mob_data *md) WBUFW (buf, 8) = md->opt1; WBUFW (buf, 10) = md->opt2; WBUFW (buf, 12) = md->option; - WBUFW (buf, 20) = mob_get_viewclass (md->class); + WBUFW (buf, 20) = mob_get_viewclass (md->mob_class); WBUFPOS (buf, 36, md->bl.x, md->bl.y); clif_send (buf, packet_len_table[0x7c], &md->bl, AREA); } @@ -1423,8 +1420,8 @@ int clif_spawnmob (struct mob_data *md) len = clif_mob0078 (md, buf); clif_send (buf, len, &md->bl, AREA); - if (mob_get_equip (md->class) > 0) // mob equipment [Valaris] - clif_mob_equip (md, mob_get_equip (md->class)); + if (mob_get_equip (md->mob_class) > 0) // mob equipment [Valaris] + clif_mob_equip (md, mob_get_equip (md->mob_class)); return 0; } @@ -3634,7 +3631,7 @@ void clif_getareachar_npc (struct map_session_data *sd, struct npc_data *nd) nullpo_retv (sd); nullpo_retv (nd); - if (nd->class < 0 || nd->flag & 1 || nd->class == INVISIBLE_CLASS) + if (nd->npc_class < 0 || nd->flag & 1 || nd->npc_class == INVISIBLE_CLASS) return; len = clif_npc0078 (nd, WFIFOP (sd->fd, 0)); @@ -3661,8 +3658,8 @@ int clif_movemob (struct mob_data *md) len = clif_mob007b (md, buf); clif_send (buf, len, &md->bl, AREA); - if (mob_get_equip (md->class) > 0) // mob equipment [Valaris] - clif_mob_equip (md, mob_get_equip (md->class)); + if (mob_get_equip (md->mob_class) > 0) // mob equipment [Valaris] + clif_mob_equip (md, mob_get_equip (md->mob_class)); return 0; } @@ -3790,8 +3787,8 @@ void clif_getareachar_mob (struct map_session_data *sd, struct mob_data *md) WFIFOSET (sd->fd, len); } - if (mob_get_equip (md->class) > 0) // mob equipment [Valaris] - clif_mob_equip (md, mob_get_equip (md->class)); + if (mob_get_equip (md->mob_class) > 0) // mob equipment [Valaris] + clif_mob_equip (md, mob_get_equip (md->mob_class)); } /*========================================== @@ -3989,7 +3986,7 @@ int clif_pcoutsight (struct block_list *bl, va_list ap) } break; case BL_NPC: - if (((struct npc_data *) bl)->class != INVISIBLE_CLASS) + if (((struct npc_data *) bl)->npc_class != INVISIBLE_CLASS) clif_clearchar_id (bl->id, 0, sd->fd); break; case BL_MOB: @@ -4546,14 +4543,14 @@ int clif_skill_estimation (struct map_session_data *sd, return 0; WBUFW (buf, 0) = 0x18c; - WBUFW (buf, 2) = mob_get_viewclass (md->class); - WBUFW (buf, 4) = mob_db[md->class].lv; - WBUFW (buf, 6) = mob_db[md->class].size; + WBUFW (buf, 2) = mob_get_viewclass (md->mob_class); + WBUFW (buf, 4) = mob_db[md->mob_class].lv; + WBUFW (buf, 6) = mob_db[md->mob_class].size; WBUFL (buf, 8) = md->hp; WBUFW (buf, 12) = battle_get_def2 (&md->bl); - WBUFW (buf, 14) = mob_db[md->class].race; + WBUFW (buf, 14) = mob_db[md->mob_class].race; WBUFW (buf, 16) = - battle_get_mdef2 (&md->bl) - (mob_db[md->class].vit >> 1); + battle_get_mdef2 (&md->bl) - (mob_db[md->mob_class].vit >> 1); WBUFW (buf, 18) = battle_get_elem_type (&md->bl); for (i = 0; i < 9; i++) WBUFB (buf, 20 + i) = battle_attr_fix (100, i + 1, md->def_ele); @@ -4613,7 +4610,7 @@ int clif_GMmessage (struct block_list *bl, char *mes, int len, int flag) { unsigned char lbuf[255]; unsigned char *buf = - ((len + 16) >= sizeof (lbuf)) ? malloc (len + 16) : lbuf; + ((len + 16) >= sizeof (lbuf)) ? (unsigned char*)malloc (len + 16) : lbuf; int lp = (flag & 0x10) ? 8 : 4; WBUFW (buf, 0) = 0x9a; @@ -6000,7 +5997,7 @@ int clif_guild_memberlist (struct map_session_data *sd) WFIFOW (fd, c * 104 + 12) = m->hair; WFIFOW (fd, c * 104 + 14) = m->hair_color; WFIFOW (fd, c * 104 + 16) = m->gender; - WFIFOW (fd, c * 104 + 18) = m->class; + WFIFOW (fd, c * 104 + 18) = m->pc_class; WFIFOW (fd, c * 104 + 20) = m->lv; WFIFOL (fd, c * 104 + 22) = m->exp; WFIFOL (fd, c * 104 + 26) = m->online; @@ -6315,7 +6312,7 @@ int clif_guild_message (struct guild *g, int account_id, const char *mes, unsigned char lbuf[255]; unsigned char *buf = lbuf; if (len + 32 >= sizeof (lbuf)) - buf = malloc (len + 32); + buf = (unsigned char *)malloc (len + 32); WBUFW (buf, 0) = 0x17f; WBUFW (buf, 2) = len + 4; memcpy (WBUFP (buf, 4), mes, len); @@ -6570,7 +6567,7 @@ int clif_disp_onlyself (struct map_session_data *sd, char *mes, int len) { unsigned char lbuf[255]; unsigned char *buf = - (len + 32 >= sizeof (lbuf)) ? malloc (len + 32) : lbuf; + (len + 32 >= sizeof (lbuf)) ? (unsigned char *)malloc (len + 32) : lbuf; nullpo_retr (0, sd); @@ -6699,7 +6696,7 @@ int clif_specialeffect (struct block_list *bl, int type, int flag) int i; for (i = 0; i < fd_max; i++) { - if (session[i] && (sd = session[i]->session_data) != NULL + if (session[i] && (sd = (struct map_session_data *)session[i]->session_data) != NULL && sd->state.auth && sd->bl.m == bl->m) clif_specialeffect (&sd->bl, type, 1); } @@ -6755,12 +6752,8 @@ void clif_parse_WantToConnection (int fd, struct map_session_data *sd) } else { - sd = session[fd]->session_data = calloc (sizeof (*sd), 1); - if (sd == NULL) - { - printf ("out of memory : clif_parse_WantToConnection\n"); - exit (1); - } + CREATE (sd, struct map_session_data, 1); + session[fd]->session_data = sd; sd->fd = fd; pc_setnewpc (sd, account_id, RFIFOL (fd, 6), RFIFOL (fd, 10), @@ -6864,7 +6857,7 @@ void clif_parse_LoadEndAck (int fd, struct map_session_data *sd) if (sd->state.connect_new) { sd->state.connect_new = 0; - if (sd->status.class != sd->view_class) + if (sd->status.pc_class != sd->view_class) clif_changelook (&sd->bl, LOOK_BASE, sd->view_class); /* Stop players from spawning inside castles [Valaris] */ @@ -7957,17 +7950,17 @@ void clif_parse_RemoveOption (int fd, struct map_session_data *sd) { if (pc_isriding (sd)) { // jobchange when removing peco [Valaris] - if (sd->status.class == 13) - sd->status.class = sd->view_class = 7; + if (sd->status.pc_class == 13) + sd->status.pc_class = sd->view_class = 7; - if (sd->status.class == 21) - sd->status.class = sd->view_class = 14; + if (sd->status.pc_class == 21) + sd->status.pc_class = sd->view_class = 14; - if (sd->status.class == 4014) - sd->status.class = sd->view_class = 4008; + if (sd->status.pc_class == 4014) + sd->status.pc_class = sd->view_class = 4008; - if (sd->status.class == 4022) - sd->status.class = sd->view_class = 4015; + if (sd->status.pc_class == 4022) + sd->status.pc_class = sd->view_class = 4015; } pc_setoption (sd, 0); @@ -9316,7 +9309,7 @@ void clif_parse_sn_explosionspirits (int fd, struct map_session_data *sd) if (sd) { int nextbaseexp = pc_nextbaseexp (sd); - struct pc_base_job s_class = pc_calc_base_job (sd->status.class); + struct pc_base_job s_class = pc_calc_base_job (sd->status.pc_class); if (battle_config.etc_log) { if (nextbaseexp != 0) @@ -9349,7 +9342,7 @@ void clif_parse_sn_explosionspirits (int fd, struct map_session_data *sd) // rate -1 is unlimited typedef struct func_table { - void (*func)(); + void (*func)(int fd, struct map_session_data *sd); int rate; } func_table; // *INDENT-OFF* @@ -9905,7 +9898,7 @@ func_table clif_parse_func_table[0x220] = // Checks for packet flooding int clif_check_packet_flood(int fd, int cmd) { - struct map_session_data *sd = session[fd]->session_data; + struct map_session_data *sd = (struct map_session_data *)session[fd]->session_data; unsigned int rate, tick = gettick(); // sd will not be set if the client hasn't requested @@ -10117,9 +10110,7 @@ static char *clif_validate_chat (struct map_session_data *sd, int type, static void clif_parse (int fd) { int packet_len = 0, cmd = 0; - struct map_session_data *sd = NULL; - - sd = session[fd]->session_data; + struct map_session_data *sd = (struct map_session_data *)session[fd]->session_data; if (!sd || (sd && !sd->state.auth)) { diff --git a/src/map/clif.h b/src/map/clif.h index d947f95..a1914e3 100644 --- a/src/map/clif.h +++ b/src/map/clif.h @@ -131,8 +131,8 @@ int clif_pcoutsight (struct block_list *, va_list); // map_forallinmovearea int clif_mobinsight (struct block_list *, va_list); // map_forallinmovearea callback int clif_moboutsight (struct block_list *, va_list); // map_forallinmovearea callback -int clif_class_change (struct block_list *bl, int class, int type); -int clif_mob_class_change (struct mob_data *md, int class); +int clif_npc_class_change (struct block_list *bl, int npc_class, int type); +int clif_mob_class_change (struct mob_data *md, int mob_class); int clif_mob_equip (struct mob_data *md, int nameid); // [Valaris] int clif_skillinfo (struct map_session_data *sd, int skillid, int type, diff --git a/src/map/guild.c b/src/map/guild.c index 6017b8e..e4e0ca8 100644 --- a/src/map/guild.c +++ b/src/map/guild.c @@ -162,7 +162,7 @@ void do_init_guild (void) // 検索 struct guild *guild_search (int guild_id) { - return numdb_search (guild_db, guild_id); + return (struct guild *)numdb_search (guild_db, guild_id); } void guild_searchname_sub (db_key_t key, db_val_t data, va_list ap) @@ -185,7 +185,7 @@ struct guild *guild_searchname (char *str) struct guild_castle *guild_castle_search (int gcid) { - return numdb_search (castle_db, gcid); + return (struct guild_castle *)numdb_search (castle_db, gcid); } // mapnameに対応したアジトのgcを返す @@ -255,7 +255,7 @@ void guild_makemember (struct guild_member *m, struct map_session_data *sd) m->hair = sd->status.hair; m->hair_color = sd->status.hair_color; m->gender = sd->sex; - m->class = sd->status.class; + m->pc_class = sd->status.pc_class; m->lv = sd->status.base_level; m->exp = 0; m->exp_payper = 0; @@ -372,7 +372,7 @@ int guild_created (int account_id, int guild_id) sd->status.guild_id = guild_id; sd->guild_sended = 0; - if ((g = numdb_search (guild_db, guild_id)) != NULL) + if ((g = (struct guild *)numdb_search (guild_db, guild_id)) != NULL) { printf ("guild_created(): ID already exists!\n"); exit (1); @@ -434,7 +434,7 @@ int guild_check_member (const struct guild *g) for (i = 0; i < fd_max; i++) { - if (session[i] && (sd = session[i]->session_data) && sd->state.auth) + if (session[i] && (sd = (struct map_session_data *)session[i]->session_data) && sd->state.auth) { if (sd->status.guild_id == g->guild_id) { @@ -466,7 +466,7 @@ int guild_recv_noinfo (int guild_id) struct map_session_data *sd; for (i = 0; i < fd_max; i++) { - if (session[i] && (sd = session[i]->session_data) && sd->state.auth) + if (session[i] && (sd = (struct map_session_data *)session[i]->session_data) && sd->state.auth) { if (sd->status.guild_id == guild_id) sd->status.guild_id = 0; @@ -484,7 +484,7 @@ int guild_recv_info (struct guild *sg) nullpo_retr (0, sg); - if ((g = numdb_search (guild_db, sg->guild_id)) == NULL) + if ((g = (struct guild *)numdb_search (guild_db, sg->guild_id)) == NULL) { CREATE (g, struct guild, 1); numdb_insert (guild_db, sg->guild_id, g); @@ -544,7 +544,7 @@ int guild_recv_info (struct guild *sg) } // イベントの発生 - if ((ev = numdb_search (guild_infoevent_db, sg->guild_id)) != NULL) + if ((ev = (struct eventlist *)numdb_search (guild_infoevent_db, sg->guild_id)) != NULL) { numdb_erase (guild_infoevent_db, sg->guild_id); for (; ev; ev2 = ev->next, free (ev), ev = ev2) @@ -820,7 +820,7 @@ int guild_send_memberinfoshort (struct map_session_data *sd, int online) intif_guild_memberinfoshort (g->guild_id, sd->status.account_id, 0 /*char_id*/, online, sd->status.base_level, - sd->status.class); + sd->status.pc_class); if (!online) { // ログアウトするならsdをクリアして終了 @@ -854,7 +854,7 @@ int guild_send_memberinfoshort (struct map_session_data *sd, int online) // ギルドメンバのオンライン状態/Lv更新通知 int guild_recv_memberinfoshort (int guild_id, int account_id, int char_id, - int online, int lv, int class) + int online, int lv, int pc_class) { int i, alv, c, idx = 0, om = 0, oldonline = -1; struct guild *g = guild_search (guild_id); @@ -868,7 +868,7 @@ int guild_recv_memberinfoshort (int guild_id, int account_id, int char_id, oldonline = m->online; m->online = online; m->lv = lv; - m->class = class; + m->pc_class = pc_class; idx = i; } if (m->account_id > 0) @@ -1084,7 +1084,7 @@ int guild_payexp (struct map_session_data *sd, int exp) if ((exp2 = exp * per / 100) <= 0) return 0; - if ((c = numdb_search (guild_expcache_db, sd->status.account_id /*char_id*/)) == NULL) + if ((c = (struct guild_expcache *)numdb_search (guild_expcache_db, sd->status.account_id /*char_id*/)) == NULL) { CREATE (c, struct guild_expcache, 1); c->guild_id = sd->status.guild_id; @@ -1539,7 +1539,7 @@ int guild_addcastleinfoevent (int castle_id, int index, const char *name) CREATE (ev, struct eventlist, 1); memcpy (ev->name, name, sizeof (ev->name)); - ev->next = numdb_search (guild_castleinfoevent_db, code); + ev->next = (struct eventlist *)numdb_search (guild_castleinfoevent_db, code); numdb_insert (guild_castleinfoevent_db, code, ev); return 0; } @@ -1637,7 +1637,7 @@ int guild_castledataloadack (int castle_id, int index, int value) index); return 0; } - if ((ev = numdb_search (guild_castleinfoevent_db, code)) != NULL) + if ((ev = (struct eventlist *)numdb_search (guild_castleinfoevent_db, code)) != NULL) { numdb_erase (guild_castleinfoevent_db, code); for (; ev; ev2 = ev->next, free (ev), ev = ev2) @@ -1882,30 +1882,22 @@ int guild_isallied (struct guild *g, struct guild_castle *gc) static void guild_db_final (db_key_t key, db_val_t data, va_list ap) { - struct guild *g = data; - - free (g); + free (data); } static void castle_db_final (db_key_t key, db_val_t data, va_list ap) { - struct guild_castle *gc = data; - - free (gc); + free (data); } static void guild_expcache_db_final (db_key_t key, db_val_t data, va_list ap) { - struct guild_expcache *c = data; - - free (c); + free (data); } static void guild_infoevent_db_final (db_key_t key, db_val_t data, va_list ap) { - struct eventlist *ev = data; - - free (ev); + free (data); } void do_final_guild (void) diff --git a/src/map/guild.h b/src/map/guild.h index 6ac13f9..8e7c32e 100644 --- a/src/map/guild.h +++ b/src/map/guild.h @@ -59,7 +59,7 @@ int guild_opposition (struct map_session_data *sd, int char_id); int guild_send_memberinfoshort (struct map_session_data *sd, int online); int guild_recv_memberinfoshort (int guild_id, int account_id, int char_id, - int online, int lv, int class); + int online, int lv, int class_); int guild_change_memberposition (int guild_id, int account_id, int char_id, int idx); int guild_memberposition_changed (struct guild *g, int idx, int pos); diff --git a/src/map/intif.c b/src/map/intif.c index 629eade..7069e3a 100644 --- a/src/map/intif.c +++ b/src/map/intif.c @@ -366,7 +366,7 @@ int intif_guild_leave (int guild_id, int account_id, int char_id, int flag, // ギルドメンバのオンライン状況/Lv更新要求 int intif_guild_memberinfoshort (int guild_id, int account_id, int char_id, int online, - int lv, int class) + int lv, int class_) { WFIFOW (inter_fd, 0) = 0x3035; WFIFOL (inter_fd, 2) = guild_id; @@ -374,7 +374,7 @@ int intif_guild_memberinfoshort (int guild_id, WFIFOL (inter_fd, 10) = char_id; WFIFOB (inter_fd, 14) = online; WFIFOW (inter_fd, 15) = lv; - WFIFOW (inter_fd, 17) = class; + WFIFOW (inter_fd, 17) = class_; WFIFOSET (inter_fd, 19); return 0; } @@ -603,7 +603,7 @@ int mapif_parse_WisToGM (int fd) message[len - 1] = '\0'; // information is sended to all online GM for (i = 0; i < fd_max; i++) - if (session[i] && (pl_sd = session[i]->session_data) + if (session[i] && (pl_sd = (struct map_session_data *)session[i]->session_data) && pl_sd->state.auth) if (pc_isGM (pl_sd) >= min_gm_level) clif_wis_message (i, Wisp_name, message, diff --git a/src/map/intif.h b/src/map/intif.h index b6abd78..374c95a 100644 --- a/src/map/intif.h +++ b/src/map/intif.h @@ -36,7 +36,7 @@ int intif_guild_addmember (int guild_id, struct guild_member *m); int intif_guild_leave (int guild_id, int account_id, int char_id, int flag, const char *mes); int intif_guild_memberinfoshort (int guild_id, int account_id, int char_id, - int online, int lv, int class); + int online, int lv, int class_); int intif_guild_break (int guild_id); int intif_guild_message (int guild_id, int account_id, char *mes, int len); int intif_guild_checkconflict (int guild_id, int account_id, int char_id); diff --git a/src/map/itemdb.c b/src/map/itemdb.c index 6557d43..f89446b 100644 --- a/src/map/itemdb.c +++ b/src/map/itemdb.c @@ -38,7 +38,7 @@ static int blue_box_default = 0, violet_box_default = 0, card_album_default = static void itemdb_read (void); static int itemdb_readdb (void); -static int itemdb_read_randomitem (); +static int itemdb_read_randomitem (void); static int itemdb_read_itemavail (void); static int itemdb_read_itemnametable (void); static int itemdb_read_noequip (void); @@ -143,7 +143,7 @@ int itemdb_searchrandomid (int flags) */ struct item_data *itemdb_exists (int nameid) { - return numdb_search (item_db, nameid); + return (struct item_data *)numdb_search (item_db, nameid); } /*========================================== @@ -152,9 +152,7 @@ struct item_data *itemdb_exists (int nameid) */ struct item_data *itemdb_search (int nameid) { - struct item_data *id; - - id = numdb_search (item_db, nameid); + struct item_data *id = (struct item_data *)numdb_search (item_db, nameid); if (id) return id; @@ -263,7 +261,7 @@ static int itemdb_read_itemslottable (void) char *buf, *p; int s; - buf = grfio_reads ("data\\itemslottable.txt", &s); + buf = (char *)grfio_reads ("data\\itemslottable.txt", &s); if (buf == NULL) return -1; buf[s] = 0; @@ -397,7 +395,7 @@ static int itemdb_readdb (void) * ランダムアイテム出現データの読み込み *------------------------------------------ */ -static int itemdb_read_randomitem () +static int itemdb_read_randomitem (void) { FILE *fp; char line[1024]; @@ -546,7 +544,7 @@ static int itemdb_read_itemnametable (void) char *buf, *p; int s; - buf = grfio_reads ("data\\idnum2itemdisplaynametable.txt", &s); + buf = (char *)grfio_reads ("data\\idnum2itemdisplaynametable.txt", &s); if (buf == NULL) return -1; @@ -592,7 +590,7 @@ static int itemdb_read_cardillustnametable (void) char *buf, *p; int s; - buf = grfio_reads ("data\\num2cardillustnametable.txt", &s); + buf = (char *)grfio_reads ("data\\num2cardillustnametable.txt", &s); if (buf == NULL) return -1; @@ -676,7 +674,7 @@ static void itemdb_final (db_key_t key, db_val_t data, va_list ap) { struct item_data *id; - nullpo_retv (id = data); + nullpo_retv (id = (struct item_data *)data); if (id->use_script) free (id->use_script); diff --git a/src/map/magic-expr.c b/src/map/magic-expr.c index c3846e2..a0a4935 100644 --- a/src/map/magic-expr.c +++ b/src/map/magic-expr.c @@ -34,7 +34,7 @@ static void free_area (area_t * area) static area_t *dup_area (area_t * area) { - area_t *retval = malloc (sizeof (area_t)); + area_t *retval = (area_t *)malloc (sizeof (area_t)); *retval = *area; switch (area->ty) @@ -122,7 +122,7 @@ static void stringify (val_t * v, int within_op) break; case TY_INT: - buf = malloc (32); + buf = (char *)malloc (32); sprintf (buf, "%i", v->v.v_int); break; @@ -138,7 +138,7 @@ static void stringify (val_t * v, int within_op) break; case TY_LOCATION: - buf = malloc (128); + buf = (char *) malloc (128); sprintf (buf, "<\"%s\", %d, %d>", map[v->v.v_location.m].name, v->v.v_location.x, v->v.v_location.y); break; @@ -204,7 +204,7 @@ static void make_area (val_t * v) { if (v->ty == TY_LOCATION) { - area_t *a = malloc (sizeof (area_t)); + area_t *a = (char *)malloc (sizeof (area_t)); v->ty = TY_AREA; a->ty = AREA_LOCATION; a->a.a_loc = v->v.v_location; @@ -617,7 +617,7 @@ static int fun_mob_id (env_t * env, int args_nr, val_t * result, val_t * args) { if (ETY (0) != BL_MOB) return 1; - RESULTINT = ((struct mob_data *) (ARGENTITY(0)))->class; + RESULTINT = ((struct mob_data *) (ARGENTITY(0)))->mob_class; return 0; } @@ -1243,7 +1243,7 @@ int compare_fun (const void *lhs, const void *rhs) return strcmp (((fun_t *) lhs)->name, ((fun_t *) rhs)->name); } -fun_t *magic_get_fun (char *name, int *index) +fun_t *magic_get_fun (const char *name, int *index) { static int functions_nr; fun_t *result; @@ -1302,7 +1302,7 @@ eval_location (env_t * env, location_t * dest, e_location_t * expr) static area_t *eval_area (env_t * env, e_area_t * expr) { - area_t *area = malloc (sizeof (area_t)); + area_t *area = (area_t *)malloc (sizeof (area_t)); area->ty = expr->ty; switch (expr->ty) diff --git a/src/map/magic-expr.h b/src/map/magic-expr.h index 657dcb7..e912d14 100644 --- a/src/map/magic-expr.h +++ b/src/map/magic-expr.h @@ -47,7 +47,7 @@ typedef struct op * @param name The name to look up * @return A function of that name, or NULL, and a function index */ -fun_t *magic_get_fun (char *name, int *index); +fun_t *magic_get_fun (const char *name, int *index); /** * Retrieves an operation by name diff --git a/src/map/magic-interpreter-parser.y b/src/map/magic-interpreter-parser.y index c5ee41d..9df0f3e 100644 --- a/src/map/magic-interpreter-parser.y +++ b/src/map/magic-interpreter-parser.y @@ -6,11 +6,11 @@ magic_conf_t magic_conf; static int -intern_id(char *id_name); +intern_id(const char *id_name); static expr_t * -fun_expr(char *name, int args_nr, expr_t **args, int line, int column); +fun_expr(const char *name, int args_nr, expr_t **args, int line, int column); static expr_t * dot_expr(expr_t *lhs, int id); @@ -23,7 +23,7 @@ static void magic_frontend_error(const char *msg); static void -fail(int line, int column, char *fmt, ...); +fail(int line, int column, const char *fmt, ...); static spell_t * new_spell(spellguard_t *guard); @@ -50,7 +50,7 @@ static effect_t * op_effect(char *name, int args_nr, expr_t **args, int line, int column); int -magic_frontend_lex(); +magic_frontend_lex(void); static void install_proc(proc_t *proc); @@ -232,12 +232,12 @@ proc_formals_list : /* empty */ proc_formals_list_ne : ID { CREATE ($$, proc_t, 1); $$->args_nr = 1; - $$->args = malloc(sizeof(int)); + $$->args = (int*)malloc(sizeof(int)); $$->args[0] = intern_id($1); } | proc_formals_list_ne ',' ID { $$ = $1; - $$->args = realloc($$->args, sizeof(int) * (1 + $$->args_nr)); + $$->args = (int*)realloc($$->args, sizeof(int) * (1 + $$->args_nr)); $$->args[$$->args_nr++] = intern_id($3); } ; @@ -261,7 +261,8 @@ spellconf_option : ID '=' expr } | TELEPORT_ANCHOR ID ':' expr '=' expr { - teleport_anchor_t *anchor = calloc(sizeof(teleport_anchor_t), 1); + teleport_anchor_t *anchor; + CREATE (anchor, teleport_anchor_t, 1); anchor->name = $2; anchor->invocation = magic_eval_str(&magic_default_env, $4); anchor->location = $6; @@ -419,7 +420,7 @@ arg_list_ne : expr $$.args[0] = $1; } | arg_list_ne ',' expr - { $$.args = realloc($$.args, (1 + $$.args_nr) * sizeof(expr_t *)); + { RECREATE($$.args, expr_t *, 1 + $$.args_nr); $$.args[$$.args_nr++] = $3; } ; @@ -462,12 +463,12 @@ spelldef : spellbody_list defs : semicolons { $$.letdefs_nr = 0; - $$.letdefs = (letdef_t *) malloc(1); + CREATE($$.letdefs, letdef_t, 1); } | defs def semicolons { $$ = $1; $$.letdefs_nr++; - $$.letdefs = realloc($$.letdefs, sizeof(letdef_t) * $$.letdefs_nr); + RECREATE ($$.letdefs, letdef_t, $$.letdefs_nr); $$.letdefs[$1.letdefs_nr] = $2; } ; @@ -701,21 +702,21 @@ effect_list : /* empty */ * during startup for a relatively manageable set of configs, it should be fine. */ static int -intern_id(char *id_name) +intern_id(const char *id_name) { int i; for (i = 0; i < magic_conf.vars_nr; i++) if (!strcmp(id_name, magic_conf.var_name[i])) { - free(id_name); + free((char*)id_name); return i; } /* Must add new */ i = magic_conf.vars_nr++; - magic_conf.var_name = realloc(magic_conf.var_name, magic_conf.vars_nr * sizeof(char *)); + RECREATE(magic_conf.var_name, const char *, magic_conf.vars_nr); magic_conf.var_name[i] = id_name; - magic_conf.vars = realloc(magic_conf.vars, magic_conf.vars_nr * sizeof(val_t)); + RECREATE(magic_conf.vars, val_t, magic_conf.vars_nr); magic_conf.vars[i].ty = TY_UNDEF; return i; @@ -740,7 +741,7 @@ add_spell(spell_t *spell, int line_nr) } magic_conf.spells_nr++; - magic_conf.spells = realloc(magic_conf.spells, magic_conf.spells_nr * sizeof (spell_t*)); + RECREATE(magic_conf.spells, spell_t *, magic_conf.spells_nr); magic_conf.spells[index] = spell; @@ -765,13 +766,13 @@ add_teleport_anchor(teleport_anchor_t *anchor, int line_nr) } magic_conf.anchors_nr++; - magic_conf.anchors = realloc(magic_conf.anchors, magic_conf.anchors_nr * sizeof (teleport_anchor_t*)); + RECREATE(magic_conf.anchors, teleport_anchor_t *, magic_conf.anchors_nr); magic_conf.anchors[index] = anchor; } static void -fail(int line, int column, char *fmt, ...) +fail(int line, int column, const char *fmt, ...) { va_list ap; fprintf(stderr, "[magic-init] L%d:%d: ", line, column); @@ -791,7 +792,7 @@ dot_expr(expr_t *expr, int id) } static expr_t * -fun_expr(char *name, int args_nr, expr_t **args, int line, int column) +fun_expr(const char *name, int args_nr, expr_t **args, int line, int column) { int id; expr_t *expr; @@ -828,7 +829,7 @@ new_spell(spellguard_t *guard) { static int spell_counter = 0; - spell_t *retval = calloc(1, sizeof(spell_t)); + spell_t *retval = (spell_t*)calloc(1, sizeof(spell_t)); retval->index = ++spell_counter; retval->spellguard = guard; return retval; @@ -837,7 +838,7 @@ new_spell(spellguard_t *guard) static spellguard_t * new_spellguard(int ty) { - spellguard_t *retval = calloc(1, sizeof(spellguard_t)); + spellguard_t *retval = (spellguard_t *)calloc(1, sizeof(spellguard_t)); retval->ty = ty; return retval; } @@ -938,7 +939,7 @@ op_effect(char *name, int args_nr, expr_t **args, int line, int column) proc_t *procs = NULL; int procs_nr = 0; - +// I think this is a memory leak, or undefined behavior static void install_proc(proc_t *proc) { @@ -946,7 +947,7 @@ install_proc(proc_t *proc) procs = proc; procs_nr = 1; } else { - procs = realloc(procs, sizeof(proc_t) * (1 + procs_nr)); + RECREATE (procs, proc_t, 1 + procs_nr); procs[procs_nr++] = *proc; } } @@ -1042,10 +1043,10 @@ magic_init(char *conffile) // must be called after itemdb initialisation magic_conf.min_casttime = 100; magic_conf.spells_nr = 0; - magic_conf.spells = (spell_t **)malloc(1); + CREATE(magic_conf.spells, spell_t *, 1); magic_conf.anchors_nr = 0; - magic_conf.anchors = (teleport_anchor_t **)malloc(1); + CREATE(magic_conf.anchors, teleport_anchor_t *, 1); INTERN_ASSERT("min_casttime", VAR_MIN_CASTTIME); INTERN_ASSERT("obscure_chance", VAR_OBSCURE_CHANCE); diff --git a/src/map/magic-interpreter.h b/src/map/magic-interpreter.h index e9232bd..0b4b73c 100644 --- a/src/map/magic-interpreter.h +++ b/src/map/magic-interpreter.h @@ -335,7 +335,7 @@ typedef struct teleport_anchor typedef struct { int vars_nr; - char **var_name; + const char **var_name; val_t *vars; /* Initial assignments, if any, or NULL */ int obscure_chance; diff --git a/src/map/magic-stmt.c b/src/map/magic-stmt.c index 4ae7e5d..5569217 100644 --- a/src/map/magic-stmt.c +++ b/src/map/magic-stmt.c @@ -473,14 +473,7 @@ record_status_change (invocation_t * invocation, int bl_id, int sc_id) int index = invocation->status_change_refs_nr++; status_change_ref_t *cr; - if (invocation->status_change_refs) - invocation->status_change_refs = - realloc (invocation->status_change_refs, - sizeof (status_change_ref_t) * - invocation->status_change_refs_nr); - else - invocation->status_change_refs = - malloc (sizeof (status_change_ref_t)); + RECREATE (invocation->status_change_refs, status_change_ref_t, invocation->status_change_refs_nr); cr = &invocation->status_change_refs[index]; @@ -739,7 +732,7 @@ static int op_injure (env_t * env, int args_nr, val_t * args) struct mob_data *mob = (struct mob_data *) target; MAP_LOG_PC (caster_pc, "SPELLDMG MOB%d %d FOR %d BY %s", - mob->bl.id, mob->class, damage_caused, + mob->bl.id, mob->mob_class, damage_caused, get_invocation_name (env)); } } @@ -884,7 +877,7 @@ op_t *magic_get_op (char *name, int *index) } key.name = name; - op_t *op = bsearch (&key, operations, operation_count, sizeof (op_t), + op_t *op = (op_t *)bsearch (&key, operations, operation_count, sizeof (op_t), compare_operations); if (op && index) @@ -1048,7 +1041,7 @@ static int find_entities_in_area_c (entity_t * target, va_list va) if (*entities_nr_p == *entities_allocd_p) { \ /* Need more space */ \ (*entities_allocd_p) += 32; \ - *entities_p = realloc(*entities_p, sizeof(int) * (*entities_allocd_p)); \ + RECREATE (*entities_p, int, *entities_allocd_p); \ } \ (*entities_p)[(*entities_nr_p)++] = e; @@ -1169,14 +1162,14 @@ static effect_t *run_foreach (invocation_t * invocation, effect_t * foreach, if (!ar) return return_location; - entities_collect = malloc (entities_allocd * sizeof (int)); + CREATE (entities_collect, int, entities_allocd); find_entities_in_area (area.v.v_area, &entities_allocd, &entities_nr, &entities_collect, filter); /* Now shuffle */ - shuffle_board = malloc ((sizeof (int) * (1 + entities_nr))); // +1: to avoid spurious warnings in memory profilers - entities = malloc ((sizeof (int) * (1 + entities_nr))); // +1: to avoid spurious warnings in memory profilers + CREATE (shuffle_board, int, entities_nr); + CREATE (entities, int, entities_nr); for (i = 0; i < entities_nr; i++) shuffle_board[i] = i; diff --git a/src/map/magic.c b/src/map/magic.c index b67aaca..797dc16 100644 --- a/src/map/magic.c +++ b/src/map/magic.c @@ -124,7 +124,7 @@ int magic_message (character_t * caster, char *spell_, size_t spell_len) int magic_init (char *conffile); // must be called after itemdb initialisation -void do_init_magic () +void do_init_magic (void) { magic_init (MAGIC_CONFIG_FILE); } diff --git a/src/map/magic.h b/src/map/magic.h index 99ae647..1979914 100644 --- a/src/map/magic.h +++ b/src/map/magic.h @@ -46,7 +46,7 @@ spell_effect_report_termination (int invocation, int bl_id, int sc_id, /** * Initialise all spells, read config data */ -void do_init_magic (); +void do_init_magic (void); /** * Identifies the invocation used to trigger a spell diff --git a/src/map/map.c b/src/map/map.c index 7730b94..fdc97e7 100644 --- a/src/map/map.c +++ b/src/map/map.c @@ -1021,10 +1021,7 @@ int map_addflooritem (struct item *item_data, int amount, int m, int x, int y, */ void map_addchariddb (int charid, char *name) { - struct charid2nick *p = NULL; - int req = 0; - - p = numdb_search (charid_db, charid); + struct charid2nick *p = (struct charid2nick *)numdb_search (charid_db, charid); if (p == NULL) { // データベースにない CREATE (p, struct charid2nick, 1); @@ -1033,7 +1030,7 @@ void map_addchariddb (int charid, char *name) else numdb_erase (charid_db, charid); - req = p->req_id; + int req = p->req_id; memcpy (p->nick, name, 24); p->req_id = 0; numdb_insert (charid_db, charid, p); @@ -1051,11 +1048,9 @@ void map_addchariddb (int charid, char *name) */ int map_reqchariddb (struct map_session_data *sd, int charid) { - struct charid2nick *p = NULL; - nullpo_retr (0, sd); - p = numdb_search (charid_db, charid); + struct charid2nick *p = (struct charid2nick *)numdb_search (charid_db, charid); if (p != NULL) // データベースにすでにある return 0; CREATE (p, struct charid2nick, 1); @@ -1195,7 +1190,7 @@ struct map_session_data *map_id2sd (int id) struct map_session_data *sd = NULL; for (i = 0; i < fd_max; i++) - if (session[i] && (sd = session[i]->session_data) && sd->bl.id == id) + if (session[i] && (sd = (struct map_session_data *)session[i]->session_data) && sd->bl.id == id) return sd; return NULL; @@ -1207,7 +1202,7 @@ struct map_session_data *map_id2sd (int id) */ char *map_charid2nick (int id) { - struct charid2nick *p = numdb_search (charid_db, id); + struct charid2nick *p = (struct charid2nick *)numdb_search (charid_db, id); if (p == NULL) return NULL; @@ -1224,7 +1219,7 @@ static struct map_session_data *map_get_session (int i) struct map_session_data *d; if (i >= 0 && i < fd_max - && session[i] && (d = session[i]->session_data) && d->state.auth) + && session[i] && (d = (struct map_session_data *)session[i]->session_data) && d->state.auth) return d; return NULL; @@ -1256,7 +1251,7 @@ static struct map_session_data *map_get_session_backward (int start) return NULL; } -struct map_session_data *map_get_first_session () +struct map_session_data *map_get_first_session (void) { return map_get_session_forward (0); } @@ -1266,7 +1261,7 @@ struct map_session_data *map_get_next_session (struct map_session_data *d) return map_get_session_forward (d->fd + 1); } -struct map_session_data *map_get_last_session () +struct map_session_data *map_get_last_session (void) { return map_get_session_backward (fd_max); } @@ -1295,7 +1290,7 @@ struct map_session_data *map_nick2sd (char *nick) for (i = 0; i < fd_max; i++) { - if (session[i] && (pl_sd = session[i]->session_data) + if (session[i] && (pl_sd = (struct map_session_data *)session[i]->session_data) && pl_sd->state.auth) { // Without case sensitive check (increase the number of similar character names found) @@ -1329,7 +1324,7 @@ struct block_list *map_id2bl (int id) if (id < sizeof (object) / sizeof (object[0])) bl = object[id]; else - bl = numdb_search (id_db, id); + bl = (struct block_list *)numdb_search (id_db, id); return bl; } @@ -1413,9 +1408,7 @@ void map_removenpc (void) */ int map_mapname2mapid (char *name) { - struct map_data *md = NULL; - - md = strdb_search (map_db, name); + struct map_data *md = (struct map_data *)strdb_search (map_db, name); if (md == NULL || md->gat == NULL) return -1; return md->m; @@ -1427,9 +1420,7 @@ int map_mapname2mapid (char *name) */ int map_mapname2ipport (char *name, int *ip, int *port) { - struct map_data_other_server *mdos = NULL; - - mdos = strdb_search (map_db, name); + struct map_data_other_server *mdos = (struct map_data_other_server *)strdb_search (map_db, name); if (mdos == NULL || mdos->gat) return -1; *ip = mdos->ip; @@ -1564,10 +1555,9 @@ int map_setcell (int m, int x, int y, int t) */ int map_setipport (char *name, unsigned long ip, int port) { - struct map_data *md = NULL; struct map_data_other_server *mdos = NULL; - md = strdb_search (map_db, name); + struct map_data *md = (struct map_data *)strdb_search (map_db, name); if (md == NULL) { // not exist -> add new data CREATE (mdos, struct map_data_other_server, 1); @@ -1664,7 +1654,6 @@ static void map_readwater (char *watertxt) */ static int map_readmap (int m, char *fn, char *alias) { - unsigned char *gat = ""; int s; int x, y, xs, ys; struct gat_1cell @@ -1675,7 +1664,7 @@ static int map_readmap (int m, char *fn, char *alias) size_t size; // read & convert fn - gat = grfio_read (fn); + uint8_t gat = (uint8_t *)grfio_read (fn); if (gat == NULL) return -1; @@ -1686,7 +1675,7 @@ static int map_readmap (int m, char *fn, char *alias) xs = map[m].xs = *(short *) (gat); ys = map[m].ys = *(short *) (gat + 2); printf ("\n%i %i\n", xs, ys); - map[m].gat = calloc (s = map[m].xs * map[m].ys, 1); + map[m].gat = (uint8_t *)calloc (s = map[m].xs * map[m].ys, 1); if (map[m].gat == NULL) { printf ("out of memory : map_readmap gat\n"); @@ -1717,39 +1706,15 @@ static int map_readmap (int m, char *fn, char *alias) map[m].bxs = (xs + BLOCK_SIZE - 1) / BLOCK_SIZE; map[m].bys = (ys + BLOCK_SIZE - 1) / BLOCK_SIZE; - size = map[m].bxs * map[m].bys * sizeof (struct block_list *); - - map[m].block = calloc (size, 1); - if (map[m].block == NULL) - { - printf ("out of memory : map_readmap block\n"); - exit (1); - } + size = map[m].bxs * map[m].bys; - map[m].block_mob = calloc (size, 1); - if (map[m].block_mob == NULL) - { - printf ("out of memory : map_readmap block_mob\n"); - exit (1); - } + CREATE (map[m].block, struct block_list *, size); - size = map[m].bxs * map[m].bys * sizeof (int); + CREATE (map[m].block_mob, struct block_list *, size); - map[m].block_count = calloc (size, 1); - if (map[m].block_count == NULL) - { - printf ("out of memory : map_readmap block\n"); - exit (1); - } - memset (map[m].block_count, 0, size); + CREATE (map[m].block_count, int, size); - map[m].block_mob_count = calloc (size, 1); - if (map[m].block_mob_count == NULL) - { - printf ("out of memory : map_readmap block_mob\n"); - exit (1); - } - memset (map[m].block_mob_count, 0, size); + CREATE (map[m].block_mob_count, int, size); strdb_insert (map_db, map[m].name, &map[m]); @@ -1873,11 +1838,11 @@ FILE *map_logfile = NULL; char *map_logfile_name = NULL; static long map_logfile_index; -static void map_close_logfile () +static void map_close_logfile (void) { if (map_logfile) { - char *filenameop_buf = malloc (strlen (map_logfile_name) + 50); + char *filenameop_buf = (char*)malloc (strlen (map_logfile_name) + 50); sprintf (filenameop_buf, "gzip -f %s.%ld", map_logfile_name, map_logfile_index); @@ -1892,7 +1857,7 @@ static void map_close_logfile () static void map_start_logfile (long suffix) { - char *filename_buf = malloc (strlen (map_logfile_name) + 50); + char *filename_buf = (char*)malloc (strlen (map_logfile_name) + 50); map_logfile_index = suffix >> LOGFILE_SECONDS_PER_CHUNK_SHIFT; sprintf (filename_buf, "%s.%ld", map_logfile_name, map_logfile_index); @@ -2138,7 +2103,9 @@ void do_final (void) do_final_guild (); } -void map_helpscreen () +/// --help was passed +// FIXME this should produce output +void map_helpscreen (void) { exit (1); } diff --git a/src/map/map.h b/src/map/map.h index 5955418..a480cd0 100644 --- a/src/map/map.h +++ b/src/map/map.h @@ -424,7 +424,7 @@ struct npc_data { struct block_list bl; short n; - short class, dir; + short npc_class, dir; short speed; char name[24]; char exname[24]; @@ -487,7 +487,7 @@ struct mob_data { struct block_list bl; short n; - short base_class, class, dir, mode; + short base_class, mob_class, dir, mode; short m, x0, y0, xs, ys; char name[24]; int spawndelay1, spawndelay2; @@ -795,8 +795,8 @@ int map_scriptcont (struct map_session_data *sd, int id); /* Continues a scrip struct map_session_data *map_nick2sd (char *); int compare_item (struct item *a, struct item *b); -struct map_session_data *map_get_first_session (); -struct map_session_data *map_get_last_session (); +struct map_session_data *map_get_first_session (void); +struct map_session_data *map_get_last_session (void); struct map_session_data *map_get_next_session (struct map_session_data *current); struct map_session_data *map_get_prev_session (struct map_session_data @@ -816,7 +816,7 @@ int path_blownpos (int m, int x0, int y0, int dx, int dy, int count); int map_who (int fd); -void map_helpscreen (); // [Valaris] +void map_helpscreen (void); // [Valaris] int map_delmap (char *mapname); #endif diff --git a/src/map/mob.c b/src/map/mob.c index 3e3297d..2402245 100644 --- a/src/map/mob.c +++ b/src/map/mob.c @@ -46,7 +46,7 @@ static int mob_makedummymobdb (int); static void mob_timer (timer_id, tick_t, custom_id_t, custom_data_t); int mobskill_use (struct mob_data *md, unsigned int tick, int event); int mobskill_deltimer (struct mob_data *md); -int mob_skillid2skillidx (int class, int skillid); +int mob_skillid2skillidx (int mob_class, int skillid); int mobskill_use_id (struct mob_data *md, struct block_list *target, int skill_idx); static int mob_unlocktarget (struct mob_data *md, int tick); @@ -90,21 +90,21 @@ static void mob_init (struct mob_data *md); * The minimum data set for MOB spawning *------------------------------------------ */ -int mob_spawn_dataset (struct mob_data *md, const char *mobname, int class) +int mob_spawn_dataset (struct mob_data *md, const char *mobname, int mob_class) { nullpo_retr (0, md); if (strcmp (mobname, "--en--") == 0) - memcpy (md->name, mob_db[class].name, 24); + memcpy (md->name, mob_db[mob_class].name, 24); else if (strcmp (mobname, "--ja--") == 0) - memcpy (md->name, mob_db[class].jname, 24); + memcpy (md->name, mob_db[mob_class].jname, 24); else memcpy (md->name, mobname, 24); md->bl.prev = NULL; md->bl.next = NULL; md->n = 0; - md->base_class = md->class = class; + md->base_class = md->mob_class = mob_class; md->bl.id = npc_get_new_npc_id (); memset (&md->state, 0, sizeof (md->state)); @@ -292,24 +292,24 @@ int mob_gen_exp (struct mob_db *mob) static void mob_init (struct mob_data *md) { int i; - const int class = md->class; - const int mutations_nr = mob_db[class].mutations_nr; - const int mutation_power = mob_db[class].mutation_power; - - md->stats[MOB_LV] = mob_db[class].lv; - md->stats[MOB_MAX_HP] = mob_db[class].max_hp; - md->stats[MOB_STR] = mob_db[class].str; - md->stats[MOB_AGI] = mob_db[class].agi; - md->stats[MOB_VIT] = mob_db[class].vit; - md->stats[MOB_INT] = mob_db[class].int_; - md->stats[MOB_DEX] = mob_db[class].dex; - md->stats[MOB_LUK] = mob_db[class].luk; - md->stats[MOB_ATK1] = mob_db[class].atk1; - md->stats[MOB_ATK2] = mob_db[class].atk2; - md->stats[MOB_ADELAY] = mob_db[class].adelay; - md->stats[MOB_DEF] = mob_db[class].def; - md->stats[MOB_MDEF] = mob_db[class].mdef; - md->stats[MOB_SPEED] = mob_db[class].speed; + const int mob_class = md->mob_class; + const int mutations_nr = mob_db[mob_class].mutations_nr; + const int mutation_power = mob_db[mob_class].mutation_power; + + md->stats[MOB_LV] = mob_db[mob_class].lv; + md->stats[MOB_MAX_HP] = mob_db[mob_class].max_hp; + md->stats[MOB_STR] = mob_db[mob_class].str; + md->stats[MOB_AGI] = mob_db[mob_class].agi; + md->stats[MOB_VIT] = mob_db[mob_class].vit; + md->stats[MOB_INT] = mob_db[mob_class].int_; + md->stats[MOB_DEX] = mob_db[mob_class].dex; + md->stats[MOB_LUK] = mob_db[mob_class].luk; + md->stats[MOB_ATK1] = mob_db[mob_class].atk1; + md->stats[MOB_ATK2] = mob_db[mob_class].atk2; + md->stats[MOB_ADELAY] = mob_db[mob_class].adelay; + md->stats[MOB_DEF] = mob_db[mob_class].def; + md->stats[MOB_MDEF] = mob_db[mob_class].mdef; + md->stats[MOB_SPEED] = mob_db[mob_class].speed; md->stats[MOB_XP_BONUS] = MOB_XP_BONUS_BASE; for (i = 0; i < mutations_nr; i++) @@ -339,11 +339,11 @@ static void mob_init (struct mob_data *md) *------------------------------------------ */ int mob_once_spawn (struct map_session_data *sd, char *mapname, - int x, int y, const char *mobname, int class, int amount, + int x, int y, const char *mobname, int mob_class, int amount, const char *event) { struct mob_data *md = NULL; - int m, count, lv = 255, r = class; + int m, count, lv = 255, r = mob_class; if (sd) lv = sd->status.base_level; @@ -353,29 +353,29 @@ int mob_once_spawn (struct map_session_data *sd, char *mapname, else m = map_mapname2mapid (mapname); - if (m < 0 || amount <= 0 || (class >= 0 && class <= 1000) || class > 2000) // 値が異常なら召喚を止める + if (m < 0 || amount <= 0 || (mob_class >= 0 && mob_class <= 1000) || mob_class > 2000) // 値が異常なら召喚を止める return 0; - if (class < 0) + if (mob_class < 0) { // ランダムに召喚 int i = 0; - int j = -class - 1; + int j = -mob_class - 1; int k; if (j >= 0 && j < MAX_RANDOMMONSTER) { do { - class = MPRAND (1001, 1000); + mob_class = MPRAND (1001, 1000); k = MRAND (1000000); } - while ((mob_db[class].max_hp <= 0 - || mob_db[class].summonper[j] <= k - || (lv < mob_db[class].lv + while ((mob_db[mob_class].max_hp <= 0 + || mob_db[mob_class].summonper[j] <= k + || (lv < mob_db[mob_class].lv && battle_config.random_monster_checklv == 1)) && (i++) < 2000); if (i >= 2000) { - class = mob_db[0].summonper[j]; + mob_class = mob_db[0].summonper[j]; } } else @@ -383,7 +383,7 @@ int mob_once_spawn (struct map_session_data *sd, char *mapname, return 0; } // if(battle_config.etc_log==1) -// printf("mobclass=%d try=%d\n",class,i); +// printf("mobmob_class=%d try=%d\n",mob_class,i); } if (sd) { @@ -400,13 +400,13 @@ int mob_once_spawn (struct map_session_data *sd, char *mapname, for (count = 0; count < amount; count++) { md = (struct mob_data *) calloc (1, sizeof (struct mob_data)); - if (mob_db[class].mode & 0x02) + if (mob_db[mob_class].mode & 0x02) md->lootitem = (struct item *) calloc (LOOTITEM_SIZE, sizeof (struct item)); else md->lootitem = NULL; - mob_spawn_dataset (md, mobname, class); + mob_spawn_dataset (md, mobname, mob_class); md->bl.m = m; md->bl.x = x; md->bl.y = y; @@ -426,13 +426,13 @@ int mob_once_spawn (struct map_session_data *sd, char *mapname, map_addiddb (&md->bl); mob_spawn (md->bl.id); - if (class == 1288) + if (mob_class == 1288) { // emperium hp based on defense level [Valaris] struct guild_castle *gc = guild_mapname2gc (map[md->bl.m].name); if (gc) { - mob_db[class].max_hp += 2000 * gc->defense; - md->hp = mob_db[class].max_hp; + mob_db[mob_class].max_hp += 2000 * gc->defense; + md->hp = mob_db[mob_class].max_hp; } } // end addition [Valaris] @@ -446,7 +446,7 @@ int mob_once_spawn (struct map_session_data *sd, char *mapname, */ int mob_once_spawn_area (struct map_session_data *sd, char *mapname, int x0, int y0, int x1, int y1, - const char *mobname, int class, int amount, + const char *mobname, int mob_class, int amount, const char *event) { int x, y, i, c, max, lx = -1, ly = -1, id = 0; @@ -461,7 +461,7 @@ int mob_once_spawn_area (struct map_session_data *sd, char *mapname, if (max > 1000) max = 1000; - if (m < 0 || amount <= 0 || (class >= 0 && class <= 1000) || class > 2000) // A summon is stopped if a value is unusual + if (m < 0 || amount <= 0 || (mob_class >= 0 && mob_class <= 1000) || mob_class > 2000) // A summon is stopped if a value is unusual return 0; for (i = 0; i < amount; i++) @@ -483,7 +483,7 @@ int mob_once_spawn_area (struct map_session_data *sd, char *mapname, else return 0; // Since reference of the place which boils first went wrong, it stops. } - id = mob_once_spawn (sd, mapname, x, y, mobname, class, 1, event); + id = mob_once_spawn (sd, mapname, x, y, mobname, mob_class, 1, event); lx = x; ly = y; } @@ -495,7 +495,7 @@ int mob_once_spawn_area (struct map_session_data *sd, char *mapname, *------------------------------------------ */ int mob_spawn_guardian (struct map_session_data *sd, char *mapname, - int x, int y, const char *mobname, int class, + int x, int y, const char *mobname, int mob_class, int amount, const char *event, int guardian) { struct mob_data *md = NULL; @@ -509,10 +509,10 @@ int mob_spawn_guardian (struct map_session_data *sd, char *mapname, else m = map_mapname2mapid (mapname); - if (m < 0 || amount <= 0 || (class >= 0 && class <= 1000) || class > 2000) // 値が異常なら召喚を止める + if (m < 0 || amount <= 0 || (mob_class >= 0 && mob_class <= 1000) || mob_class > 2000) // 値が異常なら召喚を止める return 0; - if (class < 0) + if (mob_class < 0) return 0; if (sd) @@ -529,15 +529,9 @@ int mob_spawn_guardian (struct map_session_data *sd, char *mapname, for (count = 0; count < amount; count++) { struct guild_castle *gc; - md = calloc (sizeof (struct mob_data), 1); - if (md == NULL) - { - printf ("mob_spawn_guardian: out of memory !\n"); - exit (1); - } - memset (md, '\0', sizeof *md); + CREATE (md, struct mob_data, 1); - mob_spawn_dataset (md, mobname, class); + mob_spawn_dataset (md, mobname, mob_class); md->bl.m = m; md->bl.x = x; md->bl.y = y; @@ -558,7 +552,7 @@ int mob_spawn_guardian (struct map_session_data *sd, char *mapname, gc = guild_mapname2gc (map[md->bl.m].name); if (gc) { - mob_db[class].max_hp += 2000 * gc->defense; + mob_db[mob_class].max_hp += 2000 * gc->defense; if (guardian == 0) { md->hp = gc->Ghp0; @@ -610,59 +604,59 @@ int mob_spawn_guardian (struct map_session_data *sd, char *mapname, * Appearance income of mob *------------------------------------------ */ -int mob_get_viewclass (int class) +int mob_get_viewclass (int mob_class) { - return mob_db[class].view_class; + return mob_db[mob_class].view_class; } -int mob_get_sex (int class) +int mob_get_sex (int mob_class) { - return mob_db[class].sex; + return mob_db[mob_class].sex; } -short mob_get_hair (int class) +short mob_get_hair (int mob_class) { - return mob_db[class].hair; + return mob_db[mob_class].hair; } -short mob_get_hair_color (int class) +short mob_get_hair_color (int mob_class) { - return mob_db[class].hair_color; + return mob_db[mob_class].hair_color; } -short mob_get_weapon (int class) +short mob_get_weapon (int mob_class) { - return mob_db[class].weapon; + return mob_db[mob_class].weapon; } -short mob_get_shield (int class) +short mob_get_shield (int mob_class) { - return mob_db[class].shield; + return mob_db[mob_class].shield; } -short mob_get_head_top (int class) +short mob_get_head_top (int mob_class) { - return mob_db[class].head_top; + return mob_db[mob_class].head_top; } -short mob_get_head_mid (int class) +short mob_get_head_mid (int mob_class) { - return mob_db[class].head_mid; + return mob_db[mob_class].head_mid; } -short mob_get_head_buttom (int class) +short mob_get_head_buttom (int mob_class) { - return mob_db[class].head_buttom; + return mob_db[mob_class].head_buttom; } -short mob_get_clothes_color (int class) // Add for player monster dye - Valaris +short mob_get_clothes_color (int mob_class) // Add for player monster dye - Valaris { - return mob_db[class].clothes_color; // End + return mob_db[mob_class].clothes_color; // End } -int mob_get_equip (int class) // mob equip [Valaris] +int mob_get_equip (int mob_class) // mob equip [Valaris] { - return mob_db[class].equip; + return mob_db[mob_class].equip; } /*========================================== @@ -869,11 +863,11 @@ static int mob_check_attack (struct mob_data *md) } if (!md->mode) - mode = mob_db[md->class].mode; + mode = mob_db[md->mob_class].mode; else mode = md->mode; - race = mob_db[md->class].race; + race = mob_db[md->mob_class].race; if (!(mode & 0x80)) { md->target_id = 0; @@ -890,7 +884,7 @@ static int mob_check_attack (struct mob_data *md) return 0; } - range = mob_db[md->class].range; + range = mob_db[md->mob_class].range; if (mode & 1) range++; if (distance (md->bl.x, md->bl.y, tbl->x, tbl->y) > range) @@ -1229,7 +1223,7 @@ int mob_spawn (int id) map_delblock (&md->bl); } else - md->class = md->base_class; + md->mob_class = md->base_class; md->bl.m = md->m; do @@ -1269,8 +1263,8 @@ int mob_spawn (int id) mob_init (md); if (!md->stats[MOB_SPEED]) - md->stats[MOB_SPEED] = mob_db[md->class].speed; - md->def_ele = mob_db[md->class].element; + md->stats[MOB_SPEED] = mob_db[md->mob_class].speed; + md->def_ele = mob_db[md->mob_class].element; md->master_id = 0; md->master_dist = 0; @@ -1314,7 +1308,7 @@ int mob_spawn (int id) md->hp = battle_get_max_hp (&md->bl); if (md->hp <= 0) { - mob_makedummymobdb (md->class); + mob_makedummymobdb (md->mob_class); md->hp = battle_get_max_hp (&md->bl); } @@ -1414,7 +1408,7 @@ int mob_can_reach (struct mob_data *md, struct block_list *bl, int range) //=========== guildcastle guardian no search start=========== //when players are the guild castle member not attack them ! - if (md->class == 1285 || md->class == 1286 || md->class == 1287) + if (md->mob_class == 1285 || md->mob_class == 1286 || md->mob_class == 1287) { struct map_session_data *sd; struct guild *g = NULL; @@ -1503,11 +1497,11 @@ int mob_target (struct mob_data *md, struct block_list *bl, int dist) sc_data = battle_get_sc_data (bl); option = battle_get_option (bl); - race = mob_db[md->class].race; + race = mob_db[md->mob_class].race; if (!md->mode) { - mode = mob_db[md->class].mode; + mode = mob_db[md->mob_class].mode; } else { @@ -1576,14 +1570,14 @@ static int mob_ai_sub_hard_activesearch (struct block_list *bl, va_list ap) return 0; if (!smd->mode) - mode = mob_db[smd->class].mode; + mode = mob_db[smd->mob_class].mode; else mode = smd->mode; // アクティブでターゲット射程内にいるなら、ロックする if (mode & 0x04) { - race = mob_db[smd->class].race; + race = mob_db[smd->mob_class].race; //対象がPCの場合 if (tsd && !pc_isdead (tsd) && @@ -1641,7 +1635,7 @@ static int mob_ai_sub_hard_lootsearch (struct block_list *bl, va_list ap) if (!md->mode) { - mode = mob_db[md->class].mode; + mode = mob_db[md->mob_class].mode; } else { @@ -1686,8 +1680,8 @@ static int mob_ai_sub_hard_linksearch (struct block_list *bl, va_list ap) nullpo_retr (0, target = va_arg (ap, struct block_list *)); // same family free in a range at a link monster -- it will be made to lock if MOB is -/* if( (md->target_id > 0 && md->state.targettype == ATTACKABLE) && mob_db[md->class].mode&0x08){ - if( tmd->class==md->class && (!tmd->target_id || md->state.targettype == NONE_ATTACKABLE) && tmd->bl.m == md->bl.m){ +/* if( (md->target_id > 0 && md->state.targettype == ATTACKABLE) && mob_db[md->mob_class].mode&0x08){ + if( tmd->mob_class==md->mob_class && (!tmd->target_id || md->state.targettype == NONE_ATTACKABLE) && tmd->bl.m == md->bl.m){ if( mob_can_reach(tmd,target,12) ){ // Reachability judging tmd->target_id=md->target_id; tmd->state.targettype = ATTACKABLE; @@ -1695,9 +1689,9 @@ static int mob_ai_sub_hard_linksearch (struct block_list *bl, va_list ap) } } }*/ - if (md->attacked_id > 0 && mob_db[md->class].mode & 0x08) + if (md->attacked_id > 0 && mob_db[md->mob_class].mode & 0x08) { - if (tmd->class == md->class && tmd->bl.m == md->bl.m + if (tmd->mob_class == md->mob_class && tmd->bl.m == md->bl.m && (!tmd->target_id || md->state.targettype == NONE_ATTACKABLE)) { if (mob_can_reach (tmd, target, 12)) @@ -1727,7 +1721,7 @@ static int mob_ai_sub_hard_slavemob (struct mob_data *md, unsigned int tick) if ((bl = map_id2bl (md->master_id)) != NULL) mmd = (struct mob_data *) bl; - mode = mob_db[md->class].mode; + mode = mob_db[md->mob_class].mode; // It is not main monster/leader. if (!mmd || mmd->bl.type != BL_MOB || mmd->bl.id != md->master_id) @@ -1821,7 +1815,7 @@ static int mob_ai_sub_hard_slavemob (struct mob_data *md, unsigned int tick) && !pc_isinvisible (sd)) { - race = mob_db[md->class].race; + race = mob_db[md->mob_class].race; if (mode & 0x20 || (sd->sc_data[SC_TRICKDEAD].timer == -1 && ((!pc_ishiding (sd) && !sd->state.gangsterparadise) @@ -1842,7 +1836,7 @@ static int mob_ai_sub_hard_slavemob (struct mob_data *md, unsigned int tick) struct map_session_data *sd=map_id2sd(md->target_id); if(sd!=NULL && !pc_isdead(sd) && sd->invincible_timer == -1 && !pc_isinvisible(sd)){ - race=mob_db[mmd->class].race; + race=mob_db[mmd->mob_class].race; if(mode&0x20 || (sd->sc_data[SC_TRICKDEAD].timer == -1 && (!(sd->status.option&0x06) || race==4 || race==6) @@ -1908,8 +1902,8 @@ static int mob_randomwalk (struct mob_data *md, int tick) { if (battle_config.error_log == 1) printf - ("MOB cant move. random spawn %d, class = %d\n", - md->bl.id, md->class); + ("MOB cant move. random spawn %d, mob_class = %d\n", + md->bl.id, md->mob_class); md->move_fail_count = 0; mob_spawn (md->bl.id); } @@ -1962,11 +1956,11 @@ static int mob_ai_sub_hard (struct block_list *bl, va_list ap) } if (!md->mode) - mode = mob_db[md->class].mode; + mode = mob_db[md->mob_class].mode; else mode = md->mode; - race = mob_db[md->class].race; + race = mob_db[md->mob_class].race; // Abnormalities if ((md->opt1 > 0 && md->opt1 != 6) || md->state.state == MS_DELAY @@ -2084,7 +2078,7 @@ static int mob_ai_sub_hard (struct block_list *bl, va_list ap) && race != 6))) mob_unlocktarget (md, tick); // スキルなどによる策敵妨害 else if (!battle_check_range - (&md->bl, tbl, mob_db[md->class].range)) + (&md->bl, tbl, mob_db[md->mob_class].range)) { // 攻撃範囲外なので移動 if (!(mode & 1)) @@ -2320,7 +2314,7 @@ static void mob_ai_hard (timer_id tid, tick_t tick, custom_id_t id, custom_data_ */ static void mob_ai_sub_lazy (db_key_t key, db_val_t data, va_list app) { - struct mob_data *md = data; + struct mob_data *md = (struct mob_data *)data; unsigned int tick; va_list ap; @@ -2348,7 +2342,7 @@ static void mob_ai_sub_lazy (db_key_t key, db_val_t data, va_list app) } if (DIFF_TICK (md->next_walktime, tick) < 0 && - (mob_db[md->class].mode & 1) && mob_can_move (md)) + (mob_db[md->mob_class].mode & 1) && mob_can_move (md)) { if (map[md->bl.m].users > 0) @@ -2361,8 +2355,8 @@ static void mob_ai_sub_lazy (db_key_t key, db_val_t data, va_list app) // MOB which is not not the summons MOB but BOSS, either sometimes reboils. else if (MRAND (1000) < MOB_LAZYWARPPERC && md->x0 <= 0 - && md->master_id != 0 && mob_db[md->class].mexp <= 0 - && !(mob_db[md->class].mode & 0x20)) + && md->master_id != 0 && mob_db[md->mob_class].mexp <= 0 + && !(mob_db[md->mob_class].mode & 0x20)) mob_spawn (md->bl.id); } @@ -2372,8 +2366,8 @@ static void mob_ai_sub_lazy (db_key_t key, db_val_t data, va_list app) // MOB which is not BOSS which is not Summons MOB, either -- a case -- sometimes -- leaping if (MRAND (1000) < MOB_LAZYWARPPERC && md->x0 <= 0 - && md->master_id != 0 && mob_db[md->class].mexp <= 0 - && !(mob_db[md->class].mode & 0x20)) + && md->master_id != 0 && mob_db[md->mob_class].mexp <= 0 + && !(mob_db[md->mob_class].mode & 0x20)) mob_warp (md, -1, -1, -1, -1); } @@ -2495,7 +2489,7 @@ int mob_delete (struct mob_data *md) mob_changestate (md, MS_DEAD, 0); clif_clearchar_area (&md->bl, 1); map_delblock (&md->bl); - if (mob_get_viewclass (md->class) <= 1000) + if (mob_get_viewclass (md->mob_class) <= 1000) clif_clearchar_delay (gettick () + 3000, &md->bl, 0); mob_deleteslave (md); mob_setdelayspawn (md->bl.id); @@ -2683,7 +2677,7 @@ int mob_damage (struct block_list *src, struct mob_data *md, int damage, { MAP_LOG_PC (((struct map_session_data *) master_bl), "MOB-TO-MOB-DMG FROM MOB%d %d TO MOB%d %d FOR %d", - md2->bl.id, md2->class, md->bl.id, md->class, + md2->bl.id, md2->mob_class, md->bl.id, md->mob_class, damage); } @@ -2720,7 +2714,7 @@ int mob_damage (struct block_list *src, struct mob_data *md, int damage, md->hp -= damage; - if (md->class >= 1285 && md->class <= 1287) + if (md->mob_class >= 1285 && md->mob_class <= 1287) { // guardian hp update [Valaris] struct guild_castle *gc = guild_mapname2gc (map[md->bl.m].name); if (gc) @@ -2812,7 +2806,7 @@ int mob_damage (struct block_list *src, struct mob_data *md, int damage, int skillidx = 0; if ((skillidx = - mob_skillid2skillidx (md->class, NPC_SELFDESTRUCTION2)) >= 0) + mob_skillid2skillidx (md->mob_class, NPC_SELFDESTRUCTION2)) >= 0) { md->mode |= 0x1; md->next_walktime = tick; @@ -2898,13 +2892,13 @@ int mob_damage (struct block_list *src, struct mob_data *md, int damage, continue; /* jAthena's exp formula per = ((double)md->dmglog[i].dmg)*(9.+(double)((count > 6)? 6:count))/10./((double)max_hp) * dmg_rate; - temp = ((double)mob_db[md->class].base_exp * (double)battle_config.base_exp_rate / 100. * per); + temp = ((double)mob_db[md->mob_class].base_exp * (double)battle_config.base_exp_rate / 100. * per); base_exp = (temp > 2147483647.)? 0x7fffffff:(int)temp; - if(mob_db[md->class].base_exp > 0 && base_exp < 1) base_exp = 1; + if(mob_db[md->mob_class].base_exp > 0 && base_exp < 1) base_exp = 1; if(base_exp < 0) base_exp = 0; - temp = ((double)mob_db[md->class].job_exp * (double)battle_config.job_exp_rate / 100. * per); + temp = ((double)mob_db[md->mob_class].job_exp * (double)battle_config.job_exp_rate / 100. * per); job_exp = (temp > 2147483647.)? 0x7fffffff:(int)temp; - if(mob_db[md->class].job_exp > 0 && job_exp < 1) job_exp = 1; + if(mob_db[md->mob_class].job_exp > 0 && job_exp < 1) job_exp = 1; if(job_exp < 0) job_exp = 0; */ //eAthena's exp formula rather than jAthena's @@ -2918,23 +2912,23 @@ int mob_damage (struct block_list *src, struct mob_data *md, int damage, per = 1; base_exp = - ((mob_db[md->class].base_exp * + ((mob_db[md->mob_class].base_exp * md->stats[MOB_XP_BONUS]) >> MOB_XP_BONUS_SHIFT) * per / 256; if (base_exp < 1) base_exp = 1; if (sd && md && battle_config.pk_mode == 1 - && (mob_db[md->class].lv - sd->status.base_level >= 20)) + && (mob_db[md->mob_class].lv - sd->status.base_level >= 20)) { base_exp *= 1.15; // pk_mode additional exp if monster >20 levels [Valaris] } if (md->state.special_mob_ai >= 1 && battle_config.alchemist_summon_reward != 1) base_exp = 0; // Added [Valaris] - job_exp = mob_db[md->class].job_exp * per / 256; + job_exp = mob_db[md->mob_class].job_exp * per / 256; if (job_exp < 1) job_exp = 1; if (sd && md && battle_config.pk_mode == 1 - && (mob_db[md->class].lv - sd->status.base_level >= 20)) + && (mob_db[md->mob_class].lv - sd->status.base_level >= 20)) { job_exp *= 1.15; // pk_mode additional exp if monster >20 levels [Valaris] } @@ -2986,22 +2980,22 @@ int mob_damage (struct block_list *src, struct mob_data *md, int damage, if (md->state.special_mob_ai >= 1 && battle_config.alchemist_summon_reward != 1) // Added [Valaris] break; // End - if (mob_db[md->class].dropitem[i].nameid <= 0) + if (mob_db[md->mob_class].dropitem[i].nameid <= 0) continue; - drop_rate = mob_db[md->class].dropitem[i].p; + drop_rate = mob_db[md->mob_class].dropitem[i].p; if (drop_rate <= 0 && battle_config.drop_rate0item == 1) drop_rate = 1; if (battle_config.drops_by_luk > 0 && sd && md) drop_rate += (sd->status.luk * battle_config.drops_by_luk) / 100; // drops affected by luk [Valaris] if (sd && md && battle_config.pk_mode == 1 - && (mob_db[md->class].lv - sd->status.base_level >= 20)) + && (mob_db[md->mob_class].lv - sd->status.base_level >= 20)) drop_rate *= 1.25; // pk_mode increase drops if 20 level difference [Valaris] if (drop_rate <= MRAND (10000)) continue; ditem = (struct delay_item_drop *) calloc (1, sizeof (struct delay_item_drop)); - ditem->nameid = mob_db[md->class].dropitem[i].nameid; + ditem->nameid = mob_db[md->mob_class].dropitem[i].nameid; ditem->amount = 1; ditem->m = md->bl.m; ditem->x = md->bl.x; @@ -3020,9 +3014,9 @@ int mob_damage (struct block_list *src, struct mob_data *md, int damage, if (sd->monster_drop_itemid[i] <= 0) continue; if (sd->monster_drop_race[i] & (1 << race) || - (mob_db[md->class].mode & 0x20 + (mob_db[md->mob_class].mode & 0x20 && sd->monster_drop_race[i] & 1 << 10) - || (!(mob_db[md->class].mode & 0x20) + || (!(mob_db[md->mob_class].mode & 0x20) && sd->monster_drop_race[i] & 1 << 11)) { if (sd->monster_drop_itemrate[i] <= MRAND (10000)) @@ -3044,7 +3038,7 @@ int mob_damage (struct block_list *src, struct mob_data *md, int damage, } if (sd->get_zeny_num > 0) pc_getzeny (sd, - mob_db[md->class].lv * 10 + + mob_db[md->mob_class].lv * 10 + MRAND ((sd->get_zeny_num + 1))); } if (md->lootitem) @@ -3070,7 +3064,7 @@ int mob_damage (struct block_list *src, struct mob_data *md, int damage, } // mvp処理 - if (mvp_sd && mob_db[md->class].mexp > 0) + if (mvp_sd && mob_db[md->mob_class].mexp > 0) { int j; int mexp = battle_get_mexp (&md->bl); @@ -3086,9 +3080,9 @@ int mob_damage (struct block_list *src, struct mob_data *md, int damage, for (j = 0; j < 3; j++) { i = MRAND (3); - if (mob_db[md->class].mvpitem[i].nameid <= 0) + if (mob_db[md->mob_class].mvpitem[i].nameid <= 0) continue; - drop_rate = mob_db[md->class].mvpitem[i].p; + drop_rate = mob_db[md->mob_class].mvpitem[i].p; if (drop_rate <= 0 && battle_config.drop_rate0item == 1) drop_rate = 1; if (drop_rate < battle_config.item_drop_mvp_min) @@ -3098,7 +3092,7 @@ int mob_damage (struct block_list *src, struct mob_data *md, int damage, if (drop_rate <= MRAND (10000)) continue; memset (&item, 0, sizeof (item)); - item.nameid = mob_db[md->class].mvpitem[i].nameid; + item.nameid = mob_db[md->mob_class].mvpitem[i].nameid; item.identify = !itemdb_isequip3 (item.nameid); clif_mvp_item (mvp_sd, item.nameid); if (mvp_sd->weight * 2 > mvp_sd->max_weight) @@ -3141,7 +3135,7 @@ int mob_damage (struct block_list *src, struct mob_data *md, int damage, int i; for (i = 0; i < fd_max; i++) { - if (session[i] && (tmpsd = session[i]->session_data) + if (session[i] && (tmpsd = (struct map_session_data *)session[i]->session_data) && tmpsd->state.auth) { if (md->bl.m == tmpsd->bl.m) @@ -3159,7 +3153,7 @@ int mob_damage (struct block_list *src, struct mob_data *md, int damage, clif_clearchar_area (&md->bl, 1); map_delblock (&md->bl); - if (mob_get_viewclass (md->class) <= 1000) + if (mob_get_viewclass (md->mob_class) <= 1000) clif_clearchar_delay (tick + 3000, &md->bl, 0); mob_deleteslave (md); mob_setdelayspawn (md->bl.id); @@ -3175,7 +3169,7 @@ int mob_damage (struct block_list *src, struct mob_data *md, int damage, int mob_class_change (struct mob_data *md, int *value) { unsigned int tick = gettick (); - int i, c, hp_rate, max_hp, class, count = 0; + int i, c, hp_rate, max_hp, mob_class, count = 0; nullpo_retr (0, md); nullpo_retr (0, value); @@ -3190,14 +3184,14 @@ int mob_class_change (struct mob_data *md, int *value) if (count < 1) return 0; - class = value[MRAND (count)]; - if (class <= 1000 || class > 2000) + mob_class = value[MRAND (count)]; + if (mob_class <= 1000 || mob_class > 2000) return 0; max_hp = battle_get_max_hp (&md->bl); hp_rate = md->hp * 100 / max_hp; - clif_mob_class_change (md, class); - md->class = class; + clif_mob_class_change (md, mob_class); + md->mob_class = mob_class; max_hp = battle_get_max_hp (&md->bl); if (battle_config.monster_class_change_full_recover == 1) { @@ -3211,14 +3205,14 @@ int mob_class_change (struct mob_data *md, int *value) else if (md->hp < 1) md->hp = 1; - memcpy (md->name, mob_db[class].jname, 24); + memcpy (md->name, mob_db[mob_class].jname, 24); memset (&md->state, 0, sizeof (md->state)); md->attacked_id = 0; md->target_id = 0; md->move_fail_count = 0; - md->stats[MOB_SPEED] = mob_db[md->class].speed; - md->def_ele = mob_db[md->class].element; + md->stats[MOB_SPEED] = mob_db[md->mob_class].speed; + md->def_ele = mob_db[md->mob_class].element; mob_changestate (md, MS_IDLE, 0); skill_castcancel (&md->bl, 0); @@ -3234,7 +3228,7 @@ int mob_class_change (struct mob_data *md, int *value) md->skillid = 0; md->skilllv = 0; - if (md->lootitem == NULL && mob_db[class].mode & 0x02) + if (md->lootitem == NULL && mob_db[mob_class].mode & 0x02) md->lootitem = (struct item *) calloc (LOOTITEM_SIZE, sizeof (struct item)); @@ -3261,7 +3255,7 @@ int mob_heal (struct mob_data *md, int heal) if (max_hp < md->hp) md->hp = max_hp; - if (md->class >= 1285 && md->class <= 1287) + if (md->mob_class >= 1285 && md->mob_class <= 1287) { // guardian hp update [Valaris] struct guild_castle *gc = guild_mapname2gc (map[md->bl.m].name); if (gc) @@ -3375,7 +3369,7 @@ int mob_warp (struct mob_data *md, int m, int x, int y, int type) { m = md->bl.m; if (battle_config.error_log == 1) - printf ("MOB %d warp failed, class = %d\n", md->bl.id, md->class); + printf ("MOB %d warp failed, mob_class = %d\n", md->bl.id, md->mob_class); } md->target_id = 0; // タゲを解除する @@ -3387,8 +3381,8 @@ int mob_warp (struct mob_data *md, int m, int x, int y, int type) if (type > 0 && i == 1000) { if (battle_config.battle_log == 1) - printf ("MOB %d warp to (%d,%d), class = %d\n", md->bl.id, x, y, - md->class); + printf ("MOB %d warp to (%d,%d), mob_class = %d\n", md->bl.id, x, y, + md->mob_class); } map_addblock (&md->bl); @@ -3445,7 +3439,7 @@ int mob_countslave (struct mob_data *md) int mob_summonslave (struct mob_data *md2, int *value, int amount, int flag) { struct mob_data *md; - int bx, by, m, count = 0, class, k, a = amount; + int bx, by, m, count = 0, mob_class, k, a = amount; nullpo_retr (0, md2); nullpo_retr (0, value); @@ -3464,14 +3458,14 @@ int mob_summonslave (struct mob_data *md2, int *value, int amount, int flag) for (k = 0; k < count; k++) { amount = a; - class = value[k]; - if (class <= 1000 || class > 2000) + mob_class = value[k]; + if (mob_class <= 1000 || mob_class > 2000) continue; for (; amount > 0; amount--) { int x = 0, y = 0, c = 0, i = 0; md = (struct mob_data *) calloc (1, sizeof (struct mob_data)); - if (mob_db[class].mode & 0x02) + if (mob_db[mob_class].mode & 0x02) md->lootitem = (struct item *) calloc (LOOTITEM_SIZE, sizeof (struct item)); else @@ -3489,7 +3483,7 @@ int mob_summonslave (struct mob_data *md2, int *value, int amount, int flag) y = by; } - mob_spawn_dataset (md, "--ja--", class); + mob_spawn_dataset (md, "--ja--", mob_class); md->bl.prev = NULL; md->bl.next = NULL; md->bl.m = m; @@ -3577,15 +3571,15 @@ int mob_counttargeted (struct mob_data *md, struct block_list *src, *MOBskillから該当skillidのskillidxを返す *------------------------------------------ */ -int mob_skillid2skillidx (int class, int skillid) +int mob_skillid2skillidx (int mob_class, int skillid) { int i; - struct mob_skill *ms = mob_db[class].skill; + struct mob_skill *ms = mob_db[mob_class].skill; if (ms == NULL) return -1; - for (i = 0; i < mob_db[class].maxskill; i++) + for (i = 0; i < mob_db[mob_class].maxskill; i++) { if (ms[i].skill_id == skillid) return i; @@ -3677,8 +3671,8 @@ void mobskill_castend_id (timer_id tid, tick_t tick, custom_id_t id, custom_data md->skilldelay[md->skillidx] = tick; if (battle_config.mob_skill_log == 1) - printf ("MOB skill castend skill=%d, class = %d\n", md->skillid, - md->class); + printf ("MOB skill castend skill=%d, mob_class = %d\n", md->skillid, + md->mob_class); mob_stop_walking (md, 0); switch (skill_get_nk (md->skillid)) @@ -3690,7 +3684,7 @@ void mobskill_castend_id (timer_id tid, tick_t tick, custom_id_t id, custom_data tick, 0); break; case 1: // 支援系 - if (!mob_db[md->class].skill[md->skillidx].val[0] && + if (!mob_db[md->mob_class].skill[md->skillidx].val[0] && (md->skillid == AL_HEAL || (md->skillid == ALL_RESURRECTION && bl->type != BL_PC)) && battle_check_undead (battle_get_race (bl), @@ -3829,8 +3823,8 @@ void mobskill_castend_pos (timer_id tid, tick_t tick, custom_id_t id, custom_dat md->skilldelay[md->skillidx] = tick; if (battle_config.mob_skill_log == 1) - printf ("MOB skill castend skill=%d, class = %d\n", md->skillid, - md->class); + printf ("MOB skill castend skill=%d, mob_class = %d\n", md->skillid, + md->mob_class); mob_stop_walking (md, 0); skill_castend_pos2 (&md->bl, md->skillx, md->skilly, md->skillid, @@ -3851,7 +3845,7 @@ int mobskill_use_id (struct mob_data *md, struct block_list *target, int skill_id, skill_lv, forcecast = 0; nullpo_retr (0, md); - nullpo_retr (0, ms = &mob_db[md->class].skill[skill_idx]); + nullpo_retr (0, ms = &mob_db[md->mob_class].skill[skill_idx]); if (target == NULL && (target = map_id2bl (md->target_id)) == NULL) return 0; @@ -3928,8 +3922,8 @@ int mobskill_use_id (struct mob_data *md, struct block_list *target, if (battle_config.mob_skill_log == 1) printf - ("MOB skill use target_id=%d skill=%d lv=%d cast=%d, class = %d\n", - target->id, skill_id, skill_lv, casttime, md->class); + ("MOB skill use target_id=%d skill=%d lv=%d cast=%d, mob_class = %d\n", + target->id, skill_id, skill_lv, casttime, md->mob_class); if (casttime > 0 || forcecast) { // 詠唱が必要 @@ -3938,7 +3932,7 @@ int mobskill_use_id (struct mob_data *md, struct block_list *target, md->bl.id, target->id, 0, 0, skill_id, casttime); // 詠唱反応モンスター -/* if( target->type==BL_MOB && mob_db[(md2=(struct mob_data *)target)->class].mode&0x10 && +/* if( target->type==BL_MOB && mob_db[(md2=(struct mob_data *)target)->mob_class].mode&0x10 && md2->state.state!=MS_ATTACK){ md2->target_id=md->bl.id; md->state.targettype = ATTACKABLE; @@ -3988,7 +3982,7 @@ int mobskill_use_pos (struct mob_data *md, int skill_id, skill_lv; nullpo_retr (0, md); - nullpo_retr (0, ms = &mob_db[md->class].skill[skill_idx]); + nullpo_retr (0, ms = &mob_db[md->mob_class].skill[skill_idx]); if (md->bl.prev == NULL) return 0; @@ -4038,8 +4032,8 @@ int mobskill_use_pos (struct mob_data *md, if (battle_config.mob_skill_log == 1) printf - ("MOB skill use target_pos=(%d,%d) skill=%d lv=%d cast=%d, class = %d\n", - skill_x, skill_y, skill_id, skill_lv, casttime, md->class); + ("MOB skill use target_pos=(%d,%d) skill=%d lv=%d cast=%d, mob_class = %d\n", + skill_x, skill_y, skill_id, skill_lv, casttime, md->mob_class); if (casttime > 0) // A cast time is required. clif_skillcasting (&md->bl, @@ -4092,7 +4086,7 @@ int mob_getfriendhpltmaxrate_sub (struct block_list *bl, va_list ap) return 0; rate = va_arg (ap, int); fr = va_arg (ap, struct mob_data **); - if (md->hp < mob_db[md->class].max_hp * rate / 100) + if (md->hp < mob_db[md->mob_class].max_hp * rate / 100) (*fr) = md; return 0; } @@ -4171,7 +4165,7 @@ int mobskill_use (struct mob_data *md, unsigned int tick, int event) int i, max_hp; nullpo_retr (0, md); - nullpo_retr (0, ms = mob_db[md->class].skill); + nullpo_retr (0, ms = mob_db[md->mob_class].skill); max_hp = battle_get_max_hp (&md->bl); @@ -4184,7 +4178,7 @@ int mobskill_use (struct mob_data *md, unsigned int tick, int event) if (md->sc_data[SC_SELFDESTRUCTION].timer != -1) //自爆中はスキルを使わない return 0; - for (i = 0; i < mob_db[md->class].maxskill; i++) + for (i = 0; i < mob_db[md->mob_class].maxskill; i++) { int c2 = ms[i].cond2, flag = 0; struct mob_data *fmd = NULL; @@ -4402,20 +4396,20 @@ int mob_gvmobcheck (struct map_session_data *sd, struct block_list *bl) nullpo_retr (0, bl); if (bl->type == BL_MOB && (md = (struct mob_data *) bl) && - (md->class == 1288 || md->class == 1287 || md->class == 1286 - || md->class == 1285)) + (md->mob_class == 1288 || md->mob_class == 1287 || md->mob_class == 1286 + || md->mob_class == 1285)) { struct guild_castle *gc = guild_mapname2gc (map[sd->bl.m].name); struct guild *g = guild_search (sd->status.guild_id); - if (g == NULL && md->class == 1288) + if (g == NULL && md->mob_class == 1288) return 0; //ギルド未加入ならダメージ無し else if (gc != NULL && !map[sd->bl.m].flag.gvg) return 0; //砦内でGvじゃないときはダメージなし else if (g && gc != NULL && g->guild_id == gc->guild_id) return 0; //自占領ギルドのエンペならダメージ無し else if (g && guild_checkskill (g, GD_APPROVAL) <= 0 - && md->class == 1288) + && md->mob_class == 1288) return 0; //正規ギルド承認がないとダメージ無し } @@ -4449,55 +4443,55 @@ int mobskill_deltimer (struct mob_data *md) * Since un-setting [ mob ] up was used, it is an initial provisional value setup. *------------------------------------------ */ -static int mob_makedummymobdb (int class) +static int mob_makedummymobdb (int mob_class) { int i; - sprintf (mob_db[class].name, "mob%d", class); - sprintf (mob_db[class].jname, "mob%d", class); - mob_db[class].lv = 1; - mob_db[class].max_hp = 1000; - mob_db[class].max_sp = 1; - mob_db[class].base_exp = 2; - mob_db[class].job_exp = 1; - mob_db[class].range = 1; - mob_db[class].atk1 = 7; - mob_db[class].atk2 = 10; - mob_db[class].def = 0; - mob_db[class].mdef = 0; - mob_db[class].str = 1; - mob_db[class].agi = 1; - mob_db[class].vit = 1; - mob_db[class].int_ = 1; - mob_db[class].dex = 6; - mob_db[class].luk = 2; - mob_db[class].range2 = 10; - mob_db[class].range3 = 10; - mob_db[class].size = 0; - mob_db[class].race = 0; - mob_db[class].element = 0; - mob_db[class].mode = 0; - mob_db[class].speed = 300; - mob_db[class].adelay = 1000; - mob_db[class].amotion = 500; - mob_db[class].dmotion = 500; - mob_db[class].dropitem[0].nameid = 909; // Jellopy - mob_db[class].dropitem[0].p = 1000; + sprintf (mob_db[mob_class].name, "mob%d", mob_class); + sprintf (mob_db[mob_class].jname, "mob%d", mob_class); + mob_db[mob_class].lv = 1; + mob_db[mob_class].max_hp = 1000; + mob_db[mob_class].max_sp = 1; + mob_db[mob_class].base_exp = 2; + mob_db[mob_class].job_exp = 1; + mob_db[mob_class].range = 1; + mob_db[mob_class].atk1 = 7; + mob_db[mob_class].atk2 = 10; + mob_db[mob_class].def = 0; + mob_db[mob_class].mdef = 0; + mob_db[mob_class].str = 1; + mob_db[mob_class].agi = 1; + mob_db[mob_class].vit = 1; + mob_db[mob_class].int_ = 1; + mob_db[mob_class].dex = 6; + mob_db[mob_class].luk = 2; + mob_db[mob_class].range2 = 10; + mob_db[mob_class].range3 = 10; + mob_db[mob_class].size = 0; + mob_db[mob_class].race = 0; + mob_db[mob_class].element = 0; + mob_db[mob_class].mode = 0; + mob_db[mob_class].speed = 300; + mob_db[mob_class].adelay = 1000; + mob_db[mob_class].amotion = 500; + mob_db[mob_class].dmotion = 500; + mob_db[mob_class].dropitem[0].nameid = 909; // Jellopy + mob_db[mob_class].dropitem[0].p = 1000; for (i = 1; i < 8; i++) { - mob_db[class].dropitem[i].nameid = 0; - mob_db[class].dropitem[i].p = 0; + mob_db[mob_class].dropitem[i].nameid = 0; + mob_db[mob_class].dropitem[i].p = 0; } // Item1,Item2 - mob_db[class].mexp = 0; - mob_db[class].mexpper = 0; + mob_db[mob_class].mexp = 0; + mob_db[mob_class].mexpper = 0; for (i = 0; i < 3; i++) { - mob_db[class].mvpitem[i].nameid = 0; - mob_db[class].mvpitem[i].p = 0; + mob_db[mob_class].mvpitem[i].nameid = 0; + mob_db[mob_class].mvpitem[i].p = 0; } for (i = 0; i < MAX_RANDOMMONSTER; i++) - mob_db[class].summonper[i] = 0; + mob_db[mob_class].summonper[i] = 0; return 0; } @@ -4526,7 +4520,7 @@ static int mob_readdb (void) } while (fgets (line, 1020, fp)) { - int class, i; + int mob_class, i; char *str[57], *p, *np; if (line[0] == '/' && line[1] == '/') @@ -4546,68 +4540,68 @@ static int mob_readdb (void) str[i] = p; } - class = atoi (str[0]); - if (class <= 1000 || class > 2000) + mob_class = atoi (str[0]); + if (mob_class <= 1000 || mob_class > 2000) continue; - mob_db[class].view_class = class; - memcpy (mob_db[class].name, str[1], 24); - memcpy (mob_db[class].jname, str[2], 24); - mob_db[class].lv = atoi (str[3]); - mob_db[class].max_hp = atoi (str[4]); - mob_db[class].max_sp = atoi (str[5]); - - mob_db[class].base_exp = atoi (str[6]); - if (mob_db[class].base_exp < 0) - mob_db[class].base_exp = 0; - else if (mob_db[class].base_exp > 0 - && (mob_db[class].base_exp * + mob_db[mob_class].view_class = mob_class; + memcpy (mob_db[mob_class].name, str[1], 24); + memcpy (mob_db[mob_class].jname, str[2], 24); + mob_db[mob_class].lv = atoi (str[3]); + mob_db[mob_class].max_hp = atoi (str[4]); + mob_db[mob_class].max_sp = atoi (str[5]); + + mob_db[mob_class].base_exp = atoi (str[6]); + if (mob_db[mob_class].base_exp < 0) + mob_db[mob_class].base_exp = 0; + else if (mob_db[mob_class].base_exp > 0 + && (mob_db[mob_class].base_exp * battle_config.base_exp_rate / 100 > 1000000000 - || mob_db[class].base_exp * + || mob_db[mob_class].base_exp * battle_config.base_exp_rate / 100 < 0)) - mob_db[class].base_exp = 1000000000; + mob_db[mob_class].base_exp = 1000000000; else - mob_db[class].base_exp *= battle_config.base_exp_rate / 100; + mob_db[mob_class].base_exp *= battle_config.base_exp_rate / 100; - mob_db[class].job_exp = atoi (str[7]); - if (mob_db[class].job_exp < 0) - mob_db[class].job_exp = 0; - else if (mob_db[class].job_exp > 0 - && (mob_db[class].job_exp * battle_config.job_exp_rate / + mob_db[mob_class].job_exp = atoi (str[7]); + if (mob_db[mob_class].job_exp < 0) + mob_db[mob_class].job_exp = 0; + else if (mob_db[mob_class].job_exp > 0 + && (mob_db[mob_class].job_exp * battle_config.job_exp_rate / 100 > 1000000000 - || mob_db[class].job_exp * + || mob_db[mob_class].job_exp * battle_config.job_exp_rate / 100 < 0)) - mob_db[class].job_exp = 1000000000; + mob_db[mob_class].job_exp = 1000000000; else - mob_db[class].job_exp *= battle_config.job_exp_rate / 100; - - mob_db[class].range = atoi (str[8]); - mob_db[class].atk1 = atoi (str[9]); - mob_db[class].atk2 = atoi (str[10]); - mob_db[class].def = atoi (str[11]); - mob_db[class].mdef = atoi (str[12]); - mob_db[class].str = atoi (str[13]); - mob_db[class].agi = atoi (str[14]); - mob_db[class].vit = atoi (str[15]); - mob_db[class].int_ = atoi (str[16]); - mob_db[class].dex = atoi (str[17]); - mob_db[class].luk = atoi (str[18]); - mob_db[class].range2 = atoi (str[19]); - mob_db[class].range3 = atoi (str[20]); - mob_db[class].size = atoi (str[21]); - mob_db[class].race = atoi (str[22]); - mob_db[class].element = atoi (str[23]); - mob_db[class].mode = atoi (str[24]); - mob_db[class].speed = atoi (str[25]); - mob_db[class].adelay = atoi (str[26]); - mob_db[class].amotion = atoi (str[27]); - mob_db[class].dmotion = atoi (str[28]); + mob_db[mob_class].job_exp *= battle_config.job_exp_rate / 100; + + mob_db[mob_class].range = atoi (str[8]); + mob_db[mob_class].atk1 = atoi (str[9]); + mob_db[mob_class].atk2 = atoi (str[10]); + mob_db[mob_class].def = atoi (str[11]); + mob_db[mob_class].mdef = atoi (str[12]); + mob_db[mob_class].str = atoi (str[13]); + mob_db[mob_class].agi = atoi (str[14]); + mob_db[mob_class].vit = atoi (str[15]); + mob_db[mob_class].int_ = atoi (str[16]); + mob_db[mob_class].dex = atoi (str[17]); + mob_db[mob_class].luk = atoi (str[18]); + mob_db[mob_class].range2 = atoi (str[19]); + mob_db[mob_class].range3 = atoi (str[20]); + mob_db[mob_class].size = atoi (str[21]); + mob_db[mob_class].race = atoi (str[22]); + mob_db[mob_class].element = atoi (str[23]); + mob_db[mob_class].mode = atoi (str[24]); + mob_db[mob_class].speed = atoi (str[25]); + mob_db[mob_class].adelay = atoi (str[26]); + mob_db[mob_class].amotion = atoi (str[27]); + mob_db[mob_class].dmotion = atoi (str[28]); for (i = 0; i < 8; i++) { int rate = 0, type, ratemin, ratemax; - mob_db[class].dropitem[i].nameid = atoi (str[29 + i * 2]); - type = itemdb_type (mob_db[class].dropitem[i].nameid); + mob_db[mob_class].dropitem[i].nameid = atoi (str[29 + i * 2]); + type = itemdb_type (mob_db[mob_class].dropitem[i].nameid); if (type == 0) { // Added [Valaris] rate = battle_config.item_rate_heal; @@ -4642,38 +4636,38 @@ static int mob_readdb (void) rate = (rate < ratemin) ? ratemin : (rate > ratemax) ? ratemax : rate; - mob_db[class].dropitem[i].p = rate; + mob_db[mob_class].dropitem[i].p = rate; } // Item1,Item2 - mob_db[class].mexp = + mob_db[mob_class].mexp = atoi (str[45]) * battle_config.mvp_exp_rate / 100; - mob_db[class].mexpper = atoi (str[46]); + mob_db[mob_class].mexpper = atoi (str[46]); for (i = 0; i < 3; i++) { - mob_db[class].mvpitem[i].nameid = atoi (str[47 + i * 2]); - mob_db[class].mvpitem[i].p = + mob_db[mob_class].mvpitem[i].nameid = atoi (str[47 + i * 2]); + mob_db[mob_class].mvpitem[i].p = atoi (str[48 + i * 2]) * battle_config.mvp_item_rate / 100; } - mob_db[class].mutations_nr = atoi (str[55]); - mob_db[class].mutation_power = atoi (str[56]); + mob_db[mob_class].mutations_nr = atoi (str[55]); + mob_db[mob_class].mutation_power = atoi (str[56]); for (i = 0; i < MAX_RANDOMMONSTER; i++) - mob_db[class].summonper[i] = 0; - mob_db[class].maxskill = 0; - - mob_db[class].sex = 0; - mob_db[class].hair = 0; - mob_db[class].hair_color = 0; - mob_db[class].weapon = 0; - mob_db[class].shield = 0; - mob_db[class].head_top = 0; - mob_db[class].head_mid = 0; - mob_db[class].head_buttom = 0; - mob_db[class].clothes_color = 0; //Add for player monster dye - Valaris - - if (mob_db[class].base_exp == 0) - mob_db[class].base_exp = mob_gen_exp (&mob_db[class]); + mob_db[mob_class].summonper[i] = 0; + mob_db[mob_class].maxskill = 0; + + mob_db[mob_class].sex = 0; + mob_db[mob_class].hair = 0; + mob_db[mob_class].hair_color = 0; + mob_db[mob_class].weapon = 0; + mob_db[mob_class].shield = 0; + mob_db[mob_class].head_top = 0; + mob_db[mob_class].head_mid = 0; + mob_db[mob_class].head_buttom = 0; + mob_db[mob_class].clothes_color = 0; //Add for player monster dye - Valaris + + if (mob_db[mob_class].base_exp == 0) + mob_db[mob_class].base_exp = mob_gen_exp (&mob_db[mob_class]); } fclose_ (fp); printf ("read %s done\n", filename[i]); @@ -4690,7 +4684,7 @@ static int mob_readdb_mobavail (void) FILE *fp; char line[1024]; int ln = 0; - int class, j, k; + int mob_class, j, k; char *str[20], *p, *np; if ((fp = fopen_ ("db/mob_avail.txt", "r")) == NULL) @@ -4720,31 +4714,31 @@ static int mob_readdb_mobavail (void) if (str[0] == NULL) continue; - class = atoi (str[0]); + mob_class = atoi (str[0]); - if (class <= 1000 || class > 2000) // 値が異常なら処理しない。 + if (mob_class <= 1000 || mob_class > 2000) // 値が異常なら処理しない。 continue; k = atoi (str[1]); if (k >= 0) - mob_db[class].view_class = k; + mob_db[mob_class].view_class = k; - if ((mob_db[class].view_class < 24) - || (mob_db[class].view_class > 4000)) + if ((mob_db[mob_class].view_class < 24) + || (mob_db[mob_class].view_class > 4000)) { - mob_db[class].sex = atoi (str[2]); - mob_db[class].hair = atoi (str[3]); - mob_db[class].hair_color = atoi (str[4]); - mob_db[class].weapon = atoi (str[5]); - mob_db[class].shield = atoi (str[6]); - mob_db[class].head_top = atoi (str[7]); - mob_db[class].head_mid = atoi (str[8]); - mob_db[class].head_buttom = atoi (str[9]); - mob_db[class].option = atoi (str[10]) & ~0x46; - mob_db[class].clothes_color = atoi (str[11]); // Monster player dye option - Valaris + mob_db[mob_class].sex = atoi (str[2]); + mob_db[mob_class].hair = atoi (str[3]); + mob_db[mob_class].hair_color = atoi (str[4]); + mob_db[mob_class].weapon = atoi (str[5]); + mob_db[mob_class].shield = atoi (str[6]); + mob_db[mob_class].head_top = atoi (str[7]); + mob_db[mob_class].head_mid = atoi (str[8]); + mob_db[mob_class].head_buttom = atoi (str[9]); + mob_db[mob_class].option = atoi (str[10]) & ~0x46; + mob_db[mob_class].clothes_color = atoi (str[11]); // Monster player dye option - Valaris } else if (atoi (str[2]) > 0) - mob_db[class].equip = atoi (str[2]); // mob equipment [Valaris] + mob_db[mob_class].equip = atoi (str[2]); // mob equipment [Valaris] ln++; } @@ -4781,7 +4775,7 @@ static int mob_read_randommonster (void) } while (fgets (line, 1020, fp)) { - int class, per; + int mob_class, per; if (line[0] == '/' && line[1] == '/') continue; memset (str, 0, sizeof (str)); @@ -4796,10 +4790,10 @@ static int mob_read_randommonster (void) if (str[0] == NULL || str[2] == NULL) continue; - class = atoi (str[0]); + mob_class = atoi (str[0]); per = atoi (str[2]); - if ((class > 1000 && class <= 2000) || class == 0) - mob_db[class].summonper[i] = per; + if ((mob_class > 1000 && mob_class <= 2000) || mob_class == 0) + mob_db[mob_class].summonper[i] = per; } fclose_ (fp); printf ("read %s done\n", mobfile[i]); diff --git a/src/map/mob.h b/src/map/mob.h index aff305b..b5d642a 100644 --- a/src/map/mob.h +++ b/src/map/mob.h @@ -96,14 +96,14 @@ enum int mobdb_searchname (const char *str); int mobdb_checkid (const int id); int mob_once_spawn (struct map_session_data *sd, char *mapname, - int x, int y, const char *mobname, int class, int amount, + int x, int y, const char *mobname, int class_, int amount, const char *event); int mob_once_spawn_area (struct map_session_data *sd, char *mapname, int x0, int y0, int x1, int y1, const char *mobname, - int class, int amount, const char *event); + int class_, int amount, const char *event); int mob_spawn_guardian (struct map_session_data *sd, char *mapname, // Spawning Guardians [Valaris] - int x, int y, const char *mobname, int class, int amount, const char *event, int guardian); // Spawning Guardians [Valaris] + int x, int y, const char *mobname, int class_, int amount, const char *event, int guardian); // Spawning Guardians [Valaris] int mob_walktoxy (struct mob_data *md, int x, int y, int easy); diff --git a/src/map/npc.c b/src/map/npc.c index a4e1cf1..a925430 100644 --- a/src/map/npc.c +++ b/src/map/npc.c @@ -85,7 +85,7 @@ int npc_enable_sub (struct block_list *bl, va_list ap) int npc_enable (const char *name, int flag) { - struct npc_data *nd = strdb_search (npcname_db, name); + struct npc_data *nd = (struct npc_data *)strdb_search (npcname_db, name); if (nd == NULL) return 0; @@ -125,7 +125,7 @@ int npc_enable (const char *name, int flag) */ struct npc_data *npc_name2id (const char *name) { - return strdb_search (npcname_db, name); + return (struct npc_data *)strdb_search (npcname_db, name); } /*========================================== @@ -184,7 +184,7 @@ void npc_event_timer (timer_id tid, tick_t tick, custom_id_t id, custom_data_t d int npc_timer_event (const char *eventname) // Added by RoVeRT { - struct event_data *ev = strdb_search (ev_db, eventname); + struct event_data *ev = (struct event_data *)strdb_search (ev_db, eventname); struct npc_data *nd; // int xs,ys; @@ -261,14 +261,9 @@ int npc_event_export (void *key, void *data, va_list ap) char *buf; char *p = strchr (lname, ':'); // エクスポートされる - ev = calloc (sizeof (struct event_data), 1); - buf = calloc (50, 1); - if (ev == NULL || buf == NULL) - { - printf ("npc_event_export: out of memory !\n"); - exit (1); - } - else if (p == NULL || (p - lname) > 24) + CREATE (ev, struct event_data, 1); + CREATE (buf, char, 50); + if (p == NULL || (p - lname) > 24) { printf ("npc_event_export: label name error !\n"); exit (1); @@ -428,12 +423,8 @@ int npc_addeventtimer (struct npc_data *nd, int tick, const char *name) break; if (i < MAX_EVENTTIMER) { - char *evname = malloc (24); - if (evname == NULL) - { - printf ("npc_addeventtimer: out of memory !\n"); - exit (1); - } + char *evname; + CREATE (evname, char, 24); memcpy (evname, name, 24); nd->eventtimer[i] = add_timer (gettick () + tick, npc_event_timer, nd->bl.id, @@ -529,15 +520,7 @@ int npc_timerevent_import (void *key, void *data, va_list ap) // タイマーイベント struct npc_timerevent_list *te = nd->u.scr.timer_event; int j, i = nd->u.scr.timeramount; - if (te == NULL) - te = malloc (sizeof (struct npc_timerevent_list)); - else - te = realloc (te, sizeof (struct npc_timerevent_list) * (i + 1)); - if (te == NULL) - { - printf ("npc_timerevent_import: out of memory !\n"); - exit (1); - } + RECREATE (te, struct npc_timerevent_list, i+1); for (j = 0; j < i; j++) { if (te[j].timer > t) @@ -677,7 +660,7 @@ int npc_settimerevent_tick (struct npc_data *nd, int newtimer) int npc_event (struct map_session_data *sd, const char *eventname, int mob_kill) { - struct event_data *ev = strdb_search (ev_db, eventname); + struct event_data *ev = (struct event_data *)strdb_search (ev_db, eventname); struct npc_data *nd; int xs, ys; char mobevent[100]; @@ -697,7 +680,7 @@ int npc_event (struct map_session_data *sd, const char *eventname, { strcpy (mobevent, eventname); strcat (mobevent, "::OnMyMobDead"); - ev = strdb_search (ev_db, mobevent); + ev = (struct event_data *)strdb_search (ev_db, mobevent); if (ev == NULL || (nd = ev->nd) == NULL) { if (strncasecmp (eventname, "GM_MONSTER", 10) != 0) @@ -847,7 +830,7 @@ int npc_touch_areanpc (struct map_session_data *sd, int m, int x, int y) case MESSAGE: case SCRIPT: { - char *name = calloc (50, 1); + char *name = (char *)malloc (50); memcpy (name, map[m].npc[i]->name, 50); if (sd->areanpc_id == map[m].npc[i]->bl.id) @@ -880,7 +863,7 @@ int npc_checknear (struct map_session_data *sd, int id) return 1; } - if (nd->class < 0) // イベント系は常にOK + if (nd->npc_class < 0) // イベント系は常にOK return 0; // エリア判定 @@ -1019,7 +1002,7 @@ int npc_buylist (struct map_session_data *sd, int n, { struct npc_data *nd; double z; - int i, j, w, skill, itemamount = 0, new = 0; + int i, j, w, skill, itemamount = 0, new_stacks = 0; nullpo_retr (3, sd); nullpo_retr (3, item_list); @@ -1055,9 +1038,9 @@ int npc_buylist (struct map_session_data *sd, int n, break; case ADDITEM_NEW: if (itemdb_isequip (item_list[i * 2 + 1])) - new += item_list[i * 2]; + new_stacks += item_list[i * 2]; else - new++; + new_stacks++; break; case ADDITEM_OVERAMOUNT: return 2; @@ -1070,7 +1053,7 @@ int npc_buylist (struct map_session_data *sd, int n, return 1; // zeny不足 if (w + sd->weight > sd->max_weight) return 2; // 重量超過 - if (pc_inventoryblank (sd) < new) + if (pc_inventoryblank (sd) < new_stacks) return 3; // 種類数超過 if (sd->trade_partner != 0) return 4; // cant buy while trading @@ -1201,7 +1184,7 @@ int npc_selllist (struct map_session_data *sd, int n, * 読み込むnpcファイルのクリア *------------------------------------------ */ -void npc_clearsrcfile () +void npc_clearsrcfile (void) { struct npc_src_list *p = npc_src_first; @@ -1221,7 +1204,7 @@ void npc_clearsrcfile () */ void npc_addsrcfile (char *name) { - struct npc_src_list *new; + struct npc_src_list *new_src; size_t len; if (strcasecmp (name, "clear") == 0) @@ -1230,16 +1213,16 @@ void npc_addsrcfile (char *name) return; } - len = sizeof (*new) + strlen (name); - new = (struct npc_src_list *) calloc (1, len); - new->next = NULL; - strncpy (new->name, name, strlen (name) + 1); + len = sizeof (*new_src) + strlen (name); + new_src = (struct npc_src_list *) calloc (1, len); + new_src->next = NULL; + strncpy (new_src->name, name, strlen (name) + 1); if (npc_src_first == NULL) - npc_src_first = new; + npc_src_first = new_src; if (npc_src_last) - npc_src_last->next = new; + npc_src_last->next = new_src; - npc_src_last = new; + npc_src_last = new_src; } /*========================================== @@ -1306,9 +1289,9 @@ int npc_parse_warp (char *w1, char *w2, char *w3, char *w4) nd->chat_id = 0; if (!battle_config.warp_point_debug) - nd->class = WARP_CLASS; + nd->npc_class = WARP_CLASS; else - nd->class = WARP_DEBUG_CLASS; + nd->npc_class = WARP_DEBUG_CLASS; nd->speed = 200; nd->option = 0; nd->opt1 = 0; @@ -1421,7 +1404,7 @@ static int npc_parse_shop (char *w1, char *w2, char *w3, char *w4) nd->dir = dir; nd->flag = 0; memcpy (nd->name, w3, 24); - nd->class = atoi (w4); + nd->npc_class = atoi (w4); nd->speed = 200; nd->chat_id = 0; nd->option = 0; @@ -1488,7 +1471,7 @@ void npc_convertlabel_db (db_key_t key, db_val_t data, va_list ap) static int npc_parse_script (char *w1, char *w2, char *w3, char *w4, char *first_line, FILE * fp, int *lines) { - int x, y, dir = 0, m, xs = 0, ys = 0, class = 0; // [Valaris] thanks to fov + int x, y, dir = 0, m, xs = 0, ys = 0, npc_class = 0; // [Valaris] thanks to fov char mapname[24]; unsigned char *srcbuf = NULL, *script; int srcsize = 65536; @@ -1598,7 +1581,7 @@ static int npc_parse_script (char *w1, char *w2, char *w3, char *w4, // スクリプトコピー用のダミーNPC } - else if (sscanf (w4, "%d,%d,%d", &class, &xs, &ys) == 3) + else if (sscanf (w4, "%d,%d,%d", &npc_class, &xs, &ys) == 3) { // 接触型NPC int i, j; @@ -1608,7 +1591,7 @@ static int npc_parse_script (char *w1, char *w2, char *w3, char *w4, if (ys >= 0) ys = ys * 2 + 1; - if (class >= 0) + if (npc_class >= 0) { for (i = 0; i < ys; i++) @@ -1629,12 +1612,12 @@ static int npc_parse_script (char *w1, char *w2, char *w3, char *w4, } else { // クリック型NPC - class = atoi (w4); + npc_class = atoi (w4); nd->u.scr.xs = 0; nd->u.scr.ys = 0; } - if (class < 0 && m >= 0) + if (npc_class < 0 && m >= 0) { // イベント型NPC evflag = 1; } @@ -1663,7 +1646,7 @@ static int npc_parse_script (char *w1, char *w2, char *w3, char *w4, nd->bl.id = npc_get_new_npc_id (); nd->dir = dir; nd->flag = 0; - nd->class = class; + nd->npc_class = npc_class; nd->speed = 200; nd->u.scr.script = script; nd->u.scr.src_id = src_id; @@ -1873,7 +1856,7 @@ static int npc_parse_function (char *w1, char *w2, char *w3, char *w4, */ int npc_parse_mob (char *w1, char *w2, char *w3, char *w4) { - int m, x, y, xs, ys, class, num, delay1, delay2; + int m, x, y, xs, ys, mob_class, num, delay1, delay2; int i; char mapname[24]; char eventname[24] = ""; @@ -1883,7 +1866,7 @@ int npc_parse_mob (char *w1, char *w2, char *w3, char *w4) delay1 = delay2 = 0; // 引数の個数チェック if (sscanf (w1, "%[^,],%d,%d,%d,%d", mapname, &x, &y, &xs, &ys) < 3 || - sscanf (w4, "%d,%d,%d,%d,%s", &class, &num, &delay1, &delay2, + sscanf (w4, "%d,%d,%d,%d,%s", &mob_class, &num, &delay1, &delay2, eventname) < 2) { printf ("bad monster line : %s\n", w3); @@ -1908,14 +1891,14 @@ int npc_parse_mob (char *w1, char *w2, char *w3, char *w4) md->bl.x = x; md->bl.y = y; if (strcmp (w3, "--en--") == 0) - memcpy (md->name, mob_db[class].name, 24); + memcpy (md->name, mob_db[mob_class].name, 24); else if (strcmp (w3, "--ja--") == 0) - memcpy (md->name, mob_db[class].jname, 24); + memcpy (md->name, mob_db[mob_class].jname, 24); else memcpy (md->name, w3, 24); md->n = i; - md->base_class = md->class = class; + md->base_class = md->mob_class = mob_class; md->bl.id = npc_get_new_npc_id (); md->m = m; md->x0 = x; @@ -1930,7 +1913,7 @@ int npc_parse_mob (char *w1, char *w2, char *w3, char *w4) md->target_id = 0; md->attacked_id = 0; - if (mob_db[class].mode & 0x02) + if (mob_db[mob_class].mode & 0x02) md->lootitem = (struct item *) calloc (LOOTITEM_SIZE, sizeof (struct item)); else @@ -2142,7 +2125,7 @@ static void ev_db_final (db_key_t key, db_val_t data, va_list ap) } struct npc_data *npc_spawn_text (int m, int x, int y, - int class, char *name, char *message) + int npc_class, char *name, char *message) { struct npc_data *retval = (struct npc_data *) calloc (1, sizeof (struct npc_data)); @@ -2159,7 +2142,7 @@ struct npc_data *npc_spawn_text (int m, int x, int y, retval->exname[15] = 0; retval->u.message = message ? strdup (message) : NULL; - retval->class = class; + retval->npc_class = npc_class; retval->speed = 200; clif_spawnnpc (retval); diff --git a/src/map/npc.h b/src/map/npc.h index 248bad7..757c7ab 100644 --- a/src/map/npc.h +++ b/src/map/npc.h @@ -33,7 +33,7 @@ int npc_get_new_npc_id (void); * * \param message The message to speak. If message is NULL, the NPC will not do anything at all. */ -struct npc_data *npc_spawn_text (int m, int x, int y, int class, char *name, char *message); // message is strdup'd within +struct npc_data *npc_spawn_text (int m, int x, int y, int class_, char *name, char *message); // message is strdup'd within /** * Uninstalls and frees an NPC diff --git a/src/map/party.c b/src/map/party.c index cc35d2a..6c2e627 100644 --- a/src/map/party.c +++ b/src/map/party.c @@ -52,7 +52,7 @@ void do_init_party (void) // 検索 struct party *party_search (int party_id) { - return numdb_search (party_db, party_id); + return (struct party *)numdb_search (party_db, party_id); } void party_searchname_sub (db_key_t key, db_val_t data, va_list ap) @@ -110,7 +110,7 @@ int party_created (int account_id, int fail, int party_id, char *name) struct party *p; sd->status.party_id = party_id; - if ((p = numdb_search (party_db, party_id)) != NULL) + if ((p = (struct party *)numdb_search (party_db, party_id)) != NULL) { printf ("party_created(): ID already exists!\n"); exit (1); @@ -147,7 +147,7 @@ int party_check_member (struct party *p) for (i = 0; i < fd_max; i++) { - if (session[i] && (sd = session[i]->session_data) && sd->state.auth) + if (session[i] && (sd = (struct map_session_data *)session[i]->session_data) && sd->state.auth) { if (sd->status.party_id == p->party_id) { @@ -182,7 +182,7 @@ int party_recv_noinfo (int party_id) struct map_session_data *sd; for (i = 0; i < fd_max; i++) { - if (session[i] && (sd = session[i]->session_data) && sd->state.auth) + if (session[i] && (sd = (struct map_session_data *)session[i]->session_data) && sd->state.auth) { if (sd->status.party_id == party_id) sd->status.party_id = 0; @@ -199,7 +199,7 @@ int party_recv_info (struct party *sp) nullpo_retr (0, sp); - if ((p = numdb_search (party_db, sp->party_id)) == NULL) + if ((p = (struct party *)numdb_search (party_db, sp->party_id)) == NULL) { CREATE (p, struct party, 1); numdb_insert (party_db, sp->party_id, p); diff --git a/src/map/pc.c b/src/map/pc.c index aea9cb5..b76116b 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -149,7 +149,7 @@ int pc_set_gm_level (int account_id, int level) } GM_num++; - gm_account = realloc (gm_account, sizeof (struct gm_account) * GM_num); + RECREATE (gm_account, struct gm_account, GM_num); gm_account[GM_num - 1].account_id = account_id; gm_account[GM_num - 1].level = level; return 0; @@ -317,7 +317,7 @@ int pc_setrestartvalue (struct map_session_data *sd, int type) nullpo_retr (0, sd); - s_class = pc_calc_base_job (sd->status.class); + s_class = pc_calc_base_job (sd->status.pc_class); //----------------------- // 死亡した @@ -358,7 +358,7 @@ int pc_setrestartvalue (struct map_session_data *sd, int type) /* removed exp penalty on spawn [Valaris] */ - if (type & 2 && sd->status.class != 0 && battle_config.zeny_penalty > 0 + if (type & 2 && sd->status.pc_class != 0 && battle_config.zeny_penalty > 0 && !map[sd->bl.m].flag.nozenypenalty) { int zeny = @@ -511,7 +511,7 @@ int pc_equippoint (struct map_session_data *sd, int n) if (!sd->inventory_data[n]) return 0; - s_class = pc_calc_base_job (sd->status.class); + s_class = pc_calc_base_job (sd->status.pc_class); ep = sd->inventory_data[n]->equip; if ((sd->inventory_data[n]->look == 1 || sd->inventory_data[n]->look == 2 @@ -788,7 +788,7 @@ int pc_authok (int id, int login_id2, time_t connect_until_time, sd->bl.prev = sd->bl.next = NULL; sd->weapontype1 = sd->weapontype2 = 0; - sd->view_class = sd->status.class; + sd->view_class = sd->status.pc_class; sd->speed = DEFAULT_WALK_SPEED; sd->state.dead_sit = 0; sd->dir = 0; @@ -1026,7 +1026,7 @@ int pc_calc_skilltree (struct map_session_data *sd) nullpo_retr (0, sd); - s_class = pc_calc_base_job (sd->status.class); + s_class = pc_calc_base_job (sd->status.pc_class); c = s_class.job; s = (s_class.upper == 1) ? 1 : 0; //ソ転生以外は通常のスキル? @@ -1257,7 +1257,7 @@ int pc_calcstatus (struct map_session_data *sd, int first) nullpo_retr (0, sd); //転生や養子の場合の元の職業を算出する - s_class = pc_calc_base_job (sd->status.class); + s_class = pc_calc_base_job (sd->status.pc_class); b_speed = sd->speed; b_max_hp = sd->status.max_hp; @@ -1284,7 +1284,7 @@ int pc_calcstatus (struct map_session_data *sd, int first) b_mdef = sd->mdef; b_mdef2 = sd->mdef2; b_class = sd->view_class; - sd->view_class = sd->status.class; + sd->view_class = sd->status.pc_class; b_base_atk = sd->base_atk; pc_calc_skilltree (sd); // スキルツリーの計算 @@ -2026,15 +2026,15 @@ int pc_calcstatus (struct map_session_data *sd, int first) //Flee上昇 if ((skill = pc_checkskill (sd, TF_MISS)) > 0) { // 回避率増加 - if (sd->status.class == 6 || sd->status.class == 4007 - || sd->status.class == 23) + if (sd->status.pc_class == 6 || sd->status.pc_class == 4007 + || sd->status.pc_class == 23) { sd->flee += skill * 3; } - if (sd->status.class == 12 || sd->status.class == 17 - || sd->status.class == 4013 || sd->status.class == 4018) + if (sd->status.pc_class == 12 || sd->status.pc_class == 17 + || sd->status.pc_class == 4013 || sd->status.pc_class == 4018) sd->flee += skill * 4; - if (sd->status.class == 12 || sd->status.class == 4013) + if (sd->status.pc_class == 12 || sd->status.pc_class == 4013) sd->speed -= sd->speed * (skill * .5) / 100; } if ((skill = pc_checkskill (sd, MO_DODGE)) > 0) // 見切り @@ -3960,24 +3960,26 @@ int pc_steal_item (struct map_session_data *sd, struct block_list *bl) int i, skill, rate, itemid, flag, count; struct mob_data *md; md = (struct mob_data *) bl; - if (!md->state.steal_flag && mob_db[md->class].mexp <= 0 && !(mob_db[md->class].mode & 0x20) && md->sc_data[SC_STONE].timer == -1 && md->sc_data[SC_FREEZE].timer == -1 && (!(md->class > 1324 && md->class < 1364))) // prevent stealing from treasure boxes [Valaris] + if (!md->state.steal_flag && mob_db[md->mob_class].mexp <= 0 && + !(mob_db[md->mob_class].mode & 0x20) && + md->sc_data[SC_STONE].timer == -1 && + md->sc_data[SC_FREEZE].timer == -1 && + (!(md->mob_class > 1324 && md->mob_class < 1364))) // prevent stealing from treasure boxes [Valaris] { - skill = - sd->paramc[4] - mob_db[md->class].dex + pc_checkskill (sd, - TF_STEAL) - + 10; + skill = sd->paramc[4] - mob_db[md->mob_class].dex + + pc_checkskill (sd, TF_STEAL) + 10; if (0 < skill) { for (count = 8; count <= 8 && count != 0; count--) { i = rand () % 8; - itemid = mob_db[md->class].dropitem[i].nameid; + itemid = mob_db[md->mob_class].dropitem[i].nameid; if (itemid > 0 && itemdb_type (itemid) != 6) { rate = - (mob_db[md->class].dropitem[i].p / + (mob_db[md->mob_class].dropitem[i].p / battle_config.item_rate_common * 100 * skill) / 100; @@ -4033,11 +4035,11 @@ int pc_steal_coin (struct map_session_data *sd, struct block_list *bl) { skill = pc_checkskill (sd, RG_STEALCOIN) * 10; rate = - skill + (sd->status.base_level - mob_db[md->class].lv) * 3 + + skill + (sd->status.base_level - mob_db[md->mob_class].lv) * 3 + sd->paramc[4] * 2 + sd->paramc[5] * 2; if (MRAND (1000) < rate) { - pc_getzeny (sd, mob_db[md->class].lv * 10 + MRAND (100)); + pc_getzeny (sd, mob_db[md->mob_class].lv * 10 + MRAND (100)); md->state.steal_coin_flag = 1; return 1; } @@ -5078,7 +5080,7 @@ int pc_checkbaselevelup (struct map_session_data *sd) if (sd->status.base_exp >= next && next > 0) { - struct pc_base_job s_class = pc_calc_base_job (sd->status.class); + struct pc_base_job s_class = pc_calc_base_job (sd->status.pc_class); // base側レベルアップ処理 sd->status.base_exp -= next; @@ -5306,17 +5308,17 @@ int pc_nextbaseexp (struct map_session_data *sd) if (sd->status.base_level >= MAX_LEVEL || sd->status.base_level <= 0) return 0; - if (sd->status.class == 0) + if (sd->status.pc_class == 0) i = 0; - else if (sd->status.class <= 6) + else if (sd->status.pc_class <= 6) i = 1; - else if (sd->status.class <= 22) + else if (sd->status.pc_class <= 22) i = 2; - else if (sd->status.class == 23) + else if (sd->status.pc_class == 23) i = 3; - else if (sd->status.class == 4001) + else if (sd->status.pc_class == 4001) i = 4; - else if (sd->status.class <= 4007) + else if (sd->status.pc_class <= 4007) i = 5; else i = 6; @@ -5351,17 +5353,17 @@ int pc_nextbaseafter (struct map_session_data *sd) if (sd->status.base_level >= MAX_LEVEL || sd->status.base_level <= 0) return 0; - if (sd->status.class == 0) + if (sd->status.pc_class == 0) i = 0; - else if (sd->status.class <= 6) + else if (sd->status.pc_class <= 6) i = 1; - else if (sd->status.class <= 22) + else if (sd->status.pc_class <= 22) i = 2; - else if (sd->status.class == 23) + else if (sd->status.pc_class == 23) i = 3; - else if (sd->status.class == 4001) + else if (sd->status.pc_class == 4001) i = 4; - else if (sd->status.class <= 4007) + else if (sd->status.pc_class <= 4007) i = 5; else i = 6; @@ -5382,17 +5384,17 @@ int pc_nextjobafter (struct map_session_data *sd) if (sd->status.job_level >= MAX_LEVEL || sd->status.job_level <= 0) return 0; - if (sd->status.class == 0) + if (sd->status.pc_class == 0) i = 7; - else if (sd->status.class <= 6) + else if (sd->status.pc_class <= 6) i = 8; - else if (sd->status.class <= 22) + else if (sd->status.pc_class <= 22) i = 9; - else if (sd->status.class == 23) + else if (sd->status.pc_class == 23) i = 10; - else if (sd->status.class == 4001) + else if (sd->status.pc_class == 4001) i = 11; - else if (sd->status.class <= 4007) + else if (sd->status.pc_class <= 4007) i = 12; else i = 13; @@ -5617,7 +5619,7 @@ int pc_allskillup (struct map_session_data *sd) nullpo_retr (0, sd); - s_class = pc_calc_base_job (sd->status.class); + s_class = pc_calc_base_job (sd->status.pc_class); c = s_class.job; s = (s_class.upper == 1) ? 1 : 0; //転生以外は通常のスキル? @@ -5679,7 +5681,7 @@ int pc_resetlvl (struct map_session_data *sd, int type) sd->status.int_ = 1; sd->status.dex = 1; sd->status.luk = 1; - if (sd->status.class == 4001) + if (sd->status.pc_class == 4001) sd->status.status_point = 100; } @@ -5832,7 +5834,7 @@ int pc_damage (struct block_list *src, struct map_session_data *sd, nullpo_retr (0, sd); //転生や養子の場合の元の職業を算出する - s_class = pc_calc_base_job (sd->status.class); + s_class = pc_calc_base_job (sd->status.pc_class); // 既に死んでいたら無効 if (pc_isdead (sd)) return 0; @@ -6117,7 +6119,7 @@ int pc_readparam (struct map_session_data *sd, int type) int val = 0; struct pc_base_job s_class; - s_class = pc_calc_base_job (sd->status.class); + s_class = pc_calc_base_job (sd->status.pc_class); nullpo_retr (0, sd); @@ -6142,7 +6144,7 @@ int pc_readparam (struct map_session_data *sd, int type) if (val >= 24 && val < 45) val += 3978; else - val = sd->status.class; + val = sd->status.pc_class; break; case SP_UPPER: val = s_class.upper; @@ -6217,7 +6219,7 @@ int pc_setparam (struct map_session_data *sd, int type, int val) nullpo_retr (0, sd); - s_class = pc_calc_base_job (sd->status.class); + s_class = pc_calc_base_job (sd->status.pc_class); switch (type) { @@ -6238,10 +6240,10 @@ int pc_setparam (struct map_session_data *sd, int type, int val) pc_heal (sd, sd->status.max_hp, sd->status.max_sp); break; case SP_JOBLEVEL: - if (sd->status.class == 0) + if (sd->status.pc_class == 0) up_level -= 40; - if ((sd->status.class == 23) - || (sd->status.class >= 4001 && sd->status.class <= 4022)) + if ((sd->status.pc_class == 23) + || (sd->status.pc_class >= 4001 && sd->status.pc_class <= 4022)) up_level += 20; if (val >= sd->status.job_level) { @@ -6627,7 +6629,7 @@ int pc_jobchange (struct map_session_data *sd, int job, int upper) int i; int b_class = 0; //転生や養子の場合の元の職業を算出する - struct pc_base_job s_class = pc_calc_base_job (sd->status.class); + struct pc_base_job s_class = pc_calc_base_job (sd->status.pc_class); nullpo_retr (0, sd); @@ -6666,10 +6668,10 @@ int pc_jobchange (struct map_session_data *sd, int job, int upper) if ((sd->status.sex == 0 && job == 19) || (sd->status.sex == 1 && job == 20) || (sd->status.sex == 0 && job == 4020) || (sd->status.sex == 1 && job == 4021) || - job == 22 || sd->status.class == b_class) //♀はバードになれない、♂はダンサーになれない、結婚衣裳もお断り + job == 22 || sd->status.pc_class == b_class) //♀はバードになれない、♂はダンサーになれない、結婚衣裳もお断り return 1; - sd->status.class = sd->view_class = b_class; + sd->status.pc_class = sd->view_class = b_class; sd->status.job_level = 1; sd->status.job_exp = 0; @@ -6843,17 +6845,17 @@ int pc_setriding (struct map_session_data *sd) { // ライディングスキル所持 pc_setoption (sd, sd->status.option | 0x0020); - if (sd->status.class == 7) - sd->status.class = sd->view_class = 13; + if (sd->status.pc_class == 7) + sd->status.pc_class = sd->view_class = 13; - if (sd->status.class == 14) - sd->status.class = sd->view_class = 21; + if (sd->status.pc_class == 14) + sd->status.pc_class = sd->view_class = 21; - if (sd->status.class == 4008) - sd->status.class = sd->view_class = 4014; + if (sd->status.pc_class == 4008) + sd->status.pc_class = sd->view_class = 4014; - if (sd->status.class == 4015) - sd->status.class = sd->view_class = 4022; + if (sd->status.pc_class == 4015) + sd->status.pc_class = sd->view_class = 4022; } return 0; @@ -6895,15 +6897,7 @@ int pc_setreg (struct map_session_data *sd, int reg, int val) } } sd->reg_num++; - sd->reg = realloc (sd->reg, sizeof (*(sd->reg)) * sd->reg_num); - if (sd->reg == NULL) - { - printf ("out of memory : pc_setreg\n"); - exit (1); - } -/* memset(sd->reg + (sd->reg_num - 1) * sizeof(*(sd->reg)), 0, - sizeof(*(sd->reg))); -*/ + RECREATE (sd->reg, struct script_reg, sd->reg_num); sd->reg[i].index = reg; sd->reg[i].data = val; @@ -6950,16 +6944,7 @@ int pc_setregstr (struct map_session_data *sd, int reg, char *str) return 0; } sd->regstr_num++; - sd->regstr = - realloc (sd->regstr, sizeof (sd->regstr[0]) * sd->regstr_num); - if (sd->regstr == NULL) - { - printf ("out of memory : pc_setreg\n"); - exit (1); - } -/* memset(sd->reg + (sd->reg_num - 1) * sizeof(*(sd->reg)), 0, - sizeof(*(sd->reg))); -*/ + RECREATE (sd->regstr, struct script_regstr, sd->regstr_num); sd->regstr[i].index = reg; strcpy (sd->regstr[i].data, str); @@ -7395,7 +7380,7 @@ int pc_equipitem (struct map_session_data *sd, int n, int pos) // 二刀流処理 if ((pos == 0x22) // 一応、装備要求箇所が二刀流武器かチェックする && (id->equip == 2) // 単 手武器 - && (pc_checkskill (sd, AS_LEFT) > 0 || sd->status.class == 12)) // 左手修錬有 + && (pc_checkskill (sd, AS_LEFT) > 0 || sd->status.pc_class == 12)) // 左手修錬有 { int tpos = 0; if (sd->equip_index[8] >= 0) @@ -8137,7 +8122,7 @@ static int pc_natural_heal_sp (struct map_session_data *sd) if (sd->inchealsptick >= battle_config.natural_heal_skill_interval && sd->status.sp < sd->status.max_sp) { - struct pc_base_job s_class = pc_calc_base_job (sd->status.class); + struct pc_base_job s_class = pc_calc_base_job (sd->status.pc_class); if (sd->doridori_counter && s_class.job == 23) bonus = sd->nshealsp * 2; else @@ -8474,8 +8459,7 @@ int pc_read_gm_account (int fd) free (gm_account); GM_num = 0; - gm_account = - calloc (sizeof (struct gm_account) * ((RFIFOW (fd, 2) - 4) / 5), 1); + CREATE (gm_account, struct gm_account, (RFIFOW (fd, 2) - 4) / 5); for (i = 4; i < RFIFOW (fd, 2); i = i + 5) { gm_account[GM_num].account_id = RFIFOL (fd, i); @@ -8504,7 +8488,7 @@ void map_day_timer (timer_id tid, tick_t tick, custom_id_t id, custom_data_t dat night_flag = 0; // 0=day, 1=night [Yor] for (i = 0; i < fd_max; i++) { - if (session[i] && (pl_sd = session[i]->session_data) + if (session[i] && (pl_sd = (struct map_session_data *)session[i]->session_data) && pl_sd->state.auth) { pl_sd->opt2 &= ~STATE_BLIND; @@ -8535,7 +8519,7 @@ void map_night_timer (timer_id tid, tick_t tick, custom_id_t id, custom_data_t d night_flag = 1; // 0=day, 1=night [Yor] for (i = 0; i < fd_max; i++) { - if (session[i] && (pl_sd = session[i]->session_data) + if (session[i] && (pl_sd = (struct map_session_data *)session[i]->session_data) && pl_sd->state.auth) { pl_sd->opt2 |= STATE_BLIND; diff --git a/src/map/script.c b/src/map/script.c index 626babf..533c436 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -51,13 +51,13 @@ static int script_pos, script_size; char *str_buf; int str_pos, str_size; -static struct +static struct str_data_t { int type; int str; int backpatch; int label; - int (*func) (); + int (*func) (struct script_state *); int val; int next; } *str_data; @@ -73,12 +73,12 @@ char mapreg_txt[256] = "save/mapreg.txt"; static struct dbt *scriptlabel_db = NULL; static struct dbt *userfunc_db = NULL; -struct dbt *script_get_label_db () +struct dbt *script_get_label_db (void) { return scriptlabel_db; } -struct dbt *script_get_userfunc_db () +struct dbt *script_get_userfunc_db (void) { if (!userfunc_db) userfunc_db = strdb_init (50); @@ -323,7 +323,7 @@ int mapreg_setregstr (int num, const char *str); struct { - int (*func) (); + int (*func) (struct script_state *); char *name; char *arg; } buildin_func[] = @@ -833,7 +833,7 @@ static int add_str (const unsigned char *p) if (str_num >= str_data_size) { str_data_size += 128; - str_data = realloc (str_data, sizeof (str_data[0]) * str_data_size); + RECREATE (str_data, struct str_data_t, str_data_size); memset (str_data + (str_data_size - 128), '\0', 128); } while (str_pos + strlen (p) + 1 >= str_size) @@ -1939,7 +1939,7 @@ int buildin_callfunc (struct script_state *st) char *scr; char *str = conv_str (st, &(st->stack->stack_data[st->start + 2])); - if ((scr = strdb_search (script_get_userfunc_db (), str))) + if ((scr = (char*)strdb_search (script_get_userfunc_db (), str))) { int i, j; for (i = st->start + 3, j = 0; i < st->end; i++, j++) @@ -3922,14 +3922,14 @@ int buildin_getopt2 (struct script_state *st) int buildin_setopt2 (struct script_state *st) { - int new; + int new_opt2; struct map_session_data *sd; - new = conv_num (st, &(st->stack->stack_data[st->start + 2])); + new_opt2 = conv_num (st, &(st->stack->stack_data[st->start + 2])); sd = script_rid2sd (st); - if (!(new ^ sd->opt2)) + if (new_opt2 == sd->opt2) return 0; - sd->opt2 = new; + sd->opt2 = new_opt2; clif_changeoption (&sd->bl); pc_calcstatus (sd, 0); @@ -4292,19 +4292,19 @@ int buildin_getexp (struct script_state *st) */ int buildin_monster (struct script_state *st) { - int class, amount, x, y; + int mob_class, amount, x, y; char *str, *map, *event = ""; map = conv_str (st, &(st->stack->stack_data[st->start + 2])); x = conv_num (st, &(st->stack->stack_data[st->start + 3])); y = conv_num (st, &(st->stack->stack_data[st->start + 4])); str = conv_str (st, &(st->stack->stack_data[st->start + 5])); - class = conv_num (st, &(st->stack->stack_data[st->start + 6])); + mob_class = conv_num (st, &(st->stack->stack_data[st->start + 6])); amount = conv_num (st, &(st->stack->stack_data[st->start + 7])); if (st->end > st->start + 8) event = conv_str (st, &(st->stack->stack_data[st->start + 8])); - mob_once_spawn (map_id2sd (st->rid), map, x, y, str, class, amount, + mob_once_spawn (map_id2sd (st->rid), map, x, y, str, mob_class, amount, event); return 0; } @@ -4315,7 +4315,7 @@ int buildin_monster (struct script_state *st) */ int buildin_areamonster (struct script_state *st) { - int class, amount, x0, y0, x1, y1; + int mob_class, amount, x0, y0, x1, y1; char *str, *map, *event = ""; map = conv_str (st, &(st->stack->stack_data[st->start + 2])); @@ -4324,12 +4324,12 @@ int buildin_areamonster (struct script_state *st) x1 = conv_num (st, &(st->stack->stack_data[st->start + 5])); y1 = conv_num (st, &(st->stack->stack_data[st->start + 6])); str = conv_str (st, &(st->stack->stack_data[st->start + 7])); - class = conv_num (st, &(st->stack->stack_data[st->start + 8])); + mob_class = conv_num (st, &(st->stack->stack_data[st->start + 8])); amount = conv_num (st, &(st->stack->stack_data[st->start + 9])); if (st->end > st->start + 10) event = conv_str (st, &(st->stack->stack_data[st->start + 10])); - mob_once_spawn_area (map_id2sd (st->rid), map, x0, y0, x1, y1, str, class, + mob_once_spawn_area (map_id2sd (st->rid), map, x0, y0, x1, y1, str, mob_class, amount, event); return 0; } @@ -5077,15 +5077,15 @@ int buildin_changesex (struct script_state *st) { sd->status.sex = 1; sd->sex = 1; - if (sd->status.class == 20 || sd->status.class == 4021) - sd->status.class -= 1; + if (sd->status.pc_class == 20 || sd->status.pc_class == 4021) + sd->status.pc_class -= 1; } else if (sd->status.sex == 1) { sd->status.sex = 0; sd->sex = 0; - if (sd->status.class == 19 || sd->status.class == 4020) - sd->status.class += 1; + if (sd->status.pc_class == 19 || sd->status.pc_class == 4020) + sd->status.pc_class += 1; } chrif_char_ask_name (-1, sd->status.name, 5, 0, 0, 0, 0, 0, 0); // type: 5 - changesex chrif_save (sd); @@ -5549,7 +5549,7 @@ int buildin_pvpon (struct script_state *st) for (i = 0; i < fd_max; i++) { //人数分ループ - if (session[i] && (pl_sd = session[i]->session_data) + if (session[i] && (pl_sd = (struct map_session_data *)session[i]->session_data) && pl_sd->state.auth) { if (m == pl_sd->bl.m && pl_sd->pvp_timer == -1) @@ -5586,7 +5586,7 @@ int buildin_pvpoff (struct script_state *st) for (i = 0; i < fd_max; i++) { //人数分ループ - if (session[i] && (pl_sd = session[i]->session_data) + if (session[i] && (pl_sd = (struct map_session_data *)session[i]->session_data) && pl_sd->state.auth) { if (m == pl_sd->bl.m) @@ -5678,7 +5678,7 @@ int buildin_maprespawnguildid_sub (struct block_list *bl, va_list ap) } if (md && flag & 4) { - if (md->class < 1285 || md->class > 1288) + if (md->mob_class < 1285 || md->mob_class > 1288) mob_delete (md); } return 0; @@ -6337,35 +6337,35 @@ int buildin_strmobinfo (struct script_state *st) { int num = conv_num (st, &(st->stack->stack_data[st->start + 2])); - int class = conv_num (st, &(st->stack->stack_data[st->start + 3])); + int mob_class = conv_num (st, &(st->stack->stack_data[st->start + 3])); - if (num <= 0 || num >= 8 || (class >= 0 && class <= 1000) || class > 2000) + if (num <= 0 || num >= 8 || (mob_class >= 0 && mob_class <= 1000) || mob_class > 2000) return 0; if (num == 1) { char *buf; - buf = mob_db[class].name; + buf = mob_db[mob_class].name; push_str (st->stack, C_STR, buf); return 0; } else if (num == 2) { char *buf; - buf = mob_db[class].jname; + buf = mob_db[mob_class].jname; push_str (st->stack, C_STR, buf); return 0; } else if (num == 3) - push_val (st->stack, C_INT, mob_db[class].lv); + push_val (st->stack, C_INT, mob_db[mob_class].lv); else if (num == 4) - push_val (st->stack, C_INT, mob_db[class].max_hp); + push_val (st->stack, C_INT, mob_db[mob_class].max_hp); else if (num == 5) - push_val (st->stack, C_INT, mob_db[class].max_sp); + push_val (st->stack, C_INT, mob_db[mob_class].max_sp); else if (num == 6) - push_val (st->stack, C_INT, mob_db[class].base_exp); + push_val (st->stack, C_INT, mob_db[mob_class].base_exp); else if (num == 7) - push_val (st->stack, C_INT, mob_db[class].job_exp); + push_val (st->stack, C_INT, mob_db[mob_class].job_exp); return 0; } @@ -6375,20 +6375,20 @@ int buildin_strmobinfo (struct script_state *st) */ int buildin_guardian (struct script_state *st) { - int class = 0, amount = 1, x = 0, y = 0, guardian = 0; + int mob_class = 0, amount = 1, x = 0, y = 0, guardian = 0; char *str, *map, *event = ""; map = conv_str (st, &(st->stack->stack_data[st->start + 2])); x = conv_num (st, &(st->stack->stack_data[st->start + 3])); y = conv_num (st, &(st->stack->stack_data[st->start + 4])); str = conv_str (st, &(st->stack->stack_data[st->start + 5])); - class = conv_num (st, &(st->stack->stack_data[st->start + 6])); + mob_class = conv_num (st, &(st->stack->stack_data[st->start + 6])); amount = conv_num (st, &(st->stack->stack_data[st->start + 7])); event = conv_str (st, &(st->stack->stack_data[st->start + 8])); if (st->end > st->start + 9) guardian = conv_num (st, &(st->stack->stack_data[st->start + 9])); - mob_spawn_guardian (map_id2sd (st->rid), map, x, y, str, class, amount, + mob_spawn_guardian (map_id2sd (st->rid), map, x, y, str, mob_class, amount, event, guardian); return 0; @@ -6712,15 +6712,15 @@ int buildin_clearitem (struct script_state *st) */ int buildin_classchange (struct script_state *st) { - int class, type; + int npc_class, type; struct block_list *bl = map_id2bl (st->oid); if (bl == NULL) return 0; - class = conv_num (st, &(st->stack->stack_data[st->start + 2])); + npc_class = conv_num (st, &(st->stack->stack_data[st->start + 2])); type = conv_num (st, &(st->stack->stack_data[st->start + 3])); - clif_class_change (bl, class, type); + clif_npc_class_change (bl, npc_class, type); return 0; } @@ -7113,7 +7113,7 @@ int buildin_getsavepoint (struct script_state *st) switch (type) { case 0: - mapname = calloc (24, 1); + mapname = (char*)calloc (24, 1); strncpy (mapname, sd->status.save_point.map, 23); push_str (st->stack, C_STR, mapname); break; @@ -7239,7 +7239,7 @@ int buildin_fakenpcname (struct script_state *st) return 1; strncpy (nd->name, newname, sizeof(nd->name)-1); nd->name[sizeof(nd->name)-1] = '\0'; - nd->class = newsprite; + nd->npc_class = newsprite; // Refresh this npc npc_enable (name, 0); @@ -7890,7 +7890,7 @@ int mapreg_setregstr (int num, const char *str) { char *p; - if ((p = numdb_search (mapregstr_db, num)) != NULL) + if ((p = (char *)numdb_search (mapregstr_db, num)) != NULL) free (p); if (str == NULL || *str == 0) @@ -7910,7 +7910,7 @@ int mapreg_setregstr (int num, const char *str) * 永続的マップ変数の読み込み *------------------------------------------ */ -static int script_load_mapreg () +static int script_load_mapreg (void) { FILE *fp; char line[1024]; @@ -7985,7 +7985,7 @@ static void script_save_mapreg_strsub (db_key_t key, db_val_t data, va_list ap) } } -static int script_save_mapreg () +static int script_save_mapreg (void) { FILE *fp; int lock; @@ -8089,7 +8089,7 @@ static void userfunc_db_final (db_key_t key, db_val_t data, va_list ap) free (data); } -int do_final_script () +int do_final_script (void) { if (mapreg_dirty >= 0) script_save_mapreg (); @@ -8117,7 +8117,7 @@ int do_final_script () * 初期化 *------------------------------------------ */ -int do_init_script () +int do_init_script (void) { mapreg_db = numdb_init (); mapregstr_db = numdb_init (); diff --git a/src/map/script.h b/src/map/script.h index b70aba3..62d3ee1 100644 --- a/src/map/script.h +++ b/src/map/script.h @@ -40,12 +40,12 @@ typedef struct argrec int run_script_l (unsigned char *, int, int, int, int, argrec_t * args); int run_script (unsigned char *, int, int, int); -struct dbt *script_get_label_db (); -struct dbt *script_get_userfunc_db (); +struct dbt *script_get_label_db (void); +struct dbt *script_get_userfunc_db (void); int script_config_read (char *cfgName); -int do_init_script (); -int do_final_script (); +int do_init_script (void); +int do_final_script (void); extern char mapreg_txt[]; diff --git a/src/map/skill.c b/src/map/skill.c index d8b64e8..e232820 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -3242,7 +3242,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, heal = 0; /* 黄金蟲カード(ヒール量0) */ if (sd) { - s_class = pc_calc_base_job (sd->status.class); + s_class = pc_calc_base_job (sd->status.pc_class); if ((skill = pc_checkskill (sd, HP_MEDITATIO)) > 0) // メディテイティオ heal += heal * (skill * 2 / 100); if (sd && dstsd && sd->status.partner_id == dstsd->status.char_id && s_class.job == 23 && sd->status.sex == 0) //自分も対象もPC、対象が自分のパートナー、自分がスパノビ、自分が♀なら @@ -3719,9 +3719,9 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, || (!sd->status.party_id && !sd->status.guild_id) // PTにもギルドにも所属無しはだめ || ((sd->status.party_id != dstsd->status.party_id) // 同じパーティーか、 || (sd->status.guild_id != dstsd->status.guild_id)) // 同じギルドじゃないとだめ - || (dstsd->status.class == 14 || dstsd->status.class == 21 - || dstsd->status.class == 4015 - || dstsd->status.class == 4022)) + || (dstsd->status.pc_class == 14 || dstsd->status.pc_class == 21 + || dstsd->status.pc_class == 4015 + || dstsd->status.pc_class == 4022)) { // クルセだめ clif_skill_fail (sd, skillid, 0, 0); map_freeblock_unlock (); @@ -3799,7 +3799,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, //20%の確率で対象のLv*2のSPを回復する。成功したときはターゲット(σ゚Д゚)σゲッツ!! if (MRAND (100) < 20) { - i = 2 * mob_db[dstmd->class].lv; + i = 2 * mob_db[dstmd->mob_class].lv; mob_target (dstmd, src, 0); } } @@ -4870,7 +4870,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, if (md && !md->master_id) { mob_summonslave (md, - mob_db[md->class].skill[md->skillidx].val, + mob_db[md->mob_class].skill[md->skillidx].val, skilllv, (skillid == NPC_SUMMONSLAVE) ? 1 : 0); } @@ -4880,13 +4880,13 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, case NPC_METAMORPHOSIS: if (md) mob_class_change (md, - mob_db[md->class].skill[md->skillidx].val); + mob_db[md->mob_class].skill[md->skillidx].val); break; case NPC_EMOTION: /* エモーション */ if (md) clif_emotion (&md->bl, - mob_db[md->class].skill[md->skillidx].val[0]); + mob_db[md->mob_class].skill[md->skillidx].val[0]); break; case NPC_DEFENDER: @@ -5992,12 +5992,7 @@ struct skill_unit_group *skill_unitsetting (struct block_list *src, group->range = range; if (skillid == HT_TALKIEBOX || skillid == RG_GRAFFITI) { - group->valstr = calloc (80, 1); - if (group->valstr == NULL) - { - printf ("skill_castend_map: out of memory !\n"); - exit (1); - } + CREATE (group->valstr, char, 80); memcpy (group->valstr, talkie_mes, 80); } for (i = 0; i < count; i++) @@ -6929,12 +6924,7 @@ int skill_unit_onlimit (struct skill_unit *src, unsigned int tick) src->bl.x, src->bl.y, 1); if (group == NULL) return 0; - group->valstr = calloc (24, 1); - if (group->valstr == NULL) - { - printf ("skill_unit_onlimit: out of memory !\n"); - exit (1); - } + CREATE (group->valstr, char, 24); memcpy (group->valstr, sg->valstr, 24); group->val2 = sg->val2; } @@ -7185,7 +7175,7 @@ static int skill_check_condition_char_sub (struct block_list *bl, va_list ap) nullpo_retr (0, c = va_arg (ap, int *)); nullpo_retr (0, ssd = (struct map_session_data *) src); - s_class = pc_calc_base_job (sd->status.class); + s_class = pc_calc_base_job (sd->status.pc_class); //チェックしない設定ならcにありえない大きな数字を返して終了 if (!battle_config.player_skill_partner_check) { //本当はforeachの前にやりたいけど設定適用箇所をまとめるためにここへ @@ -7194,15 +7184,15 @@ static int skill_check_condition_char_sub (struct block_list *bl, va_list ap) } ; - ss_class = pc_calc_base_job (ssd->status.class); + ss_class = pc_calc_base_job (ssd->status.pc_class); switch (ssd->skillid) { case PR_BENEDICTIO: /* 聖体降福 */ if (sd != ssd - && (sd->status.class == 4 || sd->status.class == 8 - || sd->status.class == 15 || sd->status.class == 4005 - || sd->status.class == 4009 || sd->status.class == 4016) + && (sd->status.pc_class == 4 || sd->status.pc_class == 8 + || sd->status.pc_class == 15 || sd->status.pc_class == 4005 + || sd->status.pc_class == 4009 || sd->status.pc_class == 4016) && (sd->bl.x == ssd->bl.x - 1 || sd->bl.x == ssd->bl.x + 1) && sd->status.sp >= 10) (*c)++; @@ -7218,12 +7208,12 @@ static int skill_check_condition_char_sub (struct block_list *bl, va_list ap) case BD_RAGNAROK: /* 神々の黄昏 */ case CG_MOONLIT: /* 月明りの泉に落ちる花びら */ if (sd != ssd && - ((ssd->status.class == 19 && sd->status.class == 20) || - (ssd->status.class == 20 && sd->status.class == 19) || - (ssd->status.class == 4020 && sd->status.class == 4021) || - (ssd->status.class == 4021 && sd->status.class == 4020) || - (ssd->status.class == 20 && sd->status.class == 4020) || - (ssd->status.class == 19 && sd->status.class == 4021)) && + ((ssd->status.pc_class == 19 && sd->status.pc_class == 20) || + (ssd->status.pc_class == 20 && sd->status.pc_class == 19) || + (ssd->status.pc_class == 4020 && sd->status.pc_class == 4021) || + (ssd->status.pc_class == 4021 && sd->status.pc_class == 4020) || + (ssd->status.pc_class == 20 && sd->status.pc_class == 4020) || + (ssd->status.pc_class == 19 && sd->status.pc_class == 4021)) && pc_checkskill (sd, ssd->skillid) > 0 && (*c) == 0 && sd->status.party_id == ssd->status.party_id && @@ -7256,7 +7246,7 @@ static int skill_check_condition_use_sub (struct block_list *bl, va_list ap) nullpo_retr (0, c = va_arg (ap, int *)); nullpo_retr (0, ssd = (struct map_session_data *) src); - s_class = pc_calc_base_job (sd->status.class); + s_class = pc_calc_base_job (sd->status.pc_class); //チェックしない設定ならcにありえない大きな数字を返して終了 if (!battle_config.player_skill_partner_check) @@ -7265,16 +7255,16 @@ static int skill_check_condition_use_sub (struct block_list *bl, va_list ap) return 0; } - ss_class = pc_calc_base_job (ssd->status.class); + ss_class = pc_calc_base_job (ssd->status.pc_class); skillid = ssd->skillid; skilllv = ssd->skilllv; switch (skillid) { case PR_BENEDICTIO: /* 聖体降福 */ if (sd != ssd - && (sd->status.class == 4 || sd->status.class == 8 - || sd->status.class == 15 || sd->status.class == 4005 - || sd->status.class == 4009 || sd->status.class == 4016) + && (sd->status.pc_class == 4 || sd->status.pc_class == 8 + || sd->status.pc_class == 15 || sd->status.pc_class == 4005 + || sd->status.pc_class == 4009 || sd->status.pc_class == 4016) && (sd->bl.x == ssd->bl.x - 1 || sd->bl.x == ssd->bl.x + 1) && sd->status.sp >= 10) { @@ -7294,7 +7284,12 @@ static int skill_check_condition_use_sub (struct block_list *bl, va_list ap) case BD_RAGNAROK: /* 神々の黄昏 */ case CG_MOONLIT: /* 月明りの泉に落ちる花びら */ if (sd != ssd && //本人以外で - ((ssd->status.class == 19 && sd->status.class == 20) || (ssd->status.class == 20 && sd->status.class == 19) || (ssd->status.class == 4020 && sd->status.class == 4021) || (ssd->status.class == 4021 && sd->status.class == 4020) || (ssd->status.class == 20 && sd->status.class == 4020) || (ssd->status.class == 19 && sd->status.class == 4021)) && //自分がダンサーならバードで + ((ssd->status.pc_class == 19 && sd->status.pc_class == 20) || + (ssd->status.pc_class == 20 && sd->status.pc_class == 19) || + (ssd->status.pc_class == 4020 && sd->status.pc_class == 4021) || + (ssd->status.pc_class == 4021 && sd->status.pc_class == 4020) || + (ssd->status.pc_class == 20 && sd->status.pc_class == 4020) || + (ssd->status.pc_class == 19 && sd->status.pc_class == 4021)) && //自分がダンサーならバードで pc_checkskill (sd, skillid) > 0 && //スキルを持っていて (*c) == 0 && //最初の一人で sd->status.party_id == ssd->status.party_id && //パーティーが同じで @@ -7339,7 +7334,7 @@ static int skill_check_condition_mob_master_sub (struct block_list *bl, return 0; nullpo_retr (0, c = va_arg (ap, int *)); - if (md->class == mob_class && md->master_id == src_id) + if (md->mob_class == mob_class && md->master_id == src_id) (*c)++; return 0; } @@ -8235,7 +8230,7 @@ int skill_use_id (struct map_session_data *sd, int target_id, /* 詠唱反応モンスター */ if (bl->type == BL_MOB && (md = (struct mob_data *) bl) - && mob_db[md->class].mode & 0x10 && md->state.state != MS_ATTACK + && mob_db[md->mob_class].mode & 0x10 && md->state.state != MS_ATTACK && sd->invincible_timer == -1) { md->target_id = sd->bl.id; diff --git a/src/map/skill.h b/src/map/skill.h index d0a698c..6c8795a 100644 --- a/src/map/skill.h +++ b/src/map/skill.h @@ -38,8 +38,8 @@ extern struct skill_db skill_db[MAX_SKILL_DB]; struct skill_name_db { int id; // skill id - char *name; // search strings - char *desc; // description that shows up for search's + const char *name; // search strings + const char *desc; // description that shows up for search's }; extern struct skill_name_db skill_names[]; |