Tes3Mod:Form Change

Overview
Approaches to changing the PC's form are discussed below, followed by a discussion of Multi-Identity issue.

CharGen Menus
Run through the chargen menus to change the PC's form.

Pros and Cons
Pros
Results in a complete change with the PC exhibiting all the correct racial spells, etc.
Cons
Can only be used for human forms.
Can result in a runaway chargen process unless you follow certain precautions.
Will wipe your spell list clean if you take it all the way.
Has some minor interface weirdness which cleans up after a save/reload.

Examples
Hot Fusion's Genie Mod is supposed to do this, but it basically just does the one time form change.

Process and Problems
Either in the console or in a script run through the chargen menus:
enableNameMenu
enableRaceMenu
enableClassMenu
enableBirthMenu
enableStatReviewMenu

Note that you do *not* have to run through all of the menus. Just running through the name and race menu may give you most of what you want, and you may be able to get the rest with by adding and removing pseudo-racial spells (see below).

Avoiding Runaway CharGen
The chargen process has an internal state that changes as the player runs through the chargen dialogs. The most obvious effect of this is that the completion button of the dialog changes from "Okay" to "Next" the second time a given dialog is called. However, there is also a tendency for inventory, map menus, etc. to start popping up if you proceed with the process.

The only real solution to this problem is to only allow the player to go through the chargen morph process once per gaming session. I.e., if the player wants to morph again, then they need to quit Morrowind and then restart reload. Note that just reloading a game is not enough, since this internal information is not reset during game load. Also, if the player has started a new game (and thus gone through the chargen process) that counts -- i.e., the player will have to quit and restart before morphing.

About the only thing that can be done to ameliorate the situation is to automatically detect whether the PC has morphed in the current gaming session and, if so, to refuse to allow the PC to morph again. Oddly enough, this is possible because of something else that is not reset while loading games.

Setup:
Create an empty journal, e.g., wr_morSession. Empty means that it has no entries at all.
Usage:
Before morphing, do getJournalIndex wr_morSession. If it's greater then zero, refuse to morph.
After morphing, do setJournalIndex wr_morSession 10.
Also, if you have a startup script, have it check for charGenState != -1. If so, have it do setJournalIndex wr_morSession 10.

Racial Correctness vs. Spell Erasure
If you run the birth menu, then you'll get the right racial spells, but you'll also wipe your spell book of all spells. Possibly you might remember and then re-add all standard spells, but how about non-standard spells added by other mods? So, you'll have to make a choice between wiping your spell book every time you morph or not being able to change your birthsign.

If you don't run the birth menu, then racial powers will update (after you save and reload), but racial abilities will not. You might think "no problem", I'll just remove old ones manually and then add the new ones. Unfortunately, the removespell script command doesn't work on racial spells. I.e., not only can you not remove the old racial spells, you can't add the new ones. 

One possible solution to this is to create Were-race spells that add the new race spells to the PC after the change. However, this still leaves the problem of removing the old spells. 

One solution to that is to edit the races to remove their built in spells, and then instead add them by script after the game commences. Unfortunately, this would break racial characteristics for all NPCs. I.e., NPC Altmer would never get their correct racial spells.

Another solution would be to create anti-spells that balance out the racial spells. E.g., if the PC is morphing away from an Altmer, then you can add a spell that exactly counters the native Altmer spells.

Morrowind Script Extender
MWSE does not support changing race/sex/name/etc. settings. To make it do so would require adding new functions, and may not be possible at all.

Form Clothing
Some forms can be simulated by "clothing" the PC in the new form. This can be used for both human and creatures, but it probably works best for creatures.

Pros and Cons
Pros
Fully scriptable change. No need to go through chargen dialogs.
Change can be pretty much instantaneous.
Change can be forced onto player or triggered by a cast spell, worn item, etc. in a fairly natural way.
Cons
Not as well suited to changes in human form. Doesn't change PCs sex, nor fully change their race.
Animation, clothing, etc. problems for human forms?
Can be a lot of work. For human forms, need appropriate body part pieces. For creature forms, need to create usable models.
In many ways, the PC doesn't really change. E.g., a script race test will still read their original race, and the dialog sex test will still read their original sex.
Suppose that the PC morphs from male into a female shape, and then puts on some clothing. The clothing will take on the male, rather than female form.
Can't change PC height. E.g., if PC is originally a Bosmer male, and morphs to an Altmer, then they'll be a very short Altmer.

Examples
*Bloodmoon:* The werewolf form is partially handled by clothing. However, there's a lot of hard coded stuff as well.
*Illuminated Order:* You have the option of becoming a Lich and after that, of disguising yourself as various humans. I believe this is done through clothing.
*Sabregirl's Hazaeki Race:* A race that has the ability to change form.

Form Shadow
Form Shadow
Hide the PC and place a "shadow" NPC or creature at the PC's location.
Can be used for both human and creature forms. But probably works best for creatures.
Animation, clothing, etc. problems for human forms?

Pros and Cons
Pros
Cons
Seems to be a lot of scripting work. Aside from the morph scripts, you also need scripts to maintain the position of the shadow form.
Also, I don't see how the shadow form's actions would be very coordinated with the PC's actions. Just getting it in the same place would be hard enough.
May not be practical for human forms.

Examples
*Scripted Spells* by Cortex: Allows PC to change into various animal forms.

Savegame Editing
Change form by editing the savegame file data with an external program.

Pros and Cons
Pros
Can enable a complete change (i.e., racial spells would be correct).
Possibly, if external program were running in parallel with Morrowind.exec, you might be able to do multiple form changes in a single gaming session (though you would still have to save/reload with each change.
Cons
Can only be used for human forms.
You have to step outside the game world in order to make it happen. (At the very least, you have to save/reload.)

Multi Identity Issues
For human forms, presumably each of your forms has a different identity. The problem is that Morrowind is completely built around the assumption that it's a one PC game. Simulating multiple identities, is possible to a fair degree, but not easy.