Browse Source

Fixed bugreport:5494 missing renewal status for RG_RAID.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15900 54d463be-8e91-2dee-dedb-b68131a5f0ec
greenboxal2 13 năm trước cách đây
mục cha
commit
4d84fc8337
4 tập tin đã thay đổi với 16 bổ sung1 xóa
  1. 10 0
      src/map/battle.c
  2. 4 0
      src/map/skill.c
  3. 1 0
      src/map/status.c
  4. 1 1
      src/map/status.h

+ 10 - 0
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] ) {

+ 4 - 0
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:

+ 1 - 0
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 );

+ 1 - 1
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;