diff options
author | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-07-14 01:36:13 +0000 |
---|---|---|
committer | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-07-14 01:36:13 +0000 |
commit | e5ddac85d2a1363807bbe5dde2f35d98e69d48b1 (patch) | |
tree | daedf414022f80444d205eba65681eaf9c13fada /src/map/status.c | |
parent | 781818eb4fe809b3cc787b26b110d83280385b46 (diff) | |
download | hercules-e5ddac85d2a1363807bbe5dde2f35d98e69d48b1.tar.gz hercules-e5ddac85d2a1363807bbe5dde2f35d98e69d48b1.tar.bz2 hercules-e5ddac85d2a1363807bbe5dde2f35d98e69d48b1.tar.xz hercules-e5ddac85d2a1363807bbe5dde2f35d98e69d48b1.zip |
- Kaahi no longer shows the heal effect to everyone.
- Eska no will cause defense to change randomly every second.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7666 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/status.c')
-rw-r--r-- | src/map/status.c | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/src/map/status.c b/src/map/status.c index fc0fe1ada..a349bf08e 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -3165,7 +3165,7 @@ static signed char status_calc_def(struct block_list *bl, struct status_change * if(sc->data[SC_KEEPING].timer!=-1) return 100; if(sc->data[SC_SKA].timer != -1) - return rand()%100; //Reports indicate SKA actually randomizes defense. + return sc->data[SC_SKA].val3; if(sc->data[SC_STEELBODY].timer!=-1) return 90; if(sc->data[SC_DRUMBATTLE].timer!=-1) @@ -5199,6 +5199,11 @@ int status_change_start(struct block_list *bl,int type,int rate,int val1,int val val2 = 20*val1; //matk increase. val3 = 12*val1; //mdef2 reduction. break; + case SC_SKA: + val2 = tick/1000; + val3 = rand()%100; //Def changes randomly every second... + tick = 1000; + break; default: if (calc_flag == SCB_NONE && StatusSkillChangeTable[type]==0) { //Status change with no calc, and no skill associated...? unknown? @@ -5871,10 +5876,8 @@ int kaahi_heal_timer(int tid, unsigned int tick, int id, int data) hp = status->max_hp - status->hp; if (hp > sc->data[data].val2) hp = sc->data[data].val2; - if (hp) { - status_heal(bl, hp, 0, 0); - clif_skill_nodamage(NULL,bl,AL_HEAL,hp,1); - } + if (hp) + status_heal(bl, hp, 0, 2); sc->data[data].val4=-1; return 1; } @@ -5944,6 +5947,15 @@ int status_change_timer(int tid, unsigned int tick, int id, int data) return 0; break; + case SC_SKA: + if((--sc->data[type].val2)>0){ + sc->data[type].val3 = rand()%100; //Random defense. + sc->data[type].timer=add_timer( + 1000+tick, status_change_timer, + bl->id, data); + return 0; + } + case SC_HIDING: if((--sc->data[type].val2)>0){ |