Jump to content

polytope

Modders
  • Posts

    828
  • Joined

  • Last visited

Posts posted by polytope

  1. I'd think it should check both Die() and StateCheck(Myself,STATE_DEAD) as triggers in the top block, Die() reliably cycles once unlike state checks and then there's no need for a variable.

    Die() is also triggered by Imprisonment opcode #211 iirc, so can cause problems with variables set by creature deaths outside the party, being reversible and repeatable... probably irrelevant for Siege of Dragonspear unless you're a solo sorcerer with way too much xp.

    Water elementals shouldn't be affected by Flesh to Stone anyway, I mean, they're water.

  2. Does anyone know why there are these seemingly redundant entries in RACE.ids?

    • 132 SHADOW
    • 133 SPECTRE
    • 134 WRAITH
    • 175 SPECTRAL_UNDEAD

    and CLASS.ids?

    • 170 SHADOW
    • 171 SPECTRE
    • 172 WRAITH
    • 175 SPECTRAL_UNDEAD

    Aren't all of the above spectral undead? Of course they need unique races to distinguish them in the instances that they also have a character class, like for effective spellcasting levels, but I don't see the purpose of the 175 entry.

  3. 3 hours ago, CamDawg said:

    The move from op179 to on-hit 177s was to prevent one weapon's damage bonuses from applying to the other weapon in a dual-wield situation. There was no solution for the 178s.

    I'm not saying we shouldn't explore this avenue, just that we need to balance any proposed solution using 179s against this (admittedly small) regression.

    Well, considering flame tongue is slashing, the separate 3 points of damage in the feature block creates a genuine ceil rounding issue IMO, because it's an odd number and undead are so often slashing resistant, most notably demiliches but all skeletons and mummies too. Damage rounding is always less accurate when the damage is split into multiple increments which is probably why EE changed the "save for half" mechanic.

    Daystar, in contrast was obviously and intentionally coded to work that way from the start, but it's always obviously meant to be a higher tier weapon.

  4. On 7/11/2023 at 10:52 AM, kjeron said:

    A lot of the named Staves are straight from PnP (at least in name, not so much in function), where they are listed along with Rods and Wands, none of which list an enchantment level in their name.

    I think a lot of rods (all except smiting, flailing, lordly might and terror) were intended only to be used for their magic effects, never as weapons and this is also the case with every wand except the wand of lightning (which could deliver a shock with a melee hit), the same seems to be true of staves of curing, command, magi (but not the staff of power) and swarming insects, those aren't listed as having a physical attack function.

    BG2 didn't distinguish quarterstaves from oversized-wand-type-staves but since the staff of the magi is the most powerful, it got a +5 enchantment level, but only +1 to hit and damage because it really isn't meant to be a melee weapon.

    I guess that was more or less the designers' logic.

  5. This is not my best thread, for some reason I tested with the unmodded OBG flame tongue (which uses multiple #179s as an equipping effect) rather than the unmodded EE flame tongue (which ofc moves the damage to #177s in the feature block).

    Since #178 is like luck and a few other opcodes it's bonuses won't correspond to extra damage in the weapon's feature block, unless applied (and subsequently excluded by #324) in the exact same order.

    The first #178 on equipping (and top #177 in the melee feature block) should probably be the bonus versus undead, so that it would be fully +4 versus undead that were also classed as "cold using" if there are any.

    Or just revert the damage bonuses to #179 and reorder from greatest to least, so there won't be a problem with ceil rounding of small but separate damage increments when striking something that has physical resistance.

  6. 19 hours ago, jmerry said:

    I ran a quick test on what would happen if a creature was in multiple categories - take the illusion werewolves, multiply HP by 10, remove the script for them to switch to real weapons, set GENERAL to UNDEAD and CLASS to WOLF_WINTER ...

    All of the damage bonuses stacked, for a total of +6. The weapon only got an additional +1 to hit; it appears that the first instance of opcode 178 was applied and all others were ignored.

    In my tests neither THAC0 nor damage bonus stacked, not even when using duplicate flame tongues in each hand, but the erroneously low +2 was used for a "winter wolf" cre that's also a lycanthrope and undead. Is it possible you had another source of damage like the bonus for striking at unarmed (+4)?

    Anyway, regarding overlap of bonuses:

    19 hours ago, jmerry said:

    No reason to double up if there's something like a cold-using undead creature, for example. The Blizzard trolls ... the problem is, there are other effects that target race TROLL, so moving away from that would cascade to the likes of Crom Faeyr. And as long as it's still a TROLL, adding a second ice-based category would cause the damage stacking.

    In game there are no undead trolls (spectral trolls are supposed to be undead, but clearly turning by priests would interact badly with the troll death mechanic), no undead lycanthropes and no undead elementals. Cold themed undead are present in IWD, but not BG. There are also no weretrolls or winterwolfweres.

    So it's really just Cryonax and his blizzard trolls then, plus the frost salmanders, ice mephits, and all regenerating mephits/imps.

    For what my opinion's worth, it's unlikely to break anything by assigning frost salamanders the "winter wolf" class, whereas trolls because of their emergent bugginess should be left alone if possible (and for the blizzard trolls it's only +1 to hit and damage on a late-game fighter with a lot of other presumable bonuses). As a unique monster Cryonax should probably not be reclassed, even if it means he can't be hit by flame tongue, put it down to a special "boss" perk that he can extinguish your fiery sword (but you have better swords by then so...).

    A flat +1 bonus versus the races of mephits and imps would be justifiable, doubtful if it's worth differentiating the ice mephits.

  7. 3 minutes ago, Luke said:

    What do you mean exactly...? Unlike op344, op178/179 affect all attacks, not just the weapon they're on...

    You're right, I obviously misremembered this as being fixed at the same time the effective enchantment level versus creature IDS entries were.

    This flametongue is still a decent offhand weapon later in the game, then.

  8. Quite apart from the incomplete array of "cold-using creatures" for the sword's effects, many monsters with natural regeneration are also missed: Most mephits, imps, abishai and cornugon devils (plus pit fiends, but the sword is only +2 vs regenerating creature so couldn't hit them most of the time). IIRC, regeneration unfortunately isn't a detectable stat either, even on EEs.

    Although, conceptually, it's debatable that a flametongue sword would do extra damage versus a regenerator that is also immune to fire like imps and cornugons. Even though the sword's extra damage isn't fire, it's intensified against types of creatures that are normally fire-vulnerable.

    As for Cryonax and his blizzard trolls, it's really unlikely anyone will still be using this weapon if and when they encounter them (they don't show up in Ascension games), because it's only a +3 longsword versus cold based monsters, the party will almost certainly have more than one better longsword.

    9 hours ago, InKal said:

    I always immediately sell that sword. Improve also the selling price please!

    I kind of liked in BG2, it's one of the best reusable early game weapons to backstab a vampire with, also possibly useful against demilich alongside Daystar if you haven't yet been to Watcher's Keep.

    EE hit it with the nerf bat though by restricting hit/dam bonuses to one hand, whereas belm, which is generally thought of as a much better offhand weapon got no such nerfing. Disregard, only the global +4 enchantment level was removed.

  9. Yeah, it's exactly the same thing as far as the player wasting items when attempting something that wouldn't have worked (your previous example being "need to use your potions of thievery to finish getting everything"). If you can't pickpocket any more from someone, you're not informed as to why, you can either attack them, drink a possibly wasted potion, or give up.

    The EE's revision of pickpocketing is also a lot easier to get away with than in the original game absent a lot of reloading.

    28 minutes ago, Thacobell said:

    I still have no idea what point you are trying to make here. I'm talking about items flagged as pickpocketable.

    I was quoting kjeron, there, you can reply to multiple people in one post using the + at the bottom of each post.

  10. 4 hours ago, kjeron said:

    You can steal a bow out of there hand, but not a sword ... the logic is already broken.

    True that.

    4 hours ago, kjeron said:

    However, with regards to weapons such as Shillelagh, Flame Blade, Spiritual Hammer, Moonblade, etc..., the person stealing doesn't necessarily know that it's a magically created weapon.

    Shillelagh and Star Metal Cudgel perhaps, but with the "blade" line of spells, wizard and priest both, it's clear from descriptions those aren't solid items that anyone else could grab.

    Flame Blade: "With this spell, the caster causes a blazing ray of red-hot fire to spring forth from his hand."

    Moonblade: "This spell summons forth a silent, weightless sword-like construct made of moonlight that extends four feet from the caster's hand."

    Phantom Blade: "This spell creates a translucent, shadowlike, weightless area of magical force extending from the fingers of one of the caster's hands."

    (unfortunately those blades do have visible hilts in sprite, contrary to description)

    Quite apart from pickpocketing, I'd like it if spells of this kind (and Chill Touch/Ghoul Touch) could remain active while polymorphed or shapechanged (because besides Moonblade I think they're unpopular for a reason, as are druidic shapeshift and 4th level polymorph self).

    Messy to implement though, and definitely in the realm of "tweak" rather than "fix".

  11. 14 hours ago, Thacobell said:

     the other leads you to believe you need to use your potions of thievery to finish getting everything... Clarity in game mechanics/messages is only ever a good thing.

    Wasting potions to attempt something? Just a part of RPGs in general, unless you extensively metagame. Examples:

    • Notice a monster is immune to the normal arrows you're shooting at it, switch to +1 arrows and waste a few before realizing it's immune to those as well. Should the game display "Weapon Ineffective (you needed at least a +2 weapon)"?
    • Miss an enemy with an attack roll of 19, gulp a potion of heroism and still miss with your next 19. Again, is it necessary to inform the player "Attack Roll 19 -1 = 18: Miss (you missed by 4 points)"?

    The only use of thievery potions anyway is to either sell, or drink with the intent of stealing things that could also be sold, those aren't critical resources. I don't see how the unnecessary expenditure of such would ruin someone's campaign to the extent of being a bug rather than tweak.

    8 hours ago, kjeron said:

    And that still wouldn't cover all possibilities.

    The currently selected weapon, the Fist slot, and the Magical Weapon slot cannot be stolen, without any regard to skill or the unstealable flag.

    Isn't the magical weapon slot still used for Polymorph/Shapechange attacks etc.? It doesn't make sense to steal a mage-in-golem-form's iron hands. Even with other things like Spiritual Hammer it's hard to imagine taking it away from the cleric who cast the spell. Melf's Meteors are the only case I could see as a stealable item.

    Currently selected weapon is visible in game for most animations, so it would be obvious to the player, but again, how could a thief stealthily steal a sword currently gripped by someone else's hands, rather than from a scabbard?

  12. 17 hours ago, Galactygon said:

    Or implement a flag to "bypass opcode 101" in the saving throw field (as bit23?) in the feature block? It would make the most sense to have this type of behavior there, among other things such as mirror image behavior. Then you hit several birds with one stone since you can seperate any opcode basically.

     

    13 hours ago, Luke said:

    Alternatively, if you do not want to touch the engine, I can share a WeiDU function that completely gets rid of op101 and relies solely upon splstates to determine what goes throught what. Since it completely removes op101, this function is supposed to be run as a "last mod", so as to ensure mods that still use op101 are compatible with the new system. However:

    1. As already said, people would be "forced" to install it
    2. It's kinda difficult to automatically handle op39 and its different uses

    Maybe (on installation) regexp search through .spl files and find those with spell school matching enchanter (0x0025) or spell type (0x001c) matching PSIONIC which also inflict a #39 in the feature block; this provides a list of obviously "mind affecting" spells or abilities causing sleep, then Chaotic Commands can be patched for opcode #206 vs these rather than the current #101 vs #39?

    Still needs to come last in the install, unfortunately, and there seems to be no consistency in modders actually tagging psionic powers as psionic, rather than innate, SPIN775 seems to be the main one to consider on vanilla (others are cutscene only).

    Wands and suchlike will also be a bit more complicated, and there are also edge cases where the spell/spell like ability causes secondary effects besides sleep if saved against that might not be conceptually intended as mental attacks.

  13. On 7/6/2023 at 9:44 PM, Thacobell said:

    No, its not always been like that. Current patch of the EEs has removed the, "target has no items" message.

    It's essentially the same though, in the older versions the pickpocketing attempt would still return "target has no items" when they actually do, if in slots that couldn't be stolen from or outright flagged-as-unstealable items. You always needed to actually kill and loot the target to be sure you've taken everything possible.

    Strictly speaking "no items that can be stolen by YOU" is more accurate than "no items", since it covers the latter possibility. Besides, how exactly would a thief know for sure that the mark isn't carrying anything else? It would require a strip search to be certain.

  14. On 7/1/2023 at 10:41 PM, Thacobell said:

    Neeeeeeeeeeeeeds fix...

    It's always been like that.

    Trying to pickpocket someone with items marked as unstealable or in slots that couldn't be stolen from (armor, selected weapon, helmet etc.) would return the message "target has no items", only if the player goes ahead and murders whoever they were trying to steal from would they discover otherwise.

  15. On 7/2/2023 at 5:21 AM, pete_smith1229 said:

    Interesting, shame it's not available to individual characters but at least I can use it for the party. Thanks very much!

    I would implement it via the summoning by .spl of an invisible creature on any killing blow with the weapon which executes the following script (or something similar):

    IF
      OnCreation()
    THEN
      RESPONSE #100
        IncrementGlobal("SlainByXXXX","GLOBAL",1)
    	SmallWait(1)
    	DestroySelf()
    END

    Then ofc an addition to the background script with TakeItemReplace()... which won't equip the new weapon unfortunately, might be annoying if it happens in combat, but of course you can check for the condition CombatCounter(0)

    As for the conditions for triggering this, could set it up via opcode #232 as an equipping effect, like Dorn's sword, but this is a problem if dual wielding because it will still trigger on killing hits with the other weapon (and this condition isn't available on non EE games).

    Otherwise you can EFF target actors which are dead, in the feature block of the weapon, i.e. #177 matching parameter 2 (ids file) = 3 (general), parameter  (dead)1 = 3 (dead).

    However, in my tests EFF targeting dead actors with shell spells can be buggy, so you might instead prefer to have the #146 directly in the weapon's feature block, and exclude actors who aren't dead (by #324 on EE, #177 otherwise).

  16. 14 hours ago, kjeron said:

    Or use op283 for the EFF, as it also ignores immunity.  Does it really matter that remove curse will remove it?

    2 hours ago, Luke said:

    Yes, it does...? I mean, you can abuse Remove Curse to remove effects that are not supposed to be removed ...

    In my tests it almost never mattered for sleep/knockdown/unconsciousness which seems the most contentious (being that with EE opcode #24 can selectively bypass immunities in its own right).

    If someone gets knocked down by a wing buffet/Dragon's Breath spell they'll be sent flying across the area, Remove Curse is a touch range spell with a casting time of 6 for priests, 4 for wizards, by the time you've walked your spellcaster over to them to remove it the knockdown has most probably worn off.

    Stinking Cloud, on the other hand, if you want to use #283 as a sleep-immunity bypassing helplessness (I'm not so sure, besides Chaotic Commands I think plenty of sleep immune critters would also ignore a SC, so needs an additional #324 in the spell's feature block or a #206 in their cre file)... Removing Curse would change little, they'll need to save again next round if they're still in the cloud.

    As for the longer duration disabling effect of Comet and Bigby's Crushing Hand, need to decide if we still want sleep or a sleep variant as the implementation, rather than stun/hold, as it once was.

    Any arcane spellcaster, of course, can set a Contingency:Helpless -> Remove Curse, but it's quite situational and unpredictable.

  17. EE hasn't changed this, I believe.

    About the HitBy([EA],0)...HitBy([EA])The subsequent 0 means (oddly) crushing OR any listed damage type from DMGTYPE.ids. If you don't specify a damage type from DMGTYPE.ids HitBy([EA]) returns true for any attack regardless of the damage being blocked by Stoneskin or protection from weapon types.

    The other thing is that Mirror Image is different in this regard, attacks soaked by stoneskin trigger the HitBy() condition, but not if intercepted by a Mirror Image.

    For example BEAR.BCS has this block, only triggered by fire damage specifically:

    IF
    	HitBy([ANYONE],FIRE)
    THEN
    	RESPONSE #100
    		SetInterrupt(FALSE)
    		RunAwayFrom(LastAttackerOf(Myself),200)
    		SetInterrupt(TRUE)
    END

     

  18. I'd add the Prestige Kit Pack by Inesius, one of the more balanced (mostly) kit mods I've seen

    It was hosted on Spellhold Studios, which is down, but I still have the files if anyone wants.

    I think that mod needs an update to EE compatibility actually, as it includes pre-EE (published in 2008) versions of Shadowdancer, Dragon Disciples (multiple colors) and Blackguard, the Blackguard being IMO better conceived than the version that eventually made it into EE.

  19. 2 hours ago, zelazko said:

    Make Rangers and Paladins achieve proficiency beyond specialization by spending two time the proficiency fighter requires. So if Fighter needs to spend 5 points to achieve grand mastery in any given weapon Ranger/Paladin would need to spend 10 points to achieve same grand mastery.

    Honestly I think it would be easier and less buggy to try to make this a HLA tree than either messing around with the 2da files and level up UI screen or adding a background script/invisible creatures and associated dialogue (which also feels a bit unnatural and immersion breaking).

    I.e. it would work similar to the power attack->critical strike->smite or extra 6th->7th->8th level spell choice progressions of HLA, first time it's picked grants weapon mastery, second time high mastery, third time grand mastery.

    Edit: I mean your character will probably be at epic levels anyway by the time you've spent 10 proficiency slots on a weapon, depending on your game 5 slots in a weapon might be achievable at 9th level, 10 slots at 24th, but for some setups you could have 5 slots as soon as 3rd level if you didn't spend them elsewhere, thus 10 slots at 18th level (which is above the threshold for rangers and paladins to start getting HLAs).

  20. 15 hours ago, kjeron said:

    The EFF applied by Op272 works this way for everything: Magic Resistance, Probability, Saving Throws, opcode Immunity, Spell Deflection/Reflection/Trapping.

    Always avoided using #272 for other reasons, so I genuinely didn't know this.

    Just tested and it's equally true on the original BG2 engine. Only the save/resist/power level of the original #272 are checked, the subsequent EFF in the resref always applies even if it has an associated save and the subject makes it.

    #177 did not have this issue, it's totally possible for it to check for example save vs spells and death, going through only if both are failed.

  21. 14 hours ago, marchitek said:

    I tested that for op177 on BG:EE 2.6 and it seems to be blocked when saving throw succeeded.

    I think what he meant was that making a save against secondary effects applied through #272 doesn't end the application of that effect, it will be called again at the next specified time unit and necessitate another save.

    If you want prolonged status effects that end once a save is successful it's probably better to instead use opcode #146 to cast a chain of shell spells, i.e. the feature block should look like:

    1. Save vs whatever or suffer the status effect (and associated cosmetics) for a duration of X time units
    2. Also save vs whatever or this .spl is reapplied with a delay of X time units
  22. 9 hours ago, Zot said:

    2. Rebalanced Weapon Mastery

    This allows 5 proficiency pips ONLY for two handed melee weapons, and caps the limit at 4 pips for all other weapons. It also tweaks the bonuses:

    1: no bonuses or penalties
    2: -1THACO, +2Damage, +1/2 APR
    3: -2THACO, +3Damage, -1Speed, +1/2 APR
    4: -3THACO, +4Damage, -2Speed, +1 APR
    5: -3THACO, +5Damage, -3Speed, +3/2 APR

    I think we discovered that speed factor bonuses from WSPECIAL.2da aren't actually applied in game, although 5 stars gives an increase to attack rate which effectively reduces the delay associated with high speed factor weapons.

    4 minutes ago, zelazko said:

    Enable Tranzig to use innate Flesh to Stone spell.

    Since upping Tranzig's class level to allow him tap into level 6 arcane spells would unbalance the encounter innate spell should be used instead.

    Tweak is lorefriendly. As we all know Branwen fell victim to Tranzig's flesh to stone magic.

    He could've used a scroll though, even a scroll of Chromatic Orb (at lvl 10), or he could perhaps have been level drained.

    It makes more sense to me than a human - not a Medusa - wizard having such an innate ability.

  23. 17 hours ago, jmerry said:

    Patch 2.6 updated shadow dragon breath - it's not temporary anymore. Any sort of temporary level drain is definitely mod material, no longer supported by any instance of the base game's mechanics.

    Yes, but that was a bad call.

    Shadow dragons in 2ed way back when this was game was published had a breath attack that only temporarily drained levels.

    It's easy to understand why, every other level draining monster needs to get into melee range and successfully penetrate your AC to drain you of levels, shadow dragons have a ranged AoE auto-hitting breath, it was obviously felt to be excessively severe if that's also permanent.

  24. 15 hours ago, morpheus562 said:

    This consensus was not reached for Assassination. Either it is dispellable like the other items mentioned, or it was intentional like the other items mentioned. You are welcome to rehash in the main thread, but consensus was not reached.

    My mistake, no consensus then, but even so, Assassination is clearly not a combat protection and the fixpack has a history of addressing obvious copyvover bugs (from cloning and cosmetically polishing a file but leaving a few important things unchanged).

    The protective HLAs have some commonality with wizard & priest spells classed as combat protections, i.e. immunity to instant death effects or damage resistance.

    There is not one other instance where a special ability that exclusively enhances a character's performance when attacking, rather than their defensive potential, has the combat protection sectype, neither a HLA (like Whirlwind or Smite) nor a special class/kit ability (Quivering Palm, Poison Weapon) nor even a wizard or cleric spell (Shocking Grasp, Slay Living etc., which usually have either the combination or "offensive damage" sectypes).

    Quite separate to the issue of whether abjuration spells like Breach should be able to strip a fighter or thief's HLAs is that Assasination is a really extreme outlier in terms of its sectype compared to the in game function of this HLA in any case.

    17 hours ago, RoyalProtector said:

    Yeah, I would concede that that magic resistance and detect invisibility cases are a bit more tricky, and probably ambiguous (and thus 'compromise' is the only thing you can get). However! I think they should not be affected by Dispel Magic for example (i don't know if they are).

    Changing Assassination makes sense to me too. But other cases such as Evasion seem pretty clear to me too, so I'm not sure why there's consensus only with that one. Ah well. It can always be put in a tweak mod, so it's up to preference.

    Stealth from rangers or thieves isn't dispellable, but the description of the Detect Invisibility makes it pretty clear how it's supposed to work:

    "When the wizard casts a detect invisibility spell, he is able to see clearly any objects or beings that are invisible, as well as any that are astral, ethereal, or out of phase. In addition, it enables the wizard to detect hidden or concealed creatures (e.g., thieves in shadows, halflings in underbrush, and so on)"

    I.e, anyone in the area who is trying to hide from the caster (magically or not) is revealed unless warded by Spell Immunity etc.

    It's a mystery how it works, just like the Identify spell (shouldn't it be harder to identify items made by different species? by those you don't share a language with?) but that's how it is.

×
×
  • Create New...