summaryrefslogtreecommitdiff
path: root/src/map
diff options
context:
space:
mode:
Diffstat (limited to 'src/map')
-rw-r--r--src/map/skill.c5
-rw-r--r--src/map/status.c10
2 files changed, 9 insertions, 6 deletions
diff --git a/src/map/skill.c b/src/map/skill.c
index 2b4ab9394..789eb1f62 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -5225,8 +5225,9 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in
pc_breakshield(dstsd);
break;
- case NPC_POWERUP: //NPC”š—ô”g“®
- status_change_start(bl,SC_EXPLOSIONSPIRITS,skilllv,0,0,0,skilllv * 60000,0);
+ case NPC_POWERUP:
+ // +25% attack per skill level? It's a guess... [Skotlex]
+ status_change_start(bl,SC_INCATKRATE,25*skilllv,0,0,0,skilllv * 60000,0);
// another random guess xP
clif_skill_nodamage(src,bl,skillid,skilllv,1);
status_change_start(bl,SC_INCALLSTATUS,skilllv * 5,0,0,0,skilllv * 60000,0);
diff --git a/src/map/status.c b/src/map/status.c
index 1a7dbb3d6..4ae4b81f7 100644
--- a/src/map/status.c
+++ b/src/map/status.c
@@ -2140,8 +2140,6 @@ int status_calc_watk(struct block_list *bl, int watk)
watk += watk * 3;
if(sc->data[SC_NIBELUNGEN].timer!=-1 && bl->type != BL_PC && (status_get_element(bl)/10)>=8)
watk += sc->data[SC_NIBELUNGEN].val2;
- if(sc->data[SC_EXPLOSIONSPIRITS].timer!=-1 && bl->type != BL_PC)
- watk += (1000*sc->data[SC_EXPLOSIONSPIRITS].val1);
if(sc->data[SC_CURSE].timer!=-1)
watk -= watk * 25/100;
if(sc->data[SC_STRIPWEAPON].timer!=-1 && bl->type != BL_PC)
@@ -4536,7 +4534,9 @@ int status_change_start(struct block_list *bl,int type,int val1,int val2,int val
val4 = gettick(); //Store time at which you started running.
calc_flag = 1;
break;
-
+ case SC_INCATKRATE: /* ATK%㸠*/
+ if (bl->type == BL_MOB)
+ sc->opt3 |= 8; //Simulate Explosion Spirits effect for NPC_POWERUP [Skotlex]
case SC_CONCENTRATE: /* W’†—ÍŒüã */
case SC_BLESSING: /* ƒuƒŒƒbƒVƒ“ƒO */
case SC_ANGELUS: /* ƒAƒ“ƒ[ƒ‹ƒX */
@@ -4558,7 +4558,6 @@ int status_change_start(struct block_list *bl,int type,int val1,int val2,int val
case SC_INCFLEERATE: /* FLEE%㸠*/
case SC_INCMHPRATE: /* MHP%㸠*/
case SC_INCMSPRATE: /* MSP%㸠*/
- case SC_INCATKRATE: /* ATK%㸠*/
case SC_INCMATKRATE:
case SC_INCDEFRATE:
case SC_INCSTR:
@@ -5196,6 +5195,9 @@ int status_change_end( struct block_list* bl , int type,int tid )
case SC_ENERGYCOAT: /* ƒGƒiƒW?ƒR?ƒg */
sc->opt3 &= ~4;
break;
+ case SC_INCATKRATE: //Simulated Explosion spirits effect.
+ if (bl->type != BL_MOB)
+ break;
case SC_EXPLOSIONSPIRITS: // ”š—ô”g“®
sc->opt3 &= ~8;
break;