diff options
-rw-r--r-- | Changelog-Trunk.txt | 3 | ||||
-rw-r--r-- | src/map/chrif.c | 2 | ||||
-rw-r--r-- | src/map/chrif.h | 1 | ||||
-rw-r--r-- | src/map/mob.c | 2 | ||||
-rw-r--r-- | src/map/pc.c | 4 | ||||
-rw-r--r-- | 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; |