using Continentis.MainGame; using Continentis.MainGame.Character; using DamageNumbersPro; using UnityEngine; namespace Continentis.Mods.Basic.Buffs { public sealed class Vulnerable : CharacterCombatBuffBase { public Vulnerable(int duration) { Initialize(BuffType.Negative, BuffDispelLevel.Basic); this.contentSubmodule = new ContentSubmodule(this) .AddParameterGetter("Count", () => actionCountSubmodule.remainingCount.ToString()); this.iconSubmodule = new IconSubmodule(this); this.actionCountSubmodule = new CountSubmodule(this, duration); this.generalAttributeSubmodule = new GeneralAttributeSubmodule(this); generalAttributeSubmodule.numericChange.Add("PhysicsDamageGainMultiplier", 0.5f); } public override bool OnBuffApply(out CharacterCombatBuffBase existingBuff) { MainGameManager.Instance.basePrefabs.GenerateInfoText("Vulnerable", attachedCharacter.characterView); if (FindExistingSameBuff(out existingBuff)) { existingBuff.actionCountSubmodule.AddCount(this.roundCountSubmodule.maximumCount); return false; } return true; } } }