diff options
author | ultramage <ultramage@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2007-12-14 23:38:11 +0000 |
---|---|---|
committer | ultramage <ultramage@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2007-12-14 23:38:11 +0000 |
commit | 1382b22cd68bf90f2adc4ae13187416982f9a12f (patch) | |
tree | 60602ab8f3578407bffbd1859603c3a586c52256 /src/map/status.c | |
parent | 78474fe9877675f3fc173f0b7e7235fd6c105067 (diff) | |
download | hercules-1382b22cd68bf90f2adc4ae13187416982f9a12f.tar.gz hercules-1382b22cd68bf90f2adc4ae13187416982f9a12f.tar.bz2 hercules-1382b22cd68bf90f2adc4ae13187416982f9a12f.tar.xz hercules-1382b22cd68bf90f2adc4ae13187416982f9a12f.zip |
Guardian hp handling code removal (see bugreport:342)
- removed guardian hp from the castle data structure, database, savefiles and various script functions (use upgrade_svn11914.sql)
- removed guardian hp calculation and manipulation from the castle manager npc, now the hp values are updated by the server itself (glitch: when castle defense changes, all guardians are healed to full)
- tweaked script function 'guardianinfo' to provide some data needed by the manager npc (currently available are hp, maxhp and visibility); also, it doesn't need a player attached to execute anymore
The whole thing is experimental, use at your own risk (seems to work though...)
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11915 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/status.c')
-rw-r--r-- | src/map/status.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/map/status.c b/src/map/status.c index 91ae9eb06..42695e1b4 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -834,11 +834,13 @@ int status_heal(struct block_list *bl,int hp,int sp, int flag) ) //End auto berserk. status_change_end(bl,SC_PROVOKE,-1); + // send hp update to client switch(bl->type) { case BL_PC: pc_heal((TBL_PC*)bl,hp,sp,flag&2?1:0); break; case BL_MOB: mob_heal((TBL_MOB*)bl,hp); break; case BL_HOM: merc_hom_heal((TBL_HOM*)bl,hp,sp); break; } + return hp+sp; } @@ -1446,10 +1448,7 @@ int status_calc_mob(struct mob_data* md, int first) else { status->max_hp += 2000 * gc->defense; status->max_sp += 200 * gc->defense; - if (md->guardian_data->number < MAX_GUARDIANS) //Spawn with saved HP - status->hp = gc->guardian[md->guardian_data->number].hp; - else //Emperium - status->hp = status->max_hp; + status->hp = status->max_hp; status->sp = status->max_sp; } status->batk += status->batk * 10*md->guardian_data->guardup_lv/100; |