This mod adds in an AI-controlled partner that will spawn in and follow you around in Single Player Campaign and Survival. It'll try to follow your steps exactly, and will shoot any enemies it encounters. The weapon it uses is pre-determined per level, and has infinite ammo (with reloads, if applicable). While it cannot pick up health and armor items itself, it will recieve the health and armor that you pick up. Should it die, it'll respawn 10 seconds afterwards (unless you're playing Survival).
=======Choosing your Partner=======
By default, your partner will be Serious Sammy, but you can choose who they'll be from a pre-determined list. Here is the list as it stands right now:
1 Serious Sam (Blue, Red, 1 Alt Color)
2 Serious Sammy (Blue, Red, 1 Alt Color)
3 Santa Sam (Blue, No red, 0 Alt Colors)
4 Santa Sammy (Blue, No red, 0 Alt Colors)
5 Rodolfo (Blue, Red, 0 Alt Colors)
6 Brett Sanderson (No blue, Red, 0 Alt Colors)
7 Fork Parker (Blue, Red, 1 Alt Color)
8 Rich Knuckles (Blue, Red, 0 Alt Colors)
9 HellFire (Blue, Red, 0 Alt Colors)
10 Rodriguez (Blue, Red, 0 Alt Colors)
11 Wilson (Blue, Red, 0 Alt Colors)
12 Jones (Blue, Red, 0 Alt Colors)
13 Miller (Blue, Red, 0 Alt Colors)
14 Mystia Lorelei (Blue, Red, 7 Alt Colors)
15 Daiyousei (No blue, Red, 2 Alt Colors)
16 Utsuho Reiuji (Blue, Red, 4 Alt Colors)
You can view this list anytime ingame by entering "globals.NPCPartnerList()" into the console. Now, to select which partner the game will spawn you with, You'll need this console command:
globals.NPCPartner(Index,Color)
For "Index", simply put in the index of the model you want from the partner list.
For "Color", you'll have to put in the index of the color you want. The list is as follows:
Default = 0
Blue Team = 1
Red Team = 2
Alt skins = 3 and above
Not every model has both team colors, nor do many have alternate skins. Refer to the list to see which colors the models have.
So, for example, if you wanted Dark Delilah (who is a reskin of Serious Sammy), you'd put in:
globals.NPCPartner(2,3)
If a model color doesn't exist, the script will inform you of this and use the default color. Just as well, if you completely exclude the "Color" variable, the script will use the default color.
=======Important Bindings=======
Additionally, there are new keybindings for controlling your partner. They are as follows:
"NPC Regroup" - Teleports the NPC to the point it should be at. While this function is mostly automated already, it's useful in conjunction with the next command.
"NPC Stop" - Toggleable. Makes the NPC stand in place and not move. Useful if you need to make jumps on your own, or if you want them to guard a spot.
These will be listed at the bottom of the keybindings page. Note that playing the non-moddable game after binding them will unbind them, so you'll have to set them up again.
=================================
Notes:
-The "Mystia Lorelei", "Daiyousei", and "Utsuho Reuiji" NPCs require the respective player models to be downloaded from the workshop. I was able to do this since the model files for those reference all external content, meaning I was able to re-save the models without having to include any of the content. While I could do this for other user-made player models... I probably won't since 98% of player models out there have a lot of data (like the mesh) saved directly to the model files, which I'd rather not have to include for an optional thing. Note that a model file that references all external content is about 5-7KBs, which is relatively nothing.
-If the NPC gets stuck or otherwise can't reach the point its supposed to be at, it will teleport back into place behind you. However, currently, the point detection is purely horizontal, so it won't warp into place if it's, say, on another floor of a building. Use "NPC Regroup" if this is an issue.
-It will try to make any jumps you do... however, this only works well for running jumps. It will generally fail at jumps that involve little horizontal movement (such as climbing up boxes/barrels).
-The targetting routine is completely custom. Under normal conditions, the NPC will just target the closest enemy it can see. If the NPC has a "heavy" weapon, it'll try to target larger foes. If it has an explosive weapon, it will attack Technopolips and Khnums; otherwise, it'll just ignore them. As well, the NPC will properly target and damage Witch-Brides, the Warship, and UghZan when they're able to take damage.
-When you sprint, the NPC will drop what it's doing and sprint with you. The only case where this won't happen is if it's commanded to stand still ("NPC Stop"). Take note of this, since the NPC can't attack while sprinting.
-The Jetpack has not been implemented for the NPCs, so you'll have to leave them behind during those segments. (It's suggested you use "NPC Stop" to prevent them from warping to you in midair, which would most likely kill them)
-The NPCs cannot Crouch or use Ladders.
-I'd recommend using the "Play as Multiplayer Characters in Single-Player" mod alongside this one so you can customize both "players".
Known Bugs:
-Every time the NPC kills an enemy, it'll stop firing for a couple seconds before continuing. I have no clue why this happens, but it causes the NPC to have trouble with hordes of weak enemies.
-Saving will take an extended amount of time in most cases. My guess is that the game wants to save the entire script and every executed branch into the savefile. I'd recommend disabling auto-saves and manually quicksaving so you know when to expect the temporary "freeze".
Possible/planned changes:
-Add in more NPC models from the list of official player models
-Ability to switch weapons (with limited ammo on some?)
Just had the mod added to my SS3 BFE, and it works just as it says it would. Having to replay the entire campaign with a partner is literally a fresh experience and I love this so much!