Thanks, @TURBODRIVER!
There's a couple reasons why I was looking into this (both related to my Sorcerer mod):
One is, I wanted to use the Notebook. Adding my own kind of entries for usability, such that you can see what spells you have by name in the notebook, with a description of how it works. That kind of thing. So I was running into an issue where if I added to the notebook tuning file, I needed an "ev" value at some point in there for the new notebook categories and subcategories. Even with a made-up high number (I tried last night after reading your post), I'm getting an error like this:
File "T:\InGame\Gameplay\Scripts\Core\enum.py", line 166, in _get_unknown_value
KeyError: "<enum <class 'int'>: Pack> does not have value 492"
So I'm not sure what I'm flubbing up with the notebook tuning, but anyway, that's one way in which I was wanting to use "ev" values.
The other is part of a black hole of unknowns and probably a pipe dream, from the exploration I've done into it. As an alternative method for usability, I wanted to use a version of the Vampire Powers UI (where you press the button and brings up your powers) for Sorcerer, so people can just click a button and see what Spells they have and how they work. That sort of thing.
So in that black hole process, there are files like TagOccultTypeMapping and here's some code from it:
HUMAN
Occult_Human
ALIEN
Occult_Alien
VAMPIRE
Occult_Vampire
SORCERER
Occult_Sorcerer
The last one is something I added.
And there are files like "sims.occult.occult_tracker" - here's its entry for Vampires:
VAMPIRE
False
153867
0xD45A6BFA
0x43948CF3
0xA8766AA4
0x8A3BB7ED
0xBB1F5FFD
0xD8350272
0x63DBBAEE
0x3253AEFD
149528
0xA5D594E7
150071
False
TEEN
149527
0xD9568944
VampirePowerBucks
0x591A9E30
0x6E63B809
VampireWeaknessBucks
0xC88CAE1
0xBA429D23
0x19A1B313
So at first, I was thinking, maybe if I make a new occult type in such files, I can get the menu to appear, customize it in my own way. Well that has so far been a colossal no-go. I was looking into tagging for it because I noticed that the main "Tag" file has the tag "Occult_Vampire" in it, so I figured maybe that's important somehow to the overall process of adding something new under TagOccultTypeMapping and sims.occult.occult_tracker.
I also discovered, through the use of JPEXS, and opening a bunch of GFX files until I found the right one, that pretty much everything to do with the special Vampire UI is tied to at least one "Occult_Vampire" check; meaning, it won't trigger unless the sim has that tag, I presume.
So I tried making the entry in TagOccultTypeMapping be:
SORCERER
Occult_Vampire
Just to see if I could get the UI to appear. Still no-go.
I also tried editing the GFX file, which uses "case" code, changing the following:
protected function ShowOccultContent(param1:int) : *
{
switch(param1)
{
case OccultTypes.OCCULT_VAMPIRE:
this.mcVampireContent.visible = true;
this.mcVampireContent.HandleSimActivated(mSimId);
this.mcVampireContent.y = this.mcMotives.y + this.mcMotives.CalculateCommoditiesHeight() + SimInfoMotivePanelTunables.OCCULT_CONTENT_MARGIN.mTop;
break;
default:
this.mcVampireContent.visible = false;
}
this.RefreshPanelHeight();
}
Adding in another case:
protected function ShowOccultContent(param1:int) : *
{
switch(param1)
{
case OccultTypes.OCCULT_VAMPIRE:
this.mcVampireContent.visible = true;
this.mcVampireContent.HandleSimActivated(mSimId);
this.mcVampireContent.y = this.mcMotives.y + this.mcMotives.CalculateCommoditiesHeight() + SimInfoMotivePanelTunables.OCCULT_CONTENT_MARGIN.mTop;
break;
case OccultTypes.OCCULT_SORCERER:
this.mcVampireContent.visible = true;
this.mcVampireContent.HandleSimActivated(mSimId);
this.mcVampireContent.y = this.mcMotives.y + this.mcMotives.CalculateCommoditiesHeight() + SimInfoMotivePanelTunables.OCCULT_CONTENT_MARGIN.mTop;
break;
default:
this.mcVampireContent.visible = false;
}
this.RefreshPanelHeight();
}
But I don't think JPEXS can edit stuff without errors; it gave me a warning about possible errors when I went to edit and upon opening the edited part of the file today to explain what I'm doing, I noticed a big chunk of code straight up missing in that part.
So if I can figure out a reliable way to edit that part of the code without catastrophic errors, adding a case like OCCULT_SORCERER might work. Might not even need to add a Tag to the master list (that was just a guess as to something that needs to happen, but I'm not sure if it's strictly necessary).
Oh and yeah, there are posting restrictions on new accounts. I think it's once you get enough "points" from posting or receiving things like thanks/insightful/etc., the restrictions go away.