[RELz] NPC Functionality

Post » Thu Jul 08, 2010 8:02 am

http://planetelderscrolls.gamespy.com/View.php?view=Mods.Detail&id=6859
Well, I think I've finally finished a releasable version. Once "The Request Mod," then "Living NPCs" for a little while, and now "NPC Functionality," whatever the name may be - this project of mine has evolved from simple ideas into an ambitious project to cover every plausible aspect of generic NPC interaction with the player. So, without further adieu:

FEATURES:
The Request button: A dialogue topic that allows the choices listed here:

1. Will you come with me? --- This is self-explanatory. You can ask any NPC to follow you and they will, considering certain conditions are met. The "yes" will come from the NPC from factors such as speechcraft, random, the NPC's class and level, and disposition. All four of these work together, so getting someone to follow you is actually pretty difficult. Let's say you're really high in the world. You present yourself with nice clothing, you have quite a reputation and your speechcraft is quite high. The random factor wont be as much of an issue with all three of those factors on your side, though you still may have to repeat the dialogue box and nag them for it. However, the NPC you speak to is just a lowly, level two commoner.
The outcome? The NPC will follow you in curiosity. Wont make much of a minion though, since he/she will most likely run away when you or her come under attack by something. This makes for a crude simulation of morale, or lack thereof, depending on the NPC's profession and skill.

2: Stay here. --- You tell them to stay. If they're following you, they'll take it one way, and stay. If they're not following you, they'll take it the other way, and assume you mean for them to literally "stay here." Again, the responses you'll receive depend on a large variety of things.

3. Please move. --- You know how NPCs always get in your way? Well, you can ask them to move now.

4: What is the date? --- You can ask an NPC the date. It is provided lore friendly. Example: "Mid Year, day 13, 3E483." You wont really find anyone who doesn't know the date, except slaves, really.

5: What time is it? --- "It's just past three thirty in the afternoon." There is statistically a one in four chance that the NPC "wont know the time." You could nag them for it by repeating the dialogue box if you really want to. Up to you.

6. Can you lend me some money? --- You can ask your friends to borrow a few coins for that silt-strider ride or that shirt or a bottle of mazte or whatever. You can ask for 10, 25, 50, 100, 200, 500, 1000, 2000, 5000, or 10000 gold. If they actually have that kind of money on them at the time, receive promise that you'll pay them back, and like you well enough, they might lend you some money. The higher sums of money will be expected to be repaid, possibly with interest - and they WILL remember!

7. What is your best skill? --- The NPC will tell you their best skills, in a roleplay-friendly way. Often times, their skills will just reflect their class. Naturally, commoners are not really skilled at anything, but good at a number of things. Archers will have a higher skill in archery than magic, but not always true. This is stat-based, and useful for judging what role a particular person would be best at in your party, and assign them accordingly.

8: Who do you serve? --- Asks them the faction they serve. Rarely will they refuse to tell you, unless they hate you. Members of the Morag Tong and such will not answer this. Well, they will, just not with the answer you want. This is really only useful if an NPC has specific dialogue covering up their usual "background" responses, but you want to know what group they fall under.

9. Do you know any useful spells? --- Finally, a mod that lets you ask your mage-friends to cast stuff on you! Depending on the person's class and disposition, they can cast a multitude of different spell effects, for or against your (or their) convenience.

10: I need you to guard this position. --- Tell them to keep guard. This will make them stop following you, and guard instead. They'll fight your enemies and guard the position. Useful for stationing NPCs in key positions or setting up an ambush or to cover a retreat. You'll probably scare commoners if you ask them to guard anything, for they'll be drawn to the conclusion that someone is about to attack them!

11: If we get in combat, I need you to fight melee. --- This tells the NPC to fight close quarters, should you experience any violent encounters. Unless they are guarding or following you, you'll probably confuse or scare them. If the NPC likes and trusts you enough, they'll refrain from using any magic or projectiles until ordered therwise.

