From b19b2cd0e21bc0ce9d513469c4a575419aaf918e Mon Sep 17 00:00:00 2001 From: skotlex Date: Thu, 9 Nov 2006 23:32:09 +0000 Subject: - Fixed status-change loading not working. - Fixed permanent mob-spawn script-events not working. - AL_CURE won't confuse undead players. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9187 54d463be-8e91-2dee-dedb-b68131a5f0ec --- Changelog-Trunk.txt | 3 +++ src/map/chrif.c | 2 -- src/map/chrif.h | 1 + src/map/mob.c | 2 +- src/map/pc.c | 4 ++-- src/map/skill.c | 3 ++- 6 files changed, 9 insertions(+), 6 deletions(-) diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index d2ea5c127..13b71f023 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -5,6 +5,9 @@ IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. 2006/11/09 ======= + * Fixed status-change loading not working. [Skotlex] + * Fixed permanent mob-spawn script-events not working. [Skotlex] + * AL_CURE won't confuse undead players. [Skotlex] * Corrected the Fog of Wall check so that it lasts 2x when it is placed on TOP of a suiton/deluge, not when the caster is on top of them. [Skotlex] * Updated status_check_skilluse so that when the caster has a disabling diff --git a/src/map/chrif.c b/src/map/chrif.c index 64194c1a2..7039a8d71 100644 --- a/src/map/chrif.c +++ b/src/map/chrif.c @@ -483,7 +483,6 @@ void chrif_authreq(struct map_session_data *sd) auth_data->login_id1 == sd->login_id1) { //auth ok pc_authok(sd, auth_data->login_id2, auth_data->connect_until_time, auth_data->char_dat); - chrif_scdata_request(auth_data->account_id, auth_data->char_dat->char_id); } else { //auth failed pc_authfail(sd); chrif_char_offline(sd); //Set him offline, the char server likely has it set as online already. @@ -524,7 +523,6 @@ void chrif_authok(int fd) { auth_data->login_id1 == RFIFOL(fd, 8)) { //Auth Ok pc_authok(auth_data->sd, RFIFOL(fd, 16), RFIFOL(fd, 12), (struct mmo_charstatus*)RFIFOP(fd, 20)); - chrif_scdata_request(auth_data->account_id, auth_data->sd->status.char_id); } else { //Auth Failed pc_authfail(auth_data->sd); chrif_char_offline(auth_data->sd); //Set him offline, the char server likely has it set as online already. diff --git a/src/map/chrif.h b/src/map/chrif.h index 4e30b4b2c..fc87f9b18 100644 --- a/src/map/chrif.h +++ b/src/map/chrif.h @@ -25,6 +25,7 @@ extern int other_mapserver_count; void chrif_authreq(struct map_session_data *); void chrif_authok(int fd); +int chrif_scdata_request(int account_id, int char_id); int chrif_save(struct map_session_data*, int flag); int chrif_charselectreq(struct map_session_data *sd, unsigned long s_ip); void check_fake_id(int fd, struct map_session_data *sd, int target_id); diff --git a/src/map/mob.c b/src/map/mob.c index ae742b617..36af27b17 100644 --- a/src/map/mob.c +++ b/src/map/mob.c @@ -177,7 +177,7 @@ int mob_parse_dataset(struct spawn_data *data) { data->eventname[0] = '\0'; //Clear event as it is not used. } } else { - if (data->eventname[i-1] == '"'); + if (data->eventname[i-1] == '"') data->eventname[i-1] = '\0'; //Remove trailing quote. if (data->eventname[0] == '"') //Strip leading quotes memmove(data->eventname, data->eventname+1, i-1); diff --git a/src/map/pc.c b/src/map/pc.c index 492cd11f1..5c55c5c26 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -820,8 +820,8 @@ int pc_reg_received(struct map_session_data *sd) // The earliest I can get is here to prevent more failures of status_calc_pc // while making equipment scripts with global_regs possible. [Lance] status_calc_pc(sd,1); - //if (!sd->die_counter && (sd->class_&MAPID_UPPERMASK) == MAPID_SUPER_NOVICE) - // status_calc_pc(sd, 0); //Check +10 to all stats bonus. + chrif_scdata_request(sd->status.account_id, sd->status.char_id); + if (pc_checkskill(sd, TK_MISSION)) { sd->mission_mobid = pc_readglobalreg(sd,"TK_MISSION_ID"); sd->mission_count = pc_readglobalreg(sd,"TK_MISSION_COUNT"); diff --git a/src/map/skill.c b/src/map/skill.c index c27b187e8..c8365482a 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -4266,7 +4266,8 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in status_change_end(bl, SC_SILENCE , -1 ); status_change_end(bl, SC_BLIND , -1 ); status_change_end(bl, SC_CONFUSION, -1 ); - if(battle_check_undead(tstatus->race,tstatus->def_ele)) + //Confusion on undead won't trigger on undead players. + if(!dstsd && battle_check_undead(tstatus->race,tstatus->def_ele)) sc_start(bl, SC_CONFUSION,100,1,skill_get_time2(skillid, skilllv)); clif_skill_nodamage(src,bl,skillid,skilllv,1); break; -- cgit v1.2.3-60-g2f50