Female Companion Cally
Tribunal and/or Bloodmoon
||THIS IS A
MORROWIND/TRIBUNAL MOD THAT WILL ALSO WORK WITH MORROWIND/BLOODMOON (without Tribunal). SCRIPT FUNCTIONS FOR THIS MOD ARE INCLUDED IN BOTH EXPANSIONS, SO YOU HAVE TO HAVE AT LEAST ONE OF THEM.
DUE TO OPTIMIZATION OF THESE CHARACTERS, THEY WILL PERFORM POORLY WITH OTHER COMPANIONS IN TOW. (Explained below)
Due to some compatibility problems with other mods that I recently resolved with the help of Ronin and others (thanks
Ronin), this companion is NOT in the game. You will have to console him/her there. Instructions in the "Location" section below.
BIG NOTE!!! THEY ARE NOT COMPATIBLE!!! USE ONE OR THE OTHER. NOT BOTH!!!
Instructions for installation and how to get them are at the bottom of this
Anybody that's used a recent companion mod that has warping in it should be aware of the number of people who've been involved with this stuff:
-Reznod who pointed me in the right direction as far as the warping itself goes.
-Devlor who's inspiration and excellent suggestions led to a much more robust Companion Project mod which is the foundation for these mods.
-Emma who's suggestions and support not only to me, but many others, have led to the continued improvement of companions.
-The Other Felix who keeps cranking out many improvements to the script and overall performance of companions.
In particular, I'ld like to thank Vorwoda The Black for his "warp-behind" section of this script. Was something I was after for a long time and never could quite figure out. Adds a very nice touch that improves the "feel" of the mod. Something that you'll never see, but the stuff that you'll never see is what this mod is mostly about.
Other sections of this script were prompted by improvements made by many who have contributed to the development of companions.
Something new in this version:
The guard option: I've had this idea for awhile, and couldn't figure out a way to easily implement it. Originally I did a "NotID" (an option in the dialog section of the editor to keep the specified NPC from ever using that piece of dialog) on every single piece of guard dialog and guard greeting for the companion. File size increased from 32k to 121k because there was so much, and the other problem was that I could never be sure that I would get it all.
Emma came up with the answer. Simply involved moving the greetings from the #5 section to the #0 section, and this step eliminates all possibility of the companion ever using any guard dialog. The only greetings they will use are the ones you assign them in this section.
You want to do this for several reasons, one of which is to keep companion from arresting you if you do something wrong (fine friend you turned out to be), another was so that you can still communicate with companion in various locations where guard dialog terminates with a "Goodbye" statement (Solthstiem), and I personally just didn't want to see a bunch of guard stuff in companion's dialog box. :/
So much for the technical stuff...
What it does: It gives the companion the guard AI.
"Whoa!" you say! "Impressive! Ahh... what exactly does that mean?"
Ever seen a guard come out of a town and attack a critter that's bothering you? They are programmed to do that, and now, so is companion. Means companion acts like they've got some brains instead of just standing there waiting for you to get hit. When a critter sneaks up on you, they'll go after the thing on their own without being prompted.
The typical non-guard AI (all other classes) that we've always used gets triggered into combat mode for one of three reasons: Either you get attacked; you attack, or companion gets attacked (happens rarely).
As a guard class character, they will now attack CRITTERS in many instances if they even threaten you. The above three criteria no longer apply when taking advantage of the programmed guard AI.
Downside: You knew that was coming, didn't you?
#1-From what I've seen, they will not do the same thing in the case of hostile NPCs, just critters.
#2-Both critters and NPCs will now target these guys more frequently, meaning they will take more damage. Also means you'll take less.
#3-Don't expect miracles. I said they act a LITTLE smarter. This doesn't mean they are going to rape and pillage the countryside on your behalf, and the'll probably miss a critter or two from time to time too, but from what I've seen, they do better with this stuff than they did before.
Now... If I could only get 'em to shoot a bow in the verticle (damn cliff racers :( ).
So much for that...
Now back to our regularly programmed readme...
Question? "Why a new companion?"
Answer. There has always been a bug in companions who use warping. As long as you're wandering the landscape, the original warping works well to insure that you don't loose your companion. That warping is based on a distance check which in-turn starts a timer of 8 seconds, and at the end of those 8 seconds, if the companion is not within the prescribed distance, warping occurs. Reason it was done this way was to minimize it to some degree. Make it more "aesthetically pleasing". A problem ocurred during combat however. No way to determine how long a combat sequence lasts, and you don't want them warping in the middle of combat which is what would happen if you used a set number of seconds for the warp delay. It was Devlor who came up with the idea of using "GetWeaponDrawn" as a qualifier for warping. In other words, if the companion has their weapon drawn, then we cease further execution of the script until they put their weapon away, and only at that point do we start the warping checks back up again. In essence, we kill warping if the companion has a weapon drawn.
All fine and dandy, with one exception...
A game-bug sometimes makes these companions "stick" with their weapons out, even though combat is over, and at that point, if you're not paying attention, you can loose them very easily because the warping is not working.
I think I've beat that. New section of script that makes checks for the "Weapon Swish" sound, and if at the end of a prescribed amount of time the sound is no longer playing (an assumption is made that combat is over), an "auto-sheathe" section of script is run.
This only works for melee weapons. I have seen them leave a bow out twice in all of the time I've been playing the game, so I elected to just deal with the primary culprit that caused the problem; melee weapons. If they do leave a ranged weapon out after combat is over, you will have to manually tell them to put it away. Dialog item in the "Combat" section for this.
We always used to use a spell cast as a means of getting a companion to sheathe a weapon if they left it out, but I've since figured out that an "equip" function (using a simple dagger in this case) accomplishes the same thing, looks better, and allows the use of this "auto-sheathe" function.
So, that's been beat. Then what? The other problem that needed to be dealt with was the fact that you can sometimes loose them teleporting through doors if they aren't close enough. There are no adjustments for a "companion door teleport distance" that can be changed, so I took a different tack: I glued them to the players behind...
Original warping was a distance check followed by a timer. Stuff in this mod is broken down into two sections:
The standard warping for combat, but something different for simple following. No more timer. They warp instantly and at a shorter distance if just following the player around (non-combat).
Problem, and back to the aesthetics stuff agian: If I'm going to do this, I have to literally glue them to the player's behind to keep them from warping constantly.
Two new script sections to do this:
ForceRun: Normally companions begin running when they fall roughly 23 virtual feet behind the player (their normal following distance while walking is about 8 1/2 virtual feet). I've shortened that run distance to 14 virtual feet by using "ForceRun". This is the one that does the glueing.
Also adjust their speed a little differently: Ulfgier's origina "speed boost" on his "Slave Warrior Jessica" mod added 100 to the player's speed to determine the companion's speed, thus, if a player has a speed of 40, companion has a speed of 140. Ulfgier realized, just like I have that the closer you keep a companion to the player, the less they get "lost". What I did on this one was use a multiplier for speed adjustment instead of addition.
Ulfgier's original looked like this:
set p_speed to ( ( Player->GetSpeed ) + 100 )
This simply gets the player's speed, adds 100 to it and assigns that resulting combination to the companion.
Now since then, most of the companion makers have turned it down a little, and now use something like 60 instead of 100 to keep companions from looking like they've drank too much coffee, so in this next example I'll use that number for compairison:
set p_speed to ( ( Player->GetSpeed ) + 60 )
That gives us 40 + 60, or 100 for the companion's speed.
set p_speed to ( ( Player->GetSpeed ) * 2.80 )
Now we get 40 * 2.80 for a companion speed of 112. Not much difference... Until you crank the player's speed up.
Let's say the player's speed is now 80. Ulfgier's solution yields 140 for the companion speed (80 + 60), but this new one yields 224 (80 * 2.80), meaning it scales a lot better as the player's speed increases during the course of the game. Also helps these new companions keep up better (although they definately look like they're on industrial strength caffine with a player speed of 100), and warp less (back to the aesthetics again), although they are still going to warp more using this method than they would using the older warping system.
This is where Vorwoda's "warp-behind" section of script comes in: They will still warp more, but unless you're the kind of player who likes to run around the game-world backwards all day long, you'll never see it happening.
So what's all of this adding up to? A companion who is going to be very difficult to loose, and a companion who is VERY fast... At all player speeds...
Basically, you can turn around, play the game and not have to concern yourself with one of these companions (other than routine maintenance :D ). I'm not going to sit here and tell you that following ability is 100%, meaning that the possibility STILL exists that you can loose them, but I've got it as close to 100% as I can reasonably take it.
Caveat (there's always caveats) is that you'll probably not want to use them with other companions :( . Reason is that the ForceRun section is going to make them look like they're on a pogo-stick once they start stacking up "back there" with other companions in tow.
These comps are designed to follow the player well under all circumstances, and relieve the player of having to constantly turn and check companion to insure that they are still there.
They are not uber companions however. They can and will die if you stick them where they don't belong. I just fixed them to follow better. I can't really script tactical wisdom into a level 1 player that likes to tangle with Dremora Lords all day long (next release maybe), so don't think for one minute that they are going to be your saviors 100% of the time. They will be roughly commensurate with the player as far as stats go (see below).
On to the other stuff:
No spells section. Now wait a minute... Not as bad as it sounds...
Water walking is included. You water walk, so do they. Drop your means of water walking, and so do they (with an exception explained below).
Water breathing is full time.
Levitation: What happens here is that if you levitate, a messagebox appears: "Shall I follow?" Simple yes/no affair. If yes, companion casts and follows. If no, companion waits where they are. If at a later time you (while levitating) decide that you want companion back in follow mode, simply tell them to follow ("-follow..." dialog/"Let's go."), and they will cast and follow. If you tell them to wait while following, they will stop and wait exactly where they are (still levitating), so if you are using a timed method of levitating (potion, spell, etc.), and you have left them behind (while they are levitating), you better make sure you left them someplace where you can get close enough to tell them to rejoin, or they'll sit up there till the cows come home (console and tlc fixes this situation nicely). Sorry, no telepathy ring. If they are waiting while levitating, and you can get close enough, just tell them to follow ("-follow..." dialog/"Let's go." again), and they will drop their spell and follow. This holds true for water walking as well, but shouldn't be a concern, because you should always be able to get close enough to them in this instance to initiate dialog and tell them to follow. If following normally while levitating, and you drop your means of levitation, so will they.
Might sound complicated, but you'll get the hang of it fairly quickly.
Options for melee only, ranged only, AI controlled and "Use what I use." "Use what I use." forces the companion to mimic the player's weapon useage (even during combat), but is only for melee and marksman weapons. Example: I typically start a combat with a ranged weapon. Companion will follow suit. Critter gets closer, and I switch to melee. Companion will too. Companion needs to have both melee and marksman weapons in inventory for this to work.
I first saw this in Dixon's "Hilda" mod, but apparently somebody else was the first to come up with it (a mod that allowed the player to tell any NPC in the game to "move" (sorry, don't know the name of it)). Kind of a variation here:
Two selections: A one time move, or you can toggle (on/off) a full time option that causes companion to move anytime they get too close to you. If you're using this, and companion is in your way, simply bump into them and they'll move.
IMPORTANT!! A caveat here: If this is enabled, what happens is that companion goes into AiWander for a short duration, and then returns to AiFollw when a specified distance is reached. If they are in AiWander mode, THEY WILL NOT TELEPORT WITH THE PLAYER (doors, siltstrider, etc.), so just make sure that they are standing still (in follow mode) before you use any kind of a teleport device if this is enabled (on), or they'll be there when you get back...
Behind the Scenes:
They auto-level. Nothing to indicate this, but they will adjust their stats automatically upon first encounter, and then again every time the player rests. Attributes are adjusted according to the player's attributes, and skills are adjusted according to the player's level.
Player has strength of 100
-male companion has strength of 125 (hey, he's a big guy...)
-female companion has strength of 75 (don't worry ladies, she's smarter)
Player is level 1
-male has longblade skill of 26
-female has longblade skill of 36 (see, I told you she was smarter)
-male has any armor skill of 41
-female has any armor skill of 46
Player is level 20
-male has longblade skill of 46
-female has longblade skill of 56
-male has any armor skill of 61
-female has any armor skill of 66
for the male tis 25 + player level for all weapon types
for the female tis 35 + player level for all weapon types
for the male tis 40 + player level for all armor types
for the female tis 45 + player level for all armor types
These numbers hold true for all armor and weapons stats. In other words, they'll have the same numbers across the board for all types of weapons and armors.
Attributes vary somewhat between these two.
Keeping Them Healthy:
Try and make sure that they have one, and only one appropriate restore health potion in inventory at all times. Due to a game-bug, you do not want to give them more than one, or they'll suck them down faster than I drink beer.
None (sorry, I just script, no dialog).
None (see dialog section above).
None other than making sure they have a potion in inventory or rest (Actually, there is a "Heal Companion" spell in the game, but I have no idea who sells it).
Healing the player:
Unzip to the ROOT FOLDER, "C:\", NOT DATA FILES!!! Sorry. I still haven't gotten the hang of the zip programs yet.
.esp to the Data Files folder, texture files (.dds) to the textures folder, and mesh files (.nif) to the meshes folder. THESE HEAD/HAIR MESHES DO NOT GO IN ANY MESHES SUB-FOLDERS... JUST THE MESHES FOLDER ITSELF!
Due to some incompatibility problems with other mods, you will have to do a PlaceAtPc in the console to get him/her.
-extract and make sure the mod is active on the MW splash screen
-once in-game, open the console with the tilde key (~)
-type the following:
placeatpc aaM_comp 1 0 0 0
-make sure you type it exactly as shown above with the spaces between the numbers
-hit the enter key
-he/she should be right on top of you at this point
-close the console by hitting the tilde (~) key again
-activate him/her as you would any other NPC
BTW-Female head is one of HellKitty's, and the male head is one of Don Sulas'. Think the male hair model is out of one of his mods as well, but the female was from a mod by Gorg that was based off of models by Lora. Many thanks to these people.