Skip to content

Issues with dragons' breath weapons

AndreaColomboAndreaColombo Member Posts: 5,530
edited June 2021 in Troubleshooting
Hello.

I've recently run into an issue with dragons' breath weapons in the classics that appears to affect the Enhanced Editions as well, albeit slightly differently.

Here is how dragons' breath weapons are coded according to Near Infinity:

Dragon	CRE Class	Breath School	Breath Secondary
Black	F/M/C	        Generalist	Magic Attack
Blue	F/M/C	        Invoker	        Offensive Damage
Brown	Red Dragon	Generalist	Magic Attack
Green	F/M/C	        Generalist	Magic Attack
Purple	Shadow Dragon	?	        ?
Red	Red Dragon	Generalist	Magic Attack
Silver	Silver Dragon	Generalist	Magic Attack
Shadow	Shadow Dragon	Generalist	Magic Attack
Yellow	Red Dragon	Generalist	Magic Attack
Topaz	?		None		Magic Attack

The issues are as follows:
  • Contrary to the classics, where all breath weapons have secondary type: NONE (except the red and yellow dragons'), in the Enhanced Editions they are all set to Magic Attack. This looks like an intentional change, so I'm inclined to think it's not an issue per se; however I do believe it doesn't make sense for magic resistance Spell Shield to be able to block a dragon's breath, so secondary type: NONE would be a better fit.
  • For some reason, the blue dragon's breath is set to secondary type: Offensive Damage, which is inconsistent with every other. Intentional? If so, why?
  • All breath weapons except from the topaz dragon's have a school of magic assigned to them. All of them except the blue dragon's have the "Generalist" school; this means that generalist mages (i.e. sorcerers and non-specialist mage **) enjoy an unduly +2 bonus to saving throws against these breath weapons. The blue dragon's breath has school "Invoker" (inconsistently with every other), which means invoker mages enjoy an unduly +2 bonus to saving throws against it. Setting them all to school: NONE would solve the issue.
  • ** It is worth checking how the engine treats the wild mage class in the Enhanced Editions. In the classics there is a bug that makes it qualify as school: NONE when it should be school: Generalist. If it is left as school: NONE, the solution I proposed above would give them an unduly bonus of +2 to saving throws against dragons' breath.
Post edited by AndreaColombo on

Comments

  • sarevok57sarevok57 Member Posts: 6,002
    now are these dragon breath weapons that you actually fight against in game? or are these breath weapons of dragons that can only be fought against using the console?

    for example;
    red dragon and firkraag the dragon are 2 different creatures, but do they both still use the exact same breath weapon?

    maybe the dragons you actually fight against have proper breath weapons, while these "console summon only" dragons have whacky breath weapons because it doesn't matter if they do because you will never legitimately fight against them perhaps?
  • kjeronkjeron Member Posts: 2,368
    They should not have Secondary Type 4|Magic Attack: this results in them being blocked by Spell Shield (which it shouldn't), not Magic Resistance. They should have Secondary Type 0|None or 10|Offensive Damage.

    They should not have Primary Type 9|Generalist (nothing should, unless it is no save): this results in specialist save modifiers for Trueclass/Generalist creatures. They should have Primary Type 0|None, any others would interact with Spell Immunity (and other specialist save modifiers).

    The Wildmage kit does not employ any specialist saving throws.

    Blue Dragon Lightning Breath is an empowered clone of the Chain Lightning spell, in everything but name.

    Red and Green Dragon Breaths you reference are strictly visual aids - they have no effect, so their types don't really matter. Their real spells use Secondary Type 10|Offensive Damage, but are Primary Type 9|Generalist.
  • AndreaColomboAndreaColombo Member Posts: 5,530
    kjeron wrote: »
    The Wildmage kit does not employ any specialist saving throws.

    So school: NONE would never incur any saving throws augmentations even if a school: NONE class casts a school: NONE spell?
    kjeron wrote: »
    Blue Dragon Lightning Breath is an empowered clone of the Chain Lightning spell, in everything but name.

    But it should still have school: NONE, correct?
  • kjeronkjeron Member Posts: 2,368
    So school: NONE would never incur any saving throws augmentations even if a school: NONE class casts a school: NONE spell?
    Correct, this was fixed.
    kjeron wrote: »
    Blue Dragon Lightning Breath is an empowered clone of the Chain Lightning spell, in everything but name.
    But it should still have school: NONE, correct?
    Everything about it is wrong: primary type, secondary type, casting sound/animation, affected by Magic Resist, blocked as a level 6 spell.
  • AndreaColomboAndreaColombo Member Posts: 5,530
    edited June 2021
    kjeron wrote: »
    Everything about it is wrong: primary type, secondary type, casting sound/animation, affected by Magic Resist, blocked as a level 6 spell.

    Interesting.

    I know how to change its school and secondary type. What are the other parameters that govern the rest of the incorrect stuff (and what should the animation and sound be)?

    I whipped up a quick and dirty fix for my personal use and I'd like to make this right.

    EDIT:
    Also, what are the actual SPL files for the red and green dragons' breath?
  • kjeronkjeron Member Posts: 2,368
    casting sound/animation = none
    (ability) casting speed = 0
    (effect) power = 0
    (effect) dispel/resist = 0

    Green = DrGrBrHt.SPL
    Red = SPIN693.SPL
    If you search BCS files for one, you'll see the other, listed in the same block like this:
    ForceSpell(LastSeenBy(Myself),GREEN_DRAGON_BREATH)  // spin535.SPL (Green Dragon Breath)
    ReallyForceSpellRES("DrGrBrHt",LastSeenBy(Myself))  // No such index
    
    A lot of the others have similar visual-only versions, just suffixed with a "v".

    If you're curious, the reason they have separate spells for form and function is because of their large size (and subsequent casting offset), which results in the projectile originating over 10ft out.
    The functional spell uses a normal Area-effect projectile, centered on the target, so the origin doesn't matter.
    The visual spell uses a cone-shaped projectile, which originate from that 10ft+ offset. The cone will either then fire inwards from that offset towards the dragon (if the target is within 10ft), or outwards from the offset if they are further out (ignoring anyone within 10ft).
    By contrast, most other animations only have a 2ft casting offset.
  • AndreaColomboAndreaColombo Member Posts: 5,530
    edited June 2021
    Thank you!

    The blue dragon's breath also has spell type = wizard (1) but it should be innate (4).

    In my classic BGT installation this is already fixed (likewise for power and dispel/resist), but that could be one of the bajillion mods I have.

    EDIT:

    Is this the right code for setting power = 0 and dispel/resistance = 0?
    LPF ALTER_EFFECT INT_VAR power = 0 dispel = 0 END
    
  • kjeronkjeron Member Posts: 2,368
    LPF ALTER_EFFECT INT_VAR power = 0 resist_dispel = 0 END
    

  • AndreaColomboAndreaColombo Member Posts: 5,530
    Thanks again!

    Is there a list of these? As in, the names WeiDU accepts for variables.
Sign In or Register to comment.