6 override bool IsWeapon() {
return true; }
16 proto native
int GetMuzzleCount();
30 proto native
int GetSlotFromMuzzleIndex(
int muzzleIndex);
35 proto native
int GetCurrentMuzzle();
41 proto native
void SetCurrentMuzzle(
int muzzleIndex);
43 proto native
int GetMuzzleModeCount(
int muzzleIndex);
44 proto native
void SetMuzzleMode(
int muzzleIndex,
int modeIndex);
45 proto native
void SetNextMuzzleMode(
int muzzleIndex);
46 proto native
int GetCurrentModeBurstSize(
int muzzleIndex);
47 proto native
bool GetCurrentModeAutoFire(
int muzzleIndex);
48 proto native
int GetCurrentMode(
int muzzleIndex);
49 proto native
void SetCurrentMode(
int muzzleIndex,
int mode);
51 proto native owned
string GetCurrentModeName(
int muzzleIndex);
57 proto native
bool CanFire(
int muzzleIndex);
59 proto native
bool DryFire(
int muzzleIndex);
60 proto native
bool DryDryFire(
int muzzleIndex);
64 proto native
bool EjectCasing(
int muzzleIndex);
68 proto native
bool CreateRound(
int muzzleIndex);
74 proto native
bool IsChamberEmpty(
int muzzleIndex);
84 proto native
bool IsChamberJammed(
int muzzleIndex);
90 proto native
bool IsChamberEjectable(
int muzzleIndex);
97 bool IsChamberFullEx(
int muzzleIndex)
106 proto native
bool HasInternalMagazine(
int muzzleIndex);
111 proto native
int GetInternalMagazineCartridgeCount(
int muzzleIndex);
116 proto native
int GetInternalMagazineMaxCartridgeCount(
int muzzleIndex);
122 bool IsInternalMagazineFull(
int muzzleIndex) {
return GetInternalMagazineMaxCartridgeCount(muzzleIndex) == GetInternalMagazineCartridgeCount(muzzleIndex); }
127 proto native
int GetTotalCartridgeCount(
int muzzleIndex);
132 proto native
int GetTotalMaxCartridgeCount(
int muzzleIndex);
143 proto native owned
string GetRandomChamberableAmmoTypeName(
int muzzleIndex);
150 proto native owned
string GetChamberAmmoTypeName(
int muzzleIndex);
159 proto
bool GetCartridgeInfo(
int muzzleIndex, out
float ammoDamage, out
string ammoTypeName);
169 proto
bool GetInternalMagazineCartridgeInfo(
int muzzleIndex,
int cartridgeIndex, out
float ammoDamage, out
string ammoTypeName);
174 proto
bool PopCartridgeFromChamber(
int muzzleIndex, out
float ammoDamage, out
string ammoTypeName);
179 proto native
bool PushCartridgeToChamber(
int muzzleIndex,
float ammoDamage,
string ammoTypeName);
187 proto native
void EffectBulletShow(
int muzzleIndex,
float dmg,
string type);
193 proto native
void EffectBulletHide(
int muzzleIndex);
199 proto native
void SetGroundAnimFrameIndex(
int groundAnimFrameIndex);
204 proto
bool PopCartridgeFromInternalMagazine(
int muzzleIndex, out
float ammoDamage, out
string ammoTypeName);
208 proto native
bool PushCartridgeToInternalMagazine(
int muzzleIndex,
float ammoDamage,
string ammoTypeName);
216 proto native
bool CanAttachMagazine(
int muzzleIndex, Magazine mag);
226 proto native
bool TestAttachMagazine(
int muzzleIndex, Magazine mag,
bool do_occupancy_test,
bool do_script_check);
234 proto native
bool AttachMagazine(
int muzzleIndex, Magazine mag);
240 proto native Magazine GetMagazine(
int muzzleIndex);
247 proto native
float GetReloadTime(
int muzzleIndex);
255 proto native
bool CanChamberFromMag(
int muzzleIndex, Magazine mag);
262 proto native owned
string GetChamberedCartridgeMagazineTypeName(
int muzzleIndex);
268 proto native owned
string GetRandomMagazineTypeName(
int muzzleIndex);
274 proto native owned
string GetMaxMagazineTypeName(
int muzzleIndex);
280 proto native
int GetMagazineTypeCount(
int muzzleIndex);
286 proto native
bool EnterOptics();
291 proto native
bool IsInOptics();
296 proto native
bool ExitOptics();
302 proto native
float GetZoom();
308 proto native
bool SetZoom(
float percent);
313 proto native
bool ZoomIn();
318 proto native
bool ZoomOut();
324 proto native
int GetStepZoom();
330 proto native
bool SetStepZoom(
int step);
335 proto native
bool StepZoomIn();
340 proto native
bool StepZoomOut();
346 proto native
int GetStepZeroing(
int muzzleIndex = 0);
352 proto native
bool SetStepZeroing(
int muzzleIndex,
int step);
358 proto native
bool StepZeroingUp(
int muzzleIndex = 0);
364 proto native
bool StepZeroingDown(
int muzzleIndex = 0);
369 proto native
float GetCurrentZeroing(
int muzzleIndex = 0);
374 proto native
float GetZeroingClamp(
int muzzleIndex = 0);
380 proto native
bool FlashlightOn();
387 proto native
bool FlashlightOff();
394 proto native
bool IsFlashlightOn();
399 proto native UnderSlugLauncher GetAttachedLauncher();
413 proto native
void GetCameraPoint(
int muzzleIndex, out
vector pos, out
vector dir);
419 proto native
float GetZoomInit(
int muzzleIndex);
425 proto native
float GetZoomMin(
int muzzleIndex);
431 proto native
float GetZoomMax(
int muzzleIndex);
437 proto native
float GetZeroingDistanceZoomMin(
int muzzleIndex);
443 proto native
float GetZeroingDistanceZoomMax(
int muzzleIndex);
445 proto native
void SelectionBulletShow();
446 proto native
void SelectionBulletHide();
447 proto native
void SelectionMagazineShow();
448 proto native
void SelectionMagazineHide();
450 void StepZeroingUpAllMuzzles()
452 for (
int i = 0; i < GetMuzzleCount(); i++)
458 void StepZeroingDownAllMuzzles()
460 for (
int i = 0; i < GetMuzzleCount(); i++)