Integrate startup optics and supply vehicle lock picking

This commit is contained in:
2026-09-20 05:34:30 +02:00
parent 9205e2129a
commit 963cab50c0
104 changed files with 16171 additions and 25 deletions
@@ -65,6 +65,7 @@ class ERR_EnemyEquipmentEntry
IEntity Actor;
SCR_AIGroup Group;
SCR_AICombatComponent Combat;
ref ERR_EnemyOptics Optics;
int Checks;
int SkillChecks;
bool Rolled;
@@ -120,6 +121,7 @@ class ERR_EnemyEquipmentEntry
{
Complete = true;
Released = true;
if (Optics) Optics.Stop();
if (Combat) Combat.ERR_ReleaseEnemySkill(mode);
Combat = null;
// Do not interpret Stop as cancellation of an accepted native insertion.
@@ -176,6 +178,7 @@ class ERR_EnemyEquipment
IEntity actor = agent.GetControlledEntity();
if (Known(actor) || !ERR_EnemyEquipmentRules.Eligible(m_Mode, state.Group, actor)) continue;
ERR_EnemyEquipmentEntry entry = new ERR_EnemyEquipmentEntry(); entry.Actor = actor; entry.Group = state.Group;
entry.Optics = new ERR_EnemyOptics(actor, state.Group);
entry.Combat = SCR_AICombatComponent.Cast(actor.FindComponent(SCR_AICombatComponent));
if (entry.Combat) entry.Combat.ERR_BindEnemySkill(m_Mode, state.Group);
m_Entries.Insert(entry);
@@ -193,6 +196,7 @@ class ERR_EnemyEquipment
if (entry.Combat) entry.Combat.ERR_BindEnemySkill(m_Mode, entry.Group);
}
entry.Check(m_Mode);
if (entry.Optics) entry.Optics.Check(m_Mode);
}
}
void Stop()