Invisibility is broken.
issueid=3742 06-30-2015 08:33 PM
Ancient Member
Number of reported issues by Blasphemous: 110
Invisibility is broken.

My DE Mindcrafter died in Ice Queen Domain, on the battlefield.
I had a cloak of invisibility on and never attacked any monsters there.
Fire creatures won the battle and I was walking around collecting items.
Then all of a sudden, a fire giant king next to me decided to swing at this particular spot in the air FIVE times:

Code:
You pick up 560 gold pieces.
The fire giant king hits you. You block the fire giant king. 
The fire giant king hits you. The fire giant king hits you. 
The fire giant king hits you. You die...
Explain to me please, how is that fair?
I was intrinsically lucky and wore ankh so it's not luck related.
An invisible char at full HP gets randomly hit 5 times by a creature that doesn't even see invisible things and gets killed.
It would have probably been more than 5 but I ran out of HP.
Something has to be done about this because that's not how invisibility is supposed to work.
At the very least, maximum number of attacks should be 1 even if the attacker could normally attack several times in a turn.
Otherwise, we have a situation when invisible char has a 1/8 (or so) chance to get insta-gibbed because... because fuck it, let's make invisibility useless and blur the line between monsters that see invis and those that don't.
After all, what's the difference when the mechanics works like this?
Issue Details
Issue Number 3742
Project ADOM (Ancient Domains Of Mystery)
Category Windows 7
Status Unconfirmed
Priority 4
Affected Version ADOM r57
Fixed Version (none)
Milestone (none)
Users able to reproduce bug 4
Users unable to reproduce bug 1
Assigned Users (none)
Tags (none)




06-30-2015 09:01 PM
Senior Member
"Otherwise, we have a situation when invisible char has a 1/8 (or so) chance to get insta-gibbed..."

Okay, first of all I'm not downvoting, and I basically agree with what you are saying: invisibility isn't useful enough. but 1/8 just means brownian motion. If it was any lower than that they would have to be actively *avoiding* the pc's tile. I don't think that makes sense.

CAn you kind of explain what you want to happen instead?

06-30-2015 10:17 PM
Ancient Member
What I'd expect is that monsters unable to see invisible will not hit the invisible PC more than once per turn.
1/8 is just a chance that the monster will step on any of the 8 tiles around it, or perhaps even 1/9 since it could choose to stand in the same spot but that's not the point here.

Hitting the PC 5 times in a single turn is the point. Come on, once could be justified as suspecting where the PC is but 5 times? While the PC is invisible and the monster cannot see the PC?

06-30-2015 10:21 PM
Senior Member
Quote Originally Posted by Blasphemous
What I'd expect is that monsters unable to see invisible will not hit the invisible PC more than once per turn.
1/8 is just a chance that the monster will step on any of the 8 tiles around it, or perhaps even 1/9 since it could choose to stand in the same spot but that's not the point here.

Hitting the PC 5 times in a single turn is the point. Come on, once could be justified as suspecting where the PC is but 5 times? While the PC is invisible and the monster cannot see the PC?
Ah, got it. Sorry, I just didn't understand before. That sounds reasonable.

06-30-2015 11:04 PM
Senior Member
I always assumed this was because the monster runs into the PC, realizes there is an invisible enemy on that square, and proceeds to swing away at it.

