#2

22nd Apr 2026 at 1:08 PM
Last edited by jonasn : 22nd Apr 2026 at
2:45 PM.
Posts: 1,713
Thanks: 3403 in 74 Posts
8 Achievements
Start looking at the Book object not a bookshelf since you can read a loose book from world. Open objects.package from your latest expansion pack.
Book is group 0x7F4B1557 belonging to BookGlobals group 0x7FE64A8D.
Here you have code: "Sub - Start Read Motive Changes" ( 7FE64A8D : 205E )
You could decide to have different motives for what kind of book it is. You can see how some book (presumably Cooking, attrib D == 2) decreases Hunger.
The second line applies to all books equally:
Code:
[prim 0x001D] Set Motive Change (My motive 0x000F (Fun) += Const 0x1002:0x00 per hour,
stop at: Const 0x1002:0x01,
Auto Clearing the Person Data Motive Decay value: False)
You can see that it refers to private constants of "Book".
This is in BCON 0x7F4B1557 : 1002
Line 0 is the amount of fun gained: 0x2D (decimal 45).
Line 1 is the maximum fun reachable with a book: 0x4B (decimal 75)
So the most simple mod you can make is extracting this BCON into a new package and change the value 0x2D to be higher.
There are a few other possible books, each with private constants. If you modify the BHAV, you can apply to all books. Or you can modify those other books for different fun values.
Book - Novel : 0x7F1B0FBB
Book - Photo Album : 0x7FE57E76
Book - Diary : 0x7F5C21B9