12. If we get in combat, I need you at a distance. --- When asked, the NPC will inquire as to what you wish for them to do (provided they trust you). You can tell them to avoid combat altogether and keep a safe distance, fight from a distance using magic or projectiles (if they have them), or stay back and provide healing. Only one NPC can be selected as the party healer at a time (I will probably change this later). If chosen, and they have the magical ability to take up the task (they will tell you), then they'll avoid direct encounters if possible, and send healing to you and anybody adjacent to you when your health plummets beneath 40%. They'll send MessageBox dialogue when they have run out of mana.

13. If we get in combat, fight with what you're best with. --- This will cancel all special combat orders and allow the NPC to make their own decisions with combat, weaponry and tactics.

14. I need you to stay out of combat. --- The NPC will run away or simply not participate, in case of violent encounter.

15. If we get in battle, don't use magic. --- Say you happen to raise an army of elite Telvanni battlemages. You don't want one person's lv. 999 Spirit Bomb to destroy your entire force, themself, and you, in one attack aimed at the single retarded cliffracer that bombarded the captain. You can now tell any mage-type NPCs to refrain from casting if safety becomes an issue.

16. I need you to use magic in combat. --- Tells them to use magic. Sometimes useful, sometimes not, depending on your tactics, positioning and group size.

17. Try to move quietly. --- The NPC will sneak if they are following you or set up to guard a position. If their illusion skill is over 50, they will use their magic to assure they go unseen. Asking this of NPCs not following you is likely to confuse them.

18. You can walk normally now. --- Tells an NPC to stop sneaking. Because this can be potentially quest-breaking, I've added checks to assure the NPC is following or guarding for them to do so - otherwise they'll just get confused.

19: Nevermind. --- Self explanitory, it tells the NPC you've changed your mind. I even have random responses to this, and even split them by disposition and the random variable. "Okay %PCName.. but don't be afraid to ask something of me.." At 90. "Eh.. whatever then." At 27.


Well, there you have it. Almost everything you could want from a normal companion, yes? I've tested this thoroughly, and it is now possible to lead tactical assaults on towns, effectively clear dungeons, assign "team archers," "team warriors" and the "team healer," so that the entire group works effectively as a team, and not a rabble. However, the pseudo-morale prevents a home-grown militia to overthrow MCA-Ebonheart+Guard Addition. Don't try it, the legions will crush you, and you'll find your "army" would never fight as effective as trained soldiers. NPCs will also follow orders without question if you outrank them in any faction. Inversely, you'll find that an army of trained warriors, such as the legion soldiers you outrank, or members of guilds, are more likely to stand and fight for you, and batter a path through your foes.

But wait, there's more!!! :shocking:

More dialogue topics:
"How are you?" --- This was Kirel's mod idea, merged in with my mod. It's a simple means of catching up with your friends, and to tell them that you care about their well-being. Normally, they take nicely to that. A very small disposition raise is often rewarded. This is most useful when their disposition is at 97, or some other annoying number, and you just want to secure your friendship with that person. You can only ask this once and the NPC's memory doesn't clear for awhile, so you can't try to chat them to 100 disposition with this.

"I apologize." Again, inspired from a mod, though I added a lot more responses and disposition gains. Basically it allows you to apologize to NPCs, for something you did or didn't do, and hope to get a little disposition gain. You can't apologize up to 100, so don't even try it. It's just to gain a bit of a foothold in your manipulation. Or friend making, however you view it.

"Here's the money I owe you." Allows you to pay an NPC back the money you borrowed, if applicable.


All the above dialogue is sorted for Khajiit-talk, faction responses, randomized and in some cases, disposition and class.


But that's not all!!! :shocking: :o

The reasoning behind the mod name here is not just a more lively NPC "team," but some subtle changes to their interactions to the world around them.

NPCs will respond through voice (hello) differently if your weapon is drawn. Instead of getting a regular spoken greeting, there is a high chance you'll have them say "Careful with that, friend." or "Hey, be careful!" if your sword is waving around.

NPC mages who like you should heal you upon approach (real time) if you're hurt.

