EFdee-BTLA / SEF_BTLA

A SWAT: Elite Force based mod, inspired in SWAT 3
GNU General Public License v2.0
11 stars 5 forks source link

BTLA v.1.5 Fan Change #3: I WILL NEVER SURRENDER: High level suspects can not be forced to surrender. Also, they will always react to thrown grenades. Lastly, they will gain a complete morale boost if they see one of your SWAT teammates die. AI.ini #23

Open ghost opened 2 years ago

ghost commented 2 years ago

AI.zip

NOTE#1: All of these .ini files are intended for v.1.5 ONLY, if you choose to use them for later versions, they MIGHT work, BUT, they also MIGHT BREAK THE MOD 100%. Using backups for this mod is STRONGLY RECOMMENDED.

NOTE#2: ALL of these .ini files will work in SINGLEPLAYER (SP). HOWEVER, for MULTIPLAYER (MP), all players (including the server) need to have the same .ini file equipped. If this is not done, you can't play MP with anyone else.

NOTE#3: It is STRONGLY RECOMMENDED that you DO NOT USE THIS with the "Leadership.ini" found in "BTLA v.1.5 Fan Change #1". If you do so, some missions may be impossible to complete in Medium and higher difficulties.


(INSTRUCTIONS)

To use this, take this .ini file and paste it over the System Directory.

What is shown below should be the ideal location to replace the .ini file.

Your drive (C:,D:,E:, etc.)/SWAT 4/SEF-BTLA/System


(DESCRIPTION)

This .ini change makes it where high level suspects (basically everyone that is a highly trained suspect wearing body armor) can not be forced to surrender.

In addition, they will always react to thrown grenades.

Lastly, they will gain a complete morale boost if they see one of your SWAT teammates die.

This also means you will most likely to need to incapacitate or kill every single suspect you meet.


(PERSONAL NOTE)

This change was inspired by Ryker's suggestion, quoted "Did you ever think of introducing suspects who will never yield. As in, they would rather die than surrender."

AI ini SCREENSHOT PROOF

It always annoyed me, to a certain extent, that high-level suspects (that mind you, spent years, if not decades, training to fight against you) would automatically surrender the second you both punched them and shoved pepper spray down their faces.

For example, the North Korean soldiers in St. Michael's Medical Center have trained their whole lives in order to create this mass shooting, logically speaking, they shouldn't surrender simply because you punched them into compliance.

As for the thrown grenades, this is added in so high-level suspects will function more actively in combat.

The morale boost is added to keep them in combat against you.

While this change may degrade gameplay (as less-lethal weapons/equipment will become useless), I feel that this will bring a challenge that some of you will enjoy.


Feel free to comment if this idea should be an official part of BTLA!

If you don't like this change, also say so!

Any and all input here will be greatly appreciated!

ghost commented 2 years ago

FEEDBACK FROM RYKER

FEEDBACK FROM RYKER

ghost commented 2 years ago

Mod DB LINK: https://www.moddb.com/games/swat-4-the-stetchkov-syndicate/downloads/btla-v15-fan-change-3-high-level-suspects-can-not-be

ghost commented 2 years ago

RAW CODE

; ; AI.ini ;

[SwatGame.SwatAICharacterConfig] OfficerMesh=Mesh'SWATMaleAnimation2.SwatOfficer' OfficerHeavyMesh=Mesh'SWATMaleAnimation2.SWATheavy' OfficerNoArmorMesh=Mesh'SWATMaleAnimation2.SWATnoArmour' OfficerHeavyDefaultMaterial[0]=Material'Suspect1_officerTex.mpBadHeavy_BDU_greyShader' OfficerHeavyDefaultMaterial[1]=Material'SWATbadguyTex.BadGuyIshader' OfficerHeavyDefaultMaterial[2]=Material'SWATbadguyTex.blankNameTag' OfficerHeavyDefaultMaterial[3]=Material'Suspect1_officerTex.MPBADHeavy_vest_Default'

; Range of time that an officer will fire full auto for OfficerMinTimeToFireFullAuto=0.2 OfficerMaxTimeToFireFullAuto=0.4

; Range of time that an officer will wait before firing on a suspect OfficerMinTimeToWaitBeforeFiring=0.05 OfficerMaxTimeToWaitBeforeFiring=0.10

[SwatAICommon.ColoredSquadInfo] ;Time after a command to one team that the other team will ask for orders if they don't have one. NeedOrdersTriggerTimeDelta=8.0

[SwatAICommon.CommanderAction] ;Number of compliance orders we ignore (after the first one when we were listening) MaxComplianceOrdersToIgnore=1

;Maximum Morale for any character MaxMorale=1.5

; distance to gunshot fire for a hostage or compliant or restrained enemy to react to it MinReactToGunshotDistance=300.0

