mirror of
https://github.com/oshima-studios/OshimaGameModule.git
synced 2025-04-23 12:29:35 +08:00
取消乘算,改为加算
This commit is contained in:
parent
e0be8706d5
commit
c6167b1133
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user