NPCs speak voice clips more often, which makes them a tiny bit more lively. Some voice clips "broken" by random100 being at "==" and not "<=" have been fixed.

NPCs will detect murder apart from other crimes. GMSTs tweaked to allow for greater shock and reaction to murder - NPCs should run away a lot when it happens, now.


I've also added basic "follow teleport" and "Companion" variables to the NoLore script since it's on a large number of NPCs. Reason? The more the better, right? And nobody alters that script anyway - not that I've seen anyway.


Post bugs or requests here and I'll fix them for the next version. Enjoy.
User avatar
Alada Vaginah
 
Posts: 3368
Joined: Sun Jun 25, 2006 8:31 pm

Post » Thu Jul 08, 2010 7:35 am

Awesome! :shocking: indeed!

Does it work OK with Julan?
User avatar
Jason Wolf
 
Posts: 3390
Joined: Sun Jun 17, 2007 7:30 am

Post » Thu Jul 08, 2010 1:58 pm

It should work ok with any NPC.
User avatar
Justin Hankins
 
Posts: 3348
Joined: Fri Oct 26, 2007 12:36 pm

Post » Thu Jul 08, 2010 12:08 pm

I'm glad you updated the request mod. :) does your follow option still use CT_follow spell? I modified a few mods that check for AIpackages to also check for the follow spell. Wondering if I'll need to re-modify them.

edit: small typo
User avatar
Taylrea Teodor
 
Posts: 3378
Joined: Sat Nov 18, 2006 12:20 am

Post » Thu Jul 08, 2010 11:58 am

Yeah, it should still use the spell. I left it in because the spell boosts their speed and such, which is just useful to keep NPCs from lagging behind all the time.
User avatar
El Goose
 
Posts: 3368
Joined: Sun Dec 02, 2007 12:02 am

Post » Thu Jul 08, 2010 3:01 pm

Is there any chance you could add in warping for if they get too far away from you? Or would that go against your vision for the mod? I always wished I could add Vampire Embrace's warping and tunneling system to your mod. But the tunneling scripts were just...too complex for me to follow.
User avatar
Racheal Robertson
 
Posts: 3370
Joined: Thu Aug 16, 2007 6:03 pm

Post » Thu Jul 08, 2010 2:30 pm

This sounds absolutelly great... I hope it doesn't break anything, though :/ Still, I am going to try it.

New game is hopefully not required, is it ?
User avatar
Charlotte Buckley
 
Posts: 3532
Joined: Fri Oct 27, 2006 11:29 am

Post » Thu Jul 08, 2010 12:01 pm

Awesome! :foodndrink:

All these combat options makes me think of FFXII's Gambit system, it would be so cool if something like that could be done.
User avatar
Sherry Speakman
 
Posts: 3487
Joined: Fri Oct 20, 2006 1:00 pm

Post » Thu Jul 08, 2010 5:26 pm

Amazing! I didn't know that you were the maker of The request mod...the first version it's a must have!

Very nice ;)

PD: For add more "realism"...Will you add a feture like "what's your weakness?" so, if you want kill someone,you can try make friend of him, go to a cave or something, and ask him about his weakness.Then,you can kill him using,for example,a frost weapon if he is weak to frost.

Another thing that we must it's a "wwhat is your favourite weapon"? because if we can't go companion share,how we'll imaginate wich weapon or amor is the more skilled for him?
User avatar
Zach Hunter
 
Posts: 3444
Joined: Wed Aug 08, 2007 3:26 pm

Post » Thu Jul 08, 2010 3:40 pm

Thanks for sharing :)

Now I can remove several mods that do only parts of this one.
User avatar
x_JeNnY_x
 
Posts: 3493
Joined: Wed Jul 05, 2006 3:52 pm

Post » Thu Jul 08, 2010 4:36 pm

I am VERY impressed. An instant download.
User avatar
Laura Ellaby
 
Posts: 3355
Joined: Sun Jul 02, 2006 9:59 am

Post » Thu Jul 08, 2010 5:08 am

