Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories

Neverwinter Nights: Enhanced Edition has been released! Visit nwn.beamdog.com to make an order. NWN:EE FAQ is available.
Soundtracks for BG:EE, SoD, BG2:EE, IWD:EE, PST:EE are now available in the Beamdog store.
Attention, new and old users! Please read the new rules of conduct for the forums, and we hope you enjoy your stay!

Kit and Class modding questions

wolpakwolpak Member Posts: 382
Not sure what is possible here, but I'd like to do the following.

a) remove mage kits. I have successfully removed other kits, but I don't see how the specialty mages can be removed from the selection screen.

b) Remove Barbarian class/kit. I understand Barbarian is a fighter kit that is put on the class selection screen, anyone know how to remove it?

Comments

  • wolpakwolpak Member Posts: 382
    c) Does anyone know how the 1/2 lore is applied to bard kits? I cannot find it in any 2da nor does it seem to show in their clab files.

  • AquadrizztAquadrizzt Member Posts: 853
    I know for a fact (due to my work on my own Mage/Sorcerer mod) that it is not possible to remove mage kits; they [the tables, K_M_X.2da] are hardcoded and nothing short of a .exe patch would fix that.

    I don't think you can remove it, but you could add a Fighter kit named Barbarian, give it all of the barbarian class features and then set Barbarian availability (in CLSRCREQ.2da, etc.) to 0. Again, its hardcoded, so the work around is necessary.

    Pretty sure the half lore is also hardcoded for the Blade. You can work around this by having an ability applied at each level that grants bonus lore, if that's what you're trying to do.

  • wolpakwolpak Member Posts: 382
    @Aquadrizzt‌ Well, I was debating on a completely class overhaul. Instead of kits, basically at a certain level, you could choose to specialize in your class and then again later. You would have to start out in just the base class, which led me to want to remove all kits (and the barbarian). Also never understood how the lore detriment was applied and how some kits out there do it (unless they just subtract 5 each level up).

    Thanks for your resonse.

  • subtledoctorsubtledoctor Member Posts: 8,807
    wolpak said:

    never understood how the lore detriment was applied and how some kits out there do it (unless they just subtract 5 each level up)

    I'm pretty sure that's the method I used. It's pretty simple to apply.

    The wizard specialists are hard-coded (nominally, anyway) because in PnP they are not truly kits, but more akin to a base class. You could be a specialist and also choose a kit. So if you leave them in and also allow some kind of further specialization, you'll actually be truer to the PnP rules.

  • wolpakwolpak Member Posts: 382
    @subtledoctor‌ I wasn't actually looking to be truer to PnP at all, just different. I was interested in how you did your kit swap trick, but I fail to see how it gets implemented. Maybe I am just too rusty, but how do you change the kensai's kit?

  • subtledoctorsubtledoctor Member Posts: 8,807
    edited December 2014
    The kensai ability is a bit complicated because there are 15 kit options. You might just check one: look in my kensai folder for the files with the same name - "d5_k2dag.spl," "d5_kdagg.cre," and "d5_kdagg.baf."

    The spell summons a creature, the creature triggers a script, and the script changes the kit of the creature's summoner.

    Each "d5_k2xxx.spl" is choosable from the main "d5_kenfo.spl" using a simple technique that I ripped off from the Enchanted Weapon mages spell. If you want to do something similar, with a choice, I'd suggest you first set up each kit-change with its own .spl/.cre/.baf, and then it's a simple matter to use whatever method you like to cast the .spl.

    E.g. it can be triggered automatically via an "AP_xxxx" in a CLAB file; see the Woodscout kit in my multiclass component
    - it appends a line to the ranger's CLAB,
    - which applies a spell at level 1,
    - which targets multiclass ranger/clerics with an .eff,
    - which summons an invisible monster,
    - which triggers a script,
    - which changes the character's kit to Woodscout.

  • wolpakwolpak Member Posts: 382
    @subtledoctor‌ Thanks, that was everything I needed. Just messed around and was able to change kit to Barbarian or Kensai. Very nicely done with having a summoned monster change the kit and then destroy itself. The only issue I have (which I don't think can really be overcome) is that I can't give info about the class you can choose to change to. Just the icon and that's it. Maybe go old school and reference journal entry #35 for class info.

  • wolpakwolpak Member Posts: 382
    This process looks good in terms of what I'd like to do. As I stated before, the goal is to use the generalist class until a given level (let's say 5), then specialize to a specialist class and then at 15, specialize again to an elite class (maybe 20). I want to give a feeling of progression in the class rather than just have a base kit that is just a piece of the class with absurd bonuses. Hey look at me, I have never been a thief before, but I am a Swash starting at level 1 and get all these bonuses.

    Another valuable aspect is now being able to limit classes on things I couldn't before based on level. My plan is to increase the max proficiency point to 7 (which appears to be the max the engine will allow). A new fighter may only be able to put up to 3 points into a proficiency, but when he has class changed, he can put in 5, then after another class change, 7.

    Anyway, now that I at least know most of this is possible, time to try to put a framework together.

  • AquadrizztAquadrizzt Member Posts: 853
    So I've incorporated kit switching into my mod as well, and, in order to allow the viewing of kit details, the summoned creature opens up a dialog with the caster of an innate. You can then click through kit selection, viewing details and otherwise navigating the dialogue menu until you make a decision and confirm it.

  • wolpakwolpak Member Posts: 382
    @Aquadrizzt‌ nice, definitely a more thought out plan. Is your mod out? Thank you for the idea.

  • AquadrizztAquadrizzt Member Posts: 853
    wolpak said:

    @Aquadrizzt‌ nice, definitely a more thought out plan. Is your mod out? Thank you for the idea.

    The release that includes the two components that use it should be coming out sometime in the next week.
    Here is a link to the Tome and Blood mod page.

    If you want an explanation, there is a pretty lengthy discussion on the 5th page of my mod's thread that discusses how to generally go about it. I can also explain how to do it more thoroughly if you would like.

  • wolpakwolpak Member Posts: 382
    Another question/issue. Added my kit using Weidu and everything looks like it should be in place, but when i switch class to me new kit, it reverts to the base fighter class. When I set it to be available during character creation, it shows it, but then reverts. It is properly in the dialog, am I missing something simple?

  • GrammarsaladGrammarsalad Member Posts: 2,089
    wolpak said:

    Another question/issue. Added my kit using Weidu and everything looks like it should be in place, but when i switch class to me new kit, it reverts to the base fighter class. When I set it to be available during character creation, it shows it, but then reverts. It is properly in the dialog, am I missing something simple?

    Probably. Is the kit a fighter kit with fighter value from class.ids? I think there are a few things that will do this, but i believe assigning a kit to the wrong class is one of them.

  • wolpakwolpak Member Posts: 382
    edited January 2015
    I should learn to follow directions. :)

    Post edited by wolpak on
  • wolpakwolpak Member Posts: 382
    Ok, got another question if anyone can help.

    I am using the summoned monster trick to cast spells. However, I need the script attached to know which player summoned it. SpellCast (innate) doesn't seem to work. I am not sure why, but I am at a loss for what to do.

  • wolpakwolpak Member Posts: 382
    wolpak said:

    Ok, got another question if anyone can help.

    I am using the summoned monster trick to cast spells. However, I need the script attached to know which player summoned it. SpellCast (innate) doesn't seem to work. I am not sure why, but I am at a loss for what to do.

    Oh hell yeah, figured it out. If anyone cares...

    IF
    InPartySlot(LastSummonerof(Myself),0)
    Global("P1CHRMOD","GLOBAL",1)
    THEN
    RESPONSE #100
    ForceSpellRES("Z9_LOH1",Player1)
    DestroySelf()
    END

    Basically, if the guy who summoned me is in Party Slot 1, and his Charisma Modifier is 1, then cast this spell on player1. Of course, I have to figure out how to choose who to cast it on.

  • wolpakwolpak Member Posts: 382

    You got it!

    No good way to target someone else though. I can't seem to get lasttargetby to work and it is unwieldy in usuage as well.

  • GrammarsaladGrammarsalad Member Posts: 2,089
    Who exactly are you trying to target?

  • wolpakwolpak Member Posts: 382
    Here's the plan and my eventual fix (hopefully if anyone else is messing around with stuff like this, this can help).

    Let's say I have a Paladin and I want his LoH ability to be adjusted by his Charisma. In 3e you get 1 modifier point per 2 points in a stat, so a CHR of 14 would give 2, and CHR of 18 would give 18. I wanted each point above 0 to make LoH 10% better.

    If my LoH would normally heal 10 HP, at 12 CHR it heals 11, at 18 CHR it heals 14.

    Since there is no way to make a spell adjust based on stats, you need to make a spell for each modifier point. So, since you can have up to 25 CHR, that is a +7, I need 7 spells. Depending on the Paladin's CHR at that time, he needs to have only one of those abilities.

    So, the original plan was to click the LoH button, which would summon a creature, check the paladin's CHR Mod, and then cast the correct LoH. That works fine if the Paladin is only targeting himself. But how does he target someone else? He would need to click on a party member and have the summoned creature cast the spell by proxy. It is very wonky in that matter.

    This method, which I never realized before when I originally scripted this, can actually help me and make the bloat of Baldur.bcs much much less. You cannot run a script from a script, but you can summon a creature, have it's script run and then destroy it.

  • wolpakwolpak Member Posts: 382
    I have tested this and it works nicely.

    First, I have put in Baldur.bcs this:

    IF
    CheckStat(Player1,1,WIS)
    !Global("P1WIS","GLOBAL",1)
    THEN
    RESPONSE #100
    SetGlobal("P1WISMOD","GLOBAL",-5)
    SetGlobal("P1WIS","GLOBAL",1)
    END

    IF
    CheckStat(Player1,2,WIS)
    !Global("P1WIS","GLOBAL",2)
    THEN
    RESPONSE #100
    SetGlobal("P1WISMOD","GLOBAL",-4)
    SetGlobal("P1WIS","GLOBAL",2)
    END
    ...

    This checks each palyer's stat, then setting the modifier and then further incrementing it until you have achieved the correct stat (this is all needed since you cannot set a global to a stat or even another global). It requires 25 scripts per stat per party member, but since it is usually ignored after the first run through, it doesn't slow the game down at all.

    My issue is that if I needed to furthermore put class skills in here, it may bog down the game because of bloat. Especially with a lot of skills. But this line of code basically allows another script to run while baldur.bcs justs keeps on keeping on.

    CreateCreature("P1WIS",[2338.412],SE)

    I have code that checks to see if "P1WISMOD" changes. If it does, that line above runs and summons my P1WIS creature that then runs all scripts to handle changes in a stat.

    So, let's say a monk uses Wisdom to adjust AC. He puts on gloves of wisdom that increases his WIS by 2. He needs another -1 of AC. Baldur.bcs sees that P1's Wis has changed and runs the createcreature line.

    P1WIS pops up invisible and runs his script. His script says that if the Monk's Wis goes up, apply spell that subtracts 1 from AC. If the monk takes off the gloves, the script runs and subtracts one from his AC.

    This way, baldur.bcs only ever has to make 1 check per person per stat instead of many (like if I use Widsom for Cleric innates or Druids or whatever).

    I hope that makes sense.

    Grammarsaladjethro
Sign In or Register to comment.