取消乘算,改为加算

This commit is contained in:
milimoe 2024-11-14 23:05:38 +08:00
parent e0be8706d5
commit c6167b1133
Signed by: milimoe
GPG Key ID: 05D280912DA6C69E
9 changed files with 30 additions and 23 deletions

View File

@ -29,7 +29,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
private readonly double = 0.04;
private double = 0;
public override bool AlterActualDamageAfterCalculation(Character character, Character enemy, ref double damage, bool isNormalAttack, bool isMagicDamage, MagicType magicType, DamageResult damageResult)
public override double AlterActualDamageAfterCalculation(Character character, Character enemy, double damage, bool isNormalAttack, bool isMagicDamage, MagicType magicType, DamageResult damageResult, ref bool isEvaded, Dictionary<Effect, double> totalDamageBonus)
{
if (damageResult != DamageResult.Evaded)
{
@ -41,11 +41,11 @@ namespace Oshima.FunGame.OshimaModules.Skills
if (character == Skill.Character)
{
double = damage * ;
damage += ;
if ( > 0) WriteLine($"[ {character} ] 的伤害提升了 {实际伤害提升:0.##} 点!");
return ;
}
}
return false;
return 0;
}
public override void OnTimeElapsed(Character character, double eapsed)

View File

@ -45,14 +45,14 @@ namespace Oshima.FunGame.OshimaModules.Skills
character.ExAGI -= ;
}
public override bool AlterActualDamageAfterCalculation(Character character, Character enemy, ref double damage, bool isNormalAttack, bool isMagicDamage, MagicType magicType, DamageResult damageResult)
public override double AlterActualDamageAfterCalculation(Character character, Character enemy, double damage, bool isNormalAttack, bool isMagicDamage, MagicType magicType, DamageResult damageResult, ref bool isEvaded, Dictionary<Effect, double> totalDamageBonus)
{
if (enemy == Skill.Character && damageResult != DamageResult.Evaded)
{
WriteLine($"[ {enemy} ] 发动了绝对领域,巧妙的化解了此伤害!");
return true;
return 0;
}
return false;
return 0;
}
public override void OnSkillCasting(Character caster, List<Character> targets)

View File

@ -39,17 +39,18 @@ namespace Oshima.FunGame.OshimaModules.Skills
Skill.IsInEffect = false;
}
public override void AlterExpectedDamageBeforeCalculation(Character character, Character enemy, ref double damage, bool isNormalAttack, bool isMagicDamage, MagicType magicType)
public override double AlterExpectedDamageBeforeCalculation(Character character, Character enemy, double damage, bool isNormalAttack, bool isMagicDamage, MagicType magicType, Dictionary<Effect, double> totalDamageBonus)
{
if (character == Skill.Character && isMagicDamage)
{
double = ;
double = damage * ;
damage += ;
WriteLine($"[ {character} ] 发动了变幻之心!伤害提升了 {实际伤害提升:0.##} 点!");
character.Effects.Remove(this);
OnEffectLost(character);
return ;
}
return 0;
}
public override void OnSkillCasted(Character caster, List<Character> targets, Dictionary<string, object> others)

View File

@ -58,14 +58,14 @@ namespace Oshima.FunGame.OshimaModules.Skills
return * damage;
}
public override void AlterExpectedDamageBeforeCalculation(Character character, Character enemy, ref double damage, bool isNormalAttack, bool isMagicDamage, MagicType magicType)
public override double AlterExpectedDamageBeforeCalculation(Character character, Character enemy, double damage, bool isNormalAttack, bool isMagicDamage, MagicType magicType, Dictionary<Effect, double> totalDamageBonus)
{
if (character == Skill.Character)
{
= (damage);
damage += ;
WriteLine($"[ {character} ] 发动了玻璃大炮,获得了 {这次的伤害加成:0.##} 点伤害加成!");
= 0;
return ;
}
if (enemy == Skill.Character)
@ -76,11 +76,13 @@ namespace Oshima.FunGame.OshimaModules.Skills
// 额外受到伤害
double = (Random.Shared.Next(30, 30) + 0.0) / 100;
= damage * ;
damage += ;
WriteLine($"[ {enemy} ] 的玻璃大炮触发,将额外受到 {这次受到的额外伤害:0.##} 点伤害!");
}
else = 0;
return ;
}
return 0;
}
public override void AfterDamageCalculation(Character character, Character enemy, double damage, bool isNormalAttack, bool isMagicDamage, MagicType magicType, DamageResult damageResult)

View File

