Note: LucasForums Archive Project
The content here was reconstructed by scraping the Wayback Machine in an effort to restore some of what was lost when LF went down. The LucasForums Archive Project claims no ownership over the content or assets that were archived on archive.org.

This project is meant for research purposes only.

Greetings Modders

Page: 1 of 1
 Hades_One
01-18-2005, 7:03 PM
#1
Greetings Modders, this is Hades One calling. Some might remember me from other forums at Obsidian or the old Bioware forums. Now I am here. I have decided to make some mods for KotOR 1. My current project is meant to make KotOR 1 more difficult. A lot of us veteren gamers found the game to be a tad easy, even on the highest difficulty. Now instead of artificially pumping up the adversaries I decided to take a different approach.

Frst off I lowered the experience gained by combat by taking the experience chart and cut the values roughly in half. Along with that I am using a variant of the Balanced Blasters mods. I kept the Dexterity Mods for armor at the original values.

I also gave teh scout class its PnP saving throws, which uses the 1-9 scale for all saves instead of the 1-12 scale. Also I lowered the number of feats given to the scoundrel and scout that they are more like the PnP version.

I also changed the Jedi classes as well. The Guardian gains a total of 14 feats and 14 Jedi powers, beyond that no changes. The Sentinel I switched his good saves to be Reflex woth Fortitude and Reflex being average saves. Sentinel now has 10 feats and 21 Jedi powers to choose from. Counselor I changed somewhat from PnP. I gave them a 0-10 BAB progression, they only gain 6 feats, but have a whopping 27 force powers available to them.

I also made another change. All classes gain a Defense bonus based on character level, not just the Jedi and the Scoundrel. However they no longer are the same. The scoundrel and counselor are the same as before. The Scout and the Sentinel both have an 0-5 scale while the guardian and soldier share a 0-4 scale.

Now I need to work on a few scripts. The purpose of the scripts is to go along with some of the changes and to make the game more of a challenge.

Here are teh scripts I plan on making: 1: Disable Rapid Transit for all planets. Sure, that will be annoying for some people but it will stop the popping in and popping out for the quick heals.

2: Class Defense bonus disabled when wearing light, medium, and heavy armors. Only robes and normal clothes gain the Class Defense bonus. I wan this becuase I changed the defense class bonus for all the classes. You can choose to wear armor or be naked. The choice is yours, but the defense bonus shouldn't stack.

3: I need a script that changes level base bantering some what. I would like it to be more like KotOR 2's.

Also I would like to make new items such as kevlar lined clothing. Basically it is normal clothing that gives a slight defense bonus (no more than +2).

Anyway, any suggestions how to do the scripts would be very handy. Modifying 2das are easy, scripting is hard.
 Darth333
01-18-2005, 8:20 PM
#2
Welcome to Holowan labs Hades_One :) Glad to see you finally started making mods

I won't go into all the details tonight as it's getting pretty late here and I don't know what you know and what you don't know so feel free to ask if you need clarifications - if you don't understand a *** word of what follows, don't hesitate to mention it. I'm just giving quick answers om a few questions here.

Rapid Transit system:

Concerning the rapid transit system, look at k_sup_gohawk.nss and k_sup_gui_open . You can also refer to this thread (http://www.lucasforums.com/showthread.php?s=&threadid=140253) for more info.

Banter:

I understand that if you cut down the xp by half, then lvl up is done much slower. However, many scripts in the banter will fire only when you level up. Those scripts are located in Bifs>Scripts.bif>Scripts source. for Canderous, they begin by k_hcan_state, Juhani k_hjuh_ , Bastila and carth K_swg_blabla.nss

So if you want to access all the banter and npc side quests before you finish the game you've got to change this.

Note that some scripts also depend on the planet you are on and the advancement of the main plot. Example:

//:: k_swg_carth09
/*
If Carth's personal dialogue is on ninth branch
and second starmap uncovered
*/
#include "k_inc_debug"

int StartingConditional()
{
int iResult = GetGlobalNumber("K_SWG_CARTH");
int nLevel = GetHitDice(GetFirstPC());
int nLastLevel = GetGlobalNumber("K_SWG_CARTH_LEVEL");
int nPlot = GetGlobalNumber("K_STAR_MAP");
if ((iResult == 8) && (nPlot > 19) && (nLevel > nLastLevel))
{
return TRUE;
}
return FALSE;
}
}

K_STAR_MAP refers to how many star maps you have recoverd . See the file K_qa.nss to find out about thi so you need at least one star map recovered too. You can remove the line that refers to the level of your PC. However, I am not sure what you mean when you say that you want to make it like Kotor 2. Do you want to be able to change NPCs alignment? I have played Kotor 2 and the system is quite different.

Kotor 2 uses a different system and introduces new functions that are not available in Kotor 1. Example taken from tsl:

