Explorar el Código

- 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

skotlex hace 18 años
padre
commit
384fe7b6fc
Se han modificado 4 ficheros con 20 adiciones y 12 borrados
  1. 2 0
      Changelog-Trunk.txt
  2. 2 2
      src/map/chrif.c
  3. 8 8
      src/map/guild.c
  4. 8 2
      src/map/status.c

+ 2 - 0
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]

+ 2 - 2
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));

+ 8 - 8
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;
 }
 

+ 8 - 2
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;