summaryrefslogtreecommitdiff
path: root/src/map/map.h
diff options
context:
space:
mode:
authorblackhole89 <blackhole89@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-05-21 18:59:13 +0000
committerblackhole89 <blackhole89@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-05-21 18:59:13 +0000
commit01920ca0c1f2c30ebb0abd4793cf6e308454f0cd (patch)
treeb9ac128b14e1016c94cbc107ef4798ea82c9c149 /src/map/map.h
parente3ae5ebcd80e0fe528e522b87aec0022488bb446 (diff)
downloadhercules-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.h40
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;