From 83baaae1153036f1e04c74fe294298e75c417334 Mon Sep 17 00:00:00 2001 From: NachosChipeados <103285866+NachosChipeados@users.noreply.github.com> Date: Sun, 22 Sep 2024 21:06:40 -0400 Subject: [PATCH 1/4] Allow executing ``npc_pilot_elite`` npcs --- .../mod/scripts/vscripts/melee/sh_melee.gnut | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/Northstar.Custom/mod/scripts/vscripts/melee/sh_melee.gnut b/Northstar.Custom/mod/scripts/vscripts/melee/sh_melee.gnut index 95ab39158..ef718bc3f 100644 --- a/Northstar.Custom/mod/scripts/vscripts/melee/sh_melee.gnut +++ b/Northstar.Custom/mod/scripts/vscripts/melee/sh_melee.gnut @@ -969,10 +969,26 @@ string function GetVictimSyncedMeleeTargetType( entity ent ) { targetType = "prowler" } + + // Disabled to allow for executing NPC Pilots + + // The way this function works, is that if an entity gets added here, then whatever "targetType" it returns + // gets passed to sh_melee_synced_human.gnut or sh_melee_synced_titan.gnut, + // which determines what animation set that entity should use when getting executed + // If an entity is not included, the it uses its BodyType to determine it ( see line 83 in sh_melee_synced_human) + // As you can see: Grunts, Spectres, and Players are not included here, so it gets their BodyType (human) and goes from there + + // I imagine the reason Respawn added the NPC Pilots to this function, is so they could make unique executions for them + // Unfortunately, they either scrapped them, or simply never got around to making them + // That means this piece of code has basically no reason to exist anymore. The only thing is does is break executions and thats it + // Since NPC Pilots also use the "human" BodyType, it means we can execute them with no issues, save for the gib and headshots thing + +/* else if ( IsPilotElite( ent ) ) { targetType = "pilotelite" } +*/ else if ( ent.IsNPC() ) { targetType = ent.GetBodyType() @@ -1223,4 +1239,4 @@ SyncedMelee ornull function PickRandomExecution( SyncedMeleeChooser actions, ent return possibleExecutions[0] } #endif -#endif \ No newline at end of file +#endif From 5ab3512c85f27927436896cde42fd3e1da45d7fd Mon Sep 17 00:00:00 2001 From: NachosChipeados <103285866+NachosChipeados@users.noreply.github.com> Date: Mon, 23 Sep 2024 09:33:46 -0400 Subject: [PATCH 2/4] Update sh_melee.gnut --- Northstar.Custom/mod/scripts/vscripts/melee/sh_melee.gnut | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Northstar.Custom/mod/scripts/vscripts/melee/sh_melee.gnut b/Northstar.Custom/mod/scripts/vscripts/melee/sh_melee.gnut index ef718bc3f..94e657544 100644 --- a/Northstar.Custom/mod/scripts/vscripts/melee/sh_melee.gnut +++ b/Northstar.Custom/mod/scripts/vscripts/melee/sh_melee.gnut @@ -976,12 +976,12 @@ string function GetVictimSyncedMeleeTargetType( entity ent ) // gets passed to sh_melee_synced_human.gnut or sh_melee_synced_titan.gnut, // which determines what animation set that entity should use when getting executed // If an entity is not included, the it uses its BodyType to determine it ( see line 83 in sh_melee_synced_human) - // As you can see: Grunts, Spectres, and Players are not included here, so it gets their BodyType (human) and goes from there + // As you can see: Grunts, and Spectres are not included here, so it gets their BodyType (human) and goes from there - // I imagine the reason Respawn added the NPC Pilots to this function, is so they could make unique executions for them + // I imagine the reason Respawn added the NPC Pilots to this function, is so they could make unique executions for them, just like the Prowlers // Unfortunately, they either scrapped them, or simply never got around to making them - // That means this piece of code has basically no reason to exist anymore. The only thing is does is break executions and thats it - // Since NPC Pilots also use the "human" BodyType, it means we can execute them with no issues, save for the gib and headshots thing + // That means this piece of code has basically no reason to exist anymore. The only thing it does is break executions and thats it + // Since NPC Pilots also use the "human" BodyType, it means we can execute them with no issues /* else if ( IsPilotElite( ent ) ) From a39b14c7a5106b4a1efb80f916cdbda1fdbe8dc8 Mon Sep 17 00:00:00 2001 From: NachosChipeados <103285866+NachosChipeados@users.noreply.github.com> Date: Mon, 23 Sep 2024 11:11:30 -0400 Subject: [PATCH 3/4] Add ``npc_pilot_elite`` keyvalues --- .../keyvalues/scripts/aisettings/npc_pilot_elite.txt | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 Northstar.Custom/keyvalues/scripts/aisettings/npc_pilot_elite.txt diff --git a/Northstar.Custom/keyvalues/scripts/aisettings/npc_pilot_elite.txt b/Northstar.Custom/keyvalues/scripts/aisettings/npc_pilot_elite.txt new file mode 100644 index 000000000..349277c39 --- /dev/null +++ b/Northstar.Custom/keyvalues/scripts/aisettings/npc_pilot_elite.txt @@ -0,0 +1,5 @@ +npc_pilot_elite +{ + GibModel0 "models/gibs/human_gibs.mdl" + headshotFX "P_headshot_pilot" +} \ No newline at end of file From bcdc824d5fe2a74079f3051a77d832301102776a Mon Sep 17 00:00:00 2001 From: NachosChipeados <103285866+NachosChipeados@users.noreply.github.com> Date: Wed, 2 Oct 2024 12:56:56 -0400 Subject: [PATCH 4/4] Update sh_melee.gnut --- Northstar.Custom/mod/scripts/vscripts/melee/sh_melee.gnut | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/Northstar.Custom/mod/scripts/vscripts/melee/sh_melee.gnut b/Northstar.Custom/mod/scripts/vscripts/melee/sh_melee.gnut index 94e657544..a34def670 100644 --- a/Northstar.Custom/mod/scripts/vscripts/melee/sh_melee.gnut +++ b/Northstar.Custom/mod/scripts/vscripts/melee/sh_melee.gnut @@ -973,14 +973,16 @@ string function GetVictimSyncedMeleeTargetType( entity ent ) // Disabled to allow for executing NPC Pilots // The way this function works, is that if an entity gets added here, then whatever "targetType" it returns - // gets passed to sh_melee_synced_human.gnut or sh_melee_synced_titan.gnut, + // gets passed to sh_melee_synced_human.gnut or sh_melee_synced_titan.gnut, // which determines what animation set that entity should use when getting executed // If an entity is not included, the it uses its BodyType to determine it ( see line 83 in sh_melee_synced_human) // As you can see: Grunts, and Spectres are not included here, so it gets their BodyType (human) and goes from there - // I imagine the reason Respawn added the NPC Pilots to this function, is so they could make unique executions for them, just like the Prowlers + // I imagine the reason Respawn added the NPC Pilots to this function, is so they could make unique executions for them, + // just like the Prowlers // Unfortunately, they either scrapped them, or simply never got around to making them - // That means this piece of code has basically no reason to exist anymore. The only thing it does is break executions and thats it + // That means this piece of code has basically no reason to exist anymore + // The only thing it does is break executions and thats it // Since NPC Pilots also use the "human" BodyType, it means we can execute them with no issues /*