From 3726e00c073550558fa9b954e1fd2b854bc787e3 Mon Sep 17 00:00:00 2001 From: greenboxal2 Date: Sat, 21 Apr 2012 07:37:26 +0000 Subject: 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 --- src/map/battle.c | 10 ++++++++++ src/map/skill.c | 4 ++++ src/map/status.c | 1 + src/map/status.h | 2 +- 4 files changed, 16 insertions(+), 1 deletion(-) (limited to 'src') 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; -- cgit v1.2.3-70-g09d2