@ -54,12 +54,14 @@ namespace Oshima.FunGame.OshimaModules.Skills
= 0;
}
public override void AlterExpectedDamageBeforeCalculation(Character character, Character enemy, ref double damage, bool isNormalAttack, bool isMagicDamage, MagicType magicType)
public override double AlterExpectedDamageBeforeCalculation(Character character, Character enemy, double damage, bool isNormalAttack, bool isMagicDamage, MagicType magicType, Dictionary<Effect, double> totalDamageBonus)
{
if (character == Skill.Character && isNormalAttack)
{
damage += ;
WriteLine($"[ {character} ] 发动了迅捷之势!伤害提升了 {智力加成:0.##} 点!");
return ;
}
return 0;
}
public override void AlterHardnessTimeAfterNormalAttack(Character character, ref double baseHardnessTime, ref bool isCheckProtected)

View File

@ -26,13 +26,14 @@ namespace Oshima.FunGame.OshimaModules.Skills
public override string Name => Skill.Name;
public override string Description => $"优先攻击血量更低的角色,对生命值百分比低于自己的角色造成 150% 伤害。";
public override void AlterExpectedDamageBeforeCalculation(Character character, Character enemy, ref double damage, bool isNormalAttack, bool isMagicDamage, MagicType magicType)
public override double AlterExpectedDamageBeforeCalculation(Character character, Character enemy, double damage, bool isNormalAttack, bool isMagicDamage, MagicType magicType, Dictionary<Effect, double> totalDamageBonus)
{
if (character == Skill.Character && (enemy.HP / enemy.MaxHP) <= (character.HP / character.MaxHP))
{
double = damage * 0.5;
damage += ;
return ;
}
return 0;
}
public override bool AlterEnemyListBeforeAction(Character character, List<Character> enemys, List<Character> teammates, List<Skill> skills, Dictionary<Character, int> continuousKilling, Dictionary<Character, int> earnedMoney)

View File

@ -63,12 +63,13 @@ namespace Oshima.FunGame.OshimaModules.Skills
return CharacterActionType.None;
}
public override void AlterExpectedDamageBeforeCalculation(Character character, Character enemy, ref double damage, bool isNormalAttack, bool isMagicDamage, MagicType magicType)
public override double AlterExpectedDamageBeforeCalculation(Character character, Character enemy, double damage, bool isNormalAttack, bool isMagicDamage, MagicType magicType, Dictionary<Effect, double> totalDamageBonus)
{
if (character == Skill.Character && isNormalAttack)
{
damage += ;
return ;
}
return 0;
}
public override void AlterHardnessTimeAfterNormalAttack(Character character, ref double baseHardnessTime, ref bool isCheckProtected)

View File

@ -42,13 +42,13 @@ namespace Oshima.FunGame.OshimaModules.Skills
character.NormalAttack.SetMagicType(false, character.MagicType);
}
public override bool AlterActualDamageAfterCalculation(Character character, Character enemy, ref double damage, bool isNormalAttack, bool isMagicDamage, MagicType magicType, DamageResult damageResult)
public override double AlterActualDamageAfterCalculation(Character character, Character enemy, double damage, bool isNormalAttack, bool isMagicDamage, MagicType magicType, DamageResult damageResult, ref bool isEvaded, Dictionary<Effect, double> totalDamageBonus)
{
if (enemy == Skill.Character)
{
damage *= 1 - ;
return damage * (1 - );
}
return false;
return 0;
}
public override void OnSkillCasted(Character caster, List<Character> targets, Dictionary<string, object> others)

View File

@ -55,7 +55,7 @@ namespace Oshima.FunGame.OshimaModules.Skills
character.ExCritRate -= 0.08;
}
public override bool AlterActualDamageAfterCalculation(Character character, Character enemy, ref double damage, bool isNormalAttack, bool isMagicDamage, MagicType magicType, DamageResult damageResult)
public override double AlterActualDamageAfterCalculation(Character character, Character enemy, double damage, bool isNormalAttack, bool isMagicDamage, MagicType magicType, DamageResult damageResult, ref bool isEvaded, Dictionary<Effect, double> totalDamageBonus)
{
if (character == Skill.Character && )
{
@ -64,10 +64,10 @@ namespace Oshima.FunGame.OshimaModules.Skills
character.CharacterEffectTypes.Remove(this);
character.UpdateCharacterState();
double d = ;
damage += d;
WriteLine($"[ {character} ] 触发了疾风步破隐一击,获得了 [ {d:0.##} ] 点伤害加成!");
return d;
}
return false;
return 0;
}
public override void OnSkillCasted(Character caster, List<Character> targets, Dictionary<string, object> others)