Ermmm...
Problem with the animal remains: If I add too many options, it becomes too easy to gain reputation. I dropped the MMM support patch because it only added one item to be turned at the MG for a bit of cash and rep, nothing more. Adding support for other mods just for this feature becomes a patch mayhem that doesn't really benefit the player, only bloats the load order and makes gaining faction reputation too easy.
On the other hand, being able to turn in one type of pelt and not the other confuses the player and kind of breaks immersion. Unless they explain you why they want THIS type and no other, for instance this species of wolf has been proliferating and endangering shepherds or something.
But, let's imagine. If I add some item reconnaissance system that relies on Obse, it will make the mod require Obse (Captain Obvious strikes again!) for something that overall doesn't make up for that extra requisite. And even then, the current system uses dialogue topics. Sure, I could squeeze my limited scripting skills to invent some Obse method that... *takes a deep breath*... adds dialogue topics which automatically remove stuff considered animal remains from the player and return to him cash and reputation according to some algorithm...
So, my next step will be this: I've identified a few bugs (again) and realized some of the scripts could be 3x or 4x times smaller, but I fear what could happen if I touch them... "If it works, don't touch it", isn't that a motto? But for the remains stuff, I'm going to remove the dialogue topics and instead add special chests to the guildhalls, where you will leave the stuff you want to turn in and automatically will receive the cash and rep for it. That way I will remove an awful lot of scripting and you won't have to worry about the guild hall people being dead (well, best not to kill them, I mean, that's BAD).
I wouldn't see an OBSE dependence as a problem, every cool mod that comes out requires it anyways. Plus this way the scripting in this mod will avoid some ugly workarounds that obse renders obsolete.
At any rate, if you do script a system to recognize every ingredient, I'm sure it will be easier to do with a scripted container than with dialogue.
Edit: actually, with OBSE v18 and a scripted container it's rather easy. Just use the following functions (copied from OBSE v0018 Command Documentation that comes in the download):
GetItems - returns an Array containing all of the items in a container's or actor's inventory. Up to 10 form types may be passed in to restrict the returned items to only include items matching those type(s).
(items:Array) reference.GetItems type1:short type2:short ... type10:short
and then you loop through the objects returned by GetItems and check for each one if it's name contains "pelt" (or "necromancer" and "robe", and so on).
CompareName - returns 1 if stringToFindInName is found in the name of the object
(nameContainsString) reference.CompareName toFindInName:string objectID:ref
(nameContainsString) reference.NameIncludes toFindInName:string objectID:ref
for turning in alchemy items, you could rather use the following function to check for the right objects:
IsAlchemyItem - returns whether the object is an alchemy item
(isAlchemyItem:bool) reference.IsAlchemyItem objectID:ref
and in both cases you might want to increase reputation depending on the value of the objects submitted, so you can't rise in the ranks by bringing lots of lettuce :rolleyes: ; this would be useful:
GetGoldValue - returns the base gold value of the type
(goldValue:long) reference.GetGoldValue objectID:ref
--
For your OOO plugin, you might want to consider adding robes/cloaks from the Putrid Hand necromancer clan and the Guardians of Oblivion conjurers clan to the ones that are accepted in the Mage's Guild Practice Room.
Here are the relevent clothes IDs:
Putrid Hand:
LowerRobe01whiteZPutridHand
XDarkwizardOOO
Guardians of Oblivion:
XDeadricwizardOOOAnd there's also the following that seems to be an OOO added Necromancer robe you're not dealing with:
XNecrorobeUOOO--
I found another bug: it seems that player-filled soul gems won't be accepted by the Chironasium. Took me a while to understand, using RefScope. It seems that when filled with a soul trap, soul gems keep the same base object as when they're empty, except the game engine assigns them an internal soul level. Soul gems you find in loot, on the contrary, have a different base object for each capacity/level combination, and Choices and Consequences relies on finding those base objects.
The only solution to accept player-filled soul gems seems to imply using the OBSE function http://cs.elderscrolls.com/constwiki/index.php/GetCurrentSoulLevel.
--
Moar stuff: I don't think there's a way to know in-game how much reputation you need to advance to the next level in the Mages' Guild. I suggest printing a message every time you do a faction reputation job: "Your reputation in the guild has increased by 2. Current reputation: 120. Reputation needed to advance: 200."
Or you could have more immersive messages instead of numbers, such as "you're halway through", "three-quarters through". Or "you have very little support for your advancement yet" (followed by: little, some, increasing, almost enough, sufficient support)