Well the title say it, zombies in TOEE are immune to entangle ??!?. Entangle probably do a paralyse effect, and undead are immune to paralysis... so just telling you that bug, dunno if you can find a way to resolve that (should be hard )
I'm afraid it might be a bug which we introduced. More specifically it's my fault for putting Monster Plant for undead in protos.tab. The intention was to make undead immune to sneak attacks, mind affecting spells and a few more immunities which should be present for undead. In that regard, we succeeded. At that time, we did not detect any unwanted side effects and therefore went on with the change (we did test on Blight but it doesn't work on undead having Monster Plant). I did not think of testing Entangle because 3.5e does not specifically say that plants are immune to entanglement AFAIK, but perhaps it was interpreted so by Troika. I am reluctant to undo the change because it would then mean undead are now vulnerable to sneak attacks and the other spells stated above. It is possible that substituting Monster Zombie for Monster Plant will resolve the issue with entangle. However Monster Zombie does not address quite a number of mind affecting spells. IMHO, Entangle was poorly implemented and since monsters rarely/never attempt to break free, it is seen by many players as bugged and overpowered. Therefore a further issue with it is potentially less problematic than introducing old bugs in known areas. Should you be interested, you can help test this out. Thanks for the notification. I believe we may need a dll fix to fully resolve the issue.
Why is 'Monster Plant' added to most undead creature protos? From what I can see in testing, giving any creature the type mc_type_undead implements all of the Undead traits perfectly, without needing 'Monster Plant': - Immunity to all mind-affecting effects. - Immunity to poison, sleep effects, paralysis, stun, disease, and death effects. - Not subject to critical hits, nonlethal, or sneak attacks. Can be flanked. - Immunity to any effect that requires a Fortitude save. Was there a dll fix that did this?
marc1967, your Threadomancy spell level has reached level 10 (years) if you have proven that zhuge's changes as detailed above are now indeed defunct, and that removing monster plant for undead protos, and adding the mc_type_undead adding script to the offending undead's first heartbeat scripts is a better solution, make the changes, and upload the files already!!!
You are right, Monster Undead (automatically applied to mc_type_undead) applies all the necessary effects: https://github.com/GrognardsFromHell/DllDocumentation/wiki/Conditions-(List)#monster-undead vs. Plant https://github.com/GrognardsFromHell/DllDocumentation/wiki/Conditions-(List)#monster-plant (the ImmunityCheck handler function does the mind affecting prevention for both). I wouldn't be surprised if it's a holdover from the prepatch / patch 1 days.
He he, the Monster Plant property doesn't seem to do any harm, as it just gives redundant protection. As Sitra pointed out, maybe it was before certain other patches were implemented, and it just stuck around. I was just wondering if maybe I was was missing some other function it provided that was necessary for undead, but apparently not. It's presence in most Elemental protos though is still very necessary, since it provides immunity to Critical, Poison, and Sleep. However, the immunity to Sleep provided by 'Monster Plant' is actually an immunity to all Mind Effect spells which makes Elementals have a protection they really don't, and makes them un-charmable. But I guess there's no better solution. Sitra, those pages you linked with the list of Conditions is information overload, mostly in a good way. There is a wealth of information there, and I can definitely get a really good idea of what is happening for most of them, but they can sometimes be very cryptic and hard to get a grasp of the full picture. But from that page and also my own testing, I have all the Properties figured out. Thanks for your help.
Np. The dispatcher types are 'event types', i.e. queries or actions performed by the engine. You can get a good idea for most of them just from that table, but in the end the logic is implemented in the callbacks (those 0x1...... addresses). If you wish I can send you my IDA database which you can use to rather easily dig into the callbacks (it has a neat pseudo-C display/decompiler so you don't need to read the ASM). Other than that we're also working on externalizing the dispatcher system to Python. For that matter DarkStorm found a handy plugin called PyBind which will let us seamlessly expose C classes and functions to Python, so you'll have access to much of ToEE's innards. This will ultimately allow you to define new Conditions via Python e.g. 'Monster Elemental', new spell effects, racial effects, etc.