Skip to main content

Lucien Lachance should not show up in Morrowind

Submitted by thermador on

http://www.uesp.net/wiki/Oblivion:Lucien_Lachance

Unless Lucien Lachance spends 100% of his time travelling and inducting people into the Dark Brotherhood, t's pretty ridiculous that he shows up in Vvardenfell. 

In any case, when he does show up, he doesn't have the right dialogue to start the Oblivion Dark Brotherhood quests anyway.  See here: http://morroblivion.com/forums/morrowind/problems-bugs-issues/1384 -- this is exactly what I just experienced.

We need to figure out how to fix this so he only shows up if you commit a murder in Cyrodiil... problem is, I have no idea how to fix this.  Anyone?

Karma: 0 (0 votes)
Last edited by morroblivion-admin on 27 Jan 2014 - 18:10.

If you think it is ridiculous, then send me a mod that fixes it. There is a mod called "Stop Dark Brotherhood" that could be adapted for use in Vvardenfell, but somebody needs to do the adapting.
Karma: 0 (0 votes)

Thanks, that at least gives me a starting point.  

Stop Dark Brotherhood is here: http://www.tesnexus.com/downloads/file.php?id=14127

According to the docs:

When the game decides that you have murdered someone, two things happen:
1) IsPCAMurderer is set to 1
2) The Murder statistic is incremented.

The Dark Brotherhood quest is started when IsPCAMurderer returns 1. Several other variables are then changed, and the quest is started.

This mod lets you set IsPCAMurderer back to 0, set the Murder statistic to 0, and reset the associated variable changes back to their initial condition. This means that if you choose to clear a mistaken murder, and then go out and kill someone in cold blood, you will be able to start the Dark Brotherhood quests as normal.

So if I am lucky I can just find where that variable is (it isn't a Global, so it's in a quest somewhere) and then wrap it in an IF statement using the PlayerInMorrowind global variable.

Karma: 0 (0 votes)

It's an OBSE command: SetPCAMurderer.

If I were to make a mod for this, I would try one of two things:

1. Have a script run every few seconds while in Morrowind/Solstheim to see if IsPCAMurderer is true, then SetPCAMurderer to 0.  However, I'm not even sure if we have a reliable way of checking this.

2. Add a script to all Morrowind beds that sets the murderer flag to 0 before activating.  However, this might have compatibility problems if anyone mods for Morroblivion and adds a new bed, or imports a bed from Cyrodiil.  And if any of the Morroblivion beds already have a script, then we'll have to edit those, as well.

Karma: 0 (0 votes)

Mooncat, the method I proposed above would be much simpler -- if it works.  I am at work and don't have access to the construction set, but I will look into it when I get home...

you would just find the script / result script that has the line "SET IsPCAMurderer TO 1"

Then change it to something like

IF PlayerInMorrowind == 0
   SET IsPCAMurderer TO 1
ELSE
return

I would double-check the name of the PlayerInMorrowind global, but I think that's what it is...

Karma: 0 (0 votes)

In short, the player being set as a murderer is a function of the game engine, not the game scripts.  IsPCAMurderer is not a variable--if it was, we wouldn't need OBSE to modify it.

You could modify the quest that summons Lucien Lachance to check if the player is in Morrowind and only summon him if the player is in Cyrodiil (it's one of the DB quest scripts, can't remember which one--also at work), but there are plenty of mods that modify the Dark Brotherhood that would conflict with this approach, including the all-important Unofficial Shivering Isles Patch.

My first proposed solution would also be very simple to implement--I'm just not wild about adding another script to run in the background.

Karma: 0 (0 votes)

Ah OK, that is good to know.  Maybe I will just have to use the (somewhat cumbersome) Stop Dark Brotherhood mod until we can figure this one out.  Right now, the way he just shows up randomly with all the wrong dialogue is not a good place to leave it...  

Karma: 0 (0 votes)

Radits and I discussed this when he started on the Morag Tong, because I knew it would conflict. His first thought was to modify the Lucien Lachance script, but I pointed out that Morrowind_ob.esm loads second, and will be overridden by Everything that follows, and that it was not ideal to rely on this. The Morag Tong problem could be worked around if all the targes were placed into a Morag Tong targets faction that got along with evrerybody, but did not flag as Murder. I guess Raditz did not like that idea. We would need something that does Not alter Oblivion scripts, that can be relied upon to work in Morrowind. I created the "PlayerInMorrowind" global variable specifically for this and crime.
Karma: 0 (0 votes)

Yeah, and besides Morag Tong, there are numerous contract kills in the guilds and great house quest lines that count as murder if you attack them first (i.e. if you are sneaking or using a ranged attack).  Using the PlayerInMorrowind variable would probably be easier if we can figure out a way.

Karma: 0 (0 votes)

The more I think about it, the more I think a script that runs in the background every 5 seconds or so is the way to go. Probably something like this (I won't have access to the CS until Sunday, otherwise I'd just make a demo):

float fQuestDelayTime
begin GameMode
  if PlayerInMorrowind == 1
    set fQuestDelayTime to 5
    if IsPCAMurderer == 1
      SetPCAMurderer 0
    end
  end
end

 

It's been forever and a day since I last did any serious scripting, but this should do the trick.  Not the most elegant solution, but workable, and more importantly, it should be conflict-free.  As long as a player doesn't kill someone and sleep immediately afterwards, anyway...

Karma: 0 (0 votes)

As I go through the quests I am making it possible to induce NPC's to attack you. I really don't like the "Taunt" topic appearing EVERYWHERE, and would like to get rid of it. I have updated the Main Quest, the House Quests, Imperial Legion, and Fighters' Guild quests, but I don't really know if that's all the people you have to kill. This is one thing that I really don't like about Morrowind.
Karma: 0 (0 votes)

The script looks simple enough, Mooncat, but you also have to adjust the Miscellaneous count of people "murdered."
Karma: 0 (0 votes)

I'm pretty sure Lucien doesn't care how many "murders" the player has in their misc. stats, just whether or not IsPCAMurderer == 0 or 1... but then again, I haven't looked at that script in at least 3 years.

Ah, I managed to find a section of the script that triggers Lucien Lachance online, and I believe that my fix wouldn't matter either way.  As soon as you get the message about someone seeing your murder, Lucien Lachance will find you the next time you sleep.  Hmm... I have a new idea on how to fix it, but I'll have to get access to the CS before I can flesh the idea out.  My new idea would cause Lucien Lachance to trigger no matter where you commit your murder, but not actually appear until you leave Morrowind.

Karma: 0 (0 votes)

The "Stop Dark Brotherhood" uses OBSE to interrupt Lucien. It would be the same here, except done automatically if the Global Variable PlayerInMorrowind == 1. The tally of what Oblivion thinks are "murders," is for cosmetic sake; no sense the game saying you have "murders" when you really don't.
Karma: 0 (0 votes)

At the same time, if I actually am going to go around murdering people in Morrowind, I would like the game to acknowledge it. ;)

Okay, I'll look into this when I get back to my own computer.  If my idea pans out, we may not even need to use OBSE functions for this.

Karma: 0 (0 votes)

Looooks like I've got this fixed for the next version, then.  I didn't test much, but I was able to murder someone in Morrowind, sleep in his bed (using setownership) for 24 hours, and nothing happened. Then I traveled to Anvil, slept in the first bed I could find, and within one in-game hour of sleeping, Lachance reared his ugly head.  I haven't tested it any more thoroughly than that, however.

The good (?) news is that I didn't have to use any OBSE commands at all.  However, you can still get inducted into the DB for murders you commit in Vvardenfell, they just won't approach you until you're in Cyrodiil.  Also, you should wait at least 5 seconds between murdering and sleeping, as I set the script's quest delay timer for 5 seconds.

Karma: 0 (0 votes)

Bravo! This was a serious problem, you've managed to fix. You still can put a link here though. So we will have a working fix till the release of v28.

Karma: 0 (0 votes)

Sure.  I've started a new bundle of bug fixes for v28, but I happened to make this one separately (since it's more of a feature than a bug fix, imo).  So it's not a problem to upload this now.

http://www.mediafire.com/?ixdd5a18hg9hhf9

Like I said, I've only done cursory testing on this one.  You'll get the message about being watched by mysterious forces the first time you murder someone, regardless of where you are, but Lachance will leave you alone while you're in Vvardenfell ([jk]he gets stuck in customs[/jk]).  If this causes any problems, please let me know, as I don't foresee my own character going on any murdering sprees until the end of the week, at the earliest.

Karma: 0 (0 votes)

Thank you, Mooncat. I've already fixed a bunch of things for v028 myself! I would, however, much prefer that Morrowind be separate from Cyrodiil. Morrowind happens six years before Oblivion, and then you get thrown back in jail and it's like a whole new start. Murder does not have a Statute of Limitations, but I think it would be better to keep things totally separate... Especially since the Morag Tong consider "Murder" to be "Honorable Executions," and should be judged by Morrowind standards, not Oblivion standards.
Karma: 0 (0 votes)

Hmm... I think I can do that.  However, I still won't touch the people murdered part, since a player may legitimately go around murdering people outside of the Morag Tong.

I'll get back to you in just a minute on this...

Karma: 0 (0 votes)

All right, how about this:

http://www.mediafire.com/?0qz0ybck08ari07

In this version, if the player is in Morrowind, I trick the DB script into thinking that he's already received the "Your killing has been witnessed..." message, so it never tries to summon Lachance. On the off-chance that the player's already received the message, it also un-summons Lachance so he can't approach you in your sleep.

If you then travel to Cyrodiil, I reset the DB script conditions. You'll have to murder someone to get the DB message and summon Lachance.

If you travel to Cyrodiil, murder someone, then travel back to Morrowind, Lachance won't follow you.  In fact, he'll forget all about you.  If you return to Cyrodiil, you'll have to murder another person, get the "Your killing has been witnessed" message a second time, and sleep while still in Cyrodiil in order for Lachance to visit you in the night.

This is all done in a separate quest script, so it won't conflict with anything...unless there's a mod that completely and utterly changes the way Lachance works, but I doubt any mods change it so completely that this won't have an effect.  Also note that I do use the OBSE command setPCAMurderer, so if we include this in the next update, we should make sure OBSE is on our list of official requirements. (If it isn't already.)

Karma: 0 (0 votes)

Thank you Mooncat. I will look at this as soon as I get the chance, but it sounds Wonderful! OBSE is required for Ely's Silent Voice, and for Levitation.
Karma: 0 (0 votes)