45 lines
1.1 KiB
C#
45 lines
1.1 KiB
C#
using UnityEngine;
|
|
|
|
namespace RoR2;
|
|
|
|
[CreateAssetMenu(menuName = "RoR2/EliteDef")]
|
|
public class EliteDef : ScriptableObject
|
|
{
|
|
public string modifierToken;
|
|
|
|
public EquipmentDef eliteEquipmentDef;
|
|
|
|
public Color32 color;
|
|
|
|
public int shaderEliteRampIndex = -1;
|
|
|
|
public float healthBoostCoefficient = 1f;
|
|
|
|
public float damageBoostCoefficient = 1f;
|
|
|
|
public EliteIndex eliteIndex { get; set; } = EliteIndex.None;
|
|
|
|
|
|
public bool IsAvailable()
|
|
{
|
|
if ((bool)eliteEquipmentDef)
|
|
{
|
|
if ((bool)Run.instance)
|
|
{
|
|
return !Run.instance.IsEquipmentExpansionLocked(eliteEquipmentDef.equipmentIndex);
|
|
}
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
[ConCommand(commandName = "elites_migrate", flags = ConVarFlags.None, helpText = "Generates EliteDef assets from the existing catalog entries.")]
|
|
private static void CCElitesMigrate(ConCommandArgs args)
|
|
{
|
|
for (EliteIndex eliteIndex = (EliteIndex)0; (int)eliteIndex < EliteCatalog.eliteList.Count; eliteIndex++)
|
|
{
|
|
EditorUtil.CopyToScriptableObject<EliteDef, EliteDef>(EliteCatalog.GetEliteDef(eliteIndex), "Assets/RoR2/Resources/EliteDefs/");
|
|
}
|
|
}
|
|
}
|