Fixed AI mg42 fire delay

This commit is contained in:
smallmodel 2024-02-20 23:19:24 +01:00
parent 7945c2ca66
commit b0c1d79132
No known key found for this signature in database
GPG key ID: 9F2D623CEDF08512
2 changed files with 17 additions and 11 deletions

View file

@ -399,12 +399,12 @@ public:
virtual void GetMuzzlePosition(
vec3_t position, vec3_t vBarrelPos = NULL, vec3_t forward = NULL, vec3_t right = NULL, vec3_t up = NULL
);
qboolean AutoChange(void);
int ClipAmmo(firemode_t mode);
qboolean IsDroppable(void);
float FireDelay(firemode_t mode);
void SetFireDelay(Event *ev);
void SetDMFireDelay(Event *ev);
qboolean AutoChange(void);
int ClipAmmo(firemode_t mode);
qboolean IsDroppable(void);
virtual float FireDelay(firemode_t mode);
virtual void SetFireDelay(Event *ev);
void SetDMFireDelay(Event *ev);
weaponstate_t GetState(void);
void ForceState(weaponstate_t state);

View file

@ -1266,6 +1266,10 @@ void TurretGun::AI_DoFiring()
void TurretGun::AI_ThinkActive()
{
if (!g_ai->integer) {
return;
}
AI_DoAiming();
AI_DoFiring();
}
@ -1917,16 +1921,18 @@ void TurretGun::StopWeaponAnim(void)
float TurretGun::FireDelay(firemode_t mode)
{
if (owner && owner->IsSubclassOfPlayer()) {
return 0.06f;
} else {
return Weapon::FireDelay(mode);
}
return fire_delay[FIRE_PRIMARY];
}
void TurretGun::SetFireDelay(Event *ev)
{
fire_delay[FIRE_PRIMARY] = ev->GetFloat(1);
if (!m_fMaxBurstTime) {
// Added in OPM
// default values if not set
m_fMaxBurstTime = m_fMinBurstTime = 0.001f;
m_fMaxBurstDelay = m_fMinBurstDelay = fire_delay[FIRE_PRIMARY];
}
}
void TurretGun::ShowInfo(float fDot, float fDist)