(not that I don't miss the old behavior)

06-30-2015 11:47 PM
Ancient Member
I don't think this is a bug. This is intentional behaviour AFAIK.

07-01-2015 12:16 AM
Ancient Member
If the monster indeed runs into the PC, there should be some information about that, but no.
One turn you're standing there, another turn you're being hit by the monster.
I'd also expect the two actions - running into a PC and hitting him - to take two turns, given the same speed. That is not the case, it all happens in a single turn and the PC has no way to prepare/defend against it.

@JellySlayer: It may be intentional but it's also misleading and thus buggy. Are we to consider intentionally wrong things to be the new standard now? I refuse to do that and it's a bug for me.
From a reasonable point of view of a seasoned gamer, a player has the right to expect that invisibility will make it if not impossible then at least extremely difficult for monsters to hit the PC if they can't see through it, which is the case here.
Yet suddenly the whole advantage is negated in a single turn and results in PC's death.
Now, I don't mind dying in this game, it's part of the gaming experience but at least my other deaths can be attributed to: being unprepared for monster's disabling attacks, not healing on time, not having enough PV, forgetting to equip resistance/immunity item etc.
In other words - player's direct actions lead to his demise, which is fine.

With invisibility though, all I did was expect it to work and when it didn't, the result was another dead character.
Not due to my carelessness but due to a fundamental flaw in game mechanics.

The way I understand it is that this was done along with monsters being able to hit the PC in the dark.
The problem is, the latter is reasonable - I can imagine a monster trying to hit something in the dark, knowing the enemy is out there.
But in this case, the monster doesn't know I'm there and yet the whole situation seems to suggest monsters are constantly on the search for invisible chars, looking for a way to pummel them to death, just because.
This situation shows that the current behavior negates invisibility's advantage entirely in this case, which again I think is a buggy behavior.

The old behavior was better indeed; current one I think is bugged or at least insufficiently explained/justified in the manual.

07-01-2015 01:31 AM
Senior Member
Quote Originally Posted by Blasphemous
If the monster indeed runs into the PC, there should be some information about that, but no.
You're right about this. It should be something like:

"The <foo> accidentally stumbles into you!"

the some string about receiving just a minor injury.

Quote Originally Posted by Blasphemous
One turn you're standing there, another turn you're being hit by the monster.
I'd also expect the two actions - running into a PC and hitting him - to take two turns, given the same speed. That is not the case, it all happens in a single turn and the PC has no way to prepare/defend against it.
I doubt its intentional. Probably this is just a rare enough case that it just isn't dealt with very well.

Quote Originally Posted by Blasphemous
The old behavior was better indeed; current one I think is bugged or at least insufficiently explained/justified in the manual
Yep. The bottom line is that monsters that don't see invisible *shouldn't see invisible things* or act like they do. Yeah, we can say that they hear the pc or whatever, but, get real, the pc should be smart enough to tiptoe around. This explanation only even starts to make sense for things like cave tigers that have great hearing. Now we've got animated trees that apparently have sonar.

EDIT: As far as jelly saying this is intentional, moving and attacking may not be handled as separate things when dealing with hostiles. I mean, if an actor tries to occupy a square, adom probably checks to see if the actor already in that square is hostile, and calls an attack function if it is. The problem is that this should be a special case, but it is handled the same way as any other one, because that's just what the move/attack function does. So, it's intentional in that it was coded that way on purpose, but it was probably not coded with this situation in mind.

07-01-2015 01:52 AM
Senior Member
P.S: I think Blas knows what the real problem was. There was not enough variation in random modifiers on the rocks that he was carrying, so he was not able to kill the giant by throwing a [+1, +5], {+3, +17}, (+20, +1), ((+3, +2)), {{+4, +15}} rock at it. Someone should RFE.

07-01-2015 02:07 AM
Ancient Member
Just bring back 1.1.1 invisibility. The only change to that I approve of was preventing invisible PCs from bolting monsters with impunity, because that was too good. But everything else made it go from useful to nearly useless. Now you've got goblins that can track and hit you like they have super-senses, and drinking a potion of invisibility is no longer a clever way to lose an approaching vortex.

07-01-2015 03:10 AM
Ancient Member
Quote Originally Posted by Blasphemous
If the monster indeed runs into the PC, there should be some information about that, but no.
One turn you're standing there, another turn you're being hit by the monster.
I'd also expect the two actions - running into a PC and hitting him - to take two turns, given the same speed. That is not the case, it all happens in a single turn and the PC has no way to prepare/defend against it.
Same thing happens when a PC runs into an invisible monster... And the PC still does full damage with slaying powers, crits, etc. still applied, and spells, wands, and missiles still function properly against invisible monsters.

@JellySlayer: It may be intentional but it's also misleading and thus buggy. Are we to consider intentionally wrong things to be the new standard now? I refuse to do that and it's a bug for me.
From a reasonable point of view of a seasoned gamer, a player has the right to expect that invisibility will make it if not impossible then at least extremely difficult for monsters to hit the PC if they can't see through it, which is the case here.
Invisibility currently blocks, by your own reasoning above, 87.5% of attacks that ought to be directed at the player. That is a pretty powerful effect already, especially considering that invisibility is easy to acquire (even at low DL), can be persisted indefinitely, and has no downsides to speak of. I don't really see any need to buff it up much more unless you also want to make invisibility much harder to acquire, or have some notable downside associated with it.

Yet suddenly the whole advantage is negated in a single turn and results in PC's death.
You got unlucky. It happens.

07-01-2015 07:07 AM
Senior Member
Quote Originally Posted by JellySlayer
Same thing happens when a PC runs into an invisible monster... And the PC still does full damage with slaying powers, crits, etc. still applied, and spells, wands, and missiles still function properly against invisible monsters.
'Runs into'... How many times have you genuinely attacked an invisible monster by accident? Usually when I 'run into' a monster, I have a decent idea of where they are or I wouldn't be trying to hit them to begin with, and it is totally plausible that my pc is gunning for them when he moves into their tile. I get a 'you sense movement nearby' message or whatever or see a cone of magical ice heading towards me and infer their location. Blas is talking about a situation where the enemy actor never had any reason to know he existed.

Quote Originally Posted by JellySlayer
Invisibility currently blocks, by your own reasoning above, 87.5% of attacks that ought to be directed at the player. That is a pretty powerful effect already, especially considering that invisibility is easy to acquire (even at low DL), can be persisted indefinitely, and has no downsides to speak of. I don't really see any need to buff it up much more unless you also want to make invisibility much harder to acquire, or have some notable downside associated with it
0% of the attacks "ought" to be directed at the player, because the whole point is that none of them should be intentionally targeting the pc to begin with if the enemy doesn't know they exist.

07-01-2015 07:34 AM
Senior Member
Most of all I don't like about current Invisibility that you can't smith safely - dozens of monsters seems to gather about you.

07-01-2015 08:12 AM
Ancient Member
Quote Originally Posted by JellySlayer
Same thing happens when a PC runs into an invisible monster... And the PC still does full damage with slaying powers, crits, etc. still applied, and spells, wands, and missiles still function properly against invisible monsters.
Please note that even in that case, the PC only attacks once.
If I get attacked by a stone ooze while invisible, I will get paralyzed and my armor ignored so it's not like monsters can't use special attacks against invisible PC without seeing him/her.
Also, like somebody else mentioned, the PC doesn't just run into an invisible monster.
The monster usually attacks the PC so now we have the case of anticipation and awareness the monster is out there and the PC is actively seeking it.
If the monster remains neutral, there is virtually no chance for the PC to run into it.
It happened to me once in about 10 years of playing, when I forgot to equip see invisible while on the cat lord level.
That only happened because I was actually looking for the monster.
How many invisible stalkers have you passed by without even knowing?

Quote Originally Posted by JellySlayer
Invisibility currently blocks, by your own reasoning above, 87.5% of attacks that ought to be directed at the player. That is a pretty powerful effect already, especially considering that invisibility is easy to acquire (even at low DL), can be persisted indefinitely, and has no downsides to speak of. I don't really see any need to buff it up much more unless you also want to make invisibility much harder to acquire, or have some notable downside associated with it.
It doesn't block any damage at all. That 87,5% is just the chance that a monster will not hit you when blindly prodding the empty space, which is a faulty mechanism on its own.
That should not take place at all. Monsters, even hostile ones that the PC has not attacked or interacted with in any way, should not be able to hit the invisible PC at all when they can't see through invisibility.
I'm not asking to buff it, just to make it reasonable and consequential.

Right now, with the scenario I described in the original post, it's actually harmful because people assume that invisibility actually works as the name suggest, while in critical situations it doesn't.

Invisibility has downsides - it greatly increases energy consumption when obtained from items.
Intrinsic invisibility doesn't have that downside but is very difficult to get.
The spell isn't exactly easy to learn for non-casters, even if you manage to get the book somehow.
Potions wear off with time, sooner than the PC would like so I think it is balanced.

Yes, I did get unlucky, which doesn't change the fact that invisibility is broken. I'm all for making it harder to acquire or have an extra downside if that means it will actually be invisibility, not partial invisibility.

07-01-2015 12:21 PM
Ancient Member
I seriously doubt that monsters' attack per turn number can be limited without reworking a lot of places in code.

Just let it go, Blasph. These days I sometimes come up with all sorts of RFEs and then I remember that nobody cares anymore.

07-01-2015 06:35 PM
ixi ixi is offline
Junior Member
I see two issues here.

First of all invisible character should be just harder to be hit by monsters that rely on vision and can't see invisible.

Second issue is quite major and always bothered me a lot. In ADOM world there is no difference between "move" and "swing" actions. In most cases it's fine but when either invisibility or darkness is involved I want to scream sometimes. No one can bump into something - no matter monster or player character. Have you ever hit your companion or cat in darkness? I'll give at least to a lot illogical examples:

While walking through Terinyo you're peacefully swapping positions with farmers. But when tiny girl in my way I'm receiving the following message: "Really attack the tiny girl?". I know why it happens but is it makes sense?
What if I want to put away my weapon and walk peacefully? ADOM has no command for it. So you can accidentally hurt something that you can't see. Put two shields shields - you can walk peacefully! But when you're bumping into something invisible you're getting quite cool message which makes no sense for me at all: "You should wield a weapon" (or something like that). Why this message without any explanation while I just want to walk?..

Issue above is just yet another example - the only difference that monster was walking and accidentally attacked you.

07-01-2015 07:05 PM
Senior Member
Quote Originally Posted by ixi
While walking through Terinyo you're peacefully swapping positions with farmers. But when tiny girl in my way I'm receiving the following message: "Really attack the tiny girl?". I know why it happens but is it makes sense.
Nope. It doesn't. And it's entirely the result of technical limitations. There is no attack command separate from move, because that would require the game to keep track of what direction your pc is facing and display that info to the player. And since you've just got an approximately 10x16 tile to work with, showing facing is difficult, if not impossible. So you can't do that, move and attack become conflated and you get unintended consequences...Like killing cats you bump into.

Again, this is entirely due to technical limitations, not due to a design decision to make the player pay closer attention or something. ADOM doesn't try to guess whether the player really wanted to attack an enemy in the vast majority of cases, because an additional prompt would slow down gameplay. So you are left with the default case of move-attack.

Again, the reason for the 5x attack on invisible target isn't because tb thought that's what made sense in this situation. It's just default behavior. He didn't even think about this possible outcome, probably. Unless he wrote specific code to handle this situation just like bumping into the tiny girl is handled as a special situation, this is what happens when the move function is called or whatever. Default behavior doesn't imply intent in any way.

07-01-2015 08:06 PM
ixi ixi is offline
Junior Member
Quote Originally Posted by gr3ybird
technical limitations
It's limitation just of existing implementation. Which I hope could be changed as part of resurrection campaign...
I'd say it should work that way:

1. First of all there could be a command to remove your weapons and don't attack at all. This was suggested a lot of times. Preferably tactic setting. I don't see a reason why this can't be done. This almost completely solves the problem. Don't want to hurt something accidentally - remove your weapons.

2. For monsters there are no interface problems. So there obviously should be difference between move and swing. When monster decides what to do first it doesn't just chooses direction - it chooses action - move or attack. If chooses move - it could only bump. If chooses attack - he won't move but can swing through the air.

3. Something like that can be done for PC: if it doesn't see monster - default action is "bump" (unless berserking). No harm to monsters. Also force attack command could be added to fight invisible monsters or in darkness with other tactics, for example usual move/attack commands with pressed Alt. Or there could be 3 modes: a) only move, b) attack if visible monster on the way, c) only attack - don't move at all.

07-01-2015 08:19 PM
Senior Member
Quote Originally Posted by ixi
It's limitation just of existing implementation.
Yeah, that's probably a better way of putting it.


Quote Originally Posted by ixi
1. First of all there could be a command to remove your weapons and don't attack at all. This was suggested a lot of times. Preferably tactic setting. I don't see a reason why this can't be done. This almost completely solves the problem. Don't want to hurt something accidentally - remove your weapons.
Not a bad idea at all! works with the existing interface, all you have to do is set to hit or damage to zero. I mean, this would really require only a minor change. RFE it, I'll upvote it.

Quote Originally Posted by ixi
2. For monsters there are no interface problems. So there obviously should be difference between move and swing. When monster decides what to do first it doesn't just chooses direction - it chooses action - move or attack. If chooses move - it could only bump. If chooses attack - he won't move but can swing through the air
Maybe a simpler solution would just be to play with pc stats, like setting DV to a really high value while invisible. You would have to have a way to ignore this for monsters that see invisible, though.

Quote Originally Posted by ixi
3. Something like that can be done for PC: if it doesn't see monster - default action is "bump" (unless berserking). No harm to monsters. Also force attack command could be added to fight invisible monsters or in darkness with other tactics, for example usual move/attack commands with pressed Alt. Or there could be 3 modes: a) only move, b) attack if visible monster on the way, c) only attack - don't move at all.
Well, you probably want to keep attack as the default. That is what you almost always want to do. Whatever behavior you are adding should be the special case, not the default. Really, I think having a zero to hit/damage setting with tactics probably covers this fine, it's a simple and effective solution.

07-01-2015 09:32 PM
ixi ixi is offline
Junior Member
Quote Originally Posted by gr3ybird
RFE it, I'll upvote it.
I'm sure I've seen such RFEs before but wasn't able to find anything now. However found another RFE - #722 for PC to bump into monsters by default. Current ticket IMHO is just about making the same fix for monsters. If no one finds I'll create it once I get some time.

Quote Originally Posted by gr3ybird
I think having a zero to hit/damage setting with tactics probably covers this fine, it's a simple and effective solution.
Almost. It's great idea but doesn't solves the actual problem. The idea to bump into invisible monsters unless you're berserking and swing everywhere around you like crazy. Not only when your weapons are put away. Just adding a prompt won't solve the problem completely - likely once you bumped into something you'll want to attack that direction, not bump and attack then every time. Hence either command to attack without moving or such "mode" is needed.
I think these interface problems are the main reason why this isn't implemented still.

Quote Originally Posted by gr3ybird
Maybe a simpler solution would just be to play with pc stats
It is simplier but there still will be something odd in invisibility...

Quote Originally Posted by gr3ybird
like setting DV to a really high value while invisible
Invisible things must be harder to hit. So setting higher DV makes sense, which Blasp mentioned too ;) Although this is only half of the problem... At least hitting you first time should take much time at least, just like monster bumped into you first and only then started attacking.

