SETHP.cs 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. namespace OpenVIII.Fields.Scripts.Instructions
  2. {
  3. /// <summary>
  4. /// Set HP
  5. /// </summary>
  6. /// <see cref="http://wiki.ffrtt.ru/index.php?title=FF8/Field/Script/Opcodes/146_SETHP&action=edit&redlink=1"/>
  7. public sealed class SETHP : JsmInstruction
  8. {
  9. #region Fields
  10. private readonly Characters _character;
  11. private readonly int _hp;
  12. #endregion Fields
  13. #region Constructors
  14. public SETHP(Characters character, int hp)
  15. {
  16. _character = character;
  17. _hp = hp;
  18. }
  19. public SETHP(int parameter, IStack<IJsmExpression> stack)
  20. : this(
  21. hp: ((IConstExpression)stack.Pop()).Int32(),
  22. character: ((IConstExpression)stack.Pop()).Characters())
  23. {
  24. }
  25. #endregion Constructors
  26. #region Methods
  27. public override string ToString() => $"{nameof(SETHP)}({nameof(_character)}: {_character}, {nameof(_hp)}: {_hp})";
  28. #endregion Methods
  29. }
  30. }