I've been working on this lately and keep finding the need to start threads asking questions when I get stuck, so I thought it best to make a WIP thread for the mod and centralise any further feedback and help I need with this mod, instead of starting dozens of threads and clogging up the boards.
My apolegies to the staff for not doing this initially...I was hoping to whack it out in a few days and sneak the finished product out there in one hit, but life never goes as planned and the revised version of the mod is turning out to be more complicated than I thought.
Here is a mod explanation:
Vanir's TSL Tweak v2.0 revised and updated Patcher version
In the previous version of this mod I reintroduced the restored Master Force Powers (Force Feats) Control, Sense and Alter first shown to me by Paragon in his d20 mod, which are cut content that were to be used for the Force Training System of actually manipulating the Force, which all Force Sensitives must learn in order to use the Force.
These three Master Force Powers are chosen at the level up screen the same way as other powers, but they are prerequisites for choosing other powers and serve no other purpose in gameplay. They make all the Force Powers part of a tree which was originally used in the d6 and d20 tabletop RPG versions of the game.
The main thing they do is change the types of powers the different Jedi classes can select at low to medium levels. A Jedi Consular has access to entirely different Force powers to a Jedi Guardian or a Jedi Sentinel. In the original Star Wars RPG this was the main and primary difference between these Jedi classes: the way they each used the Force was very different.
Think of it this way, in movie canon there are the Living Force and the Binding Force, well this is the same way of saying that using game stats. The way the Player views the Force for his character the Exile, determines the way he will learn to use the Force.
The powers are unchanged. But the way things are in vanilla TSL every Jedi class is an RPG version of a "God character" who can learn any and every Force power at level up. This is not how the RPG was originally run and is very much an arcade version, and is one of the major factors which makes vanilla TSL an anticlimax with weakish villains.
The Sith Lords aren't weak by any means, or any of the bosses and villains, the problem is the PC is entirely overpowered because of cut content. The system I'm referring to is in the game files, it's just been restored and tailored using some years of tabletop RPG experience in both the d6 and d20 versions made by West End Games and Wizards of the Coast.
Other than that I reintroduced the attack tables by class type used in K1 and tabletop RPG which also greatly affects gameplay and the overpowered nature of Player characters. Jedi Consulars, Scouts, Scoundrels, Tech Specialists and Expert Droids will no longer be quite as effective as a Soldier, Jedi Guardian, Jedi Sentinel or any of the Prestige classes in attack rolls. And neither will average Minions or common thugs. Professional Soldiers and battlefield Jedi are something special, with extra training perfectly suited to front line combat and now it shows.
Don't make the mistake of thinking a Jedi Consular or a Scoundrel is useless with a weapon, far from it. They still use trained attack tables, it's just they no longer use the battlefield specialist attack tables. And class abilities compensate duly.
Also I revised some 2da files for class skills, progression and encounter difficulty very conservatively for balance and detail.
In the revised version 2.0 I've made a Patcher installation and have been working on scripting the Master Force Powers so they are gained automatically on level up. This may not be do-able, at this stage it looks as though the PC/Exile may have to select one of the Master powers using his existing slots for Force powers when he first learns to use the Force again from Kreia.
After this point I'm hoping the scripts will fire and the Master powers are awarded automatically upon level up from that time (they are learned normally at 2nd level, 6th and 12th level and are granted in addition to any Force power slots the Player has to spend).
Remember the Master Force Powers don't do anything for you, but change each Jedi class in their use of the Force by restricting different types of powers for different Jedi classes until they get to 12th level. After then all powers are available to all Jedi classes normally, but their existing stock of Force powers will still give them plenty of class-based character. This is how the original system worked for both d6 and d20 RPG.
You will also be forced to select Dark Side powers at low levels with this system, which is also canonical. Once you learn telekinetic powers through the Alter Master Power you can do Force Push or Wound, both of them just use the same power (Alter) differently, but any Jedi who can use Alter could do either at any time. Lightsiders will have Alter and run around doing Force Push only, until that day they're faced with a dark Jedi they can't beat and temptation gets the better of them. Being forced to select Darkside powers at lower levels represents this common ability and temptation, it will now be easier for Players who intended to play a Lightsider to give in to temptation through the game, whereas in vanilla TSL a Lightsider can simply select only Light Side powers and have no Dark Side powers available to tempt them.
Now it will be necessary, since you'll just plain run out of any other available powers at certain levels and won't be able to exit the level up GUI tab otherwise. But you don't have to use them, at least that's what Lord Sidious would say.
I also revised and streamlined my 2da edits, again seeking improved RPG gameplay and better game balance. Visas will now have Force Sight when she joins your party for example, isn't it ridiculous she doesn't have it in vanilla TSL? Also progressions and encounter difficulty are slightly tweaked, the encounter templates for Nihilus and Sion now reflect Sith class abilities instead of generic Jedi templates, etc.
One of the places I'm having trouble with is getting a script to fire at level up. I want feats/powers granted to the player-controlled character at specific levels, that's all scripted but the question is where to point to it so it fires.
The best I've been able to come up with so far is stoffe's suggestion of using the heartbeat script. The problem there is the script doesn't fire at Peragus when nobody is in the Player's party and he learns Force powers at second level. Since it's a fresh install I haven't got far enough in a playthrough yet to see if it'll even fire when there are party members, I just know it doesn't when the Player is alone with no party members.
What would be perfect is finding any script which is tagged by the level up GUI. But since that's hardcoded it's not looking good.
What I need are suggestions since I'm a novice, for which script to put the include on so the custom script granting feats/powers by level fires during or just before level up. It doesn't matter if it fires at every level up (it'll only return true if the conditions are met for class/level requirement).
I think in spells and feats 2da files there is a spot where you can set the level it's Granted at. I know for sure this is in feats.
You can set the prerequisites but it doesn't grant the power. It'd be sublime if it were so easy, but then Murphy would have a fit :D Thanks for the thought either way.
Wait, so has that script been working vanir?
I have a script which should be fine, it's getting it to fire which is the trouble. The trouble with custom scripts is pointing to them so the game knows to include them. Usually you can just pop them in a module directory and when that area loads your script is included for that area.
But gameplay scripts are a bit trickier for obvious reasons. So you need an #include function tagged on another script which is normally used. Finding the right one for the right situation, that's the tricky part.
My problem is the fact level up is hardcoded. I've tried adding the script to the npc heartbeat but that didn't work.
What I'm trying at the moment is having it as an independent script and putting an include on every random normal script I can find so it fires repetitively as a background process (it only returns true if the conditions are met so that should be no trouble).