I had great discussion on FB D&D 3.5 forums regarding Mists. Apparently I've been using it wrong. 1) Miss chance only against defender in the Mist "A creature 5 feet away has concealment (attacks have a 20% miss chance). Creatures farther away have total concealment (50% miss chance, and the attacker cannot use sight to locate the target)." See this vanilla code: Code: int __cdecl ObscuringMist_Concealment_Callback(DispCallbackArgs a1) { DispIoAttackBonus *v1; // esi@1 BonusList *v2; // esi@2 float v4; // [sp+4h] [bp-4h]@1 v1 = DispIoCheckIoType05(a1.dispIO); v4 = distanceTo(v1->attackPacket.attacker, v1->attackPacket.victim); if ( !D20Query(v1->attackPacket.attacker, Disp_Key_Q_Critter_Has_True_Seeing) ) { v2 = &v1->bonlist; if ( v4 > 5.0 ) { bonusAddToBonusList(v2, 50, 19, 238); return 0; } bonusAddToBonusList(v2, 20, 19, 238); } return 0; } It states, that if attacker is in a Mist then he has miss chance. But this should be other way around - only if defender is in the mist, or more than 5 ft of Mist between them then there will be miss chance. So it's greatly beneficial essentially when attacker is on the edge-inside of a Mist. 2) True seeing should not penetrate a Mist. " True seeing, however, does not penetrate solid objects. It in no way confers X-ray vision or its equivalent. It does not negate concealment, including that caused by fog and the like." 3) Attacker cannot use sight to locate the target. I'm not sure how to implement it correctly. Maybe disallow Player to aim on a creature, which is deep in the mist. As for AI, maybe implement sort of Critter_Is_Invisible towards to PC, who is deep in the mist from attacker's POV. 3.1) Hide NPC from Player, just like it's invisible, when it's totally concealed. 4) Hide in combat when Concealed This is one of the best feature to have for PC Rogues. Essentially when PC Rogue moved into or is in deep mist (>5 ft) then Hide check is allowed without even checks. "Total cover or total concealment usually (but not always; see Special, below) obviates the need for a Hide check, since nothing can see you anyway." So a creature can easily go into hide during a combat when it is in a Mist. Now explanation from FB forum's expert named Ralph: "1) You roll the hide check when the character is not being observed (in this case, from total concealment from being deep in the fog). It doesn't really have an effect at the moment the roll is made since the character isn't being observed and has total concealment anyway. It has an effect when the character moves into a spot with only partial concealment from enemies, which Hide them upgrades to have the same effect as total concealment. But if the character moves into a spot with no concealment at all, that Hide roll is negated and the character is totally exposed until he can break line of sight and roll Hide again. 2) When a character moves while Hiding, all enemies who could otherwise observe him roll Spot checks opposed to the Hide roll. The Spot check uses the modifier least advantageous to the hidden character during the move. So, no, when the hiding character moves into partial concealment at the edge of a cloud he doesn't get a +20 for having started in total concealment." I would implement this in such way: 1. When in Total Concealment character makes Hide roll, not taking into -20 penalty due to combat because of Fog. And becomes Hidden. 2. If Defender is being attacked at close range (5 ft), it should have Spot check against that roll. 2.1. Defender should no be permitted to be attacked if there is more than 5ft of fog between him and the attacker (?). 3. So when hidden attacker will get close to Defender, the latter is entitled to make Spot check. If spotted, then attacker stops being hidden. If not, then attacker will be effectively Invisible. 4. When Hidden attacker moves out of Fog he will loose Hidden in combat (?). Technically it's not by RAW, but I would simplify as by RAW is not just difficult to implement, but also difficult to play. GAMEPLAY 1. Rogue starts in a Fog adjust to Defender. They both see each other and have 20% miss chance (or only Defender has if he is not in a Fog). 2. Rogue moves 5 ft deeper into the Fog, makes free Hide roll. Becomes Hidden if no one is adjust. 3. Rogues then moves back adjusting to Defender to make attack, spending 10 ft of movement due to movement penalty. 4. When Rogue is close to Defender, latter makes Spot check. If Success then Rogues stops being Hidden, otherwise he is Invisible and have bonuses of being Invisible plus sneak attack bonus damage if he makes an attack. Why there is 50% miss chance then if that character cannot be attacked? From guide D&D 3.5: HOW TO STEALTH: "What interests us is that, if you have successfully hidden from a creature, a successful listen check only reveals your general direction. And a VERY successful listen check (+20 DC) will pinpoint your exact position, so they’ll know where to strike. Even then, you are still considered hidden, you have total concealment (50% miss chance), and the creature is considered “flat-footed in respect to you”, so you can typically sneak attack it. That’s why Move Silently isn’t as crucial as Hide for sneaky Rogues." So: You cannot attack invisible creature, unless it have been pinpointed by Listen check and beated it by 20 (!!) OR invisible creature disclosed it's location by offensive action OR invisible creature's location was known before it. I'd say create "unknown-location" condition. Invisible "unknown-location" creature cannot be attacked directly. Not having "unknown-location" condition allows PC and NPC to attack this invisible creature with 50% miss chance. 1. When invisible creature moves it gains "unknown-location" condition. Such NPC should be hidden from Player. 2. When invisible creature casts offensive spell or attacks it looses "unknown-location" condition. 3. Finally Improved Invisible Wizards could strike and move out to become "unknown-location". For Fog: 1. When creature moves deep into Fog it becomes de-facto invisible and has "unknown-location". 2. When creature moves out of Fog or deep For (onto edge) it looses "unknown-location". 2.1. Except Invisible creatures which do not loose "unknown-location". 2.2. Hidden creatures could have Spot/Hide checks against every enemy who can see him, on success retain "unknown-location". Hey what about Listen? This one is tricky and complicated. "And a VERY successful listen check (+20 DC) will pinpoint your exact position, so they’ll know where to strike." So when invisible creature moves to become "unknown-location" or while being "unknown-location" makes non offensive verbal spell casting, or Aid other wake up (a slap) it allows enemies to try to pinpoint it. 1. For verbal spell or slapping I would set DC 0 for Listen. 2. For moving I would calculate Move Silently, but set Take 0 for dice roll and give -5 penalty dues to moving full speed. 2.1. So if creature is stealthy it automatically moves that way (e.g. have bonuses) even without trying. 2.2. If creature is cumbersome or have heavy armor, then even being invisible it still will disclose it's location due to noise.
That's some great stuff here, but is it possible to implement this in ToEE? Looks like a huge improvement.