The request mod is one of my favorite mods! Glad to see it being updated, i love the changes and congratulations on all the hard work :)
User avatar
Arnold Wet
 
Posts: 3353
Joined: Fri Jul 07, 2006 10:32 am

Post » Thu Jul 08, 2010 7:49 am

Wow, now that's a sales pitch! :lol: This looks very interesting, the next time I play ( I'm doing a total mod sweep right now ) I will incorporate this, thanks!
User avatar
Julie Ann
 
Posts: 3383
Joined: Thu Aug 23, 2007 5:17 am

Post » Thu Jul 08, 2010 9:33 am

Will this conflict with Antares' mod, VGreetings, LGNPC, Dracandaros' Voice, etc? What sorts of mods will it conflict with?

Anyway, this sounds fantastic! :D I may dump incompatible mods in favor of this one.
User avatar
Susan
 
Posts: 3536
Joined: Sun Jun 25, 2006 2:46 am

Post » Thu Jul 08, 2010 8:16 pm

Just what I always needed.

I may have run into a little problem, though: when I request someone in follow-mode to fight with what you're best with, reaction is
...?
followed by: "What do you mean?"
and several of other options under [more] do, similarly.

(did my practice session with Nande, near Molag Mar Temple, just in case .... , Personality 100, disposition 95)

This may be race dependant; another Altmer and a Dunmer merchant had same as above, while an Argonian slave and an Orc in Balmora came forth with fitting responses.

Cheers,
J.M.
User avatar
stacy hamilton
 
Posts: 3354
Joined: Fri Aug 25, 2006 10:03 am

Post » Thu Jul 08, 2010 8:09 am

Wow... this is really an essential for me from now on. You've just made my realistic game... well, much more realistic :)
User avatar
dean Cutler
 
Posts: 3411
Joined: Wed Jul 18, 2007 7:29 am

Post » Thu Jul 08, 2010 4:25 pm

Cant wait to try this...Thank you!!! :)
User avatar
joannARRGH
 
Posts: 3431
Joined: Mon Mar 05, 2007 6:09 am

Post » Thu Jul 08, 2010 1:22 pm

Awesome! :foodndrink:

All these combat options makes me think of FFXII's Gambit system, it would be so cool if something like that could be done.


I love the gambit system. Battles are so much easier when you can have all four of your party attacking different enemies at once :wub:



Anyway, :shocking: fo shizzle! This is absolutely wonderful! Morrowind becomes more and more like real life every day! Soon... we won't be able to tell the difference! (Some of us probably can't already...:ninja: )

:goodjob:
User avatar
Angel Torres
 
Posts: 3553
Joined: Thu Oct 25, 2007 7:08 am

Post » Thu Jul 08, 2010 8:49 am

Don't want to be picky but could you ad a readme to the download? Especially a "Compatibility/Incompatibility-Section" would be nice. :whisper:
User avatar
Nims
 
Posts: 3352
Joined: Thu Jun 07, 2007 3:29 pm

Post » Thu Jul 08, 2010 4:23 am

I love the gambit system. Battles are so much easier when you can have all four of your party attacking different enemies at once :wub:

Yeah it's great, and healing of course.

For those not familiar with Gambits, here's a summary -

It's a way to automate some simple commands for your party members based on a simple conditional system. Basically you give each member of your party a gambit card, which is a list of priorities and conditions. When a certain condition you set is met, your character (or a party member) will respond with an action based on what you define before hand. For example, you can setup a gambit for one of your team members, so that whenever an ally's HP drops below 50%, you or an ally will automatically cast cure on them. Or if a party member is poisoned one member would use an antidote on them, or if a party member is dead, someone will cast a phoenix down on them. Or if a monster is weak to ice you can have your mage (or any party member) cast a fire spell automatically. And if an enemy only has 10% health left, instead of all your party members casting a spell, they could fight melee instead.

There's so many options and variables, but it's such a cool system, it just made me think when I saw this thread - that it would be so cool to have a FF style party with you throughout the whole game with a system like gambits set up.
User avatar
R.I.p MOmmy
 