// a_setinfluence
// Parameter Count: 2
// Param1 - Checks to see which NPC it is.
// Param2 - Sets it by X value
// This takes an NPC and modifies his influence by X amount.
// int NPC_PLAYER =-1;
// int NPC_ATTON = 0;
// int NPC_BAO_DUR = 1;
// other NPCs taken out for spoiler reasons

#include "k_inc_debug"

void main()
{

int nNPC = GetScriptParameter( 1 );
int nInfluence = GetScriptParameter( 2 );

ModifyInfluence ( nNPC, nInfluence );

}

Then dialogue branches are made available by a script that checks what influence your PC has on the NPC.

It is possible to change the alignment of npcs in Kotor 1 but you would probably need new dialogue for this or it wouldn't make any sense (I think). You would also need to track the changes with global variables (you can check this thread (http://www.lucasforums.com/showthread.php?s=&threadid=129333) concerning scripts to set new global variables - just ofrget about the journal part). To really help you and give you exactly what you need, we would need more details on what you want to do exactly with the banter (what rules do you want to follow).

Concerning clothing, you just need to edit the .uti files g_a_clothesblabla.uti (in Bifs> Templates.bif>blueprint item ) with Kotor tool. For more info on editing item properties, see this thread: http://www.lucasforums.com/showthread.php?s=&threadid=132253)

...and btw, not something you asked but you may find xptable.2da quite interesting to "fix" somehting we have already discussed ;)
 SuperSquall
01-18-2005, 9:51 PM
#3
Originally posted by Hades_One
1: Disable Rapid Transit for all planets. Sure, that will be annoying for some people but it will stop the popping in and popping out for the quick heals.Though it could still be abused in a similar fashion it'd be nice if you still left party select enabled, otherwise things could get very annoying with having to go back to the Ebon Hawk just for some stupid quest requesite. I think eliminating party selection would detract much and add nothing but inconvenience - so find a way to keep that in there even though you could swap in full strength allies.
 T7nowhere
01-18-2005, 10:48 PM
#4
Why bother with the Rapid Transit :confused: I mean really whats the point, Does it bother you if people decide to abuse it. I have to admit that the only time I used it was when I want to upgrade some items or change weapons. But thats not nessesary any more now I just get T3 to upgrade my weps.

Do people Really Jumpp back to the ebon hawke just for a few points of health?

Anyway, If you want to add the defense bonus to Items that a snap. Just open g_a_clothes001 and add a defexe Bonus inthe property tab of the uti editor. If you want to make it a unique item Just rename it.
 ChAiNz.2da
01-19-2005, 12:16 AM
#5
This mod sounds great!
I do wonder though, if xp is cut in half, will a character be able to reach level 20 by the end of the game without XP harvesting (Re-spawned Kath hounds, Rakghouls, etc.)? When I played a normal un-modded game, my character didn't reach lvl 20 until just before the Star Forge (of course that would indeed make it more challenging in itself ;) ).

I'm with T7 on the Rapid Transit, though I'm sure some may abuse it, I think the only time I've done it recently was just to get the journal entry out of the way...hehe. I usually have either T3 do the dirty work or my handy workbench armband in my inventory (thanks Mono!) The game itself gives you so many medpacks I'm usually tripping over them by the end of the game. Plus, as you've stated "veteran" players pretty much already have their Party members (and their level progression) planned for specific quests without the need of suddenly having to switch a member.

All in all however, this mod sounds like tons of fun. I wish you luck and will be following this project throughout it's development :D

::EDIT ::
doh! Where are my manners? Welcome to the Forums! :)
 Darth333
01-19-2005, 5:53 AM
#6
Anyways, if he disables the rapid transit system, my easy warping armband will just become more useful :D

BTW, Kotor 2 does not have a rapid transit system.
 Hades_One
01-19-2005, 5:54 AM
#7
I never scripted in a day of my life. I took a high school course on GW BASIC back the late eighties and well, that is the only programming experience I have, Darth333. O.O

I plan on keeping the Party Select option on, Supersquall. Don't worry about that.

On Defense, I do not want to incerase defense on armor. I gave Classes an Defense bonus based on their level. What I want to do is to when any light, medium, and heavy armor is put on it negates the Defense Bonus gained from the class. Robes and Clothing do not negate the class base defense bonus.

EDIT: Yep, I found the XPtable and made the changes. When I left Taris I was only level lower than I normally am however.
 Darth333
01-19-2005, 6:37 AM
#8
Concerning the banter thing, I think the best thing would be to see how level up goes with the changes you've made and then make adjustments if necessary.

What can be done is to simply remove the level up requirement so that you can talk to the npcs when you want as long as the other conditions referring to plot advancement (no. of star maps recovered, planets) are met.

If you want something else, I would need to know what you would like exactly (ie. what rules do you want to base the banter on).

On Defense, I do not want to incerase defense on armor. I gave Classes an Defense bonus based on their level. What I want to do is to when any light, medium, and heavy armor is put on it negates the Defense Bonus gained from the class. Robes and Clothing do not negate the class base defense bonus.
.uti files (item files) do not have a script field so you would need to use the spells.2da file to attach a script that checks what you equip...kinda like the script that fires when you equip the sand people or the sith armor...I would have to verify when I get home this evening as I don't have the game with me right now. I'll post more details this evening.
 Hades_One
01-19-2005, 6:49 AM
#9
Thanks. I'll take a look see over the spells.2da. I have been exploring the 2da files pretty thoroughly so I do have an okay grasp on how they work.

EDIT: That is what I am thinking of doing where it comes to the banter. Open banter except for those dialogs needed to advance plot.

Hmmm...
 Hades_One
01-19-2005, 8:32 AM
#10
Okay, here is a script thingie for the ACBonus versus Armor conditional. I wil warn you now I have absolutely no clue what I am doing. :O

//::k_ACBonus_Conditional
/*
Is the Character wearing armor and if
so Class AC Bonus is nullified.
*/
//:: created by: Michael Harvey

*include "k_inc_debug"

int StartingConditional ()
{
If True OnEquip Defense-(ACBonus)
}

This will be attached to every light, medium, and heavy armor that gives an Armor bonus 4, 5, 6, 7, 8, or 9. as a base throughthe spells.2da.

I know this will not work as written so if any of you can suggest any syntax changes that will be appreciated.
 tk102
01-19-2005, 8:55 AM
#11
Um, I think you're headed down a troublesome path...

You're trying to fire a script upon equipping and unequipping which can only be done on a module-level, not a global one. That means having to inject your script into every single module OnEquip and OnUnequp script event...

This would be easy enough to do if the .uti files had an OnEquip event to use as a trigger. But as Darth333 pointed out, they do not. The sandperson .uti in question must have been a difficult one for Bioware to handle correctly... there are many scripts required to get it to behave in Modules, Triggers, and Dialogs.

Unfortunately that appears to be the only way to get your desired effect unless I'm missing something.
 Hades_One
01-19-2005, 9:15 AM
#12
So you are saying that it is not possible unless I go through every single module in the game? Ew.
 Darkkender
01-19-2005, 10:21 AM
#13
Well as far as having to change every module I actually don't think you would have to do that however you would need to change every suit of armor and apply your spell effect. As this would still need to be added to spells.2da and would almost be just like a disguise effect. Mind you that's alot of suits of armor and unless some people gave you permission all the various armor mods out there would be uncompatible with the desired effect of your mod.

I figure to chime in my 2 cents on the RTS system as well I would definetly say leave it alone as well because that would require you to make a change to every module within the game. After referring to the other thread mentioned above(Rapid Transit System on custom made planets (http://www.lucasforums.com/showthread.php?s=&threadid=140253)) That you have asked about there as well Kaspian makes note that you have to change the *.are file in the module. What does this mean for your mod it means it is very likely going to be really really big. Of course on the flip side if you do pursue this option of changing every module for the Rapid transit system to be disabled then your Armor Scripting wouldn't have any problems for the onmodule enter script firing.

Please keep in mind that such a large scale and drastic change to the game would probably severly hamper and disuade many of those that are likely to play it do to the potential really really big file size. Another solution might be to contact Jatku as a few of us have been working on a PNP mod(this thread (http://www.lucasforums.com/showthread.php?s=&threadid=134683)) As one of the many things he had been working on was the defense bonus thing but I think he may have just changed it to damage reduction.
 Darth333
01-19-2005, 10:35 AM
#14
Originally posted by Darkkender
I figure to chime in my 2 cents on the RTS system as well I would definetly say leave it alone as well because that would require you to make a change to every module within the game.
[/B] No, there is no need to change the individual modules if you want to disable the rapid transit system completely or eliminate the automatic healing. Editing.are file is only necessary if you want to disable the system for a specific area only.
 tk102
01-19-2005, 11:39 AM
#15
Oops looks like we're all getting confused here.... let's take some steps backwards.

Here's one of the topics Hades_One brought up:

On Defense, I do not want to incerase defense on armor. I gave Classes an Defense bonus based on their level. What I want to do is to when any light, medium, and heavy armor is put on it negates the Defense Bonus gained from the class. Robes and Clothing do not negate the class base defense bonus.
Now, this is basically a new behavior that H1 is asking for. 2DA file editing will not get you what you want. And no spells.2da needs to be molested. However, the only way to cause the desired effect is to write a script and use the module level OnEquip and OnUnequip events. Unfortunately it does mean repacking the entire game.

Hades_One also asked how to disable to the Rapid Transit system and that has been covered in a different thread (http://www.lucasforums.com/showthread.php?s=&threadid=140253).

This is why we have the 1-thread-to-1-topic rule.

And oh yeah, welcome to the forums! :p
Page: 1 of 1