Jump to content

Enigmajazz

Members
  • Posts

    73
  • Joined

  • Last visited

Posts posted by Enigmajazz

  1. 1 hour ago, DraikenWeAre said:

    @EnigmajazzCould you share your fix because casting the gift of life spell just causes the priest that does such to lose access to thier spells, (I guess cause thier losing thier class like you said) and doesn't raise the NPCs to life.

    Also the Animate Dead spell is bugged as when I cast it and it raises undead, my Charecter for some reason gets a whole bunch of unremovable items such as rings and invisible helmets in his bag.

    The Mod is good but has a lot of bugs, also that disease of dead bodies component needs to be removed in my opinion. 

    Essentially you have to create a new spell state and change the spell to assign that rather than change the class, then you have to change the effect that would detect the new class to detect the spell state. I've not got access to the file at the moment to give more detail of exactly which files it is.

    I think I sorted out the ring issue locally as well but can't fully remember how, possibly it was switched to give to the creature raised rather than the caster.

     

    It would be relatively trivial to comment out the disease part I think if you know which lines of the install are involved.

  2. Hi @subtledoctor

     

    I have noticed some bugs with the bonus proficiencies assigned to some classes via cs000 e.g assassins are supposed to get a point in backstab. 

    Firstly, the points that are being given are misassigned, presumably because these were changed at some point, so the assassin actually gets a point in dodge. 

    Secondly if a character has a bonus point in a skill and takes another point on level up, this seems to add two points to the skill and the minus button does not allow points to be taken away but the number of slots available keeps increasing and can be assigned to other points, potentially giving infinite points. This happens again if further level ups occur and more points are assigned to that skill. 

  3. @subtledoctor

    Additionally, the shadowdancer has the learn spell cast for Shadowstep but does not have the ci206 spell or the ci000 spell for semi innates cast to give the spells and the semi_innate state so doesn't actually have the shadowstep ability until another spell is selected from the magical skills dialogue. In addition, they have spells cast on them that do not actually exist (I suspect these were old versions of adding slots spells or just typos). However they are not needed as they get the additional spell slots applied anyway via d5cs000.

    Therefore

    COPY ~%MOD_FOLDER%/lib/d5_base.spl~ ~override/d5csshd1.spl~
      LPF ADD_SPELL_EFFECT INT_VAR opcode = 146 target = 1 parameter2 = 1 timing = 1 STR_VAR resource = ~d5csi9l~ END
      LPF ADD_SPELL_EFFECT INT_VAR opcode = 146 target = 1 parameter2 = 1 timing = 1 STR_VAR resource = ~d5csix1z~ END
      LPF ADD_SPELL_EFFECT INT_VAR opcode = 146 target = 1 parameter2 = 1 timing = 1 STR_VAR resource = ~d5csix1z~ END
      LPF ADD_SPELL_EFFECT INT_VAR opcode = 206 target = 1 parameter1 = (0 - 1) timing = 9 duration = 0 STR_VAR resource = ~d5csshd1~ END

    Should be

    COPY ~%MOD_FOLDER%/lib/d5_base.spl~ ~override/d5csshd1.spl~
      LPF ADD_SPELL_EFFECT INT_VAR opcode = 146 target = 1 parameter2 = 1 timing = 1 STR_VAR resource = ~d5csi9l~ END
      LPF ADD_SPELL_EFFECT INT_VAR opcode = 206 target = 1 parameter1 = (0 - 1) timing = 9 duration = 0 STR_VAR resource = ~d5csshd1~ END
      LPF ADD_SPELL_EFFECT INT_VAR insert_point = 0 opcode = 146 target = 1 parameter2 = 1 timing = 1 STR_VAR resource = ~d5ci206~ END
      LPF ADD_SPELL_EFFECT INT_VAR insert_point = 0 opcode = 146 target = 1 parameter2 = 1 timing = 1 STR_VAR resource = ~d5ci000~ END

    In addition I notice that shadowdancers get the free spell of shadowstep, which comes with 2 spell slots, plus two additional spell slots, which mean they have 4 slots at level 1 or 6 if they select another magical skills spell. This seems like a lot, giving them double the spell casting ability of a sorcerer at level 1, although with limited spell choice and it obviously doesn't scale in the same way. Is this intended? To me if feels like the 2 free spell slots that come with the free spell of shadowstep are enough.

    I also think shashbucklers are given the wrong effects as they are given an extra point in set snares and backstab, whereas I assume this should be AC and melee thac0 (104 and 105 should be 106 and 107).

  4. Hi @subtledoctor I've noticed a typo in the combat skills component. It seems assassins are given an extra  ac bonus rather than backstab

    COPY ~%MOD_FOLDER%/lib/d5_base.spl~ ~override/d5csass1.spl~
      LPF ADD_SPELL_EFFECT INT_VAR opcode = 233 target = 1 parameter1 = 1 parameter2 = (106 + (0x10000 * 1)) timing = 9 END
      LPF ADD_SPELL_EFFECT INT_VAR opcode = 206 target = 1 parameter1 = (0 - 1) timing = 9 duration = 0 STR_VAR resource = ~d5csass1~ END

    Should be

    COPY ~%MOD_FOLDER%/lib/d5_base.spl~ ~override/d5csass1.spl~
      LPF ADD_SPELL_EFFECT INT_VAR opcode = 233 target = 1 parameter1 = 1 parameter2 = (104 + (0x10000 * 1)) timing = 9 END
      LPF ADD_SPELL_EFFECT INT_VAR opcode = 206 target = 1 parameter1 = (0 - 1) timing = 9 duration = 0 STR_VAR resource = ~d5csass1~ END

  5. On 6/17/2023 at 12:51 PM, Morgoth said:

    Playing this mod. I'm wondering a few things:  has anyone experienced the new Xzar content Temnix talks about? Including the improved harper compound. I haven't seen any difference, but I may have an old version and the links inside this topic are dead.

    I'm not sure that was implemented as it's not mentioned in the later posts.

    I'm just starting out testing this mod and I've identified a bug, I think, with gift of life, whenever I cast this it appears to do what is intended but has a weird side effect of making the character record say ready to level up even without gaining xp, and then if you add xp and try and level up the came crashes.

    Have you managed to use the spell successfully?

    I wonder if anyone has any idea what is going on to cause that bug 

  6. In reference to my earlier bug reports regarding revised specialists, the 172 effects to remove abilities in qdmg+XXX spells added by the level one cantrips component are added at insert point 0 so before the ability has been added, I think the 172 effects need to be added after the 171 effects to actually work. Also would it not be more straightforward to just remove the 171 effect from the spell rather than adding an additional 172 effect?

  7. @subtledoctor There is an internal inconsistency with the order of components so that if revised specialists and level one cantrips are installed the specialists will automatically know the first level version of spells that are changed to second level I.e identify, protection from petrification, friends if no sr. If 5e is then added they will have the free cast version at second level but also have know the first level version in the spell book. I think it is relatively straightforward to add the compatibility code but this would also need to consider the effect of spell school rebalancing. Would simply swapping the order of the components fix this without needing to change any other code?

    Edit: turns out I missed the compatibility code, the actual issue is actually only present with protection from petrification with sr installed.

    In addition level 1 cantrips makes changes to mxsplsrc a,nd mxspldd but no changes to splsrckn, which means that the number of first level cast spells is changed (but has no effect as they are refreshing anyway) whilst the number of known spells is not, it also gives the sorcerer and DD second level cast spells at level 2 but they can't know any second level spells, in addition, even if they did know second level spells they would gain some casts at level 2 and then lose them at level 3 as the number of cast spells returns to 0. In my view the mxsplsrc and mxspldd should change the number of cast spells for first level spells to 1 at every level (as I think this just looks better when it's refreshing anyway) and increase second level spells by one for each level as well as adding in the ability to cast second level spells at level 2 and 3, there should also be changes to splsrckn to decrease known first level spells (possibly) and increase known second level spells whilst adding one known second level spells at levels 2 and 3.

     

  8. @subtledoctor Here is something very bizzare, both shaman mage and druid sorcerer have the weapprof value for quarterstaffs set to 0 despite the FNP usability for clubstaffs being 1 and the value for quarterstaffs being set to 1 in the add_kit as well. In fact I can see know reason why this should be applied any differently to for e.g the druid_mage, which appears to be set up identically. I don't know if this is anything that you can explain or if it even happens in a different setup or is a bug related to my set up, but it seems like something very weird is going on. 

  9. I know that you are not particularly supporting the feats component anymore as you favour the scales and balance implementation but I'm planning to use the feats alongside the proficiencies from skills and abilities.

    I thought you should be aware that this does not install in the current alpha version as it requires extra_proficiency_dialog.tpa (or something similar, I'm on my phone so can't check exactly right now) which was removed a few versions ago.

  10. @morpheus562 The current version won't install   on a clean version of BG2EE with just 5e Casting Installed. 

    The debug file seems to be too big to upload but the error text is as follows:

    Copied [enhanced-powergaming-scripts/baf/upload/mocore.baf] to [enhanced-powergaming-scripts/baf/upload/mocore.baf]
    Copying and patching 1 file ...
    [enhanced-powergaming-scripts/baf/upload/mocore.baf] loaded, 1586112 bytes
    [./override/ACTION.IDS] loaded, 16654 bytes
    [./override/STATS.IDS] loaded, 4744 bytes
    [./override/SPLSTATE.IDS] loaded, 3109 bytes

    [enhanced-powergaming-scripts/baf/upload/mocore.baf.BAF] PARSE ERROR at line 420 column 1-23
    Near Text: .
        syntax error

    [enhanced-powergaming-scripts/baf/upload/mocore.baf.BAF]  ERROR at line 420 column 1-23
    Near Text: .
        Parsing.Parse_error
    ERROR: parsing [enhanced-powergaming-scripts/baf/upload/mocore.baf.BAF]: Parsing.Parse_error
    ERROR: [enhanced-powergaming-scripts/baf/upload/mocore.baf] -> [override/bddefai.bcs] Patching Failed (COPY) (Parsing.Parse_error)
    Stopping installation because of error.
    Stopping installation because of error.
    Stopping installation because of error.

    ERROR Installing [Install Enhanced Powergaming Scripts -> Normal Pre-Buffing Speed], rolling back to previous state
    Unable to Unlink [enhanced-powergaming-scripts/backup/14/OTHER.14]: Unix.Unix_error(1, "unlink", "enhanced-powergaming-scripts/backup/14/OTHER.14")
    [enhanced-powergaming-scripts/backup/14/UNSETSTR.14] SET_STRING uninstall info not found
    Will uninstall 181 files for [ENHANCED-POWERGAMING-SCRIPTS/ENHANCED-POWERGAMING-SCRIPTS.TP2] component 14.
      Restoring backed-up [enhanced-powergaming-scripts/backup/14/splstate.ids]
    enhanced-powergaming-scripts/backup/14/splstate.ids copied to override/splstate.ids, 2764 bytes
    Uninstalled    181 files for [ENHANCED-POWERGAMING-SCRIPTS/ENHANCED-POWERGAMING-SCRIPTS.TP2] component 14.
    [./override/splstate.ids] loaded, 2764 bytes
    [./override/splstate.ids] loaded, 2764 bytes
    [./override/splstate.ids] loaded, 2764 bytes
    [./override/splstate.ids] loaded, 2764 bytes
    [./override/splstate.ids] loaded, 2764 bytes
    [./override/splstate.ids] loaded, 2764 bytes
    [./override/splstate.ids] loaded, 2764 bytes
    [./override/splstate.ids] loaded, 2764 bytes
    [./override/splstate.ids] loaded, 2764 bytes
    [./override/splstate.ids] loaded, 2764 bytes
    [./override/splstate.ids] loaded, 2764 bytes
    [./override/splstate.ids] loaded, 2764 bytes
    [./override/splstate.ids] loaded, 2764 bytes
    [./override/splstate.ids] loaded, 2764 bytes
    [./override/splstate.ids] loaded, 2764 bytes
    [./override/splstate.ids] loaded, 2764 bytes
    [./override/splstate.ids] loaded, 2764 bytes
    [./override/splstate.ids] loaded, 2764 bytes
    [./override/splstate.ids] loaded, 2764 bytes
    [./override/splstate.ids] loaded, 2764 bytes
    Unable to Unlink [enhanced-powergaming-scripts/backup/14/READLN.14]: Unix.Unix_error(20, "unlink", "enhanced-powergaming-scripts/backup/14/READLN.14")
    Unable to Unlink [enhanced-powergaming-scripts/backup/14/READLN.14.TEXT]: Unix.Unix_error(20, "unlink", "enhanced-powergaming-scripts/backup/14/READLN.14.TEXT")
    5E_SPELLCASTING/5E_SPELLCASTING.TP2  0 100 Installed
    ERROR: Parsing.Parse_error

  11. It's not a particular issue I've noted but I want to add compatibility with multishamans and multisorcerors anyway at least locally so thought I might as well fix that at the same time if was an issue as this would have required minimal additional effort, but if it's not necessarily I can just leave that bit.

  12. Thanks for the fantastic update to the mod. I'm just looking at the code for 5e casting compatibility below and it looks like it is reading column 2 and calling the variable men_spell, when the column is actually the cast spell. This does not directly cause an issue but I'm wondering about what the intent is as the mem_spell would be column 1. There can actually be multiple entries with the same cast spell in column 2 e.g if fnp spheres include an arcane spell. I think the way the code is currently written this will mean that the 5e spell that will be added to the script would be the first version in the zclons file that casts the cast spell, which would be the spheres version as the divine spells are added first to the zclons file. Therefore this risks missing the arcane version so wizards won't cast the spell under the scripts if it's in a sphere as well, I think. 

    Using column 1 to read in the mem_spell instead of column 2 I think would also cause issues with fnp spheres as any spells that are cast at a different level to vanilla due to the spheres will have mem_spell that is not in spell.ids so this would miss these off the scripts (these will be missed by the scripts anyway if 5e casting is not installed as the divine caster will never have the spell as listed in spell.ids).

    This is likely not a huge issue as not many arcane spells would be included in the spheres and not many spells will be at different levels in the spheres. However, this is still a potential incompatibility that will become more relevant the more spells that are added and the spheres are fully customisable so this could cause bigger issues in individual games.

    I think I can add compatibility for all of this in a way that would not require additional duplication when adding spells however it would require checking for extra versions of spells that cast the same spell so I'm not sure how much impact that would have on performance, and I don't know if you have any idea?

    This is the code in question:

    COPY_EXISTING ~d5zclons.2da~ ~override~
      COUNT_2DA_COLS cols
      COUNT_2DA_ROWS cols rows
      FOR (row = 1; row < rows; ++row) BEGIN
      READ_2DA_ENTRY row 0 cols ind_num
      READ_2DA_ENTRY row 2 cols mem_spl
      SPRINT $5e_spells_array(~d5z%ind_num%i~)~%mem_spl%~
      END
  13. Edit: I misread what I was replying to.

    I can see no difference between the divine and arcane code apart from the fact that divine seems to try and read both index and mem spell from the same column. I'm still struggling to understand how what looks like reading the same entry twice as below can give a different outcome, as these lines are directly below each other:

    READ_2DA_ENTRY_FORMER ~r2en_zclons~ row 0 prev_ind

             READ_2DA_ENTRY_FORMER ~r2en_zclons~ row 0 mem_spell

     

    I may be missing a lot as I'm new to reading weidu code so I apologize for my ignorance.

  14. I feel like the below code from the semi_spontaneous.tpa appears to be wrong as mem_spell should be row 1 not row 0 which is the index, this code currently will never do anything I think as the index will clearly never match a spell Res.

    Also, I may be wrong but shouldn't PATCH_IF (~%res%~ STRING_EQUAL_CASE ~%mem_spell%~) BEGIN

    Be

    PATCH_IF (~%res%~ STRING_EQUAL_CASE ~%cast_spell%~) BEGIN

    In this case, as if there is already an innate spell that casts the real spell we want, we want to use that version, rather than make another innate spell? (I guess this mostly doesn't matter as it will apply primarily to arcane spells which will have the same mem and cast spells). EDIT- would this mess with cleric-mages?

    I believe the way that the code is currently written will mess up for enhanced powergaming scripts as for any wizard spells that are also in a sphere system there will be two zclons spells, so this will mess with the way enhanced powergaming scripts handles 5e casting, or am I missing something? (At least arcane should be read first so it will only be fringe cases where it is an arcane spell given to a divine caster via the sphere system when it will not be cast by the scripts).

     

    ACTION_PHP_EACH fnp_sphere_spells AS res => foc BEGIN

          OUTER_SET spl_ind = 0

       ACTION_IF (FILE_CONTAINS_EVALUATED (~d5zclons.2da~ ~%real_spell%~)) BEGIN

         COPY_EXISTING ~d5zclons.2da~ ~override~

           COUNT_2DA_COLS cols

           READ_2DA_ENTRIES_NOW ~r2en_zclons~ cols

           READ_2DA_ENTRY (r2en_zclons - 1) 0 cols last_ind

           FOR (row = 0; row < r2en_zclons; ++row) BEGIN

             READ_2DA_ENTRY_FORMER ~r2en_zclons~ row 0 prev_ind

             READ_2DA_ENTRY_FORMER ~r2en_zclons~ row 0 mem_spell

             READ_2DA_ENTRY_FORMER ~r2en_zclons~ row 2 cast_spell

             PATCH_IF (~%res%~ STRING_EQUAL_CASE ~%mem_spell%~) BEGIN

               SET spl_ind = prev_ind

             END 

           END

         BUT_ONLY

       END

×
×
  • Create New...