import L2Character from "./L2Character" ; export default class L2User extends L2Character { private _STR ! : number ; private _DEX ! : number ; private _CON ! : number ; private _INT ! : number ; private _WIT ! : number ; private _MEN ! : number ; private _pDef ! : number ; private _evasionRate ! : number ; private _accuracy ! : number ; private _crit ! : number ; private _mDef ! : number ; private _pvpKills ! : number ; private _pkKills ! : number ; private _atkElementPower ! : number ; private _defFire ! : number ; private _defWater ! : number ; private _defWind ! : number ; private _defEarth ! : number ; private _defHoly ! : number ; private _defUnholy ! : number ; private _recommLeft ! : number ; private _fame ! : number ; private _vitality ! : number ; private _exp ! : number ; private _expPercent ! : number ; private _sp ! : number ; private _load ! : number ; private _maxLoad ! : number ; private _gauge = 0 ; private _gaugeInterval ! : ReturnType < typeof setInterval > ; public get STR ( ) : number { return this . _STR ; } public set STR ( value ) { this . _STR = value ; } public get DEX ( ) : number { return this . _DEX ; } public set DEX ( value ) { this . _DEX = value ; } public get CON ( ) : number { return this . _CON ; } public set CON ( value ) { this . _CON = value ; } public get INT ( ) : number { return this . _INT ; } public set INT ( value ) { this . _INT = value ; } public get WIT ( ) : number { return this . _WIT ; } public set WIT ( value ) { this . _WIT = value ; } public get MEN ( ) : number { return this . _MEN ; } public set MEN ( value ) { this . _MEN = value ; } public get PDef ( ) : number { return this . _pDef ; } public set PDef ( value ) { this . _pDef = value ; } public get EvasionRate ( ) : number { return this . _evasionRate ; } public set EvasionRate ( value ) { this . _evasionRate = value ; } public get Accuracy ( ) : number { return this . _accuracy ; } public set Accuracy ( value ) { this . _accuracy = value ; } public get Crit ( ) : number { return this . _crit ; } public set Crit ( value ) { this . _crit = value ; } public get MDef ( ) : number { return this . _mDef ; } public set MDef ( value ) { this . _mDef = value ; } public get PvpKills ( ) : number { return this . _pvpKills ; } public set PvpKills ( value ) { this . _pvpKills = value ; } public get PkKills ( ) : number { return this . _pkKills ; } public set PkKills ( value ) { this . _pkKills = value ; } public get AtkElementPower ( ) : number { return this . _atkElementPower ; } public set AtkElementPower ( value ) { this . _atkElementPower = value ; } public get DefFire ( ) : number { return this . _defFire ; } public set DefFire ( value ) { this . _defFire = value ; } public get DefWater ( ) : number { return this . _defWater ; } public set DefWater ( value ) { this . _defWater = value ; } public get DefWind ( ) : number { return this . _defWind ; } public set DefWind ( value ) { this . _defWind = value ; } public get DefEarth ( ) : number { return this . _defEarth ; } public set DefEarth ( value ) { this . _defEarth = value ; } public get DefHoly ( ) : number { return this . _defHoly ; } public set DefHoly ( value ) { this . _defHoly = value ; } public get DefUnholy ( ) : number { return this . _defUnholy ; } public set DefUnholy ( value ) { this . _defUnholy = value ; } public get RecommLeft ( ) : number { return this . _recommLeft ; } public set RecommLeft ( value ) { this . _recommLeft = value ; } public get Fame ( ) : number { return this . _fame ; } public set Fame ( value ) { this . _fame = value ; } public get Vitality ( ) : number { return this . _vitality ; } public set Vitality ( value ) { this . _vitality = value ; } public get Exp ( ) : number { return this . _exp ; } public set Exp ( value ) { this . _exp = value ; } public get ExpPercent ( ) : number { return this . _expPercent ; } public set ExpPercent ( value ) { this . _expPercent = value ; } public get Sp ( ) : number { return this . _sp ; } public set Sp ( value ) { this . _sp = value ; } public get Load ( ) : number { return this . _load ; } public set Load ( value ) { this . _load = value ; } public get MaxLoad ( ) : number { return this . _maxLoad ; } public set MaxLoad ( value ) { this . _maxLoad = value ; } public get Gauge ( ) : number { return this . _gauge ; } public set Gauge ( value ) { this . _gauge = value ; if ( value > 0 ) { this . IsReady = false ; this . _gaugeInterval = setInterval ( ( ) => { this . _gauge -= 100 ; if ( this . _gauge <= 0 ) { clearInterval ( this . _gaugeInterval ) ; this . IsReady = true ; } } , 100 ) ; } else { this . IsReady = true ; } } }