Ver código fonte

- Homun saving won't cap hp/sp to max hp/sp since a homun can have higher hp/sp than the one stated in the db (due to skill bonuses or status changes)
- Increased splash range of HVAN_EXPLOSION to 4.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8411 54d463be-8e91-2dee-dedb-b68131a5f0ec

skotlex 19 anos atrás
pai
commit
8ce99cc52d
4 arquivos alterados com 10 adições e 5 exclusões
  1. 3 0
      Changelog-Trunk.txt
  2. 1 0
      db/Changelog.txt
  3. 1 1
      db/skill_db.txt
  4. 5 4
      src/map/mercenary.c

+ 3 - 0
Changelog-Trunk.txt

@@ -4,6 +4,9 @@ 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/08/21
+	* Homun saving won't cap hp/sp to max hp/sp since a homun can have higher
+	  hp/sp than the one stated in the db (due to skill bonuses or status
+	  changes) [Skotlex]
 	* Cleaned up some more the regen_data structure, so that
 	  skill/sitting-skill related data is optional (since only players have it).
 	  [Skotlex]

+ 1 - 0
db/Changelog.txt

@@ -20,6 +20,7 @@
 
 =========================
 08/21
+	* Increased splash range of HVAN_EXPLOSION to 4. [Skotlex]
 	* Added delay to HLIF_AVOID [Toms]
 08/20
 	* Fixed Fling not reducing DEF for 30 seconds [Playtester]

+ 1 - 1
db/skill_db.txt

@@ -606,7 +606,7 @@
 8013,9,6,1,0,0,0,5,1:2:3:4:5,no,0,0,0,magic,0	//HVAN_CAPRICE
 8014,0,6,4,0,1,0,5,0,no,0,0,0,none,0	//HVAN_CHAOTIC
 8015,0,0,0,0,1,0,5,0,no,0,0,0,none,0	//HVAN_INSTRUCT
-8016,0,6,4,-1,2,2,3,1,no,0,0,0,misc,0	//HVAN_EXPLOSION
+8016,0,6,4,-1,2,4,3,1,no,0,0,0,misc,0	//HVAN_EXPLOSION
 
 //id,range,hit,inf,pl,nk,splash,max,list_num,castcancel,cast_defence_rate,inf2,maxcount,skill_type,blow_count
 10000,0,0,0,0,0,0,1,0,no,0,16,0,none,0	//GD_APPROVAL#Approval#

+ 5 - 4
src/map/mercenary.c

@@ -424,10 +424,11 @@ void merc_save(struct homun_data *hd)
 {
 	// copy data that must be saved in homunculus struct ( hp / sp )
 	TBL_PC * sd = hd->master;
-	if((sd->homunculus.hp = hd->battle_status.hp) > sd->homunculus.max_hp )
-		sd->homunculus.hp = sd->homunculus.max_hp;
-	if((sd->homunculus.sp = hd->battle_status.sp) > sd->homunculus.max_sp )
-		sd->homunculus.sp = sd->homunculus.max_sp;
+	//Do not check for max_hp/max_sp caps as current could be higher to max due
+	//to status changes/skills (they will be capped as needed upon stat 
+	//calculation on login)
+	sd->homunculus.hp = hd->battle_status.hp;
+	sd->homunculus.sp = hd->battle_status.sp;
 	intif_homunculus_requestsave(sd->status.account_id, &sd->homunculus) ;
 }