Wednesday, January 31, 2024

ODOS Update - Bookcases, Armor and Clothing Display, and a lot of polish

Tons of work has been done since last update. A few new features, and a lot of polish and fixes, which I will go through one by one.


First, the new stuff:


Bookcases


I managed to replicate the bookcase system from Skyrim. The bookcases themselves are activators using furniture models. This makes it easy to make new bookcases with custom models, as you just need to make a new activator, choose a NIF file, and slap on the script, and you are good to go! 


Once the bookcase is placed in a cell, you parent to it book markers, which will not only serves as book location, but also defines how much the bookcase can hold. These markers can be put in any position you want. If you place more books in the bookcase than there are markers parented to it, then any book that doesn't fit on the shelves will be returned to the player. You can see how it works in the video. Also, once the book are on the shelves, they can be picked up like any object, it doesn't affect the script.



These bookcases do not work with the LOTD-style collection system of my mod. Instead, these are for any extra books you have lying around, and want displayed. There is a book marker that can be filtered and works with the collection system. 


Armor and Clothing Displays

While figuring out displays for amulets and rings, I found a new way to display them that work with all clothing and armor. This means now that there are two ways to display armors and clothing, mannequins and armor stands!




This new system doesn't use the function SetModelPath, but I found out that it needs to change the Ground model of the armor, so I have to use the SetMaleGroundPath and SetFemaleGroundPath functions, and then do the trick I used to make the item "forget" it has havok. Works like a charm!


One thing of note: this type of display uses the CloneForm function, once per display, which creates a duplicate reference and baseform that is saved in the savegame. This can increase bloat on the save file, but nothing significant (think of each display counting as a player-made potion or spell in game). If planning on using them, don't go wild and make a million of them, and you will be just fine. (I wish we had access to a function to delete Cloneforms, like in Fallout 3, or better yet, a way to use string variables in the SetMaleGroundPath function. Then I wouldn't need cloneforms).


Polish

Now for the smaller stuff. There were a lot of bugs and little things I forgot to add to some of the scripts, all of them fixed now. For example, mannequins can now handle leveled items, which I forgot to do before... whoops. There was also a bug where sometimes the mannequin would stop working if you changed the gender. That is also fixed. 


Also, I made it so that mannequin can always see you, so you can't train your sneak in front of them, and cheese some levels, lol.


A nice change I've made is to the Display Ledger. Before, all it did was give the option to drop items to be displayed, and check how many displays are filled. Now, you see that number immediately, and it has a new option, which is to check what is missing!



When that option is pressed, it will open up a book that will list all displays that don't have an item yet (those that have filtered items). It is a very useful feature, that will help players figure out what they still need to get to finish a collection!



There are also a lot of minor fixes and some finishing touches, but with that, the display part of ODOS is... complete! I think.


With that done, I will turn my attention to the Storage system part of the mod. Like I said before, it should be way easier! I hope...


No comments:

Post a Comment