; how much time before we scream MinScreamTime=0.4 MaxScreamTime=1.0

[SwatAICommon.HostageCommanderAction] ; how much time we wait inbetween IsInDanger tests ;PROGRAMMER ONLY DangerUpdateTime=0.5

; how much time we wait inbetween LineOfSightTo tests ;PROGRAMMER ONLY RescuerUpdateTime=0.2

; morale modifications for hostages FlashbangedMoraleModification=0.65 GassedMoraleModification=0.55 StungMoraleModification=0.9 PepperSprayedMoraleModification=0.75 TasedMoraleModification=0.9 StunnedByC2MoraleModification=0.35 ShotMoraleModification=0.8

; chance that the hostage will react to a thrown grenade (if he sees it) ReactToThrownGrenadeChance=1.0

; chance that a hostage will scream when there's a shot nearby ScreamChance=0.7

; chance that we crouch when we hear a deadly noise (gunshot, explosion, etc) AggressiveCrouchWhenHearsDeadlyNoiseChance=0.85 PassiveCrouchWhenHearsDeadlyNoiseChance=0.65

; time between the hostage in danger yells ("Help me!", "There!", etc.) MinDeltaTimeToPlayInDangerSpeech=3.0 MaxDeltaTimeToPlayInDangerSpeech=8.0

[SwatAICommon.HostageSpeechManagerAction] InDangerSpeechEffectEvents=Screamed InDangerSpeechEffectEvents=CalledForHelp InDangerSpeechEffectEvents=AnnouncedEnemy

[SwatAICommon.EnemyCommanderAction] ; Maximum number of times that we will try to open a door that is blocked by another AI character (enemy or hostage) ; before we give up and just barricade MaxBlockedDoorCount=2

; Angle (in degrees) that will be used to determine whether the AI is surprised by a compliance command SurprisedComplianceAngle=90.0

; Maximum distance that will be used to determine if the AI is in range to be surprised by a compliance command MaxSurprisedComplianceDistance=400.0

; Time Range after which an enemy will barricade if they haven't seen you or an officer MinLostPawnDeltaTime=3.0 MaxLostPawnDeltaTime=8.0

; minimum distances to any officer (incl. the player) to an initial reaction MinDistanceToOfficersToDoInitialReaction=200.0

; skill-specific chances that we'll scream due to a nearby hit spang when compliant or restrained LowSkillScreamChance=0.65 MediumSkillScreamChance=0.5 HighSkillScreamChance=0.0

; skill-specific chances if we'll do an initial reaction LowSkillInitialReactionChance=0.15 MediumSkillInitialReactionChance=0.10 HighSkillInitialReactionChance=0.0

; distance from an enemy which causes an AI to automatically switch attack targets DeltaDistanceToSwitchEnemies=300.00

; skill-specific chances that we'll run away from a thrown grenade (if we see it) LowSkillReactToThrownGrenadeChance=0.333 MediumSkillReactToThrownGrenadeChance=0.5 HighSkillReactToThrownGrenadeChance=1.0

LowSkillSurprisedComplianceMoraleModification=0.8 MediumSkillSurprisedComplianceMoraleModification=0.5 HighSkillSurprisedComplianceMoraleModification=0.0

LowSkillWeaponDroppedMoraleModification=0.6 MediumSkillWeaponDroppedMoraleModification=0.5 HighSkillWeaponDroppedMoraleModification=0.0

LowSkillFlashbangedMoraleModification=0.8 MediumSkillFlashbangedMoraleModification=0.6 HighSkillFlashbangedMoraleModification=0.0

LowSkillGassedMoraleModification=0.2 MediumSkillGassedMoraleModification=0.2 HighSkillGassedMoraleModification=0.0

LowSkillPepperSprayedMoraleModification=0.75 MediumSkillPepperSprayedMoraleModification=0.75 HighSkillPepperSprayedMoraleModification=0.0

LowSkillStungMoraleModification=0.9 MediumSkillStungMoraleModification=0.8 HighSkillStungMoraleModification=0.0

LowSkillTasedMoraleModification=0.9 MediumSkillTasedMoraleModification=0.9 HighSkillTasedMoraleModification=0.0

LowSkillStunnedByC2MoraleModification=0.3 MediumSkillStunnedByC2MoraleModification=0.3 HighSkillStunnedByC2MoraleModification=0.0

LowSkillShotMoraleModification=0.8 MediumSkillShotMoraleModification=0.5 HighSkillShotMoraleModification=0.0

; This one adds to morale LowSkillKilledOfficerMoraleModification=0.4 MediumSkillKilledOfficerMoraleModification=0.5 HighSkillKilledOfficerMoraleModification=2.0

LowSkillNearbyEnemyKilledMoraleModification=0.4 MediumSkillNearbyEnemyKilledMoraleModification=0.3 HighSkillNearbyEnemyKilledMoraleModification=0.0

LowSkillOutOfUsableWeaponsMoraleModification=1.0 MediumSkillOutOfUsableWeaponsMoraleModification=0.8 HighSkillOutOfUsableWeaponsMoraleModification=0.0

// this adds to morale when AI unobserved by Officers UnobservedComplianceMoraleModification=1.0 // AI ceases to be compliant when this value is reached LeaveCompliantStateMoraleThreshold=0.1

[SwatAICommon.OfficerCommanderAction] ; if we hear a noise, we're moving but not doing anything else (attacking, engaging for compliance, etc), ; this is how long we will aim at pawn who made the noise MinAimAtNoiseWhileMovingTime=1.0 MaxAimAtNoiseWhileMovingTime=2.5

MinFinishedEngagingTimeToAimAround=1.0 MaxFinishedEngagingTimeToAimAround=2.0

[SwatAICommon.AimAroundGoal] ;This is for all AI characters DefaultMinAimAtPointTime=2.0 DefaultMaxAimAtPointTime=5.0

; if we don't find something to aim at, time we wait before trying again ; PROGRAMMERS ONLY DefaultMinWaitForNewPointTime=0.1 DefaultMaxWaitForNewPointTime=0.3

DefaultInnerFovDegrees=90.0 DefaultOuterFovDegrees=135.0

[SwatAICommon.AttackTargetAction] ; time, in seconds, before we stop trying to attack if we can't hit somebody MaximumTimeToWaitToAttack=7.5

[SwatAICommon.GassedAction] ; amount of time we delay before starting to be gassed MinInitialDelayTime=0.0 MaxInitialDelayTime=0.5

[SwatAICommon.FlashbangedAction] ; amount of time we delay before starting to be flashbanged MinInitialDelayTime=0.0 MaxInitialDelayTime=0.0

[SwatAICommon.PepperSprayedAction] ; amount of time we delay before starting to be pepper sprayed MinInitialDelayTime=0.1 MaxInitialDelayTime=0.3

[SwatAICommon.StungAction] ; amount of time we delay before starting to be stung MinInitialDelayTime=0.0 MaxInitialDelayTime=0.0

[SwatAICommon.StunnedByC2Action] ; amount of time we delay before starting to be stunned by c2 MinInitialDelayTime=0.0 MaxInitialDelayTime=0.0

[SwatAICommon.IdleAimAroundGoal] ; Time they aim at an awareness point before choosing a new aim location. Random within this range. DefaultMinAimAtPointTime=5.0 DefaultMaxAimAtPointTime=10.0

; if we don't find something to aim at, time we wait before trying again ; PROGRAMMERS ONLY DefaultMinWaitForNewPointTime=1.0 DefaultMaxWaitForNewPointTime=3.0

DefaultInnerFovDegrees=120.0 DefaultOuterFovDegrees=360.0

[SwatAICommon.BarricadeAction] ; the chance that we will shoot at an opening door ShootAtDoorsChance=1.0

; the random range of time that we will shoot at a door when it opens MinShootingAtDoorsTime=2.0 MaxShootingAtDoorsTime=5.0

; chance that we will close and lock the closest door to the stimuli CloseAndLockInitialDoorChance=0.75 ; chance that we will close and lock the next closest door to stimuli CloseAndLockSubsequentDoorChance=0.9

; the amount of time we delay (after aiming at the door), before we go to barricade.
; This occurs when this AI hasn't barricaded yet, and they become suspicious about something. MinBarricadeDelayTime=0.5 MaxBarricadeDelayTime=1.0

; chance that we will play the barricading speech ReactionSpeechChance=0.5

; chance that we will play the other (unused) barricading speech OtherReactionSpeechChance=0.5

; chance that we will crouch when we reach the flee point CrouchAtFleePointChance=0.8

; how long we aim at the closest door before moving to our barricade point AimAtClosestDoorTime=5.0

; how long to wait before trying to shut the door, after we've fired at it MinTimeBeforeClosingDoor=10.0 MaxTimeBeforeClosingDoor=30.0

[SwatAICommon.ConverseWithHostagesAction] ; chance that an enemy will converse with a hostage in the same room when the player is close enough ConverseChance=1.0 ; chance that the enemy will reply to whatever the hostage says SubsequentEnemyResponseChance=0.8

; how often we wait before trying to have another conversation MinTimeBetweenConversing=5.0 MaxTimeBetweenConversing=10.0

; minimum distance from the enemy to the player to be able to do a conversation MinPlayerDistanceForConversation=1500.0

; effect events used for speech in conversations ; DONT CHANGE THESE EnemyTalkToHostageTriggerEffectEvent=TalkedToHostage HostageReplyToEnemyTriggerEffectEvent=TalkedToEnemy EnemyReplyToHostageTriggerEffectEvent=RepliedToHostage

MinSleepTimeBetweenSpeech=0.4 MaxSleepTimeBetweenSpeech=0.9

[SwatAICommon.CoverAction] InnerAimAroundFOVDegrees=60.0 OuterAimAroundFOVDegrees=120.0

; amount of time we wait before we announce that we're still covering MinDeltaWaitTimeToAnnounceStillCovering=20.0 MaxDeltaWaitTimeToAnnounceStillCovering=40.0

[SwatAICommon.FallInAction] ;Time they aim at something during a Fall In action FallInMinAimHoldTime=0.25 FallInMaxAimHoldTime=1.0

[SwatAICommon.FleeAction] ; Min Distance from the closest Officer to be able to flee MinRequiredFleeDistanceFromOfficer=200.0

; Skill specific chance that we will attack while fleeing ; (disabled for now -- old values below) LowSkillAttackWhileFleeingChance=0.20 MediumSkillAttackWhileFleeingChance=0.40 HighSkillAttackWhileFleeingChance=1.0

;LowSkillAttackWhileFleeingChance=0.5 ;MediumSkillAttackWhileFleeingChance=0.75 ;HighSkillAttackWhileFleeingChance=1.0

MinPassiveFleePercentageChance=0.25 MaxPassiveFleePercentageChance=1.0 MinAggressiveFleePercentageChance=0.0 MaxAggressiveFleePercentageChance=0.75

[SwatAICommon.HostageReactionToOfficersAction] ; distance required before we play the reaction ; Not currently used DesiredDistanceToOfficer=200.0

; Animations we use to point ; DO NOT Change PointToLeftAnimation=sPointToEnemyLeft PointToRightAnimation=sPointToEnemyRight PointBehindAnimation=sPointToEnemyBack

[SwatAICommon.InvestigateAction] ; how long we investigate before timing out MinInvestigateTime=15.0 MaxInvestigateTime=25.0

; how long we delay before investigating MinInvestigateDelayTime=0.5 MaxInvestigateDelayTime=1.0

; the chance that we will play the investigating speech ReactionSpeechChance=0.5

[SwatAICommon.IncapacitatedAction] ; time we wait if we start incapacitated before triggering the speech if we start out incapacitated (hostages!) MinTimeBeforeTriggeringIncapacitatedSpeech=5.0 MaxTimeBeforeTriggeringIncapacitatedSpeech=10.0

; how often we try to play the incapacitated speech MinTimeBetweenTriggeringIncapacitatedSpeech=5.0 MaxTimeBetweenTriggeringIncapacitatedSpeech=15.0

; this value matches the outer radius DistanceToHearIncapacitatedSpeech=750.0

[SwatAICommon.OpenDoorAction] ; amount of time (seconds) we wait before trying a blocked door again ; Crombie ONLY BlockedSleepTime=0.5

[SwatAICommon.MoveToAction] ; Distance from our destination that we start walking DistanceFromDestinationToStartWalking=0.0

; Aiming during a Move To MoveToMinAimHoldTime=0.25 MoveToMaxAimHoldTime=1.0

[SwatAICommon.MoveToAttackOfficerAction] MinDistanceToTravel=64.0 MaxDistanceToTravel=128.0

; Percentage chance we will crouch while attacking an officer CrouchWhileAttackingChance=0.5

; Minimum distance to the officer to be able to crouch ; (we have to be further away then this to crouch while attacking) MinDistanceToCrouch=200.0

; How long we crouch for while attacking the officer MinTimeToCrouch=1.5 MaxTimeToCrouch=4.0

; How long we stand for while attacking the officer MinTimeToStand=0.5 MaxTimeToStand=0.75

[SwatAICommon.MoveToDoorAction] ; overridden reached threshold to handle open points just out of reach ; CROMBIE ONLY MoveToDoorThreshold=12.0

[SwatAICommon.MoveToOpponentAction] DistanceToStopMoving=0.0

[SwatAICommon.RegroupAction] ; Min Distance from the closest Officer to be able to regroup MinRequiredRegroupDistanceFromOfficer=200.0

; Skill specific chance that we will attack while regrouping ; (disabled for now -- old values below) LowSkillAttackWhileRegroupingChance=0.20 MediumSkillAttackWhileRegroupingChance=0.40 HighSkillAttackWhileRegroupingChance=1.0

;LowSkillAttackWhileRegroupingChance=0.5 ;MediumSkillAttackWhileRegroupingChance=0.75 ;HighSkillAttackWhileRegroupingChance=1.0

MinPassiveRegroupPercentageChance=0.25 MaxPassiveRegroupPercentageChance=1.0 MinAggressiveRegroupPercentageChance=0.0 MaxAggressiveRegroupPercentageChance=1.0

[SwatAICommon.RestrainedAction] ; time (in seconds) before we start looking at officers while restrained MinSleepTimeBeforeLookingAtOfficers=1.0 MaxSleepTimeBeforeLookingAtOfficers=20.0

[SwatAICommon.DeployPepperBallAction] ; maximum number of pepper balls to fire when deploying the pepper ball MaxNumberPepperBallsToFire=5

[SwatAICommon.DisableTargetAction] DistanceFromTargetToDisable=48.0

[SwatAICommon.TakeCoverAndAttackAction] ; every time we aim around we increment the chance that we will move briefly towards where we saw our enemy last MoveBrieflyChanceIncrement=0.1

; the aim around behavior parameters AimAroundInnerFovDegrees=90.0 AimAroundOuterFovDegrees=270.0 AimAroundMinAimTime=0.5 AimAroundMaxAimTime=1.0

; Skill specific chance that we will attack while taking cover ; (disabled for now -- old values below) LowSkillAttackWhileTakingCoverChance=0.20 MediumSkillAttackWhileTakingCoverChance=0.40 HighSkillAttackWhileTakingCoverChance=1.0

;LowSkillAttackWhileTakingCoverChance=0.5 ;MediumSkillAttackWhileTakingCoverChance=0.75 ;HighSkillAttackWhileTakingCoverChance=1.0

; chance that we will complete this behavior ; die roll is made after each time we fire ; (DISABLED FOR NOW) ;LowSkillSuccessAfterFiringChance=0.5 ;MediumSkillSuccessAfterFiringChance=0.4 ;HighSkillSuccessAfterFiringChance=0.3

LowSkillSuccessAfterFiringChance=0.4 MediumSkillSuccessAfterFiringChance=0.25 HighSkillSuccessAfterFiringChance=0.1

; minimum distance we need to be from any officer while taking cover MinDistanceToOfficersWhileTakingCover=200.0

; how long we crouch for once we're behind cover MinCrouchTime=1.0 MaxCrouchTime=3.0

; how long we stand up for once we're behind cover MinStandTime=1.0 MaxStandTime=10.0

; how long we lean out for once we're behind cover MinLeanTime=1.0 MaxLeanTime=10.0

MinPassiveTakeCoverAndAttackPercentageChance=0.0 MaxPassiveTakeCoverAndAttackPercentageChance=1.0 MinAggressiveTakeCoverAndAttackPercentageChance=0.75 MaxAggressiveTakeCoverAndAttackPercentageChance=1.0

[SwatAICommon.SWATTakeCoverAndAttackAction] ; every time we aim around we increment the chance that we will move briefly towards where we saw our enemy last MoveBrieflyChanceIncrement=0.1

; the aim around behavior parameters AimAroundInnerFovDegrees=90.0 AimAroundOuterFovDegrees=270.0 AimAroundMinAimTime=0.5 AimAroundMaxAimTime=1.0

; Skill specific chance that we will attack while taking cover ; (disabled for now -- old values below) SWATAttackWhileTakingCoverChance=1.0

; minimum distance we need to be from any suspect while taking cover MinDistanceToSuspectsWhileTakingCover=200.0

; how long we crouch for once we're behind cover MinCrouchTime=1.0 MaxCrouchTime=3.0

; how long we stand up for once we're behind cover MinStandTime=1.0 MaxStandTime=10.0

; how long we lean out for once we're behind cover MinLeanTime=1.0 MaxLeanTime=10.0

SWATMinTakeCoverAndAttackPercentageChance=0.8 SWATMaxTakeCoverAndAttackPercentageChance=1.0

[SwatAICommon.SWATTakeCoverAndAimAction] ; every time we aim around we increment the chance that we will move briefly towards where we saw our enemy last MoveBrieflyChanceIncrement=0.1

; the aim around behavior parameters AimAroundInnerFovDegrees=90.0 AimAroundOuterFovDegrees=270.0 AimAroundMinAimTime=0.5 AimAroundMaxAimTime=1.0

; Skill specific chance that we will attack while taking cover ; (disabled for now -- old values below) SWATAttackWhileTakingCoverChance=1.0

; minimum distance we need to be from any officer while taking cover MinDistanceToSuspectsWhileTakingCover=30.0

; how long we crouch for once we're behind cover MinCrouchTime=1.0 MaxCrouchTime=3.0

; how long we stand up for once we're behind cover MinStandTime=7.0 MaxStandTime=14.0

; how long we lean out for once we're behind cover MinLeanTime=7.0 MaxLeanTime=14.0

SWATMinTakeCoverAndAttackPercentageChance=0.8 SWATMaxTakeCoverAndAttackPercentageChance=1.0

[SwatAICommon.ThreatenHostageAction] ; distance required to hear a the threaten hostage sound ; this must equal the AISoundRadius for every ThreatenedHostage event in SoundEffects.ini RequiredHearingDistance=1500.0

; time, in seconds, before we shoot the hostage MinTimeToShootHostage=1.5 MaxTimeToShootHostage=2.5

; minimum distance to the hostage that we need to be able to threaten ; ie. the hostage must be less than this far away MinRequiredDistanceToHostage=256.0

; Required distance from the officer that we need to be able to threaten ; ie. the officers must be at least this far away MinRequiredDistanceToOfficer=200.0

; Once we see the officer, how much closer the officer can get before we start shooting MaxDistanceOfficerCanComeCloser=200.0

MinAgressiveThreatenHostageChance=1.0 MaxAgressiveThreatenHostageChance=1.0

MinPassiveThreatenHostageChance=0.75 MaxPassiveThreatenHostageChance=1.0

ThreatenHostageTriggerEffectEvent=ThreatenedHostage HostageResponseTriggerEffectEvents=AnnouncedThreatened HostageResponseTriggerEffectEvents=CalledForHelp

MinSleepTimeBetweenSpeech=0.1 MaxSleepTimeBetweenSpeech=0.3

[SwatAICommon.AttackOfficerAction] MinPassiveAttackOfficerPercentageChance=0.0 MaxPassiveAttackOfficerPercentageChance=1.0 MinAggressiveAttackOfficerPercentageChance=0.5 MaxAggressiveAttackOfficerPercentageChance=1.0

; chance that we will complete this behavior ; die roll is made after each time we fire ; (DISABLED FOR NOW) ;LowSkillSuccessAfterFiringChance=0.5 ;MediumSkillSuccessAfterFiringChance=0.4 ;HighSkillSuccessAfterFiringChance=0.3

LowSkillSuccessAfterFiringChance=0.4 MediumSkillSuccessAfterFiringChance=0.25 HighSkillSuccessAfterFiringChance=0.1

[SwatAICommon.ComplianceAction] ; amount of time we delay before starting to be compliant MinInitialDelayTime=0.0 MaxInitialDelayTime=1.0

MinArmsUpAnimationRate=1.0 MaxArmsUpAnimationRate=1.5 MinKneelAnimationRate=1.0 MaxKneelAnimationRate=1.3

; ANIMATORS ONLY CrouchingComplianceAnimations=cComply StandingComplianceAnimations=sComply StandingComplianceAnimations=sComply2

CrouchingArmsUpAnimations=cArmsUp StandingArmsUpAnimations=sArmsUp StandingArmsUpAnimations=sArmsUp2 StandingArmsUpAnimations=sArmsUp3

; stunned animations CrouchingStunnedComplianceAnimations=cComplyIncapacitated StandingStunnedComplianceAnimations=sComplyIncapacitated

CrouchingStunnedArmsUpAnimations=cArmsUpIncapacitated StandingStunnedArmsUpAnimations=sArmsUpIncapacitated

[SwatAICommon.EnemyComplianceAction] ; ANIMATORS ONLY CrouchedComplianceDropWeaponAnimations=cDropWeapon1 StandingComplianceDropWeaponAnimations=sDropWeapon1 StandingComplianceDropWeaponAnimations=ComplyIndecision2Complying

; stunned animations CrouchedStunnedComplianceDropWeaponAnimations=cDropWeaponIncapacitated StandingStunnedComplianceDropWeaponAnimations=sDropWeaponIncapacitated

[SwatAICommon.ReactToBeingShotAction] ; torso hit animations (next build [crombie 11/13/03]) ; ANIMATORS ONLY StandingHitInFront=sHitChestFront StandingHitInFront=sHitChestFront1 StandingHitInBack=sHitChestBack StandingHitInBack=sHitChestBack1 StandingHitLeft=sHitChestLeft StandingHitLeft=sHitChestLeft1 StandingHitRight=sHitChestRight StandingHitRight=sHitChestRight1

CrouchingHitInFront=cHitChestFront CrouchingHitInBack=cHitChestBack CrouchingHitLeft=cHitChestLeft CrouchingHitRight=cHitChestRight

; head hit animations StandingHitInHead=sHitInHeadFront CrouchingHitInHead=cHitInHeadFront

; right arm hit animations StandingHitRightArm=sShotInRightArm CrouchingHitRightArm=cShotInRightArm

; left arm hit animations StandingHitLeftArm=sShotInLeftArm CrouchingHitLeftArm=cShotInLeftArm

; right leg hit animations StandingHitRightLeg=sShotInRightLeg StandingHitRightLeg=sShotInRightLeg2 StandingHitRightLeg=sShotInRightLeg3 CrouchingHitRightLeg=cShotInRightLeg CrouchingHitRightLeg=cShotInRightLeg2

; left leg hit animations StandingHitLeftLeg=sShotInLeftLeg StandingHitLeftLeg=sShotInLeftLeg2 StandingHitLeftLeg=sShotInLeftLeg3 CrouchingHitLeftLeg=cShotInLeftLeg CrouchingHitLeftLeg=cShotInLeftLeg2

; compliant hits CompliantHitFront=complyHitFront CompliantHitBack=complyHitBack CompliantHitLeft=complyHitLeft CompliantHitRight=complyHitRight

; restrained hits RestrainedHitFront=cuffedHitFront RestrainedHitBack=cuffedHitBack RestrainedHitLeft=cuffedHitLeft RestrainedHitRight=cuffedHitRight

; quick hit animations QuickHitFront=sHitChestFrontQuick QuickHitBack=sHitChestBackQuick QuickHitRight=sHitChestRightQuick QuickHitLeft=sHitChestLeftQuick

QuickHitBaseBone=Bip01_Spine1

; restrained quick hit animations RestrainedQuickHitFront=cuffedHitFront RestrainedQuickHitBack=cuffedHitBack RestrainedQuickHitRight=cuffedHitRight RestrainedQuickHitLeft=cuffedHitLeft

RestrainedQuickHitBaseBone=Bip01_Spine1

[SwatAICommon.SquadMoveAndClearAction] ; delay after first two officers enter the door ;InitialClearPauseTime=0.1 -- This no longer exists (improves clearing speed) -sandman332

; how long third and fourth officers wait before following first two officers through the door MaxWaitForFirstTwoOfficersTime=0.5

; distance the follower tries to keep from the leader ; Crombie ONLY FormationMoveToThreshold=96.0 ; distance that the follower will start walking at ; Crombie ONLY FormationWalkThreshold=64.0

; how long we wait before going through the door DoorOpenedFromSideDelayTime=0.5

; how long we wait after throwing a CS grenade before entering the room CSGrenadeDelayTime=5.0 CSGrenadeDelayTimeRiotHelmet=5.0 CSGrenadeDelayTimeGasMask=5.0

[SwatAICommon.MoveAndClearAction] ; distance between us and an uncompliant character that we will stop moving at DistanceToStopMovingWithUncompliantCharacter=450.0 ; Attempt At Fixing Officers Getting To Close To Suspects While Clearing, Plus Sensor Doesn't Seem To Always Work Properly. -sandman332 ;^^ 128.0 SEF & Vanilla SWAT 4, 450.0 SSF, 300.0 Code 11 and 200.0 for both SAS & HSM ^^

; how long we hold our clear position before completing ; once we complete, the idle aim around behavior may run and rotate us in another direction ; so this time specifies how long we should hold in our clear point rotation MinHoldClearPositionTime=0.5 MaxHoldClearPositionTime=1.5

; Move & Clear Aim Around behavior MoveAndClearAimAroundInnerRadius=80.0 MoveAndClearAimAroundOuterRadius=120.0 MoveAndClearAimAroundPointTooCloseDistance=128.0

MoveAndClearMinAimHoldTime=0.1 MoveAndClearMaxAimHoldTime=0.4

[SwatAIcommon.StackUpAction] ;Distance from the StackupPoint when officer starts to walk. DistanceToStartWalking=128.00

; distance that we will start aiming at the door while stacking up MinDistanceToAimAtDoor=350.0

[SwatAICommon.CowerAction] ;CrouchedInitialCowerAnimations=cArmsUp ; Animators ONLY CrouchedLoopingCowerAnimations=cHostageFidget2 CrouchedLoopingCowerAnimations=cHostageFidget3

;StandingInitialCowerAnimations= StandingLoopingCowerAnimations=sHostageCowerFidget1

[SwatAICommon.EnemyCowerAction] ; Animators ONLY ;CrouchedInitialEnemyCowerAnimations=cOutOfAmmoFidget1 CrouchedLoopingEnemyCowerAnimations=cHostageFidget2 CrouchedLoopingEnemyCowerAnimations=cHostageFidget3

[SwatAICommon.OrderComplianceAction] ;Maximum time we wait to see an AI again before stopping compliance yells MaximumTimeToWaitToEngage=3.5

;Time between officer compliance yells and the animations they use. MinComplianceOrderSleepTime=1.0 MaxComplianceOrderSleepTime=2.0

;Time we wait if we can't currently engage for compliance before trying to see if we can again ;programmers ONLY MinComplianceWaitTime=0.1 MaxComplianceWaitTime=0.4

; animators ONLY ComplyMGOrderAnims=ComplyMG ComplyMGOrderAnims=ComplyMGb ComplyMGOrderAnims=ComplyMGc ComplySGOrderAnims=complySG ComplySGOrderAnims=complySGb ComplySGOrderAnims=complySGc ComplySMGOrderAnims=complySMG ComplySMGOrderAnims=complySMGb ComplySMGOrderAnims=complySMGc ComplyHGOrderAnims=complyHG ComplyHGOrderAnims=complyHGb ComplyHGOrderAnims=complyHGc ComplyPepperBallOrderAnims=ComplyPB

[SwatAICommon.ShareEquipmentAction] ; distance the officer tries to keep when giving an item to the player DistanceFromPlayer=50.0 ; distance from the player before the officer starts walking DistanceToWalk=75.0

[SwatAICommon.RestrainAndReportAction] ; distance the officer tries to keep when restraining a character ; ANIMATORS ONLY! DistanceFromTargetToRestrain=40.0

[SwatAICommon.UseOptiwandAction] ; tween time to use the optiwand ; ANIMATORS ONLY! OptiwandUseTweenTime=0.2

[SwatAICommon.WatchNonHostileTargetAction] ; Time to look at a non-hostile before looking at another MinWatchTargetTime=1.5 MaxWatchTargetTime=3.0

; minimum distance that determines if we actually aim the gun ; if we are outside of this minimum distance, we will aim, otherwise we just use low ready MinDistanceToAimGun=128.0

; time between talking to an unrestrained target MinDeltaTimeBetweenSpeakingToTarget=15.0 MaxDeltaTimeBetweenSpeakingToTarget=25.0

[SwatAICommon.SquadFallInAction] ; minimum distance that an officer must be to trigger the reply to falling in speech MinDistanceToTriggerReplySpeech=500.0

; update rate for our timer to see if we're all within the "completed" distance ; (if we ARE NOT a copy of the original Fall In behavior -- ie. gave fall in to element, then gave blue or red a different order) CompletedTimerUpdateRate=0.5

; update rate for our timer to see if we're all within the "completed" distance ; (if we ARE a copy of the original Fall In behavior -- ie. gave fall in to element, then gave blue or red a different order) CopyCompletedTimerUpdateRate=2.0

MinDistanceToTriggerCompletedSpeech=500

[SwatAICommon.UseGrenadeAction] ; Animators ONLY NodAnimation=sGrenadeNod

[SwatAICommon.Hive] ; Amount of damage to officers before they turn on you. PlayerDamageThreshold=100.0

; Max Distance that we watch targets MaxWatchTargetDistance=1000.0

[SwatAICommon.Formation] ; CROMBIE ONLY ReorderTime=0.25

[SwatAICommon.WildGunnerAdjustAimAction] ;magnitude of WildGunner's firing arc (in Unreal Rotator units: 2*PI = 65536) WildGunnerFiringArc=4000.0f ;increment to position 20 times a second WildGunnerSweepSpeed=0.20f

;; ;; Some new SEF stuff ;; [SwatGame.SwatEnemyConfig] ; Base Aim Error by Skill Level LowSkillAdditionalBaseAimError=10.0 MediumSkillAdditionalBaseAimError=8.0 HighSkillAdditionalBaseAimError=3.0

; minimum 2d distance between us and another enemy to affect their morale ; also does a line of sight check MinDistanceToAffectMoraleOfOtherEnemiesUponDeath=500.0

; Range of time per skill level that an Enemy will fire full auto for LowSkillMinTimeToFireFullAuto=1.0 LowSkillMaxTimeToFireFullAuto=2.0 MediumSkillMinTimeToFireFullAuto=0.6 MediumSkillMaxTimeToFireFullAuto=1.0 HighSkillMinTimeToFireFullAuto=0.2 HighSkillMaxTimeToFireFullAuto=1.3

; animations used for throwing weapons down when they're empty ThrowWeaponDownAnimationsHG=OutOfAmmoDropHG1 ThrowWeaponDownAnimationsHG=OutOfAmmoDropHG2 ThrowWeaponDownAnimationsHG=OutOfAmmoDropHG3

ThrowWeaponDownAnimationsSMG=OutOfAmmoDropSMG1 ThrowWeaponDownAnimationsSMG=OutOfAmmoDropSMG2

ThrowWeaponDownAnimationsMG=OutOfAmmoDropMG1 ThrowWeaponDownAnimationsMG=OutOfAmmoDropMG2

ThrowWeaponDownAnimationsSG=OutOfAmmoDropSG1 ThrowWeaponDownAnimationsSG=OutOfAmmoDropSG2

; chance that we will play a full body hit animation HighSkillFullBodyHitChance=0.2 MediumSkillFullBodyHitChance=0.7 LowSkillFullBodyHitChance=0.8

; SEF-introduced delay before firing a weapon LowSkillMinTimeBeforeShooting = 1.0 LowSkillMaxTimeBeforeShooting = 1.7 MediumSkillMinTimeBeforeShooting = 0.9 MediumSkillMaxTimeBeforeShooting = 1.3 HighSkillMinTimeBeforeShooting = 0.6 HighSkillMaxTimeBeforeShooting = 1.0