- 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://svn.code.sf.net/p/rathena/svn/trunk@9404 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
skotlex 2006-12-04 17:41:02 +00:00
parent 30c5778a46
commit 384fe7b6fc
4 changed files with 20 additions and 12 deletions

View File

@ -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. IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
2006/12/04 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 * Knockback will again use the fixpos packet instead of the slide packet
(slide was introduced with high jump) since Aegis captures say that packet (slide was introduced with high jump) since Aegis captures say that packet
is still used for knockbacks. [Skotlex] is still used for knockbacks. [Skotlex]

View File

@ -342,7 +342,7 @@ int chrif_changemapserver(struct map_session_data *sd, short map, int x, int y,
if (other_mapserver_count < 1) if (other_mapserver_count < 1)
{ //No other map servers are online! { //No other map servers are online!
pc_authfail(sd); clif_authfail_fd(sd->fd, 0);
return -1; return -1;
} }
@ -385,7 +385,7 @@ int chrif_changemapserverack(int fd)
if (RFIFOL(fd,6) == 1) { if (RFIFOL(fd,6) == 1) {
if (battle_config.error_log) if (battle_config.error_log)
ShowError("map server change failed.\n"); ShowError("map server change failed.\n");
pc_authfail(sd); clif_authfail_fd(sd->fd, 0);
return 0; return 0;
} }
clif_changemapserver(sd, (char*)mapindex_id2name(RFIFOW(fd,18)), RFIFOW(fd,20), RFIFOW(fd,22), RFIFOL(fd,24), RFIFOW(fd,28)); clif_changemapserver(sd, (char*)mapindex_id2name(RFIFOW(fd,18)), RFIFOW(fd,20), RFIFOW(fd,22), RFIFOL(fd,24), RFIFOW(fd,28));

View File

@ -450,16 +450,16 @@ int guild_created(int account_id,int guild_id)
if(sd==NULL) if(sd==NULL)
return 0; return 0;
if(guild_id>0) { if(!guild_id) {
//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 {
clif_guild_created(sd,2); // 作成失敗(同名ギルド存在) 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; return 0;
} }

View File

@ -1497,9 +1497,15 @@ static unsigned int status_base_pc_maxhp(struct map_session_data* sd, struct sta
val += val * 25/100; val += val * 25/100;
else if (sd->class_&JOBL_BABY) else if (sd->class_&JOBL_BABY)
val -= val * 30/100; 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. 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; val += 2000;
return val; return val;