Hi all,
So over the years, I have been asked many times to build in the following features into SDR:
- Guards following people that have their weapon out or are sneaking
- Fresh kill / dead body alerts
- Near miss alerts
- Combat alerts
All of these things involve working with AI Packages, which I know next to nothing about and find very confusing. I've read through the CS.elderscrolls.com wiki, but I still don't really get what I need to do.
One of the issues is that all of these features are provided by other mods, and they all have strict requirements that they don't want anyone using any of their code. I can respect that.
That puts me in a bind, because I have to reinvent the wheel, and I can't really use the other mods as a template. In fact, I have intentionally avoided looking at them.
I'm not opposed to adding these features to SDR - especially since it would mean fewer additional .esps in my own load order. But I'm going to need some help from folks who are AI Package experts.
The way I see it, there are lots of challenges to doing this, which is why I have been avoiding it:
1. How does an "alert" work. For example, in the last three items, a fresh kill, near miss, or being in combat, could all result in a "we're being attacked" alert. Would that be some sort of spell? Would it be a function script? Presumably, there would have to be some sort of radius in which comrades could hear the shout. Would the radius be fixed, or would it be based on the "personality" of the shouter? How do I determine who hears it? And if someone does hear the shout, how do I determine how they react?
2. Let's say someone does hear the shout, would they fight, flee, wander, search? Presumably, they would run a find package in which the target was the person who shouted. Once they arrived, what would they do then? Just let things progress naturally? If he shouter is in combat, would they automatically go into combat, or at least alert? Or would they go into find mode and try to find the combat target of the shouter? What happens when they engage in combat?
3. How in the world do I determine a "near miss"? I can't even determine when a sword hits a wall (I wish I could, because it would add a detection bonus to finding the striker). When there is a near miss, does the target automatically detect it, or should there be an intelligence check. If they make their intelligence check, what do they do next? Presumably go into an alerted state, but I don't know how to do that either, unless it's the SetAlert function (which I guess makes sense). But all that does is draw their weapon. Is that enough? Do I add a wander package or a find package, and how does that work?
4. If someone is in combat, do they keep "shouting", or is it just when they first engage? Or maybe it's every few seconds?
5. If someone comes across a dead body, how do I determine the reaction? What if the person is already in combat, I would assume that they probably wouldn't care anymore. How do I track who has died and who has seen the dead body? If you've already come across the body before, there shouldn't be a second reaction.
As you can see, lots and lots and lots of problems. And frankly, it's not something I really want to tackle, or have time for.