aboutsummaryrefslogtreecommitdiff
path: root/Northstar.CustomServers/mod/scripts/vscripts/mp/_ai_mp.gnut
diff options
context:
space:
mode:
authorBobTheBob <32057864+BobTheBob9@users.noreply.github.com>2021-12-05 16:03:50 +0000
committerBobTheBob <32057864+BobTheBob9@users.noreply.github.com>2021-12-05 16:03:50 +0000
commit51e16034230f4dd759900c7922b8db43941e0a70 (patch)
tree6492337f6855e2403db0376b8d1021196df80879 /Northstar.CustomServers/mod/scripts/vscripts/mp/_ai_mp.gnut
parentb48fd143624f2b887699acd98d9a4c55b792ab0e (diff)
downloadNorthstarMods-51e16034230f4dd759900c7922b8db43941e0a70.tar.gz
NorthstarMods-51e16034230f4dd759900c7922b8db43941e0a70.zip
big commit for playtesting
Diffstat (limited to 'Northstar.CustomServers/mod/scripts/vscripts/mp/_ai_mp.gnut')
-rw-r--r--Northstar.CustomServers/mod/scripts/vscripts/mp/_ai_mp.gnut44
1 files changed, 36 insertions, 8 deletions
diff --git a/Northstar.CustomServers/mod/scripts/vscripts/mp/_ai_mp.gnut b/Northstar.CustomServers/mod/scripts/vscripts/mp/_ai_mp.gnut
index 4cbab84c2..87e3650fc 100644
--- a/Northstar.CustomServers/mod/scripts/vscripts/mp/_ai_mp.gnut
+++ b/Northstar.CustomServers/mod/scripts/vscripts/mp/_ai_mp.gnut
@@ -1,15 +1,22 @@
+untyped
global function MpInitAILoadouts
global function SetProficiency
-global function IsAutoPopulateEnabled
global function SPMP_UpdateNPCProficiency
global function SPMP_Callback_ForceAIMissPlayer
+global function IsAutoPopulateEnabled
void function MpInitAILoadouts()
{
}
-void function SetProficiency( entity soldier )
+void function SetProficiency( entity npc )
+{
+ // unsure what the logic for deciding this should be so just going to default good
+ npc.kv.WeaponProfiency = eWeaponProficiency.VERYGOOD
+}
+
+void function SPMP_UpdateNPCProficiency( entity npc )
{
}
@@ -30,12 +37,33 @@ bool function IsAutoPopulateEnabled( var team = null )
return true
}
-void function SPMP_UpdateNPCProficiency( entity ent )
-{
-
-}
-
bool function SPMP_Callback_ForceAIMissPlayer( entity npc, entity player )
{
- return true
+ if ( GetGameState() >= eGameState.Postmatch )
+ return true
+
+ if ( player.IsTitan() )
+ return false
+
+ int lethality = Riff_AILethality()
+ if ( lethality <= eAILethality.Medium )
+ if ( player.GetTitanSoulBeingRodeoed() != null )
+ return true
+
+ if ( Bleedout_IsBleedoutLogicActive() && Bleedout_ShouldAIMissBleedingPlayer( player ) )
+ return true
+
+ if ( player.ContextAction_IsActive() )
+ return RandomFloat( 1 ) >= 0.25
+
+ if ( IsFastPilot( player ) )
+ {
+ float chance = ( lethality + 1 ) * 0.125
+ if ( lethality <= eAILethality.Medium && npc.IsMechanical() )
+ chance /= 1.25
+
+ return RandomFloat( 1 ) >= chance
+ }
+
+ return false
} \ No newline at end of file