Posts: 3463
Joined: Wed Sep 06, 2006 8:40 pm

Post » Thu Jul 08, 2010 9:56 am

Fantastic, I'm glad to see this still being improved, I've enjoyed it from the beginning! :goodjob:

I've also added basic "follow teleport" and "Companion" variables to the NoLore script since it's on a large number of NPCs. Reason? The more the better, right? And nobody alters that script anyway - not that I've seen anyway.


I like this idea...it's such a simple thing, and the effects can be profound. IMHO this should make this mod a platform to build many great things upon.

I'm going to make sure there is compatibility between this and my NPC combat behavior overhaul to ensure they act as they should according to your directions.
User avatar
Jessica Nash
 
Posts: 3424
Joined: Tue Dec 19, 2006 10:18 pm

Post » Thu Jul 08, 2010 10:23 am

Wonderful mod.
User avatar
Charity Hughes
 
Posts: 3408
Joined: Sat Mar 17, 2007 3:22 pm

Post » Thu Jul 08, 2010 3:36 pm

I'm glad everyone enjoys it. :)

I'll continue updating this until I've incorporated every plausible idea I've come across.

So far these are the ideas I've gathered or heard:

1. NPC Teleport - This can be integrated into the next version. Like a "meet me at..." function. Do keep in mind that literally teleporting (like companion follow) doesnt seem possible in the near future, if at all. I tried, though.
2. "What is your weakness?" I don't know if I want to add this into the list of questions, because if I lived in a world like Morrowind I'd probably get a little suspicious if someone asked that question straight to me. I was hoping the "what's your best skill" would answer that, but I'll probably expand on that later, so instead of them saying "I'm good at melee" they'll say "I'm good at swordfighting."
3. "What is your favorite weapon?" See above - in a roundabout way I'll probably kinda-sorta incorporate this, just not in the format of this question.

And now some bugs I may need to fix/address:

NPCs saying "What do you mean?" when you tell them to use whatever weapon they're best with - This may potentially be race or class dependent, which is probably a dialogue-filtering bug that I'll look into. Originally I intended NPCs to give you a "confused" answer to this question when they weren't in follow or escort mode (AI packages that actually involve fighting for the character), but I may sort these responses by disposition (and maybe skill levels?) instead.

This will not conflict with Antares' mod, VGreetings, LGNPC, Dracandaros' Voice, or almost any (if even any) mods. This mod actually makes many of them redundant as the same features are incorporated here.

I will add a readme to then next version release.

As for the Gambit-esque system - From that explanation I can see the resemblance - I've done what I could through Morrowind's engine. If anyone has any ideas on how to improve this, let me know - so far I might divide combat commands by individual skill (so if you do companion share and give an archer a really powerful axe, you can tell him to use axes anyway). I might also try to do this with "Use potions" and such.

Any more bugs? Ideas? Please send them my way - I'm doing this as much for me as everyone else so the more functionality, the better!
User avatar
ILy- Forver
 
Posts: 3459
Joined: Sun Feb 04, 2007 3:18 am

Post » Thu Jul 08, 2010 10:31 am

Wow. If that one doesn't conflict with LGNPC and VGreetings, I guess my "never-play-without" list just got a new entry?

One tiny complaint though: "Here's the money I owe you" and "I apologize" kinda clutter the topic panel. Why not move them into the [Request] sub-menu? Plus that would make sense to have both "Can you lend me some money" and "Here's the money ?" in the same place.
User avatar
Marine x
 
Posts: 3327
Joined: Thu Mar 29, 2007 4:54 am

Post » Thu Jul 08, 2010 5:00 am

The reason I made it under the topics was because if not, I'd have to reformat the entire dialogue menu to reflect whether or not the player has the money ("Can I borrow some money?" OR "Here's your money."). That was more work than it was worth, especially for the latter to be put under a menu for questions and requests instead of an offer.
User avatar
OTTO
 
Posts: 3367
Joined: Thu May 17, 2007 6:22 pm

Next

Return to III - Morrowind