diff options
author | BobTheBob <32057864+BobTheBob9@users.noreply.github.com> | 2021-12-05 16:03:50 +0000 |
---|---|---|
committer | BobTheBob <32057864+BobTheBob9@users.noreply.github.com> | 2021-12-05 16:03:50 +0000 |
commit | 51e16034230f4dd759900c7922b8db43941e0a70 (patch) | |
tree | 6492337f6855e2403db0376b8d1021196df80879 /Northstar.CustomServers/mod/scripts/vscripts/mp/_ai_mp.gnut | |
parent | b48fd143624f2b887699acd98d9a4c55b792ab0e (diff) | |
download | NorthstarMods-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.gnut | 44 |
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 |