but, i think if you already had rFire and rCold, and you were cursed to be vulnerable to Fire, it you still act as rCold (does not stack like a potion would) but you would have no resistance vs Fire.
If you did *not* have any other resistance, then you would take 2x damage from Fire, but you would get rCold.
AFAIK invulnerabilities override the curse.
The only use is if you get an immunity early enough that you still have trouble covering the basic resistances. The immunity overrides the vulnerability.
It's interesting because my robe or resistance (which has "fire vulnerability")
shows rAcid rElec and rCold but nothing for Fire (It looks like the vul just neutralizes the rFire). But I also have an amulet that resists Fire so my @ has rFire from it.
Unfortunately, curse side effects do not show up in the character info. (It should be a red '-' symbol.)
Also, IIRC, vulnerability translates to 4/3 base damage, not double damage. (Just as it certainly does for monsters.)
It's interesting because my robe or resistance (which has "fire vulnerability")
shows rAcid rElec and rCold but nothing for Fire (It looks like the vul just neutralizes the rFire). But I also have an amulet that resists Fire so my @ has rFire from it.
I wouldn't trust the display until you test it by looking at how much damage you take from a known fire attack. I recently reported a case where the display was wrong, and while you might be covered you also might not.
The display on the character sheet (and the equippable comparison in the knowledge menu) is misleading if an object provides both a resistance and a vulnerability to the same element. A '.' will be shown for the object and that element. As Pete Mack tried to say but it ended up in another thread, really need to use another symbol to indicate that it has both. '-' does not work well since it will mislead about how the object's properties will combine with objects which are '.' or '-'.
The '@' line in the equippable comparison does show the combined resistance from all sources for the player so that, barring bugs, could be one place to check if you're getting the resistance level you want. (edit: the color of the resistance label on the character sheet also shows the combined resistance, barring bugs; light blue for resistance not including timed effects; green for immunity).
Last edited by backwardsEric; July 13, 2023, 12:41.
Reason: note color of labels on character sheet
A '-' counteracts any number of '+'s (and a '+' counteracts any number of '-'s), resulting in no resistance (adding a '!' for resistance from a timed effect will turn that into a single resistance; adding a '*' for an immunity overrides anything else and results in an immunity).
An object that has both a vulnerability and a resistance (currently shown as '.'; a planned change will show it as '~') counts as providing a '+' and a '-' for that rule.
A '-' counteracts any number of '+'s (and a '+' counteracts any number of '-'s), resulting in no resistance (adding a '!' for resistance from a timed effect will turn that into a single resistance; adding a '*' for an immunity overrides anything else and results in an immunity).
An object that has both a vulnerability and a resistance (currently shown as '.'; a planned change will show it as '~') counts as providing a '+' and a '-' for that rule.
Why not just mark it with a '-'? The minus overrides the '+', so the '+' might as well be ignored. Putting a '.' is misleading compared to the meaning of the '-'.
Why not just mark it with a '-'? The minus overrides the '+', so the '+' might as well be ignored. Putting a '.' is misleading compared to the meaning of the '-'.
Because if all the other equipment for that element is '.' or '-' (admittedly not likely but possible), the player will think the result is '-' if it is labeled with '-'.
Because if all the other equipment for that element is '.' or '-' (admittedly not likely but possible), the player will think the result is '-' if it is labeled with '-'.
I finally understand. I didn't realize a resist changes a vulnerability to nothing. Clueless me.
In that case, IMO the display needs to check other items and display a '-' if any other wielded item has a resist but no vulnerabilty, and a '.' if not.
Since anband is already using unicode for limited cases, there is plus-minus symbol in character info, or x in character dump.
Using U+00B1 is a good idea. One problem with it is whether whatever font the front end uses has a glyph for it. A quick check with the SDL front end suggests that at least two of the .fon files packaged with Angband (also used for the Windows and SDL2 front ends) don't: something that should be '±' comes out looking like empty space.
The change that made it in into the latest nightly build uses '~'. Like the rest of the symbols for the character sheet, it's possible to customize that via a preference file or set up a modified copy of lib/gamedata's ui_entry_renderer.txt in one's Angband user directory to override what the defaults are.
Comment