Skip to content

Monk speed bonus and clab table

Hello.
When i google monk i see someone claim that the attack speed bonus don't work, meanwhile someone claim it works.
What is the case?
I also wonder if monk bonuses such as:
AC bonus, Taco bonus, Magic res are all asigned via clab table?
Meanwhile it polls natural taco bonus from some kind of fighter table?

Could any1 briefly tell me how a monk is set up?
Cause i wonder if i want to make a new kit, or if it will be to advanced for me and that i should use use one of the kit's clab table's to make it how i want it via override folder.

What is the clab names for Base Monk, SunMonk and Dark Monk? (Don't have access to baldur's gate ee games and near infinity atm.

Plan is to run true for fun in legacy of baal, but i like all monk skills so just wanna add all classes into one clab table, and possible add a few invisible spells via clab table as well xD
I also heard that kits have better saving throws compared to base classes, so i guess i change the dark monk kit?

Comments

  • jmerryjmerry Member Posts: 3,882
    edited January 1
    Most of the abilities are indeed pulled from the CLAB tables; CLABMO01 (vanilla), CLABMO02 (Dark Moon), CLABMO03 (Su Soul). That includes the natural AC, the immunities, the missile AC bonus, the magic resistance, the movement speed, the attack speed*, and the active abilities.

    Hit points (HPMONK), THAC0 (THAC0), saves (SAVEMONK), skill progression (THIEFSKL), fist APR (CLSWPBON), and fist progression (MONKFIST) are all pulled from other tables. Saving throws for all of the standard monk kits are exactly the same as each other.

    * OK, what's the deal with that attack speed bonus? Well, it doesn't give you more attacks. It gives you better initiative, getting your first attack off faster. And it's only relevant for manufactured weapons, as fists are at maximum speed already. A nice perk at low levels when you might use a manufactured melee weapon for a bit of extra punch, basically irrelevant later on when your fists overshadow anything else you might hold.

    Making a new kit, through WeiDU, isn't too bad; there are libraries you can pick up that come with functions for it, and those functions come with sensible defaults that will automatically fill things out in the many tables that need updating. Though you'll still have to put together the CLAB for your new kit, most likely by cloning and tweaking an existing kit's CLAB.
  • Gel87Gel87 Member Posts: 228
    jmerry wrote: »
    Most of the abilities are indeed pulled from the CLAB tables; CLABMO01 (vanilla), CLABMO02 (Dark Moon), CLABMO03 (Su Soul). That includes the natural AC, the immunities, the missile AC bonus, the magic resistance, the movement speed, the attack speed*, and the active abilities.

    Hit points (HPMONK), THAC0 (THAC0), saves (SAVEMONK), skill progression (THIEFSKL), fist APR (CLSWPBON), and fist progression (MONKFIST) are all pulled from other tables. Saving throws for all of the standard monk kits are exactly the same as each other.

    * OK, what's the deal with that attack speed bonus? Well, it doesn't give you more attacks. It gives you better initiative, getting your first attack off faster. And it's only relevant for manufactured weapons, as fists are at maximum speed already. A nice perk at low levels when you might use a manufactured melee weapon for a bit of extra punch, basically irrelevant later on when your fists overshadow anything else you might hold.

    Making a new kit, through WeiDU, isn't too bad; there are libraries you can pick up that come with functions for it, and those functions come with sensible defaults that will automatically fill things out in the many tables that need updating. Though you'll still have to put together the CLAB for your new kit, most likely by cloning and tweaking an existing kit's CLAB.

    Okay, so well my idea about the monk is to use the tweaks for level 50, modify clab table to 50 and check lua table, that there are enought option so i infact dont run dry preventing me from leveling.

    Then i will just put all 3 monk’s into one clab table.
    Add invisibility spell at certain levels as well. Fix the attack speed spell to work as description ingame, and add progression for 40-50. I also might make higher progression on some of the «ki skills» as well. Like forexample at lvl 35 the deadly fist last 10 seconds and saving throw vs spell is -2 instead of 0, and maby one progression between those.

    I also would like the 1d20+X scale after level 40. Dont really know when it stops progression, but i want to to go to +5 enchantment at least. Is this wepon upgrade also in clab table?

    All theese actions is possible with override files, but i guess it would be more clean with a kit script. I have made like 10-12 kits before, both single class, multiclass and such, and a few scripts which i needed so much help with that its basicly made by other to do my desired functions xD

    And now i simultainious makes a pure Vampire thief kit. Since i dont know the programming language i use chatgpt to help me build the scripts :p

    Maby if u want, you could have a look? Cause im dealing with ai, and would love a second look from a actual person :p the scripts are mainly creature scripts and dialog scripts to be used in spells. Two bat spells where enemies summons bat on me, which does random walk and attack LastSummonerOfMyself, all to simulate that i summon in a bat swarm to attack every enemies in sight, and one where all bats attack creature that is targeted. Also one hla spell where i summon a geni, have dialog with him, then he summons the unexpected first Vampire which i have a short dialog with before dreining him for blood, consuming his powers and become Vampire Orginator.
  • jmerryjmerry Member Posts: 3,882
    Gel87 wrote: »
    I also would like the 1d20+X scale after level 40. Dont really know when it stops progression, but i want to to go to +5 enchantment at least. Is this wepon upgrade also in clab table?
    The monk fist progression, as I said, is in the MONKFIST table. If you want a +5 fist, you'll not only need to update that table (which applies to all monks), but also outright create the new weapon.
    Alternately, it's possible to create effects that improve a character's ability with unarmed weapons, if you want something that only applies to one kit. But tricky; a higher enchantment level requires an opcode 183 effect (that's probably part of a spell) calling an opcode 345 EFF. No, you can't just apply opcode 345 directly in the spell, as the "fists only" toggle is only available in the EFF form.
    Gel87 wrote: »
    Since i dont know the programming language i use chatgpt to help me build the scripts :p
    This sounds like a bad idea. Because a chatbot trained on widely available stuff isn't likely to know this single-purpose language either. The BCS/BAF format used for scripting in the IE games is only used for these games. And if you go and build a proper mod ... the standard for that is another single-purpose language. There's nothing wrong with the idea in general, but it might not work with these esoteric languages. And if you don't know the language yourself, you won't be able to spot the problems.
    Gel87 wrote: »
    Like forexample at lvl 35 the deadly fist last 10 seconds and saving throw vs spell is -2 instead of 0, and maby one progression between those.
    This is easy, at least. You'd just have to modify those spells. Want it to work better starting at level N? Then you just add a new header with minimum level N (initially copying from the level 1 header) and modify its effects.
  • Gel87Gel87 Member Posts: 228
    jmerry wrote: »
    Gel87 wrote: »
    I also would like the 1d20+X scale after level 40. Dont really know when it stops progression, but i want to to go to +5 enchantment at least. Is this wepon upgrade also in clab table?
    The monk fist progression, as I said, is in the MONKFIST table. If you want a +5 fist, you'll not only need to update that table (which applies to all monks), but also outright create the new weapon.
    Alternately, it's possible to create effects that improve a character's ability with unarmed weapons, if you want something that only applies to one kit. But tricky; a higher enchantment level requires an opcode 183 effect (that's probably part of a spell) calling an opcode 345 EFF. No, you can't just apply opcode 345 directly in the spell, as the "fists only" toggle is only available in the EFF form.
    Gel87 wrote: »
    Since i dont know the programming language i use chatgpt to help me build the scripts :p
    This sounds like a bad idea. Because a chatbot trained on widely available stuff isn't likely to know this single-purpose language either. The BCS/BAF format used for scripting in the IE games is only used for these games. And if you go and build a proper mod ... the standard for that is another single-purpose language. There's nothing wrong with the idea in general, but it might not work with these esoteric languages. And if you don't know the language yourself, you won't be able to spot the problems.
    Gel87 wrote: »
    Like forexample at lvl 35 the deadly fist last 10 seconds and saving throw vs spell is -2 instead of 0, and maby one progression between those.
    This is easy, at least. You'd just have to modify those spells. Want it to work better starting at level N? Then you just add a new header with minimum level N (initially copying from the level 1 header) and modify its effects.

    Okay, thanks :) i know how to build spells and items, so i will then copy the +4 wepon and modify the new one to a +5 version. Then add it to the MONKFIST table.

    Yes i know there is risk at it becoming wrong, but i started saying i need help with infinity engine scripting, it said it was to wide subjekt, so we specified it down to baldurs gate ee, bg2ee and sod. Then i looked at script and found that it did not account for the Max 7 character long names, so i started to say that i want:
    GelVa01.cre to have a creature script with filename GelVa01.bcs and dialog script GelVa01.baf.
    And i want to summon the creature with a spell which i make in nearinfinity called GelVa01.spl which also i can make to set global action on. And this spell is used by kit GeKitVa, which is race vampire and is a thief kit. And i tell what features i want.

    It turns out as this example:
    // GelVa00.bcs Script for GelVa00.cre
    // Mission: 1. Cast Dimension Door effect on self 2. Start Dialog with 'GeKitVa' Shadow Lurker kit. 3. Summon GelVa01.cre "The First Vampire". 4. Teleport out away and kill itself after First Vampire.


    IF
    LastSummonerOfMyself
    Race(Player1) == VAMPIRE
    Class(Player1) == THIEF
    Kit(Player1) == 'GeKitVa'
    Global("GelVa00_SpellActivated","GLOBAL",0)
    !InDialog(Player1) // Check if Player1 is not in dialog mode
    THEN
    RESPONSE #100
    ActionOverride(Player1, PauseGame())
    ActionOverride(Player1, PlayEffect("DOOR01")) // Play Teleport effect
    SetGlobal("GelVa00_SpellActivated","GLOBAL",1)
    ActionOverride(Player1, StartDialog("GelVa00.baf"))


    IF
    Global("GelVa00_SpellActivated","GLOBAL",1)
    See([LastSummonerOfMyself])
    !InDialog(Player1) // Check if Player1 is not in dialog mode
    THEN
    RESPONSE #100
    ActionOverride(Player1, ForceSpellRes("GelVa01.spl", Player1))
    SetGlobal("GelVa01_SpellActivated","GLOBAL",2)
    ActionWait(4000) // It will wait 4 seconds to make sure The First Vampire GelVa01.cre is dead prior to casting dimension door, to not have overlapping effects covering up whats happening
    ActionOverride(Player1, ForceSpellRes("Door01.spl", Myself)) // Cast Dimension Door (will make sure he either teleport away or become invisible prior to dying)
    ActionWait(500) // Wait time to make sure he destroys himself after all other actions are done
    DestroySelf()

    But now in sitting here and beamdog client dont Even start the installation of the game. Fresh beamdog installation and i made sure to make the beamdog libary folder to not be write protected, but the download never starts xD
  • jmerryjmerry Member Posts: 3,882
    Yeah, that's broken. Syntax errors all over the place, no chance of compiling. For example, that "PlayEffect" action your script tries to use? That doesn't exist. Or those "==" checks - not a thing. Or "ActionWait" - that doesn't exist either. LastSummonerOfMyself is almost there - LastSummonerOf(Myself) is a commonly used object in creature scripts - but by itself is nononsense. And you definitely don't just put an object by itself in a line, as that's neither a trigger nor an action. And this is not an exclusive list.
    The chatbot clearly figured out some things - it knows how to set and check for a global variable - but not nearly enough.

    [BCS is a binary format, generated by compiling the BAF code like what you just tried to put together. If you just put the .BCS extension on that code directly, it's even more completely broken.]
    Gel87 wrote: »
    Then i looked at script and found that it did not account for the Max 7 character long names...
    Not exactly. In most applications, resource names can have up to eight characters. There are a few spots that restrict you to seven, but they're never a concern in scripts.
  • Gel87Gel87 Member Posts: 228
    edited January 1
    jmerry wrote: »
    Yeah, that's broken. Syntax errors all over the place, no chance of compiling. For example, that "PlayEffect" action your script tries to use? That doesn't exist. Or those "==" checks - not a thing. Or "ActionWait" - that doesn't exist either. LastSummonerOfMyself is almost there - LastSummonerOf(Myself) is a commonly used object in creature scripts - but by itself is nononsense. And you definitely don't just put an object by itself in a line, as that's neither a trigger nor an action. And this is not an exclusive list.
    The chatbot clearly figured out some things - it knows how to set and check for a global variable - but not nearly enough.

    [BCS is a binary format, generated by compiling the BAF code like what you just tried to put together. If you just put the .BCS extension on that code directly, it's even more completely broken.]
    Gel87 wrote: »
    Then i looked at script and found that it did not account for the Max 7 character long names...
    Not exactly. In most applications, resource names can have up to eight characters. There are a few spots that restrict you to seven, but they're never a concern in scripts.

    Okay, haha, yes thats the problem i have :) Im not skilled enought to spot such faults xD
    I guess i have to wait with the kit until i get home and can cross referanse better.

    Bat Swarm:
    I wanted a spell called Bat Swarm to summon loads of bats on myself, which was supposed to like swarm out from my location, there was supposed to be summoned 3 bats for each visible enemy with 50ms inbetween each summon, i wanted them to do RandomWalk for some milliseconds (to trigger random direction out of my location), and then move to enemy and deal piercing damage, then fly back to me, then turn around and fly back to enemy dealing piercing damage again and then DestroySelf.
    All to simmulate a bat swarm attacking all enemies around, bringing back some blood to my vampire to add some regen effects and such.

    Bat Strike:
    Here i wanted a single target spell, where u click enemy. Was supposed to just copy a orginal single target spell like forexample finger of death, then change effects to force target to cast another spell on me. And that other spell was supposed to be a summonspell of custom bat01.cre, where it would summon X ammount of bats, first instant, second with 50ms delay and so on, where theese bats had a script telling them to do random walk for X millisecond, move to LastSummonerOf(Myself), deal 2 piercing damage, do random walk for X millisecond and destroy self.

    I also wanted to do this:
    HLA(after picking like 5 other spells, or at level 25-30 somewhere):
    Shapechange: Vampire Original or Vampire King/Queen based on gender.
    This spell would basicly summon a genie which would prompt me with a dialog(like in wish spell) saying something about him thinking the child of baal would be a better fit for the powers of the First Vampire. And i could reply: Yes, bring him here.
    Then he would summon another creature which is "The First Vampire" or "Vampire Queen/king or smt".
    The First Vampire would also promt me with a dialog saying something like: "Whhaat, who are you to awaken me from my sleep?"
    And you would answere: "Your powers will be mine! Time to die!
    And then The First Vampire scipt would continue to force me to MoveToTarget(Myself), ReallyForceSpellRES or ForceSpellRES a custom Blood Drain spell, which force enemy to sleep(to put him down), Kneel or something relevant to my vampire animation to simulate me bending over target, and deal 3 piercing damage to put blood animation and sound reaction on The First Vampire, and Kill Him after him lying there for 2 seconds. Ofc the last spell im forced to cast would do relevant upgrades on caster in the process. The spells, the creatures are made in nearinfinity, meanwhile the scripts i will struggle hard with xD I also dont know if Kneel is a action a vampire animation can do xD

    I was also supposed to wear the Daywalker Ring:
    which basicly nerfed me, and with some kind of action that killed me if exsposed to sun without wielding that ring, and i would become immune to sunlight after killing the first Vampire. But i have no idea how to make such sun functions. The blood drain spell i would have would also at higher level summons custom vampires which are supposed to burn and disintegrate in sun as well.

    But i have very little idea how to script :P

    I was supposed to start with the monk here at work, im stuck at work for 2 weeks straight in rotation, and have spare time in the evenings, but i don't come far when the game refuse to install, beamdog client says im online, no fault messages, it just refuse to start download xD

    Do you know if there are good guide for scrpting in baldur's gate for new beginners? Where u learn what actions are availeble and when they are used?
  • Gel87Gel87 Member Posts: 228
    Okay, since beamdog client refused to download any of my games i got mad and bought bgee at steam and installed.

    I found the game folder, and was able to locate chitin.key for nearinfinity. I made a override folder and put all the extra spells from clabmo02 and 03 into clabmo01. I made override spells with progression, added a innate invisibility spell, and added shadow step at certain levels. And modified a 2-3 monk spells for longer progression. And made spell to summon all the bags/containers to my inventory so i dont have to struggle with full inventory. And ofc the +5 attack item copied from +4 item added to table for monk wepon as you listed above.

    I tried to download and use eekeeper. Choose the game folder, but it told me no gamefolder was chosen… any1 know if works on steam version?

    Anyone have the link to correct/newest weidu and eekeeper? Im kinda at work, so need to do all from scratch xD

    I also noticed that all the %magic res comes at level 13, and then starts to progress.
    And it had no thaco bonus spells in table. So i guess it only follow the fighter progression table for taco until 0? And then further increasement is done via hands upgrade and glove items? Or str increases from books/spells/items?

    Anyone know if steam version is different from beamdog version which may make mods act wierd?
  • jmerryjmerry Member Posts: 3,882
    Monks do not have any sort of inherent THAC0 bonus. They follow the fighter progression, and that's it. What they do get is that the higher-level fist attacks have attack bonuses equal to their enchantment level.

    Also, there are a couple of accessories with fist-specific combat bonuses. Very nice for a high-level monk.
  • Gel87Gel87 Member Posts: 228
    edited January 2
    jmerry wrote: »
    Monks do not have any sort of inherent THAC0 bonus. They follow the fighter progression, and that's it. What they do get is that the higher-level fist attacks have attack bonuses equal to their enchantment level.

    Also, there are a couple of accessories with fist-specific combat bonuses. Very nice for a high-level monk.

    Thanks a lot for all the help :)

    Now i just need to find a working teleport/dimmension door spell and turn it into innate, since i eekeeper failed i will make a ring with albilities to gain 100k xp, 500k xp and 1mill xp for test reason.

    However, the +5 fist i made currently share name with the +4 fist.

    Can i use the:
    BEGIN
    SAY NAME
    @1
    @2
    @3
    @4
    End

    Function in a tp2 file, or do i need to find that file that the kit.tpa include for this to work?

    And i guess i will need to make a english.tra file as well with the actual names and descriptions

    Kinda for now just need a simple way of:
    - Put name and description for items
    - Put name and descriptions for spells
    - Put name on creatures
    - Assign creature scripts

    Since i have such bit issues with scripting i will do as much as i can in nearinfinity with the bat spells.

    I will copy and modify wail of banshee to have the desired targets for aoe bat swarm spell, and finger of death for the single target one.
    Theese spells will be set up with actions to force targets to cast summon spell(bats) with me as location.

    And then there will be a spell which bats are supposed to use to inflict piercing damage(lets say i use imprissonment as base to ensure bat is close to enemy when takes damage)

    Which means i will only have to script:
    Random(Walk) for 50-200ms
    Movement of bat to LastSummonerOf(Myself)
    Myself ForceSpellRES(LastSummonerOf(myself)
    And possible random walk for 500ms
    DestroySelf

    Could you help me with such a creature script?

    Kinda looks like this, for now:
    // GelVa08.bcs - Bat Swarm Script for GelVa08.cre

    IF
    True()
    THEN
    RESPONSE #100
    ActionOverride(RandomWalk("Myself")) // RandomWalk for 500ms
    ActionWait(500)
    ActionOverride(Myself, MoveToObject("LastSummonerOf(Myself)")) // Move to Last Summoner of Myself
    END
    Continue()
    IF
    Myself, InRange("LastSummonerOf(Myself")
    THEN
    RESPONSE #101
    ActionOverride(Myself, ForceSpellRES(GELVA11,"LastSummonerOf(Myself)")) // Cast Piercing Damage range 1 spell on enemy
    ActionWait(250)
    ActionOverride(RandomWalk("Myself")) // RandomWalk for 250ms
    ActionWait(250)
    DestroySelf()
    END
    Post edited by Gel87 on
  • jmerryjmerry Member Posts: 3,882
    Editing the name and description of an item is best handled through WeiDU code, in the .tp2 file or similar:
    COPY ~mymod/myitem.ITM~ ~override~ // Start working with this item; copy it from your mod's folder.
        SAY NAME1 @1 // Unidentified name. This @ is a reference to a .tra file, used to enable multilingual mods.
        SAY NAME2 ~Item Name~ // Identified name. A literal string also works, if you're not worried about translations.
        SAY UNIDENTIFIED_DESC @3 // WeiDU has predefined constants for a bunch of offsets, mostly in CRE and ITM files.
        SAY IDENTIFIED_DESC @4 // Spells can skip NAME2 and IDENTIFIED_DESC; those fields are unused.
    

    You often see people closing a COPY or COPY_EXISTING block with a BUT_ONLY. This tells WeiDU that you're done with the item, and to close it and move out of the PATCH mode. But it's not pure boilerplate - it also tells you not to save the copy if you haven't made any changes since copying the item. So for something like this where you might not have a copy of the item in the game files already, I wouldn't use it. You can instead leave PATCH mode by simply using an ACTION.

    (And yes, this is language-specific jargon. I strongly recommend keeping a copy of the WeiDU documentation open in a browser window when you're working with the language. For me, that's a local copy on my hard drive - I downloaded the thing, so I have access regardless of connection status.)
  • Gel87Gel87 Member Posts: 228
    jmerry wrote: »
    Editing the name and description of an item is best handled through WeiDU code, in the .tp2 file or similar:
    COPY ~mymod/myitem.ITM~ ~override~ // Start working with this item; copy it from your mod's folder.
        SAY NAME1 @1 // Unidentified name. This @ is a reference to a .tra file, used to enable multilingual mods.
        SAY NAME2 ~Item Name~ // Identified name. A literal string also works, if you're not worried about translations.
        SAY UNIDENTIFIED_DESC @3 // WeiDU has predefined constants for a bunch of offsets, mostly in CRE and ITM files.
        SAY IDENTIFIED_DESC @4 // Spells can skip NAME2 and IDENTIFIED_DESC; those fields are unused.
    

    You often see people closing a COPY or COPY_EXISTING block with a BUT_ONLY. This tells WeiDU that you're done with the item, and to close it and move out of the PATCH mode. But it's not pure boilerplate - it also tells you not to save the copy if you haven't made any changes since copying the item. So for something like this where you might not have a copy of the item in the game files already, I wouldn't use it. You can instead leave PATCH mode by simply using an ACTION.

    (And yes, this is language-specific jargon. I strongly recommend keeping a copy of the WeiDU documentation open in a browser window when you're working with the language. For me, that's a local copy on my hard drive - I downloaded the thing, so I have access regardless of connection status.)

    Thank you :)
    Do you have a link to that weidu documentation? I struggle a little, there are so many sites etc.
  • Gel87Gel87 Member Posts: 228
    edited January 2
    Well, i found a complete scripting guide^^

    And their first example may even be what i need, by replacing nearest enemy of myself with LastSummonerOf(Myself)
    But i dno if bats have an attack option. And i tried to add random walk as well xD
    IF
    	True()
    THEN
    	RESPONSE #100
    		RandomWalkContinuous()
    		Continue()
    End
    
    IF
     		See(LastSummonerOf(Myself)) // If I see my nearest enemy
    THEN
    	RESPONSE #100
            	Attack(LastSummonerOf(Myself)) // Then attack my nearest enemy
    		Continue()
    END
    		
    IF
    		Range(LastSummonerOf(Myself), 2)
    THEN
    	RESPONSE #100
    		ReallyForceSpellRES("GeVa20", LastSummonerOf(Myself))
    		SetGlobal("GelBat", "LOCALS", 1)
    END
    		Continue()
    IF
    		Global("GelBat", "LOCALS", 1)
    THEN
    	RESPONSE #100
    		DestroySelf()
    

    I wonder about theese global values. Cause im gonna summon several of theese bats at same time...
    And if this global value change into GelBat, 1. Will all bats kill themselves prior to other action? xD
    What is a good way to ensure each bat does this behaviour prior to killing themselves?

    Maby i should use:
    IF
    OnCreation()

    Instead of
    IF
    True()

    ?

    And maby i should drop the global values and instead do this:
    IF
    		Range(LastSummonerOf(Myself), 2)
    THEN
    	RESPONSE #100
    		ReallyForceSpellRES("GeVa20", LastSummonerOf(Myself))
    		DestroySelf()
    
    END[/code]
  • Gel87Gel87 Member Posts: 228
    Okay, so i failed a little. First of i forgot to assign bcs to creature lol.
    Once that was done, i had ofc used the wrong spell, so each bats summoned other bat swarms until game broke xD

    Well with correct spell it works somewhat, the bats are summoned, but not on me, they are summoned around the enemy summoning the the bats...
    I used "wail of banshee" as trigger, so every enemy affected by that range will summon bats. Ideally i would love them to summon bats on me instead. But i don't know how.

    I could maby make a script. Where my the summoning spell or my trigger spell sets a global value.
    Then use Player1, player2, player 3 etc to make sure it target me, but i would also need a IF check to look for who actually casted the spell XD

    As for bats i used the imprissonment spell, but it does not seem to be casted, maby because that one is bugged in BG1EE, or i have done something wrong with the spell itself, or the ReallyForceSpelRES function dont work in baldur's gate. And the little knowledge i have i dont know if ForceSpellRES or ApplySpellRES will make some1 cast a spell they dont have.

    Something like this?

    // GenericResponse.bcs
    FOR (INDEX = 1; INDEX <= 6; INDEX += 1) BEGIN
     IF
      		CheckStatGT(PlayerIndex(INDEX), "GelVa00", 0) // Check if the indexed player has cast GelVa00
     THEN
      	RESPONSE #100
      		ReallyForceSpellRES("GelVa01", PlayerIndex(INDEX))
     		DestroySelf()
    END
    END
    

    Or maby like this?
    FOR (INDEX = 1; INDEX <=6; INDEX += 1) BEGIN
    IF
    		Global("GelVa00_Cast", "GLOBAL", 1)
    		CheckStatGT(PlayerIndex(INDEX), "GelVa00")
    THEN
    	RESPONSE #100
      		ReallyForceSpellRES("GelVa01", PlayerIndex(INDEX))
    		SetGlobal("GelVa00_Cast", "GLOBAL", 0)
     		DestroySelf()
    END
    


Sign In or Register to comment.