diff --git a/db/const.txt b/db/const.txt index 890993dff2..bf41a5d225 100644 --- a/db/const.txt +++ b/db/const.txt @@ -634,6 +634,7 @@ bSPVanishRaceRate 2075 bAbsorbDmgMaxHP 2076 bSubSkill 2077 bSubDefEle 2078 +bStateNoRecoverRace 2079 EQI_HEAD_TOP 1 EQI_ARMOR 2 diff --git a/doc/item_bonus.txt b/doc/item_bonus.txt index 44ce7e4a09..574b9c7987 100644 --- a/doc/item_bonus.txt +++ b/doc/item_bonus.txt @@ -369,7 +369,7 @@ bonus2 bSPVanishRate,x,n; Add a x/10% chance of decreasing enemy's SP amount by bonus3 bHPVanishRaceRate,r,x,n; Add a x/100% chance of decreasing enemy's HP amount by n% when attacking, depends on enemy race r bonus3 bSPVanishRaceRate,r,x,n; Add a x/100% chance of decreasing enemy's SP amount by n% when attacking, depends on enemy race r -bonus3 bStateNoRecoverRace,n,x,r; Set a no recovery state of an enemy of race n at x% for r milliseconds with normal attack. +bonus3 bStateNoRecoverRace,r,x,t; Set a no recovery state of an enemy of race r at x% for t milliseconds with normal attack. HP/SP gain ------------ diff --git a/src/map/pc.c b/src/map/pc.c index 03147f6e9e..55c4010ff7 100755 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -3784,6 +3784,12 @@ void pc_bonus3(struct map_session_data *sd,int type,int type2,int type3,int val) PC_BONUS_CHK_RACE(type2, SP_STATE_NORECOVER_RACE); if (sd->state.lr_flag == 2) break; + //! CONFIRM: Is it not stackable? Does not check max or min value? + //if (type3 > sd->norecover_state_race[type2].rate) { + // sd->norecover_state_race[type2].rate = type3; + // sd->norecover_state_race[type2].tick = val; + // break; + //} sd->norecover_state_race[type2].rate = type3; sd->norecover_state_race[type2].tick = val; break;