From b1d783c36feed8d4969b4acda97f95bf9e8840e0 Mon Sep 17 00:00:00 2001 From: skotlex Date: Mon, 4 Dec 2006 17:41:02 +0000 Subject: - Changed some pc_authfails to clif_authfail_fd since pc_authfail prints errors when invoked after a char is auth'ed. - Added a static +100 Hp to ninjas and gunslingers since it's required for the best approximated hp growth algorythm. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9404 54d463be-8e91-2dee-dedb-b68131a5f0ec --- Changelog-Trunk.txt | 2 ++ src/map/chrif.c | 4 ++-- src/map/guild.c | 16 ++++++++-------- src/map/status.c | 10 ++++++++-- 4 files changed, 20 insertions(+), 12 deletions(-) diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index 927218910..f1a34025c 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -4,6 +4,8 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. 2006/12/04 + * Added a static +100 Hp to ninjas and gunslingers since it's required for + the best approximated hp growth algorythm. [Skotlex] * Knockback will again use the fixpos packet instead of the slide packet (slide was introduced with high jump) since Aegis captures say that packet is still used for knockbacks. [Skotlex] diff --git a/src/map/chrif.c b/src/map/chrif.c index 95b874327..df37aaf1d 100644 --- a/src/map/chrif.c +++ b/src/map/chrif.c @@ -342,7 +342,7 @@ int chrif_changemapserver(struct map_session_data *sd, short map, int x, int y, if (other_mapserver_count < 1) { //No other map servers are online! - pc_authfail(sd); + clif_authfail_fd(sd->fd, 0); return -1; } @@ -385,7 +385,7 @@ int chrif_changemapserverack(int fd) if (RFIFOL(fd,6) == 1) { if (battle_config.error_log) ShowError("map server change failed.\n"); - pc_authfail(sd); + clif_authfail_fd(sd->fd, 0); return 0; } clif_changemapserver(sd, (char*)mapindex_id2name(RFIFOW(fd,18)), RFIFOW(fd,20), RFIFOW(fd,22), RFIFOL(fd,24), RFIFOW(fd,28)); diff --git a/src/map/guild.c b/src/map/guild.c index 459c2f42e..1fe0f526d 100644 --- a/src/map/guild.c +++ b/src/map/guild.c @@ -450,16 +450,16 @@ int guild_created(int account_id,int guild_id) if(sd==NULL) return 0; - if(guild_id>0) { - //struct guild *g; - sd->status.guild_id=guild_id; - sd->state.guild_sent=0; - clif_guild_created(sd,0); - if(battle_config.guild_emperium_check) - pc_delitem(sd,pc_search_inventory(sd,714),1,0); // エンペリウム消耗 - } else { + if(!guild_id) { clif_guild_created(sd,2); // 作成失敗(同名ギルド存在) + return 0; } + //struct guild *g; + sd->status.guild_id=guild_id; + sd->state.guild_sent=0; + clif_guild_created(sd,0); + if(battle_config.guild_emperium_check) + pc_delitem(sd,pc_search_inventory(sd,714),1,0); // エンペリウム消耗 return 0; } diff --git a/src/map/status.c b/src/map/status.c index 1cd81a180..bb95e6405 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -1497,9 +1497,15 @@ static unsigned int status_base_pc_maxhp(struct map_session_data* sd, struct sta val += val * 25/100; else if (sd->class_&JOBL_BABY) val -= val * 30/100; - if ((sd->class_&MAPID_UPPERMASK) == MAPID_TAEKWON && sd->status.base_level >= 90 && pc_famerank(sd->status.char_id, MAPID_TAEKWON)) + + if((sd->class_&MAPID_UPPERMASK) == MAPID_NINJA || + (sd->class_&MAPID_UPPERMASK) == MAPID_GUNSLINGER) + val += 100; //Since their HP can't be approximated well enough without this. + if((sd->class_&MAPID_UPPERMASK) == MAPID_TAEKWON && + sd->status.base_level >= 90 && pc_famerank(sd->status.char_id, MAPID_TAEKWON)) val *= 3; //Triple max HP for top ranking Taekwons over level 90. - if ((sd->class_&MAPID_UPPERMASK) == MAPID_SUPER_NOVICE && sd->status.base_level >= 99) + if ((sd->class_&MAPID_UPPERMASK) == MAPID_SUPER_NOVICE && + sd->status.base_level >= 99) val += 2000; return val; -- cgit v1.2.3-70-g09d2