Corrects NPC_DARKBREATH behavior (#4982)
* Fixes #4864. * Adjusts damage formula to official. * Adjusts damage type from Misc to Magic. * Skill now has a 50% success chance to damage the target. * Removes Flee and Defense Card ignore flags. Thanks to @Masao87 and @mrjnumber1!
This commit is contained in:
parent
20945d71db
commit
70d6876494
@ -5836,11 +5836,8 @@ Body:
|
||||
Name: NPC_DARKBREATH
|
||||
Description: Dark Breath
|
||||
MaxLevel: 5
|
||||
Type: Misc
|
||||
Type: Magic
|
||||
TargetType: Attack
|
||||
DamageFlags:
|
||||
IgnoreFlee: true
|
||||
IgnoreDefCard: true
|
||||
Flags:
|
||||
IsNpc: true
|
||||
Range: 9
|
||||
|
@ -6121,11 +6121,8 @@ Body:
|
||||
Name: NPC_DARKBREATH
|
||||
Description: Dark Breath
|
||||
MaxLevel: 5
|
||||
Type: Misc
|
||||
Type: Magic
|
||||
TargetType: Attack
|
||||
DamageFlags:
|
||||
IgnoreFlee: true
|
||||
IgnoreDefCard: true
|
||||
Flags:
|
||||
IsNpc: true
|
||||
Range: 9
|
||||
|
@ -6164,6 +6164,9 @@ struct Damage battle_calc_magic_attack(struct block_list *src,struct block_list
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
case NPC_DARKBREATH:
|
||||
ad.damage = tstatus->hp * (skill_lv <= 5 ? 100 / (2 * 6 - skill_lv) : 50) / 100;
|
||||
break;
|
||||
case PF_SOULBURN:
|
||||
ad.damage = tstatus->sp * 2;
|
||||
break;
|
||||
@ -6907,9 +6910,6 @@ struct Damage battle_calc_misc_attack(struct block_list *src,struct block_list *
|
||||
case NPC_SMOKING:
|
||||
md.damage = 3;
|
||||
break;
|
||||
case NPC_DARKBREATH:
|
||||
md.damage = tstatus->max_hp * skill_lv * 10 / 100;
|
||||
break;
|
||||
case NPC_EVILLAND:
|
||||
md.damage = skill_calc_heal(src,target,skill_id,skill_lv,false);
|
||||
break;
|
||||
|
@ -5517,6 +5517,8 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
|
||||
|
||||
case NPC_DARKBREATH:
|
||||
clif_emotion(src,ET_ANGER);
|
||||
if (rnd() % 2 == 0)
|
||||
break; // 50% chance
|
||||
case SN_FALCONASSAULT:
|
||||
#ifndef RENEWAL
|
||||
case PA_PRESSURE:
|
||||
|
Loading…
x
Reference in New Issue
Block a user