2021-08-20 11:16:49 +02:00
|
|
|
using UnityEngine;
|
2021-10-27 13:28:19 +02:00
|
|
|
using UnityEngine.U2D.Animation;
|
2021-08-20 11:16:49 +02:00
|
|
|
|
|
|
|
|
[CreateAssetMenu(fileName = "Player Stats", menuName = "Scriptable Objects/Player Stat", order = 1)]
|
|
|
|
|
public class PlayerStatsSO : ScriptableObject
|
|
|
|
|
{
|
2022-10-07 14:54:38 +03:00
|
|
|
[Header("Main")]
|
|
|
|
|
public int characterIndex;
|
|
|
|
|
public Sprite[] portraits;
|
|
|
|
|
public AnimationSO _animation;
|
|
|
|
|
public DialogueSO _dialogue;
|
2022-12-15 21:13:43 +02:00
|
|
|
public EffectsLibrarySO _effectsLibrary;
|
2023-06-26 17:00:26 +03:00
|
|
|
public EffectsLibrarySO _particlesLibrary;
|
2023-01-12 19:12:56 +02:00
|
|
|
public EffectsLibrarySO _projectilesLibrary;
|
2022-10-07 14:54:38 +03:00
|
|
|
public CharacterTypeEnum characterName;
|
|
|
|
|
[Header("Stats")]
|
|
|
|
|
public int defenseLevel;
|
|
|
|
|
public int arcanaLevel;
|
|
|
|
|
public int speedLevel;
|
2022-11-03 21:06:48 +02:00
|
|
|
public int jumpLevel;
|
|
|
|
|
public int dashLevel;
|
2022-10-07 14:54:38 +03:00
|
|
|
public bool canDoubleJump = true;
|
2023-01-03 22:34:07 +02:00
|
|
|
public int arcanaRecharge = 1;
|
2022-10-07 14:54:38 +03:00
|
|
|
[Header("Moves")]
|
|
|
|
|
public AttackSO m2L;
|
|
|
|
|
public AttackSO m5L;
|
|
|
|
|
public AttackSO m2M;
|
|
|
|
|
public AttackSO m5M;
|
|
|
|
|
public AttackSO m2H;
|
|
|
|
|
public AttackSO m5H;
|
|
|
|
|
public AttackSO jL;
|
|
|
|
|
public AttackSO jM;
|
2022-11-28 02:57:32 +02:00
|
|
|
public AttackSO jH;
|
2022-10-07 14:54:38 +03:00
|
|
|
public AttackSO mThrow;
|
|
|
|
|
public AttackSO mParry;
|
2022-10-21 21:20:37 +03:00
|
|
|
public AttackSO mRedFrenzy;
|
2024-01-08 23:13:48 +02:00
|
|
|
public ArcanaSO m6Arcana;
|
2022-10-07 14:54:38 +03:00
|
|
|
public ArcanaSO m5Arcana;
|
|
|
|
|
public ArcanaSO m2Arcana;
|
|
|
|
|
public ArcanaSO jArcana;
|
2024-01-08 23:13:48 +02:00
|
|
|
public ArcanaSO m6ArcanaFrenzy;
|
2023-11-14 15:31:56 +02:00
|
|
|
public ArcanaSO m5ArcanaFrenzy;
|
|
|
|
|
public ArcanaSO m2ArcanaFrenzy;
|
|
|
|
|
public ArcanaSO jArcanaFrenzy;
|
2022-10-07 14:54:38 +03:00
|
|
|
[HideInInspector] public int maxHealth = 10000;
|
2022-09-05 22:07:12 +03:00
|
|
|
|
2023-01-03 22:34:07 +02:00
|
|
|
public int Arcana { get { return arcanaLevel * ARCANA_MULTIPLIER; } set { } }
|
2022-10-07 14:54:38 +03:00
|
|
|
public float Defense { get { return (defenseLevel - 1) * 0.05f + 0.95f; } set { } }
|
2023-07-02 23:17:37 +03:00
|
|
|
public DemonFloat SpeedWalk
|
2022-11-03 21:06:48 +02:00
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
2023-10-01 13:19:40 +03:00
|
|
|
return speedLevel switch
|
2022-11-03 21:06:48 +02:00
|
|
|
{
|
2023-11-30 20:43:04 +02:00
|
|
|
1 => (DemonFloat)0.54,
|
|
|
|
|
2 => (DemonFloat)0.65,
|
|
|
|
|
3 => (DemonFloat)0.78,
|
2023-10-01 13:19:40 +03:00
|
|
|
_ => (DemonFloat)0,
|
|
|
|
|
};
|
2022-11-03 21:06:48 +02:00
|
|
|
}
|
|
|
|
|
set { }
|
|
|
|
|
}
|
2023-07-02 23:17:37 +03:00
|
|
|
public DemonFloat SpeedWalkBackwards
|
2023-04-24 01:19:26 +03:00
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
2023-10-01 13:19:40 +03:00
|
|
|
return speedLevel switch
|
2023-04-24 01:19:26 +03:00
|
|
|
{
|
2023-11-30 20:43:04 +02:00
|
|
|
1 => (DemonFloat)0.47,
|
|
|
|
|
2 => (DemonFloat)0.61,
|
2023-10-15 02:14:59 +03:00
|
|
|
3 => (DemonFloat)0.72,
|
2023-10-01 13:19:40 +03:00
|
|
|
_ => (DemonFloat)0,
|
|
|
|
|
};
|
2023-04-24 01:19:26 +03:00
|
|
|
}
|
|
|
|
|
set { }
|
|
|
|
|
}
|
2023-07-02 23:17:37 +03:00
|
|
|
public DemonFloat SpeedRun
|
2022-11-03 21:06:48 +02:00
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
2023-10-01 13:19:40 +03:00
|
|
|
return speedLevel switch
|
2022-11-03 21:06:48 +02:00
|
|
|
{
|
2023-11-30 20:43:04 +02:00
|
|
|
1 => (DemonFloat)2.5,
|
|
|
|
|
2 => (DemonFloat)2.8,
|
2023-10-01 13:19:40 +03:00
|
|
|
3 => (DemonFloat)3.1,
|
|
|
|
|
_ => (DemonFloat)0,
|
|
|
|
|
};
|
2022-11-03 21:06:48 +02:00
|
|
|
}
|
|
|
|
|
set { }
|
|
|
|
|
}
|
2023-07-02 23:17:37 +03:00
|
|
|
public DemonFloat JumpForce
|
2022-11-03 21:06:48 +02:00
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
2023-10-01 13:19:40 +03:00
|
|
|
return jumpLevel switch
|
2022-11-03 21:06:48 +02:00
|
|
|
{
|
2023-12-04 02:06:05 +02:00
|
|
|
1 => (DemonFloat)4.6,
|
|
|
|
|
2 => (DemonFloat)4.6,
|
|
|
|
|
3 => (DemonFloat)4.6,
|
2023-10-01 13:19:40 +03:00
|
|
|
_ => (DemonFloat)0,
|
|
|
|
|
};
|
2022-11-03 21:06:48 +02:00
|
|
|
}
|
|
|
|
|
set { }
|
|
|
|
|
}
|
2023-07-02 23:17:37 +03:00
|
|
|
public DemonFloat DashForce
|
2022-11-03 21:06:48 +02:00
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
2023-10-01 13:19:40 +03:00
|
|
|
return dashLevel switch
|
2022-11-03 21:06:48 +02:00
|
|
|
{
|
2023-11-30 20:43:04 +02:00
|
|
|
1 => (DemonFloat)3.5,
|
|
|
|
|
2 => (DemonFloat)3.7,
|
|
|
|
|
3 => (DemonFloat)3.9,
|
2023-10-01 13:19:40 +03:00
|
|
|
_ => (DemonFloat)0,
|
|
|
|
|
};
|
2023-04-12 01:27:02 +03:00
|
|
|
}
|
|
|
|
|
set { }
|
|
|
|
|
}
|
2023-07-02 23:17:37 +03:00
|
|
|
public DemonFloat DashBackForce
|
2023-04-12 01:27:02 +03:00
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
2023-10-01 13:19:40 +03:00
|
|
|
return dashLevel switch
|
2023-04-12 01:27:02 +03:00
|
|
|
{
|
2023-11-30 20:43:04 +02:00
|
|
|
1 => (DemonFloat)3.2,
|
|
|
|
|
2 => (DemonFloat)3.4,
|
|
|
|
|
3 => (DemonFloat)3.5,
|
2023-10-01 13:19:40 +03:00
|
|
|
_ => (DemonFloat)0,
|
|
|
|
|
};
|
2022-11-03 21:06:48 +02:00
|
|
|
}
|
|
|
|
|
set { }
|
|
|
|
|
}
|
2023-07-02 23:17:37 +03:00
|
|
|
public DemonFloat DashAirForce
|
2023-04-18 23:23:24 +03:00
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
2023-10-01 13:19:40 +03:00
|
|
|
return dashLevel switch
|
2023-04-18 23:23:24 +03:00
|
|
|
{
|
2023-11-30 20:43:04 +02:00
|
|
|
1 => (DemonFloat)3.3,
|
|
|
|
|
2 => (DemonFloat)3.5,
|
|
|
|
|
3 => (DemonFloat)3.7,
|
2023-10-01 13:19:40 +03:00
|
|
|
_ => (DemonFloat)0,
|
|
|
|
|
};
|
2023-04-18 23:23:24 +03:00
|
|
|
}
|
|
|
|
|
set { }
|
|
|
|
|
}
|
2023-07-02 23:17:37 +03:00
|
|
|
public DemonFloat DashBackAirForce
|
2023-04-18 23:23:24 +03:00
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
2023-10-01 13:19:40 +03:00
|
|
|
return dashLevel switch
|
2023-04-18 23:23:24 +03:00
|
|
|
{
|
2023-11-30 20:43:04 +02:00
|
|
|
1 => (DemonFloat)2.7,
|
|
|
|
|
2 => (DemonFloat)2.9,
|
|
|
|
|
3 => (DemonFloat)3.0,
|
2023-10-01 13:19:40 +03:00
|
|
|
_ => (DemonFloat)0,
|
|
|
|
|
};
|
2023-04-18 23:23:24 +03:00
|
|
|
}
|
|
|
|
|
set { }
|
|
|
|
|
}
|
2023-01-03 22:34:07 +02:00
|
|
|
|
|
|
|
|
public const int ARCANA_MULTIPLIER = 1000;
|
2021-08-20 11:16:49 +02:00
|
|
|
}
|