Skip to content

General mod Questions thread

1555658606170

Comments

  • RaduzielRaduziel Member Posts: 4,714
    swit wrote: »
    @Raduziel, try replacing cre names present in IWDPARTY.2DA and HOWPARTY.2DA with * (or even better, CRE file of your choice to make kit testing faster)

    Thanks. I'll provide feedback as soon as I get home.
  • CamDawgCamDawg Member, Developer Posts: 3,438
    @swit beat me to it.
  • RaduzielRaduziel Member Posts: 4,714
    @swit @CamDawg Works like a charm, thanks!
  • _Luke__Luke_ Member, Mobile Tester Posts: 1,535
    Is there any difference between SET_BG2_PROFICIENCY 92 1 and
    LPF ADD_CRE_EFFECT
    INT_VAR
    	opcode = 233	// Modify proficiency
    	target = 1	// Self
    	parameter1 = 1
    	parameter2 = 92	// AXE, Set if higher
    	timing = 9	// Instant/Permanent
    END
    

    I noticed that the first one creates the same 233 effect but sets target to 0 (None) instead of 1 (Self).....
  • kjeronkjeron Member Posts: 2,367
    Luke93 wrote: »
    I noticed that the first one creates the same 233 effect but sets target to 0 (None) instead of 1 (Self).....
    IIRC effects added directly to creature's don't need the target field set - they're already on the target.
  • _Luke__Luke_ Member, Mobile Tester Posts: 1,535
    edited May 2019
    kjeron wrote: »
    Luke93 wrote: »
    I noticed that the first one creates the same 233 effect but sets target to 0 (None) instead of 1 (Self).....
    IIRC effects added directly to creature's don't need the target field set - they're already on the target.

    I see, so basically no difference....

    Separately, how can I detect IMMUNE1.itm? It seems that
    !CheckStatGT([object],0,WIZARD_PROTECTION_FROM_NORMAL_WEAPONS)
    
    always return false.... I suspect this is due to opcode #282.....
  • AlonsoAlonso Member Posts: 806
    edited May 2019
    jastey wrote: »
    @Alonso the taggs <PRO_something are referring to your protagonist aka PC. If he is male then they are displayed as male in the game. If you use <MANWOMAN> etc without the PRO_ then the gender of the NPC talking will be referred to. It's all explained in the IESDP.
    I was wondering what the "pro" part was about. Now I get it, it's short for PROtagonist! :)
  • RaduzielRaduziel Member Posts: 4,714
    edited June 2019
    Two questions:

    1.

    Is there any way to improve the way a troll's death is handled by the game? I'm kind of tired of receiving three to four extra attacks when the creature should be down already.

    2.

    In PnP, Sanctuary allows a saving throw - the caster is only ignored if the creature fail this check (and only by those that fails). Is there any way to reproduce this behavior in the IE?

    Thanks.
  •  TheArtisan TheArtisan Member Posts: 3,277
    edited June 2019
    Is there any way to improve the way a troll's death is handled by the game? I'm kind of tired of receiving three to four extra attacks when the creature should be down already.
    I'm working on it...

    The problem is that opcode 232 that detects if the troll is low enough to fall over only refreshes every round or so, and because of that it can take up to 5-6 seconds depending on when the troll hit the hp threshold. The sad part is that the current troll mechanic is actually better than how it used to be. In vanilla BG trolls would fall over via script, which meant trolls could take even longer to fall if they kept taking hits too quickly. For some reason ‘current HP’ is not a stat in the STATS.IDS that can be used, or else this would be extremely easy to fix.

    I’m tempted to remove the fall mechanic altogether and give all trolls 80% resistances to everything and 50% acid/fire weakness. You can kill them normally but it’ll take a lot of swinging.
    Post edited by TheArtisan on
  • kjeronkjeron Member Posts: 2,367
    edited June 2019
    AionZ wrote: »
    Is there any way to improve the way a troll's death is handled by the game? I'm kind of tired of receiving three to four extra attacks when the creature should be down already.
    The problem is that opcode 232 that detects if the troll is low enough to fall over only refreshes every round or so, and because of that it can take up to 5-6 seconds depending on when the troll hit the hp threshold. The sad part is that the current troll mechanic is actually better than how it used to be. In vanilla BG trolls would fall over via script, which meant trolls could take even longer to fall if they kept taking hits too quickly. For some reason ‘current HP’ is not a stat in the STATS.IDS that can be used, or else this would be extremely easy to fix.
    I made one quite a while ago, which, given current updates to the engine could probably be improved to run on SPLPROT instead of projectiles (it also only updates two specific items, there are probably others by now). Current HP can be checked in SPLPROT as 'STAT' 0.
  •  TheArtisan TheArtisan Member Posts: 3,277
    Current HP can be checked in SPLPROT as 'STAT' 0.
    WTF.

    Why is this not cataloged anywhere?
  • RaduzielRaduziel Member Posts: 4,714
    AionZ wrote: »
    Current HP can be checked in SPLPROT as 'STAT' 0.
    WTF.

    Why is this not cataloged anywhere?

    Because it is Infinite Engine.
  • kjeronkjeron Member Posts: 2,367
    AionZ wrote: »
    Why is this not cataloged anywhere?
    http://blog.beamdog.com/2018/08/updates-to-infinity-engine.html (11th down):
    • Add splprot type for current hp
    I've mentioned it in a few posts, but I don't think there's any official statement detailing it.
    https://forums.beamdog.com/discussion/comment/981867#Comment_981867
    It's detected by Near Infinity as well (not that it helps know that unless you're already using it):
    d4kymwqi1nii.png
  • RaduzielRaduziel Member Posts: 4,714
    kjeron wrote: »
    AionZ wrote: »
    Is there any way to improve the way a troll's death is handled by the game? I'm kind of tired of receiving three to four extra attacks when the creature should be down already.
    The problem is that opcode 232 that detects if the troll is low enough to fall over only refreshes every round or so, and because of that it can take up to 5-6 seconds depending on when the troll hit the hp threshold. The sad part is that the current troll mechanic is actually better than how it used to be. In vanilla BG trolls would fall over via script, which meant trolls could take even longer to fall if they kept taking hits too quickly. For some reason ‘current HP’ is not a stat in the STATS.IDS that can be used, or else this would be extremely easy to fix.
    I made one quite a while ago, which, given current updates to the engine could probably be improved to run on SPLPROT instead of projectiles (it also only updates two specific items, there are probably others by now). Current HP can be checked in SPLPROT as 'STAT' 0.

    @kjeron that page says that it works only with IWDEE and BG2EE.

    Is that true yet? What is the issue with BGEE?

    Thanks!
  • kjeronkjeron Member Posts: 2,367
    edited June 2019
    Raduziel wrote: »
    Is that true yet? What is the issue with BGEE?
    The mod is just old and abandoned (from before v2.0). I'll look into updating it tomorrow when I have time.
    It should mostly work in BGEE if you change the REQUIRE_PREDICATE from (GAME_IS ~bg2ee~) to (GAME_IS ~bgee bg2ee~). It won't catch everything, at least in SoD, as it added some undead wolves/dogs/something with a similar mechanic to trolls.
  • The user and all related content has been deleted.
  • RaduzielRaduziel Member Posts: 4,714
    @subtledoctor My goal is just the Sanctuary spell.

    And I don't see how Opcode 193 would help as Sanctuary is not invisibility.

    Can you please explain as I was five and had fallen from my crib too many times because mom was too busy making it out with Ricky on the couch and getting drunk to numb the emptiness of a non supported motherhood?

    Thanks.
  • CamDawgCamDawg Member, Developer Posts: 3,438
    I've always thought it would be simpler to handle trolls by letting acid/fire damage at any point prevent their "death" cycle, not just when they're knocked down. There's no reason why fire/acid damage should not block the cycle if it's applied a few rounds early.
  • The user and all related content has been deleted.
  • RaduzielRaduziel Member Posts: 4,714
    Raduziel wrote: »
    @subtledoctor My goal is just the Sanctuary spell.

    And I don't see how Opcode 193 would help as Sanctuary is not invisibility.

    Can you please explain as I was five and had fallen from my crib too many times because mom was too busy making it out with Ricky on the couch and getting drunk to numb the emptiness of a non supported motherhood?

    Opcode 193 lets you target creatures under Sanctuary with weapons or spells. So if you could apply an effect to nearby enemies such that a successful save caused them to be affected by opcode 193, then they would be able to target your sanctuaried character unlrss the failed a save. Voila: Sanctuary gets a saving throw.

    Problem is, a successful save would also allow them to target invisible and hiding-in-shadows people. And there's no way to selectively block that. So the idea is a bust.

    Too nuclear. But thanks :)
  • DavidWDavidW Member Posts: 823
    CamDawg wrote: »
    I've always thought it would be simpler to handle trolls by letting acid/fire damage at any point prevent their "death" cycle, not just when they're knocked down. There's no reason why fire/acid damage should not block the cycle if it's applied a few rounds early.

    Someone should try coding that :)

    (Though my version just deactivates regeneration and the death cycle for one round after the requisite sort of damage is dealt.)
  • BubbBubb Member Posts: 1,003
    Anyone know the difference between LeaveAreaLUAPanic and LeaveAreaLUA? Also, what in the nine hells does "LUA" stand for in this scenario?
  • kjeronkjeron Member Posts: 2,367
    edited June 2019
    Bubb wrote: »
    Anyone know the difference between LeaveAreaLUAPanic and LeaveAreaLUA? Also, what in the nine hells does "LUA" stand for in this scenario?
    As far as I can tell, the LeaveAreaLUAPanic action will momentarily stop a Panicked character, allowing an immediately subsequent LeaveAreaLUA action to take effect. Only appears necessary for panic from Morale Failure, not panic from op24.
    The UA of LUA may be "Update Area", as in move the plaryer's view to the new area.
  • The user and all related content has been deleted.
  • GwendolyneGwendolyne Member Posts: 461
    3. opcode #144 (0x90) Button: Disable Button with parameter2 = 6 (Turn Undead Button).

    That's the usual way to remove a paladin jut Turn Undead ability.
  • The user and all related content has been deleted.
  • kjeronkjeron Member Posts: 2,367
    There's nothing for op318/324 to detect modals.
    The level check against undead is hardcoded.
    Script actions can activate/deactivate turn undead. As for op363 - the effect is only applied if the creature is already in said modal state, and then only triggers when they move to turn off the modal.
  • OlvynChuruOlvynChuru Member Posts: 3,078
    @subtledoctor
    Gwendolyne wrote: »
    3. opcode #144 (0x90) Button: Disable Button with parameter2 = 6 (Turn Undead Button).

    That's the usual way to remove a paladin jut Turn Undead ability.

    Hmm... I'd like to avoid disabling the button. I want to use the button, in a way that's more flexible than the current hard-coded setup. I did this with bard songs once - made it so that fighting and casting would not interrupt the song, but it still used the same "bard song" button in the UI.

    Being able to turn off the modal ability immediately is key, though. Instead of having the modal button stay "pressed down" while the ability is active, it needs to pop back up immediately.

    While this is an inelegant way to do it, you could use an opcode that makes the character uncontrollable with a very brief duration. I tried it with opcode 247 (because very few creature are immune to it) - I had Power Word, Sleep just apply a single opcode 247 effect with timing = 0 and duration = 0, and I had a character cast Power Word, Sleep on someone else who was turning undead, and they stopped without anything bad happening (they didn't attack the nearest creature).
  • [Deleted User][Deleted User] Posts: 0
    edited June 2019
    The user and all related content has been deleted.
  • _Luke__Luke_ Member, Mobile Tester Posts: 1,535
    edited June 2019
    Why do 'DestroyItem()' and Opcode #112 (Remove item) fail to remove opcode #66 (Translucency - timing = 2) from an ITM? Is there a particular reason?
Sign In or Register to comment.