Jump to content


Photo

[MOD] Sandrah Saga For EET

EET Mega Mod

  • Please log in to reply
360 replies to this topic

#101 Roxanne

Roxanne

    Modder

  • Member
  • 3564 posts

Posted 30 July 2017 - 12:37 PM

Since this is EE-only, I might suggest making the the kit match her actual class:

~0x00004000    8~

This has a few benefits:
- For kits available to Charname, they can appear under the proper multiclass in character generation menus (inapplicable here of course)
- The kit can use its own values in weapprof.2da instead of the trueclass fighter/cleric column
- The kit can have a custom HLA table instead of using the trueclass fighter/cleric table
- More generally, the kit will accurately match its class, instead of shoehorning a kit from one class into a different class.

The engine does not fully support multiclass kits by default... but Aquadrizzt has thoughtfully created a function to make it work. It's quite easy to use:
https://forums.beamd...ticlass-kits/p1

This sounds quite promissing, just a year or so late...

It will take quite some time for me to fully analyse it. Starting with a 8 character kit name when the tool wants 7 or less (How many times do I use the reference in my mod?),

What I am generally afraid of, is that I make my NPC too powerful. The weapprof is interesting but I already use the opcode to make ranged weapons unusable for her.

The whole thing sounds like a long term project with a lot of testing required. So it will not be tomorrow...

 

Maybe I always misunderstood this, but what would

~0x00004000 8~ 
actually change?

The Sandrah Saga

another piece of *buggy, cheesy, unbalanced junk*

 


#102 subtledoctor

subtledoctor
  • Modder
  • 656 posts

Posted 30 July 2017 - 01:44 PM

I don't think it matters how long the kit name is. What is important is that any spell abilities in the clab table (anything attached to "GA_" or "AP_") should be 7 letters or less.

As for what the change does: as a technical matter, clerics and fighter/clerics are two different classes. Giving a cleric kit to a fighter/cleric is no different, from an engine standpoint, from giving a cleric kit to a bard or a thief or something. It might work tolerably well, but surely it's better to have purpose-built kits for each class...

#103 Roxanne

Roxanne

    Modder

  • Member
  • 3564 posts

Posted 30 July 2017 - 02:02 PM

I don't think it matters how long the kit name is. What is important is that any spell abilities in the clab table (anything attached to "GA_" or "AP_") should be 7 letters or less.
 

You are right. Being able to read can make life easier.


The Sandrah Saga

another piece of *buggy, cheesy, unbalanced junk*

 


#104 K4thos

K4thos
  • Modder
  • 315 posts

Posted 30 July 2017 - 04:55 PM

What is important is that any spell abilities in the clab table (anything attached to "GA_" or "AP_") should be 7 letters or less.

is this engine requirment or some mod needs that last letter?



#105 subtledoctor

subtledoctor
  • Modder
  • 656 posts

Posted 30 July 2017 - 07:45 PM

What is important is that any spell abilities in the clab table (anything attached to "GA_" or "AP_") should be 7 letters or less.

is this engine requirment or some mod needs that last letter?

 

There are a number of areas in which spells with 8-letter filenames don't work properly in the engine... I can't remember off the top of my head.  These days I make sure any spells I add to the game are 7 letter or less, just so I don't have to think about it.

 

But in this particular case, if you make a multiclass kit and use Aquadrizzt's qdmulti function, the function will convert the spells in your clab table to .eff files with an extra character in them, and then trigger those .eff files from a spell in the trueclass clab table.  The .eff files are limited to 8 letters, so the spells that get converted are limited to 7.



#106 Roxanne

Roxanne

    Modder

  • Member
  • 3564 posts

Posted 31 July 2017 - 01:26 AM

Since this is EE-only, I might suggest making the the kit match her actual class:

~0x00004000    8~

This has a few benefits:
- For kits available to Charname, they can appear under the proper multiclass in character generation menus (inapplicable here of course)
- The kit can use its own values in weapprof.2da instead of the trueclass fighter/cleric column
- The kit can have a custom HLA table instead of using the trueclass fighter/cleric table
- More generally, the kit will accurately match its class, instead of shoehorning a kit from one class into a different class.

The engine does not fully support multiclass kits by default... but Aquadrizzt has thoughtfully created a function to make it work. It's quite easy to use:
https://forums.beamd...ticlass-kits/p1

This sounds quite promissing, just a year or so late...

It will take quite some time for me to fully analyse it. Starting with a 8 character kit name when the tool wants 7 or less (How many times do I use the reference in my mod?),

What I am generally afraid of, is that I make my NPC too powerful. The weapprof is interesting but I already use the opcode to make ranged weapons unusable for her.

The whole thing sounds like a long term project with a lot of testing required. So it will not be tomorrow...

 

Maybe I always misunderstood this, but what would

~0x00004000 8~ 
actually change?

 

 

What is important is that any spell abilities in the clab table (anything attached to "GA_" or "AP_") should be 7 letters or less.

is this engine requirment or some mod needs that last letter?

I followed your hints and included the function for Sandrah.

The results are not what I had expected. She lost her kit (she has her kit assigned if I look her up with NI) but in game she appears and acts like a fighter/cleric of no distinction.

For whatever reason, it does not work for her and spoils her Priestess of Mystra persona completely.

 

EDIT

I did something completely different now with qdmulti

 

I installed it as a separate component at the end of my mod - and it works! If anyone can explain, I cannot?

Could it be that the F&P compatibility code has something to do with it - I mean with respect to install sequence, as previously qdmulti was prior and now comes after F&P? Reason why I ask is that now I get some warnings about some ability names being too long (that 7 character thing) and the ones I find in debug are DS_xxxx ,so not from my original 2da (has max 7) but from the one updated by F&P.


Edited by Roxanne, 31 July 2017 - 03:39 AM.

The Sandrah Saga

another piece of *buggy, cheesy, unbalanced junk*

 


#107 subtledoctor

subtledoctor
  • Modder
  • 656 posts

Posted 31 July 2017 - 06:02 AM

I'm not sure.  Maybe the order matters?  Our current way of adding kits is

1) ADD_KIT

2) fl#add_kit_ee

3) special items and abilities

4) qdmulti

5) fnp_compat

 

Here's an example:

Spoiler

 

For your internal testing at this point, if it is convenient, you might want to simply disable the FnP sphere system stuff.  I'm going to have a newer, modified version of that for you soon.  (As you can see we are now using the same functions to implement very different variables... we have it set up so that, within the context of FnP, modders can make the use of extra weapons a kit advantage.  So you could have an NPC priest of Selune, for instance, with a special ability to use, and reach specialization with, scimitars.  But in the absence of FnP it would work like a normal cleric kit, blunt weapons only and limited to mere proficiency.  We're close to finalizing this... I'll let you know as soon as it is ready.)

 

Also, I'm not used to doing this stuff with actual NPCs.  I assume you want to install your kit first, and then do something like this to apply the kit to the NPC:

 

COPY_EXISTING ~kitlist.2da~ ~override~
    COUNT_2DA_ROWS 8 "rows"
    FOR ( index = 31 ; index < rows ; index = index + 1 ) BEGIN
        READ_2DA_ENTRY %index% 5 8 clab
        PATCH_IF ("%clab%" STRING_EQUAL_CASE "your_kit" = 1) BEGIN
            SET new_kit = (%index% - 1)
        END
    END
BUT_ONLY
 
COPY ~sandrah_cre.cre~ ~override~
    WRITE_SHORT 0x244 0
    WRITE_SHORT 0x246 0x4000 + %new_kit%

Edited by subtledoctor, 31 July 2017 - 06:11 AM.


#108 Roxanne

Roxanne

    Modder

  • Member
  • 3564 posts

Posted 31 July 2017 - 07:15 AM

This is more or less what I started with but failed

1) ADD_KIT

2) fl#add_kit_ee

3) special items and abilities In my mod this is done in other parts where I have all mod's items or other file types - it is not really related to the kit, but I understand in your mods you want to have all the files for a single kit together in one place

4) qdmulti

5) fnp_compat

 

The 1,2,4,5 sequence failed in my case (actually it did not fail, there was no error produces, it just did nothing).

the 1,2,5,4 worked.

 

The assignment of the kit to the cre file is done in another part altogether. I think it is not relevant in this context, because you can do that assignment for any kit to your cre, it must not be one that you define yourself in your mod (of course it only makes sense if that kit exists in the game)

COPY ~SandrahNPC\CRE/Sandrah.cre~ ~override\Sandrah.cre~
SAY NAME1 Sandrah
SAY NAME2 Sandrah
WRITE_SHORT 0x244 0
WRITE_SHORT   0x246 0x4000 + ~%CVMystra%~

  SAY INITIAL_MEETING @600

.......

Just a final question - it looks like the new function would also allow you to define your own HLA definition. Have you used this? I would really like for Sandrah to eliminate her gaining HLAs from her classes altogther. I have instead developped for her the concept to gain corresponding abilities from her actual experience (e.g. if she manages to kill a dragon herself or a certain Lich, she learns something from that, not from the group gaining XPs from opening locks...). The problem I have with a continuous character who can join you during the complete game, is that she will simply get overpowered with normal progression.


Edited by Roxanne, 31 July 2017 - 07:29 AM.

The Sandrah Saga

another piece of *buggy, cheesy, unbalanced junk*

 


#109 subtledoctor

subtledoctor
  • Modder
  • 656 posts

Posted 31 July 2017 - 08:59 AM

I think the qdmulti function must be run after you COPY in your kit abilities, since it must read the clab table and process all those .spl files into .eff files using COPY_EXISTING.  So that could be the issue here.  You can definitely throw qdmulti at the end of the mod - it can run at any time, it only needs to know the kit's clab.2da filename. 

 

The FnP compatibility code should go *after* qdmulti, because it actually replicates part of the qdmulti function, specifically for sphere access spells.  This code can also be moved to the end of the mod if you like - you can just replace the %mod_clab% variable with the kit's clab.2da filename, and then it will work equally well at any point after the ADD_KIT stuff.

 

EDIT - sorry, as to HLAs, yes, making her kit a proper multiclass kit will allow you to completely control what HLAs are available to Sandrah.  You can provide a blank table and she won't get any.  (Be aware that the FnP sphere system will find her table, and fill it in with HLAs relating to whichever spheres she has major access to... but you can simply overwrite the table after the FnP function runs.)


Edited by subtledoctor, 31 July 2017 - 09:21 AM.


#110 subtledoctor

subtledoctor
  • Modder
  • 656 posts

Posted 31 July 2017 - 09:24 AM

Incidentally I'm attaching the new FnP compatibility packet.  This should be easier to implement than qdmulti.  :)

 

I just updated the official FnP beta release to the new version that uses these variables.

https://github.com/U...leases/tag/0.71

Attached Files


Edited by subtledoctor, 31 July 2017 - 09:46 AM.


#111 Roxanne

Roxanne

    Modder

  • Member
  • 3564 posts

Posted 31 July 2017 - 11:25 AM

Incidentally I'm attaching the new FnP compatibility packet.  This should be easier to implement than qdmulti.  :)

 

I just updated the official FnP beta release to the new version that uses these variables.

https://github.com/U...leases/tag/0.71

Just to understand this correctly - the new compatibility packet is for use instead of old one AND qdmulti, right?


Edited by Roxanne, 31 July 2017 - 11:58 AM.

The Sandrah Saga

another piece of *buggy, cheesy, unbalanced junk*

 


#112 subtledoctor

subtledoctor
  • Modder
  • 656 posts

Posted 31 July 2017 - 01:36 PM

Instead of the old FnP packet - delete the old five files from /mymod/lib/ and replace them with these new four files, and replace the FnP code with this new code from the attached example (setting the variables as you see fit - they work differently but in this new version they should be clearer, plus they include new stuff like the aforementioned armor/weapon usability).

Qdmulti is still a separate thing - multiclass kits should use qdmulti regardless of their interaction with FnP. And the same code order applies - the qdmulti code should run *before* the FnP code. And the same rule applies that I described above: if you feed your kit's clab.2da filename to both functions, you can toss them both to the very end of your mod.

#113 Roxanne

Roxanne

    Modder

  • Member
  • 3564 posts

Posted 31 July 2017 - 02:02 PM

Instead of the old FnP packet - delete the old five files from /mymod/lib/ and replace them with these new four files, and replace the FnP code with this new code from the attached example (setting the variables as you see fit - they work differently but in this new version they should be clearer, plus they include new stuff like the aforementioned armor/weapon usability).

Qdmulti is still a separate thing - multiclass kits should use qdmulti regardless of their interaction with FnP. And the same code order applies - the qdmulti code should run *before* the FnP code. And the same rule applies that I described above: if you feed your kit's clab.2da filename to both functions, you can toss them both to the very end of your mod.

Thanks for your patience. Seems to be all clear now.

The only problem left is that I need a new install with F&P 0.71 to get it working, That news reached me half an hour after my current install succeeded...


The Sandrah Saga

another piece of *buggy, cheesy, unbalanced junk*

 


#114 subtledoctor

subtledoctor
  • Modder
  • 656 posts

Posted 31 July 2017 - 02:43 PM

Isn't that always the way? :)

#115 Roxanne

Roxanne

    Modder

  • Member
  • 3564 posts

Posted 31 July 2017 - 11:37 PM

Isn't that always the way? :)

 

 

Yep  :D During the past 2 years, every time when I made my perfect installation, some mods gets updated, bugs were fixed and I have to make yet another install :P

That is Murphy's law.

My only problem is now that we have (maybe) a fix for a long existing compatibility issue but it still needs testing, which requires the new version of F&P as the compatibility fix does not work with the recent one. So that delays the synchronisation again.


The Sandrah Saga

another piece of *buggy, cheesy, unbalanced junk*

 


#116 Roxanne

Roxanne

    Modder

  • Member
  • 3564 posts

Posted 01 August 2017 - 01:13 PM

Isn't that always the way? :)

I made an attempt to install F&P at then end of my current install, i.e.on top of everything EET. This might in itself not have been a good idea. (I did not anticipate a problem with this specific mod, but I was wrong)

Methods 1 and 2 failed on clabrn01.2da.

Installing individual components went until rangers and failed them (clabrn01 is rangers?)

Sphere system failed as well.

I am not sure if the debug file helps you any.

Attached Files


The Sandrah Saga

another piece of *buggy, cheesy, unbalanced junk*

 


#117 -RVNS-

-RVNS-
  • Guest

Posted 01 August 2017 - 06:12 PM

Hi. I am new to these forums. I am having an issue where Sandrah will not learn the spell I am clicking on, it goes off to the side of the memorization bar and will not select the spell I request. Not sure what is causing that conflict. Any ideas?



#118 Roxanne

Roxanne

    Modder

  • Member
  • 3564 posts

Posted 01 August 2017 - 08:46 PM

Hi. I am new to these forums. I am having an issue where Sandrah will not learn the spell I am clicking on, it goes off to the side of the memorization bar and will not select the spell I request. Not sure what is causing that conflict. Any ideas?

There is an unresolved issue with one extra level 1 spell slot that cannot be filled. If that is your case, just ignore it.

If the above is not your case, then I need more details.


The Sandrah Saga

another piece of *buggy, cheesy, unbalanced junk*

 


#119 -Guest-

-Guest-
  • Guest

Posted 02 August 2017 - 03:42 AM

That is the case but it also seems to be affecting my second level spells. I can see it click off to the side of the screen instead of selecting the spells. 



#120 Roxanne

Roxanne

    Modder

  • Member
  • 3564 posts

Posted 02 August 2017 - 04:06 AM

That is the case but it also seems to be affecting my second level spells. I can see it click off to the side of the screen instead of selecting the spells. 

In this case, there is a different issue. Does that only happen with Sandrah? There is nothing my mod does with repsect to GUI. The reason must be another, I would say. Do you have a mod that may affect menues or GUI in general, or specific screens?


The Sandrah Saga

another piece of *buggy, cheesy, unbalanced junk*