MrStavro

Need help with my first Armband Shield

Recommended Posts

Hello everyone, I hope you're doing well.
Finally, after a long time observing, I've decided to register.

Game being Modded: KotOR 2 - The Sith Lords

I've tried creating my own "Shield", similar to those in the game (Verpine, Echani, etc). I've changed the Tag and the TemplateResRef, created his respective rows in Spells.2da, in Forceshields.2da, I've made a modified version of k_sup_bands.ncs and added the decompiled version to override just in case:
Added Code to k_sup_bands: (283 is the Row of my spell, SHIELD_FORGE_PROTOTYPE is the name in forceshields.2da, all following the syntax of the previous shields)
 

    else if(nIndex == 283)
    {
        nShield = SHIELD_FORGE_PROTOTYPE;
        nIcon = 99;
    }

 I've modified nwscript.nss to register the ID of my new shield 

int SHIELD_FORGE_PROTOTYPE = 21;

In the item's .uti file, I've changed the properties so that when the Use Item is activated, my Spell (Row 283 in Spells.2da) is executed.

Unfortunately, I've encountered the following issues:
+= Despite most changes like name, icon working, the shield still functions and projects the effects of the Verpine Prototype, even with its own spell and forceshield. (I've tried modifying my spell's look and damage resistance but doesn't do anything, but modifying the Verpine Prototype damage resistance does, as if it is connected to my shield somehow)
+= This is a bit stranger, but after modifying nwscript.nss and opening and closing the game multiple times (trial and error in creating the shield), it seems to revert and erase the line I created to register my shield.

 

The programs I've used and their purposes:

+= KotOR Tool - Creating the item template and modifying it, modifying the 2da files to create the corresponding columns, extracting k_sup_bands without compiling.

+= GFFEditor - Modifying my new file a_shield_x08.uti to change its properties since KTool doesn't recognize the added spells and forceshields. Trying to add my spell with a new ID causes a StrRef Error. (The error is probably caused due to KTool using the base 2da's instead of the override's, so added rows are not recognized)

+= Kotor Scripting Tool / VSCode - Modifying k_sup_bands.nss before compiling and nwscript.nss

+= nwnnsscomp.exe - Compiling k_sup_bands.

If you need any more info I will gladly provide it, I didn't know what to send so I am sorry if some information or crucial file is missing.
Thank you for reading and for the help.

Edited by MrStavro

Share this post


Link to post
Share on other sites
3 hours ago, MrStavro said:

 I've modified nwscript.nss to register the ID of my new shield 


int SHIELD_FORGE_PROTOTYPE = 21;

 

You cannot alter nwscript.nss.

It is just a list of the defined constants and functions the game utilises.

Spoiler

////////////////////////////////////////////////////////
//
//  NWScript
//
//  The list of actions and pre-defined constants.
//
//  (c) BioWare Corp, 1999
//
////////////////////////////////////////////////////////

As defined in the nwscript.nss

3 hours ago, MrStavro said:

+= This is a bit stranger, but after modifying nwscript.nss and opening and closing the game multiple times (trial and error in creating the shield), it seems to revert and erase the line I created to register my shield.

The game must be re-extracting and overwriting / updating it to it's original form.

3 hours ago, MrStavro said:

+= Despite most changes like name, icon working, the shield still functions and projects the effects of the Verpine Prototype, even with its own spell and forceshield. (I've tried modifying my spell's look and damage resistance but doesn't do anything, but modifying the Verpine Prototype damage resistance does, as if it is connected to my shield somehow)

It's interesting that it still uses the effects of the Verpine prototype, perhaps it is defaulting to the only effect it can use for whatever reason.

So you will have to make use of whatever effects and options are available within the constraints of the game.

Thor110

Share this post


Link to post
Share on other sites

Hi Thor, thanks for answering.
Yes, in my desperation to make it work, I ignored how a predefined list works and added my shield because I found out that the script for the armbands was k_sup_bands and without adding my shield, it couldn't be compiled. It's strange because I've seen other mods that use armbands and are able to create their own effect; in fact, the ID of my Spell is 283 because 282 is already in use by another mod.
But well, I guess I'll have to modify the effects of the Verpine, although I still don't know how to modify its duration, only how much damage it resists.
Thank you for your help.

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.