继续
This commit is contained in:
43
Assets/Mods/Basic/Characters/CombatBuffs/General/Blind.cs
Normal file
43
Assets/Mods/Basic/Characters/CombatBuffs/General/Blind.cs
Normal file
@@ -0,0 +1,43 @@
|
||||
using Continentis.MainGame;
|
||||
using Continentis.MainGame.Character;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Continentis.Mods.Basic.Buffs
|
||||
{
|
||||
public sealed class Blind : CharacterCombatBuffBase
|
||||
{
|
||||
public Blind(int initialCount, int stack = 25)
|
||||
{
|
||||
Initialize(BuffType.Negative, BuffDispelLevel.Basic);
|
||||
|
||||
this.contentSubmodule = new ContentSubmodule(this)
|
||||
.AddParameterGetter("Count", () => actionCountSubmodule.remainingCount.ToString())
|
||||
.AddParameterGetter("Stack", () => unitedStackSubmodule.stackAmount.ToString());
|
||||
|
||||
this.iconSubmodule = new IconSubmodule(this);
|
||||
|
||||
actionCountSubmodule = new CountSubmodule(this, initialCount);
|
||||
|
||||
generalAttributeSubmodule = new GeneralAttributeSubmodule(this);
|
||||
generalAttributeSubmodule.numericChange.Add("DodgeCheckStartDamageMultiplier", -0.01f * stack);
|
||||
}
|
||||
|
||||
public override bool OnBuffApply(out CharacterCombatBuffBase existingBuff)
|
||||
{
|
||||
MainGameManager.Instance.basePrefabs.GenerateInfoText("Blind", attachedCharacter.characterView);
|
||||
|
||||
if (FindExistingSameBuff(out existingBuff))
|
||||
{
|
||||
existingBuff.unitedStackSubmodule.PickHigherStack(this.unitedStackSubmodule.stackAmount);
|
||||
existingBuff.actionCountSubmodule.AddRemainingCount(this.actionCountSubmodule.remainingCount);
|
||||
|
||||
int remainingCount = existingBuff.actionCountSubmodule.remainingCount;
|
||||
int stackAmount = existingBuff.unitedStackSubmodule.stackAmount;
|
||||
existingBuff.generalAttributeSubmodule.numericChange["DodgeCheckStartDamageMultiplier"] = -0.01f * stackAmount;
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user