niBBa

Question about editing KotOR1 Hardcore Talchia Style mod

Recommended Posts

Mod can be found here: https://www.lonebullet.com/mods/download-hardcore-2011-talchia-style-knights-of-the-old-republic-mod-free-45593.htm

So what I wanted to do was make the early game a bit harder.

In this mod, there is a file called qg_hardcore.ncs that I tried to edit. I input the following code (simply by copying the code that follows and changing the variables):

if(nCharLevel >= 8 && nCharLevel <= 12)
        {
            eStatA = EffectAbilityIncrease(ABILITY_WISDOM, 6);
            eStatB = EffectAbilityIncrease(ABILITY_DEXTERITY, 6);
            eStatC = EffectAbilityIncrease(ABILITY_CHARISMA, 6);
            eStatD = EffectAbilityIncrease(ABILITY_STRENGTH, 6);
            eFP = EffectTemporaryForcePoints(75);
            nVP = 75;
        }

 

and changing the "8" and "12" to "3" and "7," changing all the "6" to "2," and changing both "75" to "25."

I entered a new area and the changes don't seem to be taking place. I didn't think it would be as simple as doing what I did, but I didn't see why it would work (I am not a coder, though). There's nothing that I see in the k_ai_master.ncs file that comes with it that relates to the hardcore.ncs so I didn't think that was the culprit. If anyone can maybe take a look at my qg_hardcore.ncs file, I would appreciate it, see if I did anything wrong.

Any suggestions would be lovely!

qg_hardcore.ncs

Share this post


Link to post
Share on other sites

There's a line added to k_ai_master (a base-game script that handles general AI) that calls the qg_hardcore script whenever someone sees a party member for the first time, and then qg_hardcore applies the stat buffs to them.

Changing the numbers and recompiling qg_hardcore should work. If you want someone to check your script you should probably upload the nss rather than the ncs, though.

Edit: Actually, checking the source script, that part with +6 to four stats only applies to enemy Jedi. If you're not testing it against Jedi then there's your problem.

Share this post


Link to post
Share on other sites

Do you have any idea on what I can edit to make NPCs in general a bit tougher? I find combat ends way too quickly in KotOR.

 

EDIT: Also, yeah, I am still on Taris so no Jedi yet. I'd love to buff the regular enemies. 😕

Share this post


Link to post
Share on other sites

Just to check, you are editing the source nss, right, not decompiling the ncs? Because the source script is pretty well-commented, you should be able to get the gist of it if you read through it all.

The sections are for Jedi, then Beasts, then Droids, then everyone else.

Share this post


Link to post
Share on other sites

I must be a dumbass. You're right, Bill. I see that there are entries for the other NPCs. I only edited the Jedi set. 

Scoundrel, Soldier, Scout (class):
    Player Level 8+: +6 Dexterity, +6 Strength, +75 Vitality points.
    Player Level 13+: +12 Dexterity, +12 Strength, +130 Vitality points.
    Player Level 17+: +20 Dexterity, +20 Strength, +200 Vitality points.

This would be for the rest of the humanoid enemies, correct?

Share this post


Link to post
Share on other sites

Yes, although that part of the script's just descriptive. The part you need to edit is further down.

	//Set up the effects based on the character level
        if(nCharLevel >= 8 && nCharLevel <= 12)
        {
            eStatA = EffectAbilityIncrease(ABILITY_STRENGTH, 6);
            eStatB = EffectAbilityIncrease(ABILITY_DEXTERITY, 6);
            nVP = 75;
        }
        else if(nCharLevel >= 13 & nCharLevel <= 16)
        {
            eStatA = EffectAbilityIncrease(ABILITY_STRENGTH, 12);
            eStatB = EffectAbilityIncrease(ABILITY_DEXTERITY, 12);
            nVP = 130;
        }   
        else if(nCharLevel >= 17)
        {
            eStatA = EffectAbilityIncrease(ABILITY_STRENGTH, 20);
            eStatB = EffectAbilityIncrease(ABILITY_DEXTERITY, 20);
            nVP = 200;
        }
        else
        {
            bValid = FALSE;
        }
        if(bValid == TRUE)
        {
            eLink = EffectLinkEffects(eStatA, eStatB);
        }

 

Share this post


Link to post
Share on other sites

Nevermind, I am not sure it's working.

 

//Set up the effects based on the character level
        if(nCharLevel >= 1 && nCharLevel <= 3)
        {
            eStatA = EffectAbilityIncrease(ABILITY_STRENGTH, 2);
            eStatB = EffectAbilityIncrease(ABILITY_DEXTERITY, 2);
            nVP = 1125;
        }

I am currently level 3, so I figured I could use the above as a test -- setting a high level of HP into an enemy would be a good way to detect if it's working... but it doesn't seem to be. I am in the lower Taris area entering the apartments and I see a group of Black Vulkars who are just as squishy as before the 1125 adjustment.

Either I'm still a dumbass, the code is wrong, or there's a limit to the amount of VP? I don't know. I am entering a new area, too. I made a hard save prior to entering the "test zone."

I attached my .nss. I will beg for one of you guys to look at it and see what I am doing wrong.

qg_hardcore.nss

Share this post


Link to post
Share on other sites

Okay, I just tested it. It seems to me that the original mod is straight-up broken, the on-perception event never fires so the effects are never applied.

I've moved the event so that it fires on spawn instead, much more reliable.

k_ai_master.nss k_ai_master.ncs

Share this post


Link to post
Share on other sites

I appreciate this a lot! thank you!

However, the enemies still felt the same. I figured with a bonus of 1125 health (as I understand it) that it would take a fair bit of time to kill an enemy...

Share this post


Link to post
Share on other sites

I think I see your problem. This part here:

	if(nCharLevel >= 1 && nCharLevel <= 3)
	{
		eStatA = EffectAbilityIncrease(ABILITY_STRENGTH, 2);
		eStatB = EffectAbilityIncrease(ABILITY_DEXTERITY, 2);
		nVP = 1125;
	}
	if(nCharLevel >= 3 && nCharLevel <= 7)
	{
		eStatA = EffectAbilityIncrease(ABILITY_STRENGTH, 4);
		eStatB = EffectAbilityIncrease(ABILITY_DEXTERITY, 4);
		nVP = 50;
	}

The first part checks for level less-than or equal-to 3, and the second part checks for level greater-than or equal-to 3. So if you're exactly level three then both will trigger, and the second one (+50 HP) will override the first (+1125 HP). Change the second one to be >= 4 instead, then run your test again.

  • Like 1

Share this post


Link to post
Share on other sites
Guest Qui-Gon Glenn

I found this by chance today... That mod was broken, and was removed by me almost instantly after release due to my lack of testing and some feedback from a friend.

Interesting that you were able to download it. The "mod" was not really mine at all, just an edit on Talchia's (also broken) mod. If I had done my homework properly, I would have recognized then that changing difficulty is more involved than editing one script with some numbers and expecting magic to happen.

Others have since made improvements on this scheme I believe. I congratulate you on learning through my mistakes :p

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.