07-01-2015 09:48 PM
Ancient Member
Quote Originally Posted by Blasphemous
Please note that even in that case, the PC only attacks once.
PCs don't get multiple attacks, ever, unless they're dual-wielding. Instead, they get reductions to the energy that attacks take via weapon skill, class powers, etc., which kind of works out to the same thing. And in the event that the PC is dual-wielding, yes, both attacks will strike at an invisible monster.

Also, like somebody else mentioned, the PC doesn't just run into an invisible monster.
That's probably because invisibility in monsters is very rare (and see invis intrinsic is rather common). If there were fairly common monsters that had intrinsic invisibility, you'd probably see this happen fairly frequently. Think about it this way: As a PC, you probably see 10000 monsters in a game, and if you were invisible for an entire game, you might see a monster randomly bumping into you like this a handful of times. OTOH, the player only sees maybe 2-3 invisible monsters in the game before getting -SeeI, so based on the same statistics, you'd expect to have to play ~3000 games before randomly stumbling into an invisible monster a comparable number of times.

It doesn't block any damage at all. That 87,5% is just the chance that a monster will not hit you when blindly prodding the empty space, which is a faulty mechanism on its own.
Yeah, that means that 87.5% of the time a hostile monster is next to you, it won't hit you. That's a pretty powerful intrinsic. Back in the 1.1.1 is was the most powerful intrinsic by a wide margin, not only because you could bolt any monster lacking SeeI to death with impunity, but also because ~90% of the game's monsters you could simply walk right passed without ever having to engage them.

That should not take place at all. Monsters, even hostile ones that the PC has not attacked or interacted with in any way, should not be able to hit the invisible PC at all when they can't see through invisibility.
I'm not asking to buff it, just to make it reasonable and consequential.
How about we also greatly increase the rarity and danger level of potions/cloaks/spellbooks/rings of invisibility to reflect the strength of the intrinsic then?

On the realism point, just because the monster doesn't see you doesn't mean that it can't detect you. If you're wearing heavy metal armor and carrying two tonnes of gear in your backpack, then the monster can probably hear you even if it can't see you. Animals can probably smell you.

Invisibility has downsides - it greatly increases energy consumption when obtained from items.
Energy consumption? No. Food consumption, yes, but food is a weak effect. Increasing the energy consumption of actions while invisible--say, making it act like stiff muscles--would be a good way to balance it though.

Intrinsic invisibility doesn't have that downside but is very difficult to get.
The spell isn't exactly easy to learn for non-casters, even if you manage to get the book somehow.
Potions wear off with time, sooner than the PC would like so I think it is balanced.
It's an easy spell to learn and has a very low casting cost.

+ Reply