Jump to content

[NPC] Adrius Vanarius


Dwip

Recommended Posts

1. Adrius Vanarius (Imperial male) – Steel-armored paranoid who’s convinced the emperor’s assassins are after him, too.

Link to comment
Share on other sites

  • 2 months later...

So I pretty much wrote all the dialogue for Adrius tonight. I had the bright idea to make him able to be an actual follower if you convince him you're trustworthy and you've joined the Blades.What would be awesome is if there was some kind of way so that if he's following you and you don't close an Oblivion gate every so often, he'll bitch at you and eventually leave. Presumably, he said, thinking out loud, you could GetPCMiscStat 13 (Oblivion gates) when he joins for a base count. At the end of 3 days/a week/whatever, check it again. If it's higher, all is well, and that becomes the new base stat. If the count is the same, he'll complain to you. Either the next time or the third time it happens, he'll get angry and leave and you won't be able to recruit him anymore.Any opinions on the matter?Also, note to self, do some city-specific dialogues, maybe some count-specific dialogues, and give him a background topic on himself, with differences if he trusts you.

Link to comment
Share on other sites

That sounds like a pretty cool idea to me. I'd say give each gate a week at most. Much more than that and you should in theory be risking a hell of a lot by ignoring the invasion.

Link to comment
Share on other sites

Seconded that it sounds like a cool idea. Except for those of us that have already closed all the gates so will lose him regardless. So, I guess, make a check for MQ finished and not present the option if it is?

Link to comment
Share on other sites

I also think that sounds like a nice touch but that it'll require a check to see if the person's already completed the main quest and, perhaps, if they have give him a trust bonus or some such instead of offering to become a follower.

Link to comment
Share on other sites

I think for this one, he's only going to follow you during the MQ. Makes sense for the character, and it's not like there aren't any other companions. But we'll see.Man, the scripting for the "go close some more gates or I'll leave!" stuff is just completely defeating me.

Link to comment
Share on other sites

And now I'm going to try talking out this script some, because it's seriously killing me. If any of you code writing types have ideas or suggestions, feel free to leap in.This is probably best done in a gamemode block on Adrius himself, but could be moved to a quest script if needed.- On first join, will need to get a count of however many gates the PC has closed. We also need to init the timer for the first time.- While following (or waiting), we'll need to count the timer down. Probably also during the timer count phase we'll need to check the gate count and do timer resets if necessary.- On timer hitting zero, start a conversation with the player and warn them, if not in combat, actually following, etc, etc. The best way to do this is probably to set a variable, and make a seperate block in the code triggering off that variable to do the actual warning. Not sure, but it needs the ability to happen at a delay so as not to make bizzare combats and such.- Will obviously need to increment a warning counter when we do this. The rest we handle with dialogue.I THINK that covers it?

Link to comment
Share on other sites

I assume the option to join isn't going to last beyond the end of the MQ?Other than that, it seems as though your script should be working. Have you got a test NPC with this and it isn't doing what you want?

Link to comment
Share on other sites

I'm not really planning to have him stay, no. If I decide differently that can be added in.And I don't have a script yet. That whole post up there is me talking out loud so I can get myself in position to write said script.

Link to comment
Share on other sites

It sounds like you've got the structural stuff in order, I think you're ready to write your test character's version of the script to see what shakes loose or outright breaks in practice.

Link to comment
Share on other sites

Ok. A couple of beta scripts and things. First is the quest script for Adrius' personal dialogue, etc. Second is the object script for Adrius himself.

Scn AFKCourtiersAdriusVanariusQuestSCRIPTShort AdriusTrusting ; for if Adrius trusts PC or notShort WithBlades ; player is with the Bladesshort AdriusStartFollowingShort AdriusFollowing ; 0 not following, 1 following, 2 waitingShort AdriusDistance; 0 short, 1 longShort AdriusShare ; 0 Off, 1 On, 2 Resetshort GateInit ; Doonce for setting BaseGateCountShort BaseGateCount ; count of gates closedShort WarnDays ; number of days passed since last warningShort TimesWarned ; number of times warnedShort Warning ; 1 when Adrius should be bitching at playerShort CheckDay ; timer variableshort NoFollow ; set to 1 if Adrius will never follow againbegin gamemodeif AdriusFollowing > 0	if GateInit == 0 ; Initial setup for gate count		set BaseGateCount to GetPCMiscStat 13		set GateInit to 1	endif	if AdriusStartFollowing == 1 ; when Adrius begins following, init		set CheckDay to GameDaysPassed		set AdriusStartFollowing to 0		if BaseGateCount = 7 ; If it's been a week, warn player				set Warning to 1				set WarnDays to 0			endif		endif	endifendifend

Scn AFKCourtiersAdriusVanariusSCRIPTBegin OnDeath  if AFKCourtiersAdriusVanariusQuest.AdriusFollowing > 0    set AFKCourtiersAdriusVanariusQuest.AdriusFollowing to 0  endifendBegin gamemode;MoveTo fix for stuck NPCsIf AFKCourtiersAdriusVanariusQuest.AdriusFollowing == 1  if AFKAdriusVanariusRef.GetDistance >= 1000    if AFKAdriusVanariusRef.IsInCombat != && player.IsInCombat != 1      AFKAdriusVanariusRef.moveto player 10 0 0      AFKAdriusVanariusRef.evp    endif  endifEndif;Sharing codeIf AFKCourtiersAdriusVanariusQuest.AdriusShare > 0  if AFKCourtiersAdriusVanariusQuest.AdriusShare == 1    ;Move items to chest    AFKAdriusVanariusRef.RemoveAllItems AFKAdriusShareChestRef    AFKAdriusShareChestRef.activate player    set AFKAdriusVanariusQuest.AdriusShare to 2  elseif AFKCourtiersAdriusVanariusQuest.AdriusShare == 2    ;Move items to self    AFKAdriusShareChestRef.RemoveAllItems AFKAdriusVanariusRef    AFKAdriusVanariusRef.evp    set AFKAdriusVanariusRef.evp    set AFKAdriusVanariusQuest.AdriusShare to 3  else    ;Reset    AFKAdriusVanariusRef.evp    set AFKAdriusVanariusQuest.AdriusShare to 0  endifEndifendif AFKCourtiersAdriusVanariusQuest.Warning == 1	if GetDistance player 

AdriusStartFollowing should get set to 1 in dialogue when he begins following.In the results scripts for the warning dialogues, we'll reset Warning and WarnDays and increment TimesWarned. In the third one, we can either increment TimesWarned to 4 or set NoFollow to 1 for special dialogue. Also need to set AdriusFollowing to 0 and do some evp stuff.In theory that should all work, but comments, etc.[edit]Also, it would be nice if progressing in the MQ would count for keeping Adrius happy. Will need to figure out how track and deal with that. Will be fairly ugly, but. Would also be nice if he made encouraging comments at various points, but that's a lot of work.

Link to comment
Share on other sites

Wow, that really doesn't look any more complex than mudprogs can be.. well, maybe a little since you're declaring all those shorts at the beginning, but not much. I had expected that scripts in Oblivion would look more like a full scripting language than that.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...