script counterpart to engine's class Weapon Подробнее...
Защищенные члены | |
| float | GetWeightSpecialized (bool forceRecalc=false) |
| void | AssembleGun () |
| override on weapons with some assembly required | |
| bool | CanProcessAction (int action, int actionType) |
| bool | HasActionAbility (int action, int actionType) |
| query if weapon supports action and actionType | |
| int | GetAbilityCount () |
| AbilityRecord | GetAbility (int index) |
| bool | CanProcessWeaponEvents () |
| WeaponStateBase | GetCurrentState () |
| returns currently active state | |
| bool | IsWaitingForActionFinish () |
| returns true if state machine started playing action/actionType and waits for finish | |
| bool | IsIdle () |
| bool | ProcessWeaponEvent (WeaponEventBase e) |
| weapon's fsm handling of events @NOTE: warning: ProcessWeaponEvent can be called only within DayZPlayer::HandleWeapons (or CommandHandler) | |
| bool | ProcessWeaponAbortEvent (WeaponEventBase e) |
| bool | CanChamberBullet (int muzzleIndex, Magazine mag) |
| void | SetWeaponAnimState (int state) |
| void | ResetWeaponAnimState () |
| int | GetWeaponAnimState () |
| void | EEFired (int muzzleType, int mode, string ammoType) |
| bool | JamCheck (int muzzleIndex) |
| void | ShowBullet (int muzzleIndex) |
| void | HideBullet (int muzzleIndex) |
| bool | IsJammed () |
| bool | CanEjectBullet () |
| void | SetJammed (bool value) |
| float | GetSyncChanceToJam () |
| float | GetChanceToJam () |
| void | SyncSelectionState (bool has_bullet, bool has_mag) |
| void | ForceSyncSelectionState () |
| override bool | OnStoreLoad (ParamsReadContext ctx, int version) |
| void | SaveCurrentFSMState (ParamsWriteContext ctx) |
| bool | LoadCurrentFSMState (ParamsReadContext ctx, int version) |
| override void | AfterStoreLoad () |
| override void | OnStoreSave (ParamsWriteContext ctx) |
| int | GetInternalStateID () |
| int | GetCurrentStableStateID () |
| tries to return identifier of current stable state (or nearest stable state if unstable state is currently running) | |
| void | RandomizeFSMState () |
| With the parameters given, selects a random suitable state for the FSM of the weapon @WARNING: Weapon_Base.Synchronize call might be needed, if this method is called while clients are connected. | |
| array< MuzzleState > | GetMuzzleStates () |
| Helper method for RandomizeFSMState. | |
Закрытые члены | |
| void | Weapon_Base () |
| void | InitStateMachine () |
| override void | EEInit () |
| void | SetInitialState (WeaponStableState initState) |
| bool | IsCharged () |
| void | SetCharged (bool value) |
| bool | IsWeaponOpen () |
| void | SetWeaponOpen (bool value) |
| override int | GetSlotsCountCorrect () |
| Returns number of slots for attachments corrected for weapons. | |
Закрытые данные | |
| const int | SAMF_DEFAULT = WeaponWithAmmoFlags.CHAMBER | WeaponWithAmmoFlags.MAX_CAPACITY_MAG |
| Full highest capacity magazine + chambered round. | |
| const int | SAMF_RNG = WeaponWithAmmoFlags.CHAMBER_RNG | WeaponWithAmmoFlags.QUANTITY_RNG |
| Random bullet quantity + maybe chambered round. | |
| const float | VALIDATE_DELAY = 5.0 |
| Validation on client side delay to have time properly synchronize attachments needed for check. | |
| float | m_coolDownTime = 0 |
Weapon With Ammo | |
Helpers for spawning ammo/magazine in weapon For the flags, either a combination of WeaponWithAmmoFlags can be used Or one of the preset 'const int' with 'SAMF_' prefix (SAMF_DEFAULT, SAMF_RNG) | |
| float | ApproximateBaseObstructionLength () |
Approximate ObstructionDistance for weapons with no configuration. Returned length doesn't account for attachments. | |
| bool | LiftWeaponCheckEx (PlayerBase player, out float outObstruction, out Object outHitObject) |
| float | GetObstructionPenetrationDistance (float obstruction01) |
| bool | LiftWeaponRaycastResultCheck (notnull RaycastRVResult res) |
| Return whether provided material triggers weapon lift (true) or not (false). | |
| float | GetEffectiveAttachmentLength () |
| Returns effective length of attachments that influence total weapon length. | |
| void | SetSyncJammingChance (float jamming_chance) |
| bool | EjectCartridge (int muzzleIndex, out float ammoDamage, out string ammoTypeName) |
| unload bullet from chamber or internal magazine | |
| bool | CopyWeaponStateFrom (notnull Weapon_Base src) |
| override void | SetBayonetAttached (bool pState, int slot_idx=-1) |
| attachment helpers (firearm melee) | |
| override bool | HasBayonetAttached () |
| override int | GetBayonetAttachmentIdx () |
| override void | SetButtstockAttached (bool pState, int slot_idx=-1) |
| override bool | HasButtstockAttached () |
| override int | GetButtstockAttachmentIdx () |
| void | HideWeaponBarrel (bool state) |
| void | ShowMagazine () |
| void | HideMagazine () |
| override EntityAI | ProcessMeleeItemDamage (int mode=0) |
| bool | IsShowingChamberedBullet () |
| int | GetBurstCount () |
| void | ResetBurstCount () |
| override void | SetActions () |
| override bool | CanBeUsedForSuicide () |
| override void | OnDebugSpawn () |
| bool | AddJunctureToAttachedMagazine (PlayerBase player, int timeoutMS) |
| void | ClearJunctureToAttachedMagazine (PlayerBase player) |
| void | SetNextWeaponMode (int muzzleIndex) |
| void | SetCoolDown (float coolDownTime) |
| void | UpdateCoolDown (float dt) |
| bool | IsCoolDown () |
| bool | MustBeChambered (int muzzleIndex) |
| bool | SpawnAmmo (string magazineType="", int flags=WeaponWithAmmoFlags.CHAMBER) |
| General method trying to attch magazine, fill inner magazine and fill chamber. | |
| Magazine | SpawnAttachedMagazine (string magazineType="", int flags=WeaponWithAmmoFlags.CHAMBER) |
| Try to spawn and attach a magazine. | |
| bool | FillInnerMagazine (string ammoType="", int flags=WeaponWithAmmoFlags.CHAMBER) |
| Try to fill the inner magazine. | |
| bool | FillChamber (string ammoType="", int flags=WeaponWithAmmoFlags.CHAMBER) |
| Try to fill the chamber. | |
| bool | FillSpecificChamber (int muzzleIndex, float dmg=0, string ammoType="") |
| override int | GetSlotsCountCorrect () |
| Returns number of slots for attachments corrected for weapons. | |
| PropertyModifiers | GetPropertyModifierObject () |
| void | OnFire (int muzzle_index) |
| void | OnFireModeChange (int fireMode) |
| void | DelayedValidateAndRepair () |
| void | ValidateAndRepair () |
| override void | OnInventoryEnter (Man player) |
| override void | OnInventoryExit (Man player) |
| override void | EEItemAttached (EntityAI item, string slot_name) |
| override void | EEItemDetached (EntityAI item, string slot_name) |
| override void | EEItemLocationChanged (notnull InventoryLocation oldLoc, notnull InventoryLocation newLoc) |
| override void | OnItemLocationChanged (EntityAI old_owner, EntityAI new_owner) |
| override bool | CanReleaseAttachment (EntityAI attachment) |
| override bool | CanRemoveFromHands (EntityAI parent) |
| bool | IsRemoteWeapon () |
| void | SyncEventToRemote (WeaponEventBase e) |
| RecoilBase | SpawnRecoilObject () |
| int | GetWeaponSpecificCommand (int weaponAction, int subCommand) |
| bool | CanFire () |
| bool | CanEnterIronsights () |
| bool | InitDOFProperties (out array< float > temp_array) |
| Initializes DOF properties for weapon's ironsight/optics cameras. | |
| bool | InitReliability (out array< float > reliability_array) |
| bool | InitWeaponLength () |
| gets weapon length from config for weaponlift raycast | |
| bool | InitWeaponLiftCheckVerticalOffset () |
| gets weapon vertical offset from config for weaponlift raycast | |
| bool | InitShoulderDistance () |
| gets approximate weapon distance from shoulder from config | |
| bool | InitObstructionDistance () |
| gets weapon obstruction distance from shoulder at which the weapon is fully obstructed | |
| ref array< float > | GetWeaponDOF () |
| bool | GetWasIronSight () |
| void | SetWasIronSight (bool state) |
| bool | LiftWeaponCheck (PlayerBase player) |
| bool | UseWeaponObstruction (PlayerBase player, float obstructionValue, Object hitObject) |
| void | GetApproximateAimOffsets (Blend2DVector dst, int characterStance) |
| vector | GetApproximateMovementOffset (vector localVelocity, int characterStance, float lean, float ud11, float lr11) |
| void | ApproximateWeaponLiftTransform (inout vector start, inout vector direction, HumanMovementState hms, HumanInputController hic, HumanCommandWeapons hcw, HumanCommandMove hcm, vector localVelocity="0 0 0") |
| static Weapon_Base | CreateWeaponWithAmmo (string weaponType, string magazineType="", int flags=WeaponWithAmmoFlags.CHAMBER) |
| Create weapon with ammo. | |
script counterpart to engine's class Weapon
См. определение в файле 4_World/Entities/Core/Inherited/InventoryItem.c строка 48