summaryrefslogtreecommitdiff
path: root/src/map/status.c
diff options
context:
space:
mode:
authorcelest <celest@54d463be-8e91-2dee-dedb-b68131a5f0ec>2005-02-19 08:04:33 +0000
committercelest <celest@54d463be-8e91-2dee-dedb-b68131a5f0ec>2005-02-19 08:04:33 +0000
commit48f8a39dbac7dd47104933a5c7cab30412987ecc (patch)
treed277b83b8b04a77b61bf2884f8d46d308875832e /src/map/status.c
parent2b19bc81ba8005d28810b3180da9c6d0a58b01c8 (diff)
downloadhercules-48f8a39dbac7dd47104933a5c7cab30412987ecc.tar.gz
hercules-48f8a39dbac7dd47104933a5c7cab30412987ecc.tar.bz2
hercules-48f8a39dbac7dd47104933a5c7cab30412987ecc.tar.xz
hercules-48f8a39dbac7dd47104933a5c7cab30412987ecc.zip
* Added bSubSize, bHPGainValue, and bDamageWhenUnequip
* Updated bSPDrainValue/Rate * Set baby class players' size to 0(small) * Fixed item_db2.txt reading printing wrong number of entries read * Fixed @allskill not giving the newer stalker, whitesmith and creator skills git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/branches/stable@1139 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/status.c')
-rw-r--r--src/map/status.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/map/status.c b/src/map/status.c
index 74a7bd320..05c6c8baa 100644
--- a/src/map/status.c
+++ b/src/map/status.c
@@ -512,6 +512,9 @@ int status_calc_pc(struct map_session_data* sd,int first)
sd->hp_loss_rate = sd->hp_loss_value = sd->hp_loss_type = 0;
memset(sd->addrace2,0,sizeof(sd->addrace2));
memset(sd->addrace2_,0,sizeof(sd->addrace2_));
+ sd->hp_gain_value = sd->sp_drain_type = 0;
+ memset(sd->subsize,0,sizeof(sd->subsize));
+ sd->unequip_damage = 0;
if(!sd->disguiseflag && sd->disguise) {
sd->disguise=0;
@@ -2786,11 +2789,16 @@ int status_get_size(struct block_list *bl)
nullpo_retr(1, bl);
if(bl->type==BL_MOB && (struct mob_data *)bl)
return mob_db[((struct mob_data *)bl)->class_].size;
- else if(bl->type==BL_PC && (struct map_session_data *)bl)
- return 1;
else if(bl->type==BL_PET && (struct pet_data *)bl)
return mob_db[((struct pet_data *)bl)->class_].size;
- else
+ else if(bl->type==BL_PC) {
+ struct map_session_data *sd = (struct map_session_data *)bl;
+ //if (pc_isriding(sd)) // fact or rumour?
+ // return 2;
+ if (pc_calc_upper(sd->status.class_) == 2)
+ return 0;
+ return 1;
+ } else
return 1;
}
int status_get_mode(struct block_list *bl)