sNeaksieGarrett on 26/7/2013 at 19:38
That's a fantastic idea Yandros.
Shadowspawn, if I understand you correctly, you're saying by default Thief sets the Ai to "dead" when knocked out rather than "asleep" ? If that's true, that seems like a rather simple fix! (Well, except for that bit about odd behavior upon waking up again.)
kdau on 26/7/2013 at 20:18
Quote Posted by sNeaksieGarrett
Shadowspawn, if I understand you correctly, you're saying by default Thief sets the Ai to "dead" when knocked out rather than "asleep" ? If that's true, that seems like a rather simple fix! (Well, except for that bit about odd behavior upon waking up again.)
Keeping in mind that this is the AI mode "dead" and not the state of being slain, yes, that's what happens to KO'd AIs. If it didn't, though, the engine would continue to treat them as live AIs, wasting resources on them. They might also start doing things again under certain conditions - the M-KnockedOut metaproperty doesn't seem to disable everything. Further, not using "dead" would break anything that checks for AI status that way, including TrigBraindead.
I did some basic testing, and it seems the best way to go about this is to use the AI\AI Core\AI property. After a normal knockout, making any change to that property (such as temporarily changing it to "None" and then restoring it) resets the engine's data for the AI, restoring its behaviors. So the full list of steps would be:
* Remove the M-KnockedOut and NoPingBack metaproperties.
* Set AI\AI Core\AI to e.g. "None". This could be done with a metaproperty.
* After a moment's delay, restore it to its previous value (usually, remove it and allow it to be inherited again).
* Correct the AI's position. A brute-force fix is to teleport the AI upwards a few units when waking it. If the waking is going to be player-visible, I'd try Shadowspawn's suggestion of one of the GMDB "get up" motions instead.
* Restore the AI's physics model (otherwise it will be a ghost): reinstantiate the Physics\Model\Type property. (This probably needs a script.)
The one unsolved problem here is that, once the physics model is restored, the "body hitting surface" sound plays whenever the AI moves. I'm not sure yet what's causing that or how to stop it. Other than that, the AI should then be back to normal (less one hit point if the blackjack was used, of course). YMMV with any special behaviors that need to be restored.
sNeaksieGarrett on 26/7/2013 at 21:19
Interesting. I see I was wrong. Thanks for setting that straight. :O Also, I don't entirely understand what you wrote there but it sounds good. :p
I would think it would be non-player visible, unless the player happens to be walking by when an AI wakes up, which then of course you'd need to make sure it looked right. So I guess there's no way of avoiding that, short of teleporting the awakened AI from his knocked out spot somewhere else. Then again, even that's not a perfect solution because Garrett could be walking by when the guard "respawns."
LarryG on 26/7/2013 at 21:32
The original ecology script checked to make sure that Garrett wasn't looking at where the respawning would take place, so I imagine that TW's will take care of that too. Similarly the reawakening effect could be kept from view as well.
sNeaksieGarrett on 26/7/2013 at 23:52
Oh, didn't know that.
LarryG on 27/7/2013 at 02:06
Yep.
Quote:
FireShadowEcology
gen.osm G
When a flicker tweq fires, and the object is not currently visible, a FireShadow object is created at this location. A new object will not be spawned if the old one still exists.
MysteryMan on 27/7/2013 at 08:28
I was able to follow ShadowSpawn's idea by removing the knockout stim from one ai, forcing him to lie down using conv 177, then adding M-Possum (similar to M-ZombiePossum). Walking anywhere near him revives him.
Edit:Increasing the AiWatchObject radius in distance allows the Ai to get off the floor walking past the room.
If anyone would like to have the demo, let me know.
******** width="420" height="315"><param name="movie" value="//www.youtube.com/v/hLfDILoAbDk?hl=en_US&version=3"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="//www.youtube.com/v/hLfDILoAbDk?hl=en_US&version=3" type="application/x-shockwave-flash" width="420" height="315" allowscriptaccess="always" allowfullscreen="true"></embed></object>
Ottoj55 on 27/7/2013 at 15:36
the standard response to ko'd and killed ai in deus ex human revolution is to stop and investigate, then try to reawaken. makes for a handy ambush. its something i've gotten used to in newer games that thief lacks.
sNeaksieGarrett on 27/7/2013 at 22:32
Wow, looks pretty good. Looks like you've got a new knockout animation too, it looks different.
MysteryMan on 28/7/2013 at 00:09
Quote Posted by sNeaksieGarrett
Wow, looks pretty good. Looks like you've got a new knockout animation too, it looks different.
Thanks,it is one of ShadowSpawn's new motions:Conv 177. I used the same in this next video demonstrating how the ai is killed, then comes back.
1st part is knockout, the 2nd part is kill.
******** width="420" height="315"><param name="movie" value="//www.youtube.com/v/Wi0M4Qn_dRk?hl=en_US&version=3"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="//www.youtube.com/v/Wi0M4Qn_dRk?hl=en_US&version=3" type="application/x-shockwave-flash" width="420" height="315" allowscriptaccess="always" allowfullscreen="true"></embed></object>