diff options
author | greenboxal2 <greenboxal2@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2012-04-21 07:37:26 +0000 |
---|---|---|
committer | greenboxal2 <greenboxal2@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2012-04-21 07:37:26 +0000 |
commit | 3726e00c073550558fa9b954e1fd2b854bc787e3 (patch) | |
tree | c973a70b6c7e0ac007edc5fea6072ebe09a95480 /src | |
parent | dda9ac430f39fb36dc2d230632b7e449037f97f6 (diff) | |
download | hercules-3726e00c073550558fa9b954e1fd2b854bc787e3.tar.gz hercules-3726e00c073550558fa9b954e1fd2b854bc787e3.tar.bz2 hercules-3726e00c073550558fa9b954e1fd2b854bc787e3.tar.xz hercules-3726e00c073550558fa9b954e1fd2b854bc787e3.zip |
Fixed bugreport:5494 missing renewal status for RG_RAID.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15900 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src')
-rw-r--r-- | src/map/battle.c | 10 | ||||
-rw-r--r-- | src/map/skill.c | 4 | ||||
-rw-r--r-- | src/map/status.c | 1 | ||||
-rw-r--r-- | src/map/status.h | 2 |
4 files changed, 16 insertions, 1 deletions
diff --git a/src/map/battle.c b/src/map/battle.c index cea562661..86297f271 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -542,6 +542,16 @@ int battle_calc_damage(struct block_list *src,struct block_list *bl,struct Damag status_change_end(bl, SC_AETERNA, INVALID_TIMER); //Shouldn't end until Breaker's non-weapon part connects. } +#ifdef RENEWAL + if( sc->data[SC_RAID] ) + { + damage += 20*damage/100; + + if (--sc->data[SC_RAID]->val1 == 0) + status_change_end(bl, SC_RAID, INVALID_TIMER); + } +#endif + if( damage ) { if( sc->data[SC_DEEPSLEEP] ) { diff --git a/src/map/skill.c b/src/map/skill.c index 252bb4bf1..3000023d3 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -930,6 +930,10 @@ int skill_additional_effect (struct block_list* src, struct block_list *bl, int case RG_RAID: sc_start(bl,SC_STUN,(10+3*skilllv),skilllv,skill_get_time(skillid,skilllv)); sc_start(bl,SC_BLIND,(10+3*skilllv),skilllv,skill_get_time2(skillid,skilllv)); + +#ifdef RENEWAL + sc_start(bl,SC_RAID,100,7,5000); +#endif break; case BA_FROSTJOKER: diff --git a/src/map/status.c b/src/map/status.c index 972553d94..a53a74e14 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -282,6 +282,7 @@ void initChangeTables(void) set_sc( NPC_HALLUCINATION , SC_HALLUCINATION , SI_HALLUCINATION , SCB_NONE ); add_sc( NPC_REBIRTH , SC_REBIRTH ); add_sc( RG_RAID , SC_STUN ); + add_sc( RG_RAID , SC_RAID ); set_sc( RG_STRIPWEAPON , SC_STRIPWEAPON , SI_STRIPWEAPON , SCB_WATK ); set_sc( RG_STRIPSHIELD , SC_STRIPSHIELD , SI_STRIPSHIELD , SCB_DEF ); set_sc( RG_STRIPARMOR , SC_STRIPARMOR , SI_STRIPARMOR , SCB_VIT ); diff --git a/src/map/status.h b/src/map/status.h index fd4c32319..da9471467 100644 --- a/src/map/status.h +++ b/src/map/status.h @@ -592,7 +592,7 @@ typedef enum sc_type { SC_SOULCOLD, //510 SC_HAWKEYES, SC_ODINS_POWER, - + SC_RAID, SC_MAX, //Automatically updated max, used in for's to check we are within bounds. } sc_type; |