Currently you get the same message of a creature resisting an effect whether it was due to a saving throw or a % resistance. This makes it hard to see how effective your own resistances are, and how effective your abilities are against the enemy. I suggest changing the messages to the following:
- "foo resists" for passing a saving throw
- "foo is unaffected" for winning a % check (eg if it had 60% stun res)
- "foo is utterly unaffected" if it's 100% resistant to that effect
Resist messages
Moderator: Moderator
Re: Resist messages
Something like:
but including the source as well? (from this thread.)jotwebe wrote:How about verbal info then?
- "You resist effortlessly!" >90%
- "You resist easily!" 75-90%
- "You resist confidently!" 60-75%
- "You resist!" 40-60%
- "You resist with some effort!" 25-40%
- "You barely resist!" 10-25%
- "You resist by pure luck!" <10%
Re: Resist messages
Make the 100% one completely clear, since it's the most important one -- "foo is totally immune!" or something along those lines. Something unambiguous. Similarly, all the other ones should try to at least hint at the fact that there's a chance that it could have been affected.
Re: Resist messages
I would be all for this if I didn't have to code it
In other words, something like this would be a lot of tedious work. To give you guys some idea let's take the blind damage type as it is now.
And as it would be if this idea was implemented.
Granted there's a third way to do it which would involve a bit less work but still would mean going through every damage type, timed effect, and talent.
Basically this would put a string return on the canBe("blind") function that would say either (X ignores the blindness or X is immune). But as you can see this would still require the blind damage type to be modified so the %resists the light! string is skipped.
I'm sure there might be an easier way but if the job is as tedious as I'm thinking it might be.. I wouldn't personally volunteer to code it.
Can anyone think of an easier way to do it?
Code: Select all
if target then
if target:checkHit(src:combatSpellpower(), target:combatSpellResist(), 0, 95, 15) and target:canBe("blind") then
target:setEffect(target.EFF_BLINDED, math.ceil(dam), {})
else
game.logSeen(target, "%s resists the blinding light!", target.name:capitalize())
end
endCode: Select all
newDamageType{
name = "blindness", type = "BLIND",
projector = function(src, x, y, type, dam)
local target = game.level.map(x, y, Map.ACTOR)
if target then
if target:checkHit(src:combatSpellpower(), target:combatSpellResist(), 0, 95, 15) and target:canBe("blind") then
target:setEffect(target.EFF_BLINDED, math.ceil(dam), {})
elseif target:attr("blind_immune") >= 1 then
game.logSeen(target, "%s is immune!", target.name:capitalize())
elseif target:attr("blind_immune") < 1 then
game.logSeen(target, "%s is unaffected by the light!", target.name:capitalize())
else
game.logSeen(target, "%s resists the light!", target.name:capitalize())
end
end
end,
}Granted there's a third way to do it which would involve a bit less work but still would mean going through every damage type, timed effect, and talent.
Basically this would put a string return on the canBe("blind") function that would say either (X ignores the blindness or X is immune). But as you can see this would still require the blind damage type to be modified so the %resists the light! string is skipped.
Code: Select all
newDamageType{
name = "blindness", type = "BLIND",
projector = function(src, x, y, type, dam)
local target = game.level.map(x, y, Map.ACTOR)
if target then
if target:checkHit(src:combatSpellpower(), target:combatSpellResist(), 0, 95, 15) and target:canBe("blind") then
target:setEffect(target.EFF_BLINDED, math.ceil(dam), {})
elseif not target:attr("blind_immune") then
game.logSeen(target, "%s resists the light!", target.name:capitalize())
end
end
end,
}Can anyone think of an easier way to do it?
Re: Resist messages
The second option isn't even particularly accurate, as you're skipping the "resists" message even if it did resist but it failed a 5% blindness resist check.
The easiest way that isn't quite perfect is to just add it to the canBe check, and have the resist message from the talent still displayed as a redundant flavour message. Another option would be to have the "ignore" and "immune" as flyouts so as not to clutter the log further.
The easiest way that isn't quite perfect is to just add it to the canBe check, and have the resist message from the talent still displayed as a redundant flavour message. Another option would be to have the "ignore" and "immune" as flyouts so as not to clutter the log further.
Re: Resist messages
I like the ignore and immune flyouts. I don't like particularly like every status effect having the potential to create two log messages.Grey wrote:The second option isn't even particularly accurate, as you're skipping the "resists" message even if it did resist but it failed a 5% blindness resist check.
The easiest way that isn't quite perfect is to just add it to the canBe check, and have the resist message from the talent still displayed as a redundant flavour message. Another option would be to have the "ignore" and "immune" as flyouts so as not to clutter the log further.
But I guess the two log message option would be better then nothing and pretty easy to code.