// Add new status effects private void AddStatusEffects() { StatusEffect effect = ScriptableObject.CreateInstance <SE_Challenged>(); effect.name = "Challenged"; challengedEffect = new CustomStatusEffect(effect, fixReference: false); // We dont need to fix refs here, because no mocks were used ItemManager.Instance.AddStatusEffect(challengedEffect); }
/// <summary> /// Add a <see cref="CustomStatusEffect"/> to the game.<br /> /// Checks if the custom status effect is unique and adds it to the list of custom status effects.<br /> /// Custom status effects are added to the current <see cref="ObjectDB"/> on every <see cref="ObjectDB.Awake"/>. /// </summary> /// <param name="customStatusEffect">The custom status effect to add.</param> /// <returns>true if the custom status effect was added to the manager.</returns> public bool AddStatusEffect(CustomStatusEffect customStatusEffect) { if (!customStatusEffect.IsValid()) { Logger.LogWarning($"Custom status effect {customStatusEffect} is not valid"); return(false); } if (StatusEffects.Contains(customStatusEffect)) { Logger.LogWarning($"Custom status effect {customStatusEffect} already added"); return(false); } StatusEffects.Add(customStatusEffect); return(true); }
// Add new status effects private void AddStatusEffects() { // Create a new status effect. The base class "StatusEffect" does not do very much except displaying messages // A Status Effect is normally a subclass of StatusEffects which has methods for further coding of the effects (e.g. SE_Stats). StatusEffect effect = ScriptableObject.CreateInstance <StatusEffect>(); effect.name = "EvilStatusEffect"; effect.m_name = "$evilsword_effectname"; effect.m_icon = AssetUtils.LoadSpriteFromFile("JotunnModExample/Assets/reee.png"); effect.m_startMessageType = MessageHud.MessageType.Center; effect.m_startMessage = "$evilsword_effectstart"; effect.m_stopMessageType = MessageHud.MessageType.Center; effect.m_stopMessage = "$evilsword_effectstop"; evilSwordEffect = new CustomStatusEffect(effect, fixReference: false); // We dont need to fix refs here, because no mocks were used ItemManager.Instance.AddStatusEffect(evilSwordEffect); }