I noticed that this quest is labeled as complete, but I'd like to add some feedback:
- The player always opens the book (and thus "reads" it), regardless of whether it is intended or not.
- No effects are applied to the player upon reading the Register.
I've made some suggestions below. There's now a prompt warning the player of possible consequences of reading the book. If the player does read it, then they're given a new Power and their Intelligence is decreased by 10 (???). The Messagebox text is mostly just off-the-cuff and can probably be improved depending on how much we want to warn the player about the effects of reading the Register.
Some issues:
- The new script works on vanilla MW, but not OpenMW. In the latter, the player can pick up the book and read it, but the "curse" won't be applied. The quest is still eligible for completion in OpenMW.
- There's a book ("Sky_iRE_kwtunnels_Direnni_book1") occupying the same space as the book with the script ("Sky_qRE_KW01_register01'") in "Karthwasten Caves, Tarnwasel Palace Ruins". It looks like the first one should be removed.
- The book "Sky_qRE_KW01_register01'" needs some kind of text added to it.
New Power:
ID: sky_qRe_KW01_Ala_Power
Name: (haven't thought of one)
Fortify Conjuration 20 (???) on Self for 120 seconds
New script:
Code: Select all
begin sky_qRe_KW01_Ala_Book1
; Modified from MWSFD 9 Sample book equip script
; Makes the Direnni Registers give arcane and warping effects once picked up
; Tarnwasel book
short actionFlag
short OnPCEquip
short PCSkipEquip
; book can be equipped at any time but player only gets cursed once
if ( actionFlag )
if ( player->GetSpell sky_qRe_KW01_Ala_Power == 0 )
Messagebox "You read the contents of the ancient book and learn a new spell, at the cost of some of your sanity." "Ok"
player->AddSpell sky_qRe_KW01_Ala_Power
player->ModIntelligence -10
endif
set actionFlag to 0
endif
; PCSkipEquip is set to 1 every time the book is equipped from your inventory
if ( PCSkipEquip )
set PCSkipEquip to 0
set actionFlag to 1
return
endif
; these lines are important, otherwise the book can't be picked up from the ground
if ( MenuMode )
return
endif
; need to disable the in-cell book and additem the player because
; there is no other way to pick it up without showing the pages
if ( OnActivate )
if ( player->GetSpell sky_qRe_KW01_Ala_Power == 0 )
Messagebox "You pick up the book, taking care not to open it. Its contents could be dangerous to an untrained reader." "Ok"
elseif ( player->GetSpell sky_qRe_KW01_Ala_Power)
Messagebox "You pick up the book." "Ok"
endif
player->AddItem "Sky_qRe_KW01_register01" 1
disable
return
endif
end