********************************************************************* Companion Teleportation 1.2 Up to 20 companions can now teleport when you do. (2021-05-25 CDC) REQUIRES The Elder Scrolls III: Morrowind and both the Tribunal and Bloodmoon Expansions (or GOTY edition of the game) ********************************************************************* Any companion (NPCs with the Companion Share option and most of the escort quest NPCs) will now be able to follow when the player uses teleportation magic (in exterior cells). If the player uses scripted transport (like the Propylon Chambers or Mournhold transport) a simple no-cost spell, Companion Teleport, can summon the current set of followers to the player the next time the player is outside. That spell is also handy for NPCs that get stuck in corners, fall into lava pits and can't climb out, or simply get confused and start walking into walls. (As long as the NPC is already in the same cell, the spell will even work indoors). *** DO NOT run both this and Improved Teleportation together! *** This is a trimmed down version of the features in my MWSE-based mod Improved Teleportation. Since OpenMW doesn't support MWSE scripts, there seems to be a renewed interest in this mod. ********************************************************************* INSTALLING THE PLUGIN This is a simple plugin, so just put the ESP file in the Data Files folder and activate it with the Morrowind Launcher program. ********************************************************************* USING THE COMPANION TELEPORT FEATURE The 'teleportation topic is used to add NPCs to the companion list and also to remove them. Then, whenever you cast the Almsivi Intervention, Divine Intervention, Recall, or Companion Teleport spells, you will get a menu with three choices: 1) Leave all of the NPCs where they are. 2) Summon all of them to the player's position (when posible). 3) Talk to each individually. The third option also allows you to individually remove companions from the list even when they aren't near the player which is very helpful if NPCs stop following you and you forget to remove them from the teleportation list before moving to a new cell. *** After a game reload, always cast Companion Teleport and try to summon all of the companions to you. If any NPCs are reported as dead, you'll need to find the ones that weren't teleported and re-add them to the list. *** Remember to remove NPCs from the teleport list when they stop following you or the spells will still teleport them! Some NPCs and creatures might add or remove themselves from the list automatically. You'll see messages like "Added to companion list." and "Removed from companion list." when that happens. You can also track such action because the number of current followers is always shown when you use one of the teleportation spells. ********************************************************************* KNOWN LIMITATIONS AND INCOMPATABILITIES Do NOT run both this and Improved Teleportation together! The summoning scripts can't move NPCs into an interior cell but they can move NPCs around within a cell and summon them to exteriors. There are only 20 summoning scripts. I had to pick a number and 20 seemed reasonable. These scripts are intended for companions that are actively following the player. If you leave the companions behind for 72 game hours the scripts will fail (and report that your companions are dead even if they aren't.) Companions that weren't added through the Construction Set, like those from MCA, will become disconnected from the teleporation list after each game reload. They will be reported as dead by the scripts. If you remember to cast Companion Teleport after each game load you can easily see which NPCs aren't teleporting and re-add them to the list. Forgetting to tell the NPCs to stop teleporting when they stop following you will cause them to teleport even when they shouldn't! Only NPCs with a "companion" or "followNow" variable in their local script will get the 'teleportation dialog topic. Creature companions and the random NPCs without those variables can use the core scripts but unless someone creates special dialog, you will have to activate the scripts manually from the console. Open the console and click on the creature or NPC, then type either: set cdc_companion_call_script.insert to 1 StartScript cdc_companion_call_script or set cdc_companion_call_script.remove to 1 StartScript cdc_companion_call_script ********************************************************************* ADDING SUPPORT FOR THE TELEPORT FEATURE TO A COMPANION If you are a companion creator, or just someone comfortable with the Construction Set, you can add a few dialog entries to automatically update the companion list for a companion. This is the only method to support creature companions since most players won't want to type those long lines into the console. Note that these instructions also provide the same features for the Improved Teleportation mod and won't make yours dependent on either. 1) Create a global short variable named cdc_teleportation (value 0). 2) You can add a short variable named cdcCompanion to the script of the companion (but leave the variable value set to 0) to disable the 'teleportation topic if it's an NPC. Since creatures don't get shared dialog, you don't need this for creatures. If you're updating an existing companion, and you have a dummy short variable in the 34th slot, you can safely rename it to cdcCompanion since the variable will always be 0 and only used to filter dialog. (Variable name changes won't invalidate the values in the existing script and if you reset the date on the mod after making these changes you won't corrupt saved games.) 3) For each dialog entry that would cause the companion to follow or stop following the player, duplicate the entry and make these changes to the top (new) entry: a) Add a filter for the global cdc_teleportation != 0. b) If this entry should add the companion to the teleportation list, put these lines to the Results section. set cdc_companion_call_script.insert to 1 StartScript cdc_companion_call_script Or to remove the companion, put these in Results. set cdc_companion_call_script.remove to 1 StartScript cdc_companion_call_script NOTE: Calling the script from a dialog Results box filtered on the cdc_teleportation variable is what prevents a dependency. If you need to call those scripts from within some other ordinary script, you will end up creating a dependency. Sorry, I can't think of any easy way around that. If you think of one, let me know. (You can use -> to target the script on some other NPC or creature, so an NPC can be added or removed from the list while talking to a second NPC.) ********************************************************************* CREDITS AND FEEDBACK I'm not sure where all of the ideas used in these scripts orginated but thank you to everyone for providing the inspiration. Emma deserves special mention for her host of memorable NPCs and for her encouragement to extend Grumpy's scripts. These scripts are my reimplementation of Grumpy's final teleportation scripts released for Beryl, Constance, and Hurd. Grumpy said that he wasn't entirely happy with the scripts and I am not certain that my versions are any better but they should allow all companions, new and old, to benefit from his work. Why should Beryl, Constance, and Hurd have all the fun? I know that wasn't what Grumpy intended. If you can think of a way to improve on these, I'm certain that all of us would like to benefit from your ideas. Please post comments and complaints on the Elder Scroll Forums. Charles Cooley cdcooley at NexusMods