Skip to content

Faiths and Powers: Gods of the Realms (Kitpack and divine caster/spell tweaks)

16162646667124

Comments

  • GrammarsaladGrammarsalad Member Posts: 2,582
    CamDawg said:

    *appears in a puff of smoke*

    You can just iterate down the mxspl*** table and find the first non-zero entry to determine when a class gets access to a spell level. I think the number of mods that change these levels currently number zero, so I wouldn't worry too hard about it. There are mods, however, that may grant spells beyond vanilla levels (Minsc got a 6th level spell on my last run w/Tweaks' IWD ranger tables component), which would be something you'll need to address.

    The engine does not remove spells once granted, so unless you have an active mechanism to remove them you could hand out complete divine spellbooks at level 1. The only reasons not to is that it looks awkward and could cause complications for restricted spells being granted too early, e.g. giving Holy Word early to Player1 and then having him/her fall to evil during the Hell trials.

    That's not too bad of an idea. Iirc, characters already have all ' universal' spells at first level (at least in one game version)
  • The user and all related content has been deleted.
  • CamDawgCamDawg Member, Developer Posts: 3,438
    Yeah, I learned waaaaaay more than I ever wanted to about divine spellbooks from attempting to get DR to behave.
  • ArizaelArizael Member Posts: 263
    Thanks to all for quick helpfull answers. I've tested it and indeed there is no issue at all (asides from the spellbook filling little bit earlier). Now let's just cross fingers it won't nerf or even bug SCS casters.
  • franco8737franco8737 Member Posts: 52
    edited July 2017
    Wrong post.
  • RVNSRVNS Member Posts: 285
    Is sirene Compatible with this mod?
  • ThacoBellThacoBell Member Posts: 12,235
    @RVNS I've been able to use her without issue. Her kit is untouched by F&P as far as I can tell.
  • RVNSRVNS Member Posts: 285
    @ThacoBell Thanks for the info! Don't suppose if you know Isra is also compatible off the top of your head?
  • The user and all related content has been deleted.
  • [Deleted User][Deleted User] Posts: 0
    edited July 2017
    The user and all related content has been deleted.
  • [Deleted User][Deleted User] Posts: 0
    edited July 2017
    The user and all related content has been deleted.
  • asriellebaenreasriellebaenre Member Posts: 1
    Hello, discussion here seems to be a lot about development. I have a question about use of this mod, feel free to delete this post if it's not the right place to ask.

    First off, love these mods. Having all of these different kits really makes this game more unique and immersive for me. Five stars!

    //

    My problem is this: I have created a Dwarven Fighter/Cleric of True Neutral alignment, with the purpose of making them an Alaghor of Clangeddin.

    I installed the component option "new kits through dialog" rather than "through menu", and I'm wondering if there is some story event where I will be allowed to advance/change my characters class?

    Many other kits were available during character creation, but when I chose to multiclass my Alaghor, no kit was available to choose.

    I'm about to finish the Vale of Shadows and want to make sure not to advance too far if I messed something up at character creation.

    Also, she's level 4 in cleric and only has two spells! One level 1 (cure light wounds) and one level 2 (i don't remember off hand, haven't used it much).

    Thank you!!

    //

    If it's helpful, I'm running the EE and my load order for mods looks like this.


    Lavalt
    Runescarred
    Faiths and Powers
    Might and Guile
    Tome and Blood
    tweaks anthology (didn't use any combat/progression modifiers)
    SoB
  • The user and all related content has been deleted.
  • Necromanx2Necromanx2 Member Posts: 1,246
    0.70e in BG2EE. Started new game and gave Minsc a kit. He gets the scroll to memorize spells, but lacks the intelligence to use the scroll.
  • The user and all related content has been deleted.
  • The user and all related content has been deleted.
  • GrammarsaladGrammarsalad Member Posts: 2,582

    Just a heads up, I've updated the official beta release to 0.71. This includes all of the fixes we've talked about for the last month or two. It also includes separate usability/proficiency variables for every weapon type, with the exception of clubs and staffs which are lumped together.

    I cam very close to deprecating the "install option 1" component which puts only the archetype kits in menus and has you choose a deity in-game through a dialogue. Then I relented and left it in for IWDEE and SoD players. We can remove it when those games are updated with scroll bars in the kit menus.

    This update does not address the problems that have been identified with dual-classing. That will take some time to figure out.

    Cheers!

    Op link updated. I'll update the quick reference excel when I get a chance
  • ZaghoulZaghoul Member, Moderator Posts: 3,938
    How would the choose deity kit operate, just a list of deities to choose from? The possibility of a little in depth dialogue that adds some background to the bio and what is drawing a character to a specific deity would be interesting.
  • ALIENALIEN Member Posts: 1,271
  • The user and all related content has been deleted.
  • The user and all related content has been deleted.
  • JuliusBorisovJuliusBorisov Member, Administrator, Moderator, Developer Posts: 22,724


    @JuliusBorisov are we finally going to get scroll bars in IWDEE and SoD soon??

    http://blog.beamdog.com/2017/07/real-talk-icewind-dale-ii-enhanced.html : "committing to specific release dates, bug fixes, and features at this point is difficult". You can always make a feature request on support.baldursgate.com.
  • [Deleted User][Deleted User] Posts: 0
    edited August 2017
    The user and all related content has been deleted.
  • The user and all related content has been deleted.
  • The user and all related content has been deleted.
  • Necromanx2Necromanx2 Member Posts: 1,246
    edited August 2017
    Does the fixes for spells mean the Shadow Monsters and Shades spells are fixed (the ones brought over from IWD)?
  • The user and all related content has been deleted.
  • GrammarsaladGrammarsalad Member Posts: 2,582
    edited August 2017

    I just tried creating a FTR / Elementalist dual class in BGEE. Became 3rd lvl Fighter and then dualled to Elementalist. It shows I can select Scimitar as a proficiency (for Mystics -> Occultist which is where the Elementalist currently falls), but then scimitar in my inventory are red and cannot be equipped.

    Hmm... this might be more complicated. My tests with a fighter dualled to cleric do not seem to match my results with a fighter/mage:
    https://forums.beamdog.com/discussion/comment/890739/#Comment_890739

    Or at any rate the parameters are different, and the results are therefore different as well. Whether the kit in my 2nd, cleric class is a single-class kit or a multiclass kit, I can raise my proficiencies in any weapon category. I am not constrained by the kit's restrictions in either case.

    I think this is because we had to enable proficiency with all weapons for the trueclass cleric in order to make non-standard options be available for kits. If this is the case then we might need to restrict the trueclass (maybe to just a small set like club/staff/dagger/sling), and bundle a UI mod with FnP like this one:
    https://forums.beamdog.com/discussion/59647/mod-unhide-chargen-options

    That's getting a bit away from the core mission of FnP, but it appears that it might be necessary thanks to the 2.0 changes to the proficiency screen... I bet this works just fine on IWDEE. :(

    And of course, as far as I'm aware UI tweaks like that cannot be done with a Weidu installer - I mean look at these install instructions for the linked UI mod:
    1. Download the zip file from the bottom of this post and unzip it into your override folder


    2. Backup your UI.menu file, then open it up for editing


    3. First, we'll make the race, class, kit, alignment, and racial enemy list rows a bit narrower so we can fit more options in there.

    3a) Search for all instances of "area 0 0 340 44" (without quotes) and replace them with "area 0 0 340 32".

    3b) Search for all instances of "rowheight 44" and replace them with "rowheight 32".


    4. We need to ensure that the mod maps out all the available character options at the start of the character creation process. Search for the following code segment:
    name 'CHARGEN'
    align center center
    ignoreesc
    Below it, insert the following code:
    onOpen "generateAllChargenOptions()"



    5. Now we'll make some changes to the class menu to restore the hidden classes. Search for name 'CHARGEN_CLASS'

    5a) A few lines below, replace the onopen segment (the whole line) with the following code:
    onopen
    "
    lastChargenClass = nil
    currentChargenClass = nil
    if (createCharScreen:GetCurrentStep() == const.STEP_DUALCLASS_CLASS) then
    allChargenClasses = chargen.class
    allChargenOptionsGenerated = false
    end
    "

    5b) A few lines below, replace
    text lua "Infinity_FetchString(chargen.class[rowNumber].name)"
    with
    text lua "Infinity_FetchString(allChargenClasses[rowNumber].name)"

    5c) Directly below the label segment that includes the above line, insert:
    label
    {
    area 0 0 340 32
    rectangle 1
    rectangle opacity 180
    enabled "getClassDisabled(allChargenClasses[rowNumber].id)"
    }

    5d) Two lines below, replace the action segment (including the two quotation marks and everything between them) with:
    actionUpdate
    "
    if (allChargenClasses[currentChargenClass] and getClassDisabled(allChargenClasses[currentChargenClass].id)) then
    currentChargenClass = lastChargenClass
    else
    lastChargenClass = currentChargenClass
    end
    if (allChargenClasses[currentChargenClass]) then
    createCharScreen:OnClassSelectButtonClick(allChargenClasses[currentChargenClass].id)
    end
    "

    5e) Scroll down to
    table "chargen.class"
    and replace it with
    table "allChargenClasses"

    5f) Scroll down to
    text lua "classOrGeneralHelp()"
    and replace it with
    text lua "getClassHelpText()"



    6. Now we'll unhide the hidden kits. Scroll down to name 'CHARGEN_KIT'

    6a) Insert just below the above line:
    onopen "lastChargenKit = currentChargenKit"

    6b) A few lines below, replace
    text lua "Infinity_FetchString(chargen.kit[rowNumber].name)"
    with
    text lua "Infinity_FetchString(allChargenClasses[currentChargenClass].kits[rowNumber].name)"

    6c) Directly below the label segment that includes the above line, insert:
    label
    {
    area 0 0 340 32
    rectangle 1
    rectangle opacity 180
    enabled "getKitDisabled(allChargenClasses[currentChargenClass].kits[rowNumber].id)"
    }

    6d) Two lines below, replace the action segment with:
    actionUpdate
    "
    if (allChargenClasses[currentChargenClass].kits[currentChargenKit] and getKitDisabled(allChargenClasses[currentChargenClass].kits[currentChargenKit].id)) then
    currentChargenKit = lastChargenKit
    else
    lastChargenKit = currentChargenKit
    end
    if (allChargenClasses[currentChargenClass].kits[currentChargenKit]) then
    createCharScreen:OnKitSelectButtonClick(allChargenClasses[currentChargenClass].kits[currentChargenKit].id)
    end
    "

    6e) Scroll down to
    table "chargen.kit"
    and replace it with
    table "allChargenClasses[currentChargenClass].kits"

    6f) Scroll down to
    text lua "kitOrGeneralHelp()"
    and replace it with
    text lua "getKitHelpText()"



    7. Now we'll do the same for the alignment menu. Scroll down to name 'CHARGEN_ALIGNMENT'

    7a) A few lines below, replace the onopen segment with the following code:
    onopen
    "
    lastChargenAlignment = nil
    currentChargenAlignment = nil
    "

    7b) A few lines below, replace
    text lua "Infinity_FetchString(chargen.alignment[rowNumber].name)"
    with
    text lua "Infinity_FetchString(allChargenAlignments[rowNumber].name)"

    7c) Directly below the label segment that includes the above line, insert:
    label
    {
    area 0 0 340 32
    rectangle 1
    rectangle opacity 180
    enabled "getAlignmentDisabled(allChargenAlignments[rowNumber].id)"
    }

    7d) Two lines below, replace the action segment with:
    actionUpdate
    "
    if (allChargenAlignments[currentChargenAlignment] and getAlignmentDisabled(allChargenAlignments[currentChargenAlignment].id)) then
    currentChargenAlignment = lastChargenAlignment
    else
    lastChargenAlignment = currentChargenAlignment
    end
    if allChargenAlignments[currentChargenAlignment] then
    createCharScreen:OnAlignmentSelectButtonClick(allChargenAlignments[currentChargenAlignment].id)
    end
    "

    7e) Scroll down to
    table "chargen.alignment"
    and replace it with
    table "allChargenAlignments"

    7f) Scroll down to
    text lua "alignmentOrGeneralHelp()"
    and replace it with
    text lua "getAlignmentHelpText()"



    8. Finally, we need to restore the hidden proficiencies. Search for name 'CHARGEN_PROFICIENCIES'

    8a) A few lines below, replace the onopen segment with the following code:
    onopen
    "
    currentChargenProficiency = nil
    currentChargenThiefSkill = nil
    ticksPassed = 0
    ticksStarting = 0
    if (chargen.levelingUp or (createCharScreen:GetCurrentStep() == const.STEP_DUALCLASS_PROFICIENCIES)) then
    allChargenProficiencies = chargen.proficiency
    allChargenOptionsGenerated = false
    profRowDict = nil
    else
    translateProficiencyRows()
    end
    "

    8b) Scroll down to
    text lua "Infinity_FetchString(chargen.proficiency[rowNumber].name)"
    and replace it with with
    text lua "Infinity_FetchString(allChargenProficiencies[rowNumber].name)"

    8c) Search for all instances of
    chargen.proficiency[rowNumber].value
    and replace them with
    getTranslatedProficiencyValue(rowNumber)

    8d) Scroll down to
    frame lua "getPlusFrame(7)"
    and insert below it
    enabled "getTranslatedProficiencyEnabled(rowNumber)"

    8e) Scroll down to
    frame lua "getMinusFrame(8)"
    and insert below it
    enabled "getTranslatedProficiencyEnabled(rowNumber)"

    8f) Search for all instances of
    chargen.proficiency[currentChargenProficiency].id
    and replace them with
    getTranslatedProficiencyId(currentChargenProficiency)

    8g) Scroll down to
    table "chargen.proficiency"
    and replace it with
    table "allChargenProficiencies"

    8h) Search for
    text lua "proficiencyOrGeneralHelp()"
    and replace it with
    text lua "getProficiencyHelpText()"

    Seriously - WTF???

    Even if I'm wrong and you can do this with Weidu (the EEUITweaks mod seems to do it), it will probably be incompatible with, and/or overwritten by, any other mods that alter UI.menu. Because after spending 15 years jumping through insane hoops to deal with Bioware's decision to put all text strings in the game into a single monolithic .tlk file, Beamdog evidently decided it would be a good idea to do the same thing for the new UI system.

    Seriously Beamdog, WTF?? That's twice in one day you've made it harder for me to make an awesome mod for players, instead of easier. Congratulations: you've me me look forward to the end of my lunch hour and going back to my day job. I didn't even think that was possible.
    Hmm, I think I remember reading somewhere that UI can, or soon will be, installable via weidu. It may be that the linked mod just doesn't it (say, because it was created before this possible). I feel fairy confident that it must be possible now because of EEUITweaks.

    I don't think this is beamdogs fault. They just added a new feature and weidu just needed an update to accommodate it (I think-- I've been meaning to research the ui stuff).

    Does the fixes for spells mean the Shadow Monsters and Shades spells are fixed (the ones brought over from IWD)?

    Yeah, I'm fairly sure that i have them fixed. Give a day so and I'll upload a hotfix.[ Grr, I remembered that I have a thing. It'll be Friday at the earliest (though Saturday still good a bigger fix).]Actually, if you like, (and if are inclined) feel free compile a list of 'liked but bugged' spells. Likely, most of those have been fixed on my internal build, and I'll work to fix the others. This bigger fix will take a few more days, but i could guarantee it by Saturday (I have a new supply of migraine pills, so even those won't stop me)

    It's about time i fixed those spells in the official build
  • The user and all related content has been deleted.
  • GrammarsaladGrammarsalad Member Posts: 2,582
    edited August 2017

    I don't think this is beamdogs fault. They just added a new feature and weidu just needed an update to accommodate it

    Beamdog decided to change the proficiency screen to hide proficiencies you cannot actually get - that's all well and good as far as it goes, and in the thread for the more d I linked to, you'll see me actually defending the change.

    But I didn't realize the visual change was tied to actual functional changes to the way that screen interacts with weapprof.2da, resulting in modders being unable to distinguish between proficiencies open to kits and proficiencies open to the base classes. It was perfectly moddabke before, and now they have put an extra at hurdle in the way. I don't understand why.
    Oh yeah, there is that. They just failed to anticipate/notice mods like fnp... (An unknown unknown)
Sign In or Register to comment.