diff options
author | blackhole89 <blackhole89@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-05-21 18:59:13 +0000 |
---|---|---|
committer | blackhole89 <blackhole89@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-05-21 18:59:13 +0000 |
commit | 01920ca0c1f2c30ebb0abd4793cf6e308454f0cd (patch) | |
tree | b9ac128b14e1016c94cbc107ef4798ea82c9c149 /src/map/map.h | |
parent | e3ae5ebcd80e0fe528e522b87aec0022488bb446 (diff) | |
download | hercules-01920ca0c1f2c30ebb0abd4793cf6e308454f0cd.tar.gz hercules-01920ca0c1f2c30ebb0abd4793cf6e308454f0cd.tar.bz2 hercules-01920ca0c1f2c30ebb0abd4793cf6e308454f0cd.tar.xz hercules-01920ca0c1f2c30ebb0abd4793cf6e308454f0cd.zip |
* Part A of the Homunculus code.
This only features the structures, status_* and clif_* (packets) and is
not functional yet in any conventional way, but doesn't interfere
with present functionality either.
I would only forget half of this stuff if I tried to do all at once.
Expect the rest somewhen within the upcoming week.
(This is not similar to jA's implementation.)
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6681 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/map.h')
-rw-r--r-- | src/map/map.h | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/src/map/map.h b/src/map/map.h index 042058885..79474cc63 100644 --- a/src/map/map.h +++ b/src/map/map.h @@ -733,6 +733,8 @@ struct map_session_data { struct pet_data *pd;
int pet_hungry_timer;
+ struct homun_data *hd; // [blackhole89]
+
struct{
int m; //-1 - none, other: map index corresponding to map name.
unsigned short index; //map index
@@ -874,6 +876,7 @@ struct mob_data { struct {
int id;
int dmg;
+ unsigned char to_homun; //[blackhole89] - determines whether this damage was dealt by homunculus or its master
} dmglog[DAMAGELOG_SIZE];
struct spawn_data *spawn; //Spawn data.
struct item *lootitem;
@@ -903,6 +906,43 @@ struct mob_data { char npc_event[50];
};
+/* [blackhole89] */
+struct homun_data {
+ struct block_list bl;
+ struct unit_data ud;
+ struct view_data *vd;
+ struct status_change sc;
+
+ char name[NAME_LENGTH];
+ int id;
+ short speed;
+ short class_;
+
+ struct map_session_data *master; //pointer back to its master
+
+ short hunger_rate;
+
+ struct {
+ int id; //0 = none
+ int level;
+ } hskill[4]; //skills (max. 4 for now)
+
+ int alive; //does it live
+
+ int target_id,attacked_id;
+
+ int amotion,dmotion;
+
+ short level;
+ short atk,matk,hit,crit,def,mdef,flee,flee2; //flee2 is not transmitted; lucky flee
+ short regenhp,regensp;
+ short str,agi,vit,int_,dex,luk; //According to various sources, they do have these though they aren't transfered to client.
+ short hp,max_hp;
+ short sp,max_sp;
+ unsigned long exp,exp_next;
+ short skillpts;
+};
+
struct pet_data {
struct block_list bl;
struct unit_data ud;
|