A couple of questions regarding the DB attacks I came across when my girlfriend reviewed OpenMW for me the other day:
1) Are Dark Brotherhood attacks technically supposed to happen every time you sleep after a new game or is it supposed to be random? So far she's gotten attacked (and killed) every single time she goes to sleep. I don't remember how it works in Vanilla but it seems even more aggressive than I remember it being (I remember it always being a little on the broken side since the devs assumed you'd kill the assassins off and be at a higher level when you started Tribunal).
2) Are guards supposed to attack Dark Brotherhood assassins (and first-striking NPCs in general)? She was running away from a Dark Brotherhood assassin she ran into outside of Seyda Neen and ran back to the town for protection from the guards only to have them stand there as she ran around them in circles with the assassin slashing at her until she was cut down. I don't remember how Vanilla works here either, but it was really a bummer.
3) Side note: It seems the following script for NPCs is pretty good, as the DB assassin followed her for a good ten minutes through the terrain and through many game exterior cells. However, I might note that the following behavior is a little unrealistic since you can get super far away from an enemy and they'll still follow you and keep you from sleeping for health.
Dark Brotherhood Attack and Guards
Re: Dark Brotherhood Attack and Guards
It's random. By the nature of randomness, it's possible to happen several times consecutively (IIRC, it rolls once every hour of sleep).
Not usually. Morrowind had problems with guards not attacking aggressive NPCs because it lacked the ability to tell if NPCs were acting lawfully (this was added in Oblivion), so guards tend to only help against creature attacks.2) Are guards supposed to attack Dark Brotherhood assassins (and first-striking NPCs in general)?
Re: Dark Brotherhood Attack and Guards
I also notice much higher frequency of attacks with OpenMW, for what it's worth. I do think there's a bug here.
Re: Dark Brotherhood Attack and Guards
Looking at the script, it is, as usual, based on random dice rolls:
Code: Select all
Begin dbattackScript
float dbchance
short journalOnce
short attackOnce
short playerLevel
short attackmod
short othermod
short dbnumber
short temp
short sleepOnce
if ( GetJournalIndex TR_dbAttack >= 50 )
return
endif
if ( player->GetLevel >= 30 )
set playerLevel to 5
else
if ( player->GetLevel >=20 )
set playerLevel to 4
else
if ( player->GetLevel >= 10 )
set playerLevel to 3
else
if ( player->GetLevel >=4 )
set playerLevel to 2
else
set playerLevel to 1
endif
endif
endif
endif
if ( GetPCCell "Seyda Neen, Census and Excise Office" == 1 )
return
endif
if ( journalOnce == 1 )
;Journal TR_DBAttack 10
set journalOnce to -1
endif
if ( GetPCSleep == 1 )
if ( sleepOnce == 1 )
return
endif
set sleepOnce to 1
set dbchance to Random 100
set attackmod to ( attackonce * 10 )
if ( playerlevel == 5 )
set othermod to ( 90- attackmod )
if ( dbchance <= othermod )
WakeUpPC
MessageBox "You are awakened by a loud noise."
set dbnumber to ( dbnumber + 1 )
if ( dbnumber > 2 )
set dbnumber to 2
endif
set temp to dbnumber
while ( temp != 0 )
PlaceAtPC "db_assassin4" 1 128 1
set temp to ( temp - 1 )
endwhile
set attackonce to ( attackonce + 1 )
if ( journalOnce == -1 )
return
endif
set journalOnce to 1
set DBAttack to 1
endif
else
if ( playerLevel == 4 )
set othermod to ( 70 - attackmod )
if ( dbchance <= othermod )
WakeUpPC
MessageBox "You are awakened by a loud noise."
set dbnumber to ( dbnumber + 1 )
if ( dbnumber > 2 )
set dbnumber to 2
endif
set temp to dbnumber
while ( temp != 0 )
PlaceAtPC "db_assassin3" 1 128 1
set temp to ( temp - 1 )
endwhile
set attackonce to ( attackonce + 1 )
if ( journalOnce == -1 )
return
endif
set journalOnce to 1
set DBAttack to 1
endif
else
if ( playerLevel == 3 )
set othermod to ( 50 - attackmod )
if ( dbchance <= othermod )
WakeUpPC
MessageBox "You are awakened by a loud noise."
PlaceAtPC "db_assassin2" 1 128 1
set attackonce to ( attackonce + 1 )
if ( journalOnce == -1 )
return
endif
set journalOnce to 1
set DBAttack to 1
endif
else
if ( playerLevel == 2 )
set othermod to ( 40 - attackmod )
if ( dbchance <= othermod )
WakeUpPC
MessageBox "You are awakened by a loud noise."
PlaceAtPC "db_assassin1" 1 128 1
set attackonce to ( attackonce + 1 )
if ( journalOnce == -1 )
return
endif
set journalOnce to 1
set DBAttack to 1
endif
else
if ( playerLevel == 1 )
set othermod to ( 20 - attackmod )
if ( dbchance <= othermod )
WakeUpPC
MessageBox "You are awakened by a loud noise."
PlaceAtPC "db_assassin1b" 1 128 1
set attackonce to ( attackonce + 1 )
if ( journalOnce == -1 )
return
endif
set journalOnce to 1
set DBAttack to 1
endif
endif
endif
endif
endif
endif
else
set sleepOnce to 0
endif
End
Re: Dark Brotherhood Attack and Guards
The only safe place is the bed roll in the cellar of the census office (the building where you can loot some stuff on character generation)Greendogo wrote:So far she's gotten attacked (and killed) every single time she goes to sleep.
Have a weapon readied when going to sleep, that saves some time when you do get attacked
Re: Dark Brotherhood Attack and Guards
Yeah, the attack frequency is a problem with the vanilla game for sure.
viewtopic.php?f=39&t=4252
Install this and they'll be delayed until you can probably kill them, but not so delayed as to
viewtopic.php?f=39&t=4252
Install this and they'll be delayed until you can probably kill them, but not so delayed as to
- Spoiler: Show