diff --git a/db/re/item_db_etc.yml b/db/re/item_db_etc.yml index 431e9ce187..335e44e205 100644 --- a/db/re/item_db_etc.yml +++ b/db/re/item_db_etc.yml @@ -46793,7 +46793,7 @@ Body: DropEffect: CLIENT Script: | bonus bMatkRate,10; - bonus5 bAutoSpell,"NPC_CRITICALWOUND",3,5+(10*(getrefine()/3)),BF_MAGIC,1; + bonus5 bAutoSpell,"NPC_WIDECRITICALWOUND",8,5+(10*(getrefine()/3)),BF_MAGIC,1; - Id: 31024 AegisName: As_Bdy_Knight_Card Name: Immortal Cursed Knight Card diff --git a/db/re/skill_db.yml b/db/re/skill_db.yml index 764fbe4531..57e4015066 100644 --- a/db/re/skill_db.yml +++ b/db/re/skill_db.yml @@ -17953,6 +17953,41 @@ Body: Hit: Single HitCount: 1 SplashArea: -1 + - Id: 749 + Name: NPC_WIDECRITICALWOUND + Description: Wide Critical Wounds + MaxLevel: 10 + Type: Weapon + TargetType: Self + DamageFlags: + Splash: true + Flags: + IsNpc: true + Hit: Single + HitCount: 1 + SplashArea: + - Level: 1 + Area: 2 + - Level: 2 + Area: 5 + - Level: 3 + Area: 8 + - Level: 4 + Area: 11 + - Level: 5 + Area: 14 + - Level: 6 + Area: 14 + - Level: 7 + Area: 14 + - Level: 8 + Area: 14 + - Level: 9 + Area: 14 + - Level: 10 + Area: 2 + Element: Weapon + Duration2: 30000 - Id: 751 Name: NPC_ALL_STAT_DOWN Description: Decrease All Stats diff --git a/src/map/skill.cpp b/src/map/skill.cpp index a952f1941a..b41c116195 100755 --- a/src/map/skill.cpp +++ b/src/map/skill.cpp @@ -1813,6 +1813,7 @@ int skill_additional_effect( struct block_list* src, struct block_list *bl, uint } break; case NPC_CRITICALWOUND: + case NPC_WIDECRITICALWOUND: sc_start(src,bl,SC_CRITICALWOUND,100,skill_lv,skill_get_time2(skill_id,skill_lv)); break; case NPC_FIRESTORM: @@ -5669,6 +5670,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint case EM_EL_DEADLY_POISON: case BO_EXPLOSIVE_POWDER: case BO_MAYHEMIC_THORNS: + case NPC_WIDECRITICALWOUND: if( flag&1 ) {//Recursive invocation int sflag = skill_area_temp[0] & 0xFFF; int heal = 0; @@ -8632,6 +8634,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui case NPC_HELLJUDGEMENT2: case NPC_PULSESTRIKE: case LG_MOONSLASHER: + case NPC_WIDECRITICALWOUND: skill_castend_damage_id(src, src, skill_id, skill_lv, tick, flag); break; diff --git a/src/map/status.cpp b/src/map/status.cpp index 145d5885c1..7403721a8d 100644 --- a/src/map/status.cpp +++ b/src/map/status.cpp @@ -11445,6 +11445,9 @@ int status_change_start(struct block_list* src, struct block_list* bl,enum sc_ty val1 = rnd()%ELE_ALL; break; case SC_CRITICALWOUND: + // Level 1 ~ 5 & 6 ~ 10 has different duration + // Level 6 ~ 10 use effect of level 1 ~ 5 + val1 = 1 + ((val1-1)%5); val2 = 20*val1; // Heal effectiveness decrease break; case SC_MAGICMIRROR: