Resource - Guerilla and PMC Identification

Guerilla and PMC Identification

I don’t recall this ever being done but there’s actual names to the AI’s and stats for shit that probably don’t mean anything to people, the health amount is deceptive to the actual armor that is in place for all of the AI’s and until a calculator is made it is fruitless to include but I am doing it anyways… Just health specifically though.


Base Guerilla Damage Zones

Head: +300% Damage

Body: +0% Damage

Left/Right Arm: -30% Damage

Left/Right Leg: -40% Damage


Base PMC Damage Zones

Head: +200% Damage

Body: +0% Damage

Left/Right Arm: -5% Damage

Left/Right Leg: -35% Damage


Behaviors Example

There’s quite a few of these for different states the AI can be set to and some data that follows, theres quite a lot of these and it’s probably not needed to go through all of them

Sub Trees

    "Name": "CallReinforcements"

    "BotProperties": {
                  "AssetPathName": "/Game/Character/Data/Guerrilla/Properties/Reinforcements/PR_Guerrilla_Grunt_AK_Reinforcements.PR_Guerrilla_Grunt_AK_Reinforcements",

                "NumToSpawn": 3,
                "MinFireTeamToSpawnBots": 0,
            "TimeBetweenSpawns": 4.0

 "BotProperties": {
                  "AssetPathName": "/Game/Character/Data/Guerrilla/Properties/PR_G_Grunt_AR-W.PR_G_Grunt_AR-W",

                "NumToSpawn": 3,
                "MinFireTeamToSpawnBots": 0,
            "TimeBetweenSpawns": 4.0

        "TimeBetweenWaves": 7.0,
        "MaxEnemySearchDistance": 10000.0

      "bCheckIfCampAlaramsCanBeTriggered": true,
      "MinReinforcementCallTime": 4.2,
      "MaxReinforcementCallTime": 4.2,


    "Name": "EnemySpotted"

    "Class": "UScriptClass'BTDecorator_RandomChance'",
      "ChanceOfSuccess": 0.75,

    "Class": "UScriptClass'BTDecorator_RandomChance'",
      "ChanceOfSuccess": 0.45,

    "Class": "UScriptClass'BTTask_Wait'",
      "WaitTime": 0.2,
      "RandomDeviation": 0.1,


    "Name": "FollowOrders"

    "Class": "UScriptClass'BTDecorator_WithinDistanceOf'",
      "MaxDistance": 1000.0,
        "SelectedKeyName": "CurrentOrdersFocusTarget"

      "AcceptableRadiusMin": 300.0,
      "AcceptableRadiusMax": 1000.0,
        "SelectedKeyName": "WanderLocation"

    "Class": "UScriptClass'BTTask_SFMoveToExtended'",
      "AcceptableRadius": 100.0,

    "Class": "UScriptClass'BTTask_SFMoveToExtended'",
      "AcceptableRadius": 300.0,
      "RandomPointRadius": 800.0,

      "bSprintToGoal": true,
      "bClearFocusWhileMoving": true,

    "Class": "UScriptClass'BTTask_Wait'",
      "WaitTime": 1.0,
      "RandomDeviation": 0.5,



    "Name": "InvestigateDeadBody"

        "SelectedKeyName": "DeadBodyLocation"

      "AcceptableRadiusMin": 50.0,
      "AcceptableRadiusMax": 500.0,
        "SelectedKeyName": "WanderLocation"

    "Class": "UScriptClass'BTTask_SFMoveToExtended'",
      "AcceptableRadius": 25.0,

    "Class": "UScriptClass'BTTask_Wait'",
      "WaitTime": 0.3,
      "RandomDeviation": 0.2,



    "Name": "InvestigateStimulus"

      "ComparisonAIState": "ESFAIState::Combat",
        "SelectedKeyName": "AIState"
      "FlowAbortMode": "EBTFlowAbortMode::Self",
      "NodeName": "Not in Combat",


      "ComparisonOperator": "EArithmeticKeyOperation::Greater",
        "SelectedKeyName": "AIState"
      "NodeName": "Not Passive",

    "Type": "BTDecorator_ForceSuccess",
    "Name": "BTDecorator_ForceSuccess_0",
    "Outer": "InvestigateStimulus",

    "Type": "BTDecorator_TimeLimit",
    "Name": "BTDecorator_TimeLimit_1",
    "Outer": "InvestigateStimulus",


    "Class": "UScriptClass'BTDecorator_WithinTimeOf'",
      "TimeLimit": 7.0,
        "SelectedKeyName": "LastCriticalStimulusTime"

    "Class": "UScriptClass'BTDecorator_Cooldown'",
      "CoolDownTime": 30.0,


    "Name": "MoveToEnemy"

    "Name": "SearchForLostEnemy"

    "Name": "TakeCover"

    "Name": "TriggerCampAlarm"

    "Name": "WaypointPathing"


Guerilla Behavior Tree



    "Class": "UScriptClass'BTDecorator_ShouldReactToEnemy'"
      "ReactionTime": 2.5

    "Class": "UScriptClass'BTDecorator_WithinDistanceOf'",
        "SelectedKeyName": "KnownEnemyLocation"

      "MaxDistance": 2000.0

    "Class": "UScriptClass'BTDecorator_WithinTimeOf'",
        "SelectedKeyName": "LastStimulusTime"
      "NodeName": "Had Stimulus in the last 2 seconds",

      "TimeLimit": 5.0

    "Class": "UScriptClass'BTService_EvaluateEnemies'"

      "RandomDeviation": 0.25

    "Class": "UScriptClass'BTService_EvaluateEnemies'"

      "Interval": 1.25
      "RandomDeviation": 0.5


    "Class": "UScriptClass'BTService_FireWeapon'"
      "NodeName": "Shoot Enemy"

      "Interval": 0.7
      "RandomDeviation": 0.3

    "Class": "UScriptClass'BTService_FireWeapon'"
      "NodeName": "Shoot Enemy"

      "Interval": 0.4
      "RandomDeviation": 0.3

    "Class": "UScriptClass'BTService_ThrowGrenade'"

      "Interval": 50.0
      "RandomDeviation": 35.0


    "Class": "UScriptClass'BTService_ThrowGrenade'"

      "Interval": 8.0
      "RandomDeviation": 8.0

    "Class": "UScriptClass'BTTask_FindWanderPoint'"

      "AcceptableRadiusMin": 2000.0
      "AcceptableRadiusMax": 2500.0

    "Class": "UScriptClass'BTTask_Flee'"

      "FleeDistance": 1500.0

    "Class": "UScriptClass'BTTask_PlayReactionAnimation'"

      "ChanceToPlayReactionAnimation": 0.8

    "Class": "UScriptClass'BTTask_SFMoveToExtended'"
        "SelectedKeyName": "WanderLocation"

      "AcceptableRadius": 2500.0

      "bSprintToGoal": true,
      "bClearFocusWhileMoving": true

    "Class": "UScriptClass'BTTask_Wait'"

      "WaitTime": 1.0
      "RandomDeviation": 2.0

    "Class": "UScriptClass'BTTask_Wait'" (Throw Grenade & Fire Weapon)

      "WaitTime": 3.0

    "Class": "UScriptClass'BTTask_Wait'"

      "WaitTime": 0.3
      "RandomDeviation": 0.2

    "Class": "UScriptClass'BTTask_Wait'"

      "WaitTime": 0.3
      "RandomDeviation": 0.2

    "Class": "UScriptClass'BTTask_Wait'"

      "WaitTime": 0.5
      "RandomDeviation": 0.2

    "Class": "UScriptClass'BTTask_Wait'"

      "WaitTime": 0.5
      "RandomDeviation": 0.2

    "Class": "UScriptClass'BTTask_Wait'"

      "WaitTime": 1.0
      "RandomDeviation": 0.5


        "ObjectName": "BehaviorTree'InvestigateStimulus'",
      "NodeName": "Investigate Stimulus"

        "ObjectName": "BehaviorTree'FollowOrders'"
      "NodeName": "Follow Orders"

        "ObjectName": "BehaviorTree'MoveToEnemy'"
      "NodeName": "MoveToEnemy"

        "ObjectName": "BehaviorTree'TakeCover'"
      "NodeName": "Take Cover"

        "ObjectName": "BehaviorTree'WaypointPathing'"
      "NodeName": "Pathing"

        "ObjectName": "BehaviorTree'EnemySpotted'"
      "NodeName": "Enemy Spotted"

        "ObjectName": "BehaviorTree'SearchForLostEnemy'"
      "NodeName": "Search For Lost Enemy"

        "ObjectName": "BehaviorTree'TriggerCampAlarm'"
      "NodeName": "Trigger Camp Alarm"


Stuff to note

  • AI reinforcements have unique stats and it is fucking annoying to sift through
  • AI have stamina and recovery
  • AI’s have a lot of fucking stats associated with them that are somewhat more irrelevant than all the other random stuff you can find within Fireteam and Predator
  • AI’s sometimes have differing damage zones, some are alarmingly high

Guerilla Grunt

  "Health": 30.0,
  "Stamina": 14.0,
  "MediumDamageThreshold": 10.0,

Guerilla Elite

  "Health": 50.0,
  "MediumDamageThreshold": 200.0,

Guerilla Sniper

  "Health": 25.0,

Left/Right Arm: -20% Damage
Left/Right Leg: -30% Damage


Guerilla Heavy

  "Health": 115.0,
  "MediumDamageThreshold": 30.0,

Head: +250% Damage


Guerilla Captain

  "Health": 75.0,
  "MediumDamageThreshold": 30.0,

lol?


PMC Elite

 "Health": 150.0

PMC Sniper

  "Health": 115.0,

Head: +600% Damage
Left/Right Arm: -20% Damage
Left/Right Leg: -30% Damage


PMC Heavy

  "Health": 250.0,
  "ExhaustionDuration": 1.0,
  "MediumDamageThreshold": 200.0,

Head: +250% Damage


PMC Captain

  "Health": 150.0,

Head: +500% Damage


States

What the player sees at the bottom left hand corner of the screen

2025-03-27 20_29_10-2025-03-08 14-05-58.mp4 - VLC media player

Combat

Icon_AI_State_Combat

Hunted

Icon_AI_State_Hunted

Investigating

Icon_AI_State_Investigating


Guerilla/PMC Icons

Generic icons that are reused within spotting for the minimap and HUD for gameplay

GeneralAI_Grunts

SpottingIcons_Large_GeneralAI_Grunts

SpecialAI_Heavy

SpottingIcons_Large_SpecialAI_Heavy

PMC_Captain

SpottingIcons_Large_PMC_Captain

PMC_Elite

SpottingIcons_Large_PMC_Elite

PMC_Heavy

SpottingIcons_Large_PMC_Heavy

PMC_Sniper

SpottingIcons_Large_PMC_Sniper

SpecialAI_Captain

SpottingIcons_Large_SpecialAI_Captain

SpecialAI_Heavy

SpottingIcons_Large_SpecialAI_Heavy

SpecialAI_Sniper

SpottingIcons_Large_SpecialAI_Sniper

2 Likes

My 🐓 is throbbing rn

3 Likes

Can we find the armour stats? I’m working on a modifier loadout to show how powerful the FT actually is.

smh

Ft does not have “armor” per se , but rather each faction receives each damage type with a different modifier that increases or decreases it. That’s illfonic way of “balancing” damage on the game.

Example, while assault rifles do a specific damage to Predators, they do less damage to Guerillas and EVEN LESS DAMAGE to other FT’s when playing Clash or with Friendly Fire

Okay.
Well the plan for this part of the modifier is to try to have the ‘PMCElite’ have the same effective health and deal the same effective damage to the FT as a basic assault with the basic gun, no specialization or attachments or perks or teammate bonuses.

Predator armor:

  • Bullet_HighCaliber_NPC: 2.34
  • Bullet_Shotgun_NPC: 4.5
  • Bullet_SmallCaliber_NPC: 2.7
  • Bullet_SmallCaliber: 0.79
  • FT_Explosive: 1.15
  • FT_LauncherExplosive: 2
  • FT_RocketExplosive: 1.2
  • FT_SmallPlasma: 0.79
  • Plasma: 1.23

Fireteam armor:

  • Arrow: 0.75
  • Bludgeon: 0.7
  • Bullet_HighCaliber_NPC: 0.95
  • Bullet_HighCaliber: 0.5
  • Bullet_MiniGun: 0.5
  • Bullet_Shotgun_NPC: 1.1
  • Bullet_Shotgun: 0.75
  • Bullet_SmallCaliber_NPC: 1.175
  • Bullet_SmallCaliber: 0.5
  • CombiStick: 0.85
  • FT_Explosive: 0.6
  • FT_LauncherExplosive: 0.75
  • FT_RocketExplosive: 0.75
  • FT_Slashing: 0.5
  • FT_SmallPlasma: 0.5
  • Slashing_WristBlades: 0.5
  • Slashing: 0.5

Armor values vary slightly between character classes; the above values apply to the Hunter and the Assault.

Damage calculation is a bit more complex—here’s how I believe it works:

Color meanings: Green indicates increased damage, Yellow may increase or decrease damage, and Red indicates decreased damage.

Why would specialization be before perk wth

You’re missing some structures as well but it might not be needed, still missing though, that’s interesting you’re doing Resources most likely using FModel the program that we started using and beared results for, could you by chance be doing this out of spite 🤔

1 Like

It really doesn’t matter since everything is multiplication stacking, the end result would be the same. Only HP perk that is a static number is thick skin, and because is static it doesn’t affect the end result either.

Now, for bullet based damage, I believe everything is working as the game files state. Sadly we know for some Predator weapons that is not the case. Such as the new swords using “slashing” damage, but not delivering 50% damage like the game files state. Not to mention Combistick throw using “small caliber” damage type and not delivering 50% damage. There’s likely hard-coded values elsewhere we have not found

I guess not

Ah, the commutative property of multiplication—where the order doesn’t matter. Wild, right? It’s this crazy concept most of us picked up in 2nd grade. Maybe take a quick detour through elementary school before handing out hot takes.

Guilty, of course. Watching you flail around in your own ignorance was genuinely entertaining. Correcting you wasn’t just easy—it was fun. Honestly, the way you parade your nonsense with such confidence? It’s adorable in a tragic, bottom-feeder kind of way. Keep squeaking, maybe you’ll earn a pat on the head next time.

okay so let me get this clear:

combat means that fireteam member is shooting Ai, hunted means that fireteam member is/has taken damage from the predator, and investigating means that fireteam member has triggered AI to their presence?

I’ll need to save that for the predator modifiers, but do you have AI armour and damage?

Hunted by AI. Combat with AI, being investigated by AI

well thats lame

I will point out though, the BioMask does not provide any type of armor/protection. It merely has HP (600 by default, if I recall correctly) that goes down in “parallel” with Predator HP when it takes headshots (under quotation, because predator perks/specializations can redefine how much each HP goes down, but they go down at the same time regardless whenever getting a headshot).

Drug Lord

Armor

  • Bullet_HighCaliber: 0.3
  • Bullet_MiniGun: 0.15
  • Bullet_Shotgun: 0.15
  • Bullet_SmallCaliber: 0.15

Damage Zones

  • Head: 3.0

Guerilla Captain

Armor

  • Bullet_HighCaliber: 0.5
  • Bullet_MiniGun: 1.5
  • Bullet_Shotgun: 2.0
  • Bullet_SmallCaliber: 0.3
  • Plasma: 2.0
  • PounceSlam: 10.0
  • Slashing: 0.5
  • Slashing_WristBlades: 0.6
  • SmallPlasma: 2.0

Damage Zones

  • Head: 3.0
  • Body: 1.0
  • LeftArm: 0.7
  • RightArm: 0.7
  • LeftLeg: 0.6
  • RightLeg: 0.6

Guerilla Elite

Armor

  • Bullet_HighCaliber: 0.5
  • Bullet_MiniGun: 1.5
  • Bullet_Shotgun: 1.8
  • Bullet_SmallCaliber: 0.3
  • Plasma: 2.0
  • PounceSlam: 10.0
  • Slashing: 0.7
  • Slashing_WristBlades: 0.7
  • SmallPlasma: 2.0

Damage Zones

  • Head: 4.0
  • Body: 1.0
  • LeftArm: 0.7
  • RightArm: 0.7
  • LeftLeg: 0.6
  • RightLeg: 0.6

Guerilla Grunt

Armor

  • Bullet_HighCaliber: 0.5
  • Bullet_MiniGun: 1.5
  • Bullet_Shotgun: 3.0
  • Bullet_SmallCaliber: 0.3
  • Plasma: 2.0
  • PounceSlam: 10.0
  • Slashing: 0.35
  • Slashing_WristBlades: 0.35
  • SmallPlasma: 2.0

Damage Zones

  • Head: 4.0
  • Body: 1.0
  • LeftArm: 0.7
  • RightArm: 0.7
  • LeftLeg: 0.6
  • RightLeg: 0.6

Guerilla Heavy

Armor

  • Bullet_HighCaliber: 0.9
  • Bullet_MiniGun: 1.5
  • Bullet_Shotgun: 1.5
  • Bullet_SmallCaliber: 0.15
  • Plasma: 1.7
  • PounceSlam: 10.0
  • Slashing: 1.0
  • Slashing_WristBlades: 0.6
  • SmallPlasma: 1.7

Damage Zones

  • Head: 2.5
  • Body: 1.0
  • LeftArm: 0.7
  • RightArm: 0.7
  • LeftLeg: 0.6
  • RightLeg: 0.6

Guerilla Sniper

Armor

  • Bullet_HighCaliber: 0.5
  • Bullet_MiniGun: 1.5
  • Bullet_Shotgun: 2.6
  • Bullet_SmallCaliber: 0.3
  • Plasma: 2.0
  • PounceSlam: 10.0
  • Slashing: 0.5
  • Slashing_WristBlades: 0.6
  • SmallPlasma: 2.0

Damage Zones

  • Head: 4.0
  • Body: 1.0
  • LeftArm: 0.8
  • RightArm: 0.8
  • LeftLeg: 0.7
  • RightLeg: 0.7

PMC Captain

Armor

  • Bullet_HighCaliber: 0.5
  • Bullet_MiniGun: 1.0
  • Bullet_Shotgun: 1.5
  • Bullet_SmallCaliber: 0.3
  • FT_LauncherExplosive: 3.0
  • Plasma: 2.0
  • PounceSlam: 10.0
  • Slashing_Katana: 2.5
  • Slashing_WristBlades: 1.1
  • SmallPlasma: 2.0

Damage Zones

  • Head: 6.0
  • Body: 1.0
  • LeftArm: 0.7
  • RightArm: 0.7
  • LeftLeg: 0.6
  • RightLeg: 0.6

PMC Elite

Armor

  • Bullet_HighCaliber: 0.5
  • Bullet_MiniGun: 1.0
  • Bullet_Shotgun: 1.4
  • Bullet_SmallCaliber: 0.3
  • FT_LauncherExplosive: 2.5
  • Plasma: 2.0
  • PounceSlam: 10.0
  • Slashing_Katana: 2.5
  • Slashing_WristBlades: 1.1
  • SmallPlasma: 2.0

Damage Zones

  • Head: 4.0
  • Body: 1.0
  • LeftArm: 0.7
  • RightArm: 0.7
  • LeftLeg: 0.6
  • RightLeg: 0.6

PMC Heavy

Armor

  • Bullet_HighCaliber: 0.4
  • Bullet_MiniGun: 0.8
  • Bullet_Shotgun: 1.2
  • Bullet_SmallCaliber: 0.3
  • FT_LauncherExplosive: 2.0
  • Plasma: 1.5
  • PounceSlam: 10.0
  • Slashing_Katana: 3.0
  • Slashing_WristBlades: 1.4
  • SmallPlasma: 1.5

Damage Zones

  • Head: 2.5
  • Body: 0.9
  • LeftArm: 0.7
  • RightArm: 0.7
  • LeftLeg: 0.6
  • RightLeg: 0.6

PMC Sniper

Armor

  • Bullet_HighCaliber: 0.5
  • Bullet_MiniGun: 1.0
  • Bullet_Shotgun: 2.0
  • Bullet_SmallCaliber: 0.3
  • FT_LauncherExplosive: 2.5
  • Plasma: 3.0
  • PounceSlam: 10.0
  • Slashing_Katana: 2.0
  • SmallPlasma: 3.0

Damage Zones

  • Head: 7.0
  • Body: 1.0
  • LeftArm: 0.8
  • RightArm: 0.8
  • LeftLeg: 0.7
  • RightLeg: 0.7

PMC Tutorial

Armor

  • Bullet_HighCaliber: 0.5
  • Bullet_MiniGun: 1.0
  • Bullet_Shotgun: 1.4
  • Bullet_SmallCaliber: 0.3
  • FT_LauncherExplosive: 2.5
  • Plasma: 2.0
  • PounceSlam: 10.0
  • Slashing_Katana: 2.5
  • Slashing_WristBlades: 1.1
  • SmallPlasma: 2.0

Damage Zones

  • Head: 4.0
  • Body: 1.0
  • LeftArm: 0.7
  • RightArm: 0.7
  • LeftLeg: 0.6
  • RightLeg: 0.6
2 Likes

Captain “IF” at it again—bravely sailing the seas of game development without ever touching code or logic structures. A true legend in the land of Blueprints and Make-Believe Mechanics™. Meanwhile, back on planet Earth:

and poor DamageMitigation sits alone in the .pak file… abandoned, unloved, quietly whispering “I exist… please read me…”

{
    "Type": "SFCharacterCosmeticDef_Destructible",
    "Name": "Cos_PD_JungleHunter_Dest",
    "Class": "UScriptClass'SFCharacterCosmeticDef_Destructible'",
    "Properties": {
      "Health": 600.0,
      "DamageMitigation": 0.8,
      "DamageZone": "EILLDamageZone::Head",
      "DamageAngleLimit": {
        "X": 80.0,
        "Y": 180.0
      },
...
2 Likes

love how drug lord has its own class