"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.PlayerStat = void 0;
/** This represents the kinds of stats that a player can have. */
var PlayerStat;
(function (PlayerStat) {
    /** Corresponds to `CacheFlag.DAMAGE` (1 << 0) and `EntityPlayer.Damage`. */
    PlayerStat[PlayerStat["DAMAGE"] = 0] = "DAMAGE";
    /** Corresponds to `CacheFlag.FIRE_DELAY` (1 << 1) and `EntityPlayer.MaxFireDelay`. */
    PlayerStat[PlayerStat["FIRE_DELAY"] = 1] = "FIRE_DELAY";
    /** Corresponds to `CacheFlag.SHOT_SPEED` (1 << 2) and `EntityPlayer.ShotSpeed`. */
    PlayerStat[PlayerStat["SHOT_SPEED"] = 2] = "SHOT_SPEED";
    /** Corresponds to `CacheFlag.RANGE` (1 << 3) and `EntityPlayer.TearHeight`. */
    PlayerStat[PlayerStat["TEAR_HEIGHT"] = 3] = "TEAR_HEIGHT";
    /** Corresponds to `CacheFlag.RANGE` (1 << 3) and `EntityPlayer.TearRange`. */
    PlayerStat[PlayerStat["TEAR_RANGE"] = 4] = "TEAR_RANGE";
    /** Corresponds to `CacheFlag.RANGE` (1 << 3) and `EntityPlayer.TearFallingAcceleration`. */
    PlayerStat[PlayerStat["TEAR_FALLING_ACCELERATION"] = 5] = "TEAR_FALLING_ACCELERATION";
    /** Corresponds to `CacheFlag.RANGE` (1 << 3) and `EntityPlayer.TearFallingSpeed`. */
    PlayerStat[PlayerStat["TEAR_FALLING_SPEED"] = 6] = "TEAR_FALLING_SPEED";
    /** Corresponds to `CacheFlag.SPEED` (1 << 4) and `EntityPlayer.MoveSpeed`. */
    PlayerStat[PlayerStat["MOVE_SPEED"] = 7] = "MOVE_SPEED";
    /** Corresponds to `CacheFlag.TEAR_FLAG` (1 << 5) and `EntityPlayer.TearFlags`. */
    PlayerStat[PlayerStat["TEAR_FLAG"] = 8] = "TEAR_FLAG";
    /** Corresponds to `CacheFlag.TEAR_COLOR` (1 << 6) and `EntityPlayer.TearColor`. */
    PlayerStat[PlayerStat["TEAR_COLOR"] = 9] = "TEAR_COLOR";
    /** Corresponds to `CacheFlag.FLYING` (1 << 7) and `EntityPlayer.CanFly`. */
    PlayerStat[PlayerStat["FLYING"] = 10] = "FLYING";
    // - `CacheFlag.WEAPON` (1 << 8) does not have a corresponding `EntityPlayer` field.
    // - `CacheFlag.FAMILIARS` (1 << 9) does not have a corresponding `EntityPlayer` field.
    /** Corresponds to `CacheFlag.LUCK` (1 << 10) and `EntityPlayer.Luck`. */
    PlayerStat[PlayerStat["LUCK"] = 11] = "LUCK";
    /** Corresponds to `CacheFlag.SIZE` (1 << 11) and `EntityPlayer.SpriteScale`. */
    PlayerStat[PlayerStat["SIZE"] = 12] = "SIZE";
    // - `CacheFlag.COLOR` (1 << 12) does not have a corresponding `EntityPlayer` field.
    // - `CacheFlag.PICKUP_VISION` (1 << 13) does not have a corresponding `EntityPlayer` field.
})(PlayerStat || (exports.PlayerStat = PlayerStat = {}));
