DIFF

class WeaponStableStateSource

WeaponStableState WeaponStateBase

All members, including inherited

Constructors 1

void WeaponStableState(Weapon_Base w = NULL, WeaponStateBase parent = NULL, int anim_state = -1)

Members 2

ref array<MuzzleState> m_muzzleHasBullet = new array<MuzzleState>()

Methods 20

override void OnUpdate(float dt)
override bool IsIdle()
bool IsRepairEnabled()

Whether WeaponFSM.ValidateAndRepair should be applied on this state @NOTE: This property was implemented at the same time as ValARep To have it disabled by default In case there are modders who created their own state But potentially did not set up their properties correctly As having ValARep run on an improper setup would result in horrible VME spam and desync @WARNING: When enabling repair, it is imperative that all properties are set up correctly.

bool HasBullet()

Whether there is a bullet in the chamber @NOTE: This should only be false when it is empty So this is true when there is a bullet in the chamber Regardless of the bullet being loaded, firedout or jammed

bool HasMagazine()

Whether there is a magazine attached

bool IsJammed()

Whether the gun is jammed

bool IsDischarged()

Whether the gun is discharged

bool IsWeaponOpen()

Whether the gun is open

void InitMuzzleArray()

Override with the filling of m_muzzleHasBullet

Referenced by WeaponStableState()
bool IsSingleState()

Special one for when the weapon only has one singular state (like Magnum)

MuzzleState GetMuzzleState(int idx)

Get chamber state of the muzzle at index

int GetMuzzleStateCount()
bool IsChamberValid(int idx)
bool IsChamberFiredOut(int idx)
bool IsChamberFull(int idx)
void ValidateMuzzleArray()

Safety check and error message in case not set up correctly

Referenced by WeaponStableState()