PkmnLib.NET/PkmnLib.Dynamic/ScriptHandling/ScriptCategory.cs

64 lines
1.9 KiB
C#
Raw Normal View History

2024-07-27 14:26:45 +00:00
using PkmnLib.Dynamic.Models;
using PkmnLib.Dynamic.Models.Choices;
namespace PkmnLib.Dynamic.ScriptHandling;
/// <summary>
/// A script category defines a sub-group of scripts. This can be used to have multiple scripts with
/// the same name, but a different script. It should be completely valid for a move to have the same
/// name as an ability, or more commonly: for a script attached to a Pokemon to have the same name as
/// a move that placed it there.
/// </summary>
public enum ScriptCategory
{
/// <summary>
/// A script that belongs to a move. This generally is only the script that is attached to a
/// <see cref="IMoveChoice"/> and <see cref="IExecutingMove"/>
/// </summary>
Move = 0,
2025-02-01 14:00:22 +00:00
/// <summary>
/// A volatile script effect that is attached to a move choice.
/// </summary>
MoveVolatile = 1,
2024-07-27 14:26:45 +00:00
/// <summary>
/// An ability script. Scripts in this category are always abilities, and therefore always
/// attached to a Pokemon.
/// </summary>
2025-02-01 14:00:22 +00:00
Ability = 2,
2024-07-27 14:26:45 +00:00
/// <summary>
/// A non volatile status script. Scripts in this category are always non volatile statuses, and
/// therefore always attached to a Pokemon.
/// </summary>
2025-02-01 14:00:22 +00:00
Status = 3,
2024-07-27 14:26:45 +00:00
/// <summary>
/// A volatile status script. Scripts in this category are always volatile status effects, and
/// therefore always attached to a Pokemon.
/// </summary>
2025-02-01 14:00:22 +00:00
Pokemon = 4,
2024-07-27 14:26:45 +00:00
/// <summary>
/// A script that can be attached to an entire side.
/// </summary>
2025-02-01 14:00:22 +00:00
Side = 5,
2024-07-27 14:26:45 +00:00
/// <summary>
/// A script that can be attached to the entire battle.
/// </summary>
2025-02-01 14:00:22 +00:00
Battle = 6,
2024-07-27 14:26:45 +00:00
/// <summary>
/// A special script for weather, for use on battles.
/// </summary>
2025-02-01 14:00:22 +00:00
Weather = 7,
Terrain = 8,
2024-07-27 14:26:45 +00:00
/// <summary>
/// A special script for held items. As they're part of a held item, they're attached to a Pokemon.
/// </summary>
2025-02-01 14:00:22 +00:00
ItemBattleTrigger = 9,
2024-07-27 14:26:45 +00:00
}