summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgreenboxal2 <greenboxal2@54d463be-8e91-2dee-dedb-b68131a5f0ec>2012-04-21 07:37:26 +0000
committergreenboxal2 <greenboxal2@54d463be-8e91-2dee-dedb-b68131a5f0ec>2012-04-21 07:37:26 +0000
commit3726e00c073550558fa9b954e1fd2b854bc787e3 (patch)
treec973a70b6c7e0ac007edc5fea6072ebe09a95480
parentdda9ac430f39fb36dc2d230632b7e449037f97f6 (diff)
downloadhercules-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
-rw-r--r--src/map/battle.c10
-rw-r--r--src/map/skill.c4
-rw-r--r--src/map/status.c1
-rw-r--r--src/map/status.h2
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;