Skip to content

Commit 4f2eded

Browse files
authored
Merge pull request #24 from jose21crisis/master
More Changes
2 parents f162198 + 57a4607 commit 4f2eded

File tree

6 files changed

+47
-5
lines changed

6 files changed

+47
-5
lines changed

Source/Game/SwatAICommon/Classes/Actions/AimAroundAction.uc

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ function initAction(AI_Resource r, AI_Goal goal)
118118

119119
if (bAimWeapon)
120120
{
121-
CurrentUpperBodyAnimBehavior = kUBAB_AimWeapon;
121+
CurrentUpperBodyAnimBehavior = kUBAB_AimWeapon;
122122
}
123123
else
124124
{
@@ -670,6 +670,10 @@ latent function AimAtBestPoint()
670670
{
671671
ISwatAI(m_pawn).AimAtActor(CurrentAimPoint);
672672
SetCurrentUpperBodyAnimBehavior();
673+
if (m_Pawn.IsA('SwatEnemy') && !ISwatEnemy(m_Pawn).IsAThreat())
674+
{
675+
ISwatEnemy(m_Pawn).BecomeAThreat();
676+
}
673677

674678
// Hold this aim for the timed duration, or until our aim point is too
675679
// close to us.

Source/Game/SwatAICommon/Classes/Actions/AimAtPointAction.uc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,10 @@ latent function AimAtDesiredPoint()
4545
while (ISwatAI(m_pawn).AnimCanAimAtDesiredPoint(Point))
4646
{
4747
LatentAimAtPoint(Point);
48+
if (m_Pawn.IsA('SwatEnemy') && !ISwatEnemy(m_Pawn).IsAThreat())
49+
{
50+
ISwatEnemy(m_Pawn).BecomeAThreat();
51+
}
4852

4953
yield();
5054
}

Source/Game/SwatAICommon/Classes/Actions/AimAtTargetAction.uc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,10 @@ latent function AimAtTarget()
6262
while (!bOnlyWhenCanHitTarget || (m_Pawn.CanHit(Target) && ((MinDistanceToTargetToAim == 0.0) || (VSize(Target.Location - m_Pawn.Location) < MinDistanceToTargetToAim))))
6363
{
6464
LatentAimAtActor(Target);
65+
if (m_Pawn.IsA('SwatEnemy') && !ISwatEnemy(m_Pawn).IsAThreat())
66+
{
67+
ISwatEnemy(m_Pawn).BecomeAThreat();
68+
}
6569
yield();
6670
}
6771
}

Source/Game/SwatAICommon/Classes/Actions/EnemyCommanderAction.uc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -517,10 +517,14 @@ function NotifyNearbyEnemyKilled(Pawn NearbyEnemy, Pawn Officer)
517517
if (Officer != None)
518518
{
519519
ChangeMorale(- GetNearbyEnemyKilledMoraleModification(), "Nearby Enemy " $ NearbyEnemy.Name $ " Killed By " $ Officer.Name);
520+
// do some speech
521+
ISwatEnemy(m_Pawn).GetEnemySpeechManagerAction().TriggerDownedSuspectSpeech();
520522
}
521523
else
522524
{
523525
ChangeMorale(- GetNearbyEnemyKilledMoraleModification(), "Nearby Enemy " $ NearbyEnemy.Name $ " Killed By an inanimate object");
526+
// do some speech
527+
ISwatEnemy(m_Pawn).GetEnemySpeechManagerAction().TriggerDownedSuspectSpeech();
524528
}
525529
}
526530

Source/Game/SwatAICommon/Classes/Actions/EnemySpeechManagerAction.uc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,10 @@ function TriggerDownedOfficerSpeech()
6565
TriggerSpeech('ReactedDownOfficer');
6666
}
6767

68+
function TriggerDownedSuspectSpeech()
69+
{
70+
TriggerSpeech('ReactedDownSuspect');
71+
}
6872
///////////////////////////////////////////////////////////////////////////////
6973
defaultproperties
7074
{

Source/Game/SwatGame/Classes/AI/SwatAI.uc

Lines changed: 26 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2035,14 +2035,36 @@ function FireMode GetDefaultAIFireModeForWeapon(FiredWeapon Weapon)
20352035
{
20362036
assert(Weapon != None);
20372037

2038-
if (Weapon.HasFireMode(FireMode_Single) || Weapon.HasFireMode(FireMode_SingleTaser))
2039-
{
2040-
return FireMode_Single;
2038+
if(Weapon.Owner.IsA('SwatEnemy')) {
2039+
// the thing holding me is a suspect
2040+
if (Weapon.HasFireMode(FireMode_Burst))
2041+
{
2042+
return FireMode_Burst;
2043+
}
2044+
else if (Weapon.HasFireMode(FireMode_Auto))
2045+
{
2046+
return FireMode_Auto;
2047+
}
2048+
if (Weapon.HasFireMode(FireMode_Single) || Weapon.HasFireMode(FireMode_SingleTaser))
2049+
{
2050+
return FireMode_Single;
2051+
}
2052+
else
2053+
{
2054+
// sanity check!
2055+
assert(Weapon.HasFireMode(FireMode_DoubleTaser));
2056+
2057+
return FireMode_DoubleTaser;
2058+
}
20412059
}
2042-
if (Weapon.HasFireMode(FireMode_Burst))
2060+
else if (Weapon.HasFireMode(FireMode_Burst))
20432061
{
20442062
return FireMode_Burst;
20452063
}
2064+
else if (Weapon.HasFireMode(FireMode_Single) || Weapon.HasFireMode(FireMode_SingleTaser))
2065+
{
2066+
return FireMode_Single;
2067+
}
20462068
else if (Weapon.HasFireMode(FireMode_Auto))
20472069
{
20482070
return FireMode_Auto;

0 commit comments

Comments
 (0)