summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-08-15 17:57:44 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-08-15 17:57:44 +0000
commitbb46a19f03b01c2882ad4fca8d121ff42819ec69 (patch)
treecbda04edb20f3403b66269e3afb6f3b801ea6eac
parent4be6ca0c2b518877d58d21aa9e61cb94322d0a02 (diff)
downloadhercules-bb46a19f03b01c2882ad4fca8d121ff42819ec69.tar.gz
hercules-bb46a19f03b01c2882ad4fca8d121ff42819ec69.tar.bz2
hercules-bb46a19f03b01c2882ad4fca8d121ff42819ec69.tar.xz
hercules-bb46a19f03b01c2882ad4fca8d121ff42819ec69.zip
- Added a crash-fix on status_calc_bl_sub_homun to abort in case the homun has no master (need to clean up this function later)
- Tested char-txt load/save, it seems to be working fine. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8296 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r--Changelog-Trunk.txt7
-rw-r--r--src/map/status.c3
2 files changed, 10 insertions, 0 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt
index 0b160bfbe..3ef72b78c 100644
--- a/Changelog-Trunk.txt
+++ b/Changelog-Trunk.txt
@@ -4,6 +4,13 @@ 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/15
+ * Added a crash-fix on status_calc_bl_sub_homun to abort in case the homun
+ has no master (need to clean up this function later) [Skotlex]
+ * Tested char-txt load/save, it seems to be working fine, but you should
+ STILL backup, as I only launched the server (read old character format),
+ closed it down (saved into the new format) and relaunch it (read the new
+ format) and it didn't give problems (but there's still the possibility of
+ some field being read in the incorrect offset or such). [Skotlex]
* Updated the char save structure for char-TXT servers so that the homun id
will be saved, now also the map info (last point, save point, memo maps)
are now saved using the mapindex rather than the string. BACKUP BEFORE
diff --git a/src/map/status.c b/src/map/status.c
index 4022565e0..4b4609fa5 100644
--- a/src/map/status.c
+++ b/src/map/status.c
@@ -2537,6 +2537,9 @@ void status_calc_bl_sub_hom(struct homun_data *hd, unsigned long flag) //[orn]
struct status_data *status = &hd->battle_status, *b_status = &hd->base_status;
int skill = 0;
+ if (!hd->master)
+ return; //Don't do anything if there isn't a master...
+
if(flag&(SCB_MAXHP|SCB_VIT))
{
flag|=SCB_MAXHP; //Ensures client-side refresh