Tagging
@TURBODRIVER cause I know you have some experience with script injections. Figure if anyone in the modding community knows, it might be you.
Basically, what I'm looking at is... there's a centralized "CAS" ASM file, (ID/name is 02D5DF13!00000000!D8D5C1186BA97FDC.CAS.AnimationStateMachine if you use Sims Studio to extract it). In theory, with the file as it is right now, I'm pretty confident I could override it and put in some new CAS trait idles (I already have some custom trait idles put together that work in-game, but not in CAS yet, since that's a separate animation reference).
But assuming that's a thing I could do, the forward-compatibility would be poor. I'd probably be looking at updating the file every single time Maxis adds content that adds additional CAS-based animations.
So I'm wondering if there's any possibility I could inject somehow. I'd need to inject parts like:
<Choice value="Good">
<Controller target="x" controller="@ClipController(clip=a_CAS_trait_heelClick_x, loop_count=#1)" overridePosture="false" mask="" track="normal" mirror_conditional="False" suppress_footsteps="False" transition_class_in="Default" transition_class_out="Default" ik_configuration="a_CAS_trait_heelClick.ma" focus="undefined" start_frame_offset="0" end_frame_offset="0" unique_id="251">
<TransitionClassList>
<Transition transition_class_name="Default" transition_duration_in="0.2666667" use_custom_transition_in="true" transition_type_in="linear" transition_mask_in="" transition_duration_out="0.2666667" use_custom_transition_out="false" transition_type_out="linear" transition_mask_out="" />
</TransitionClassList>
</Controller>
</Choice>
Within this, I think:
<Choice value="teen">
<ParameterSelector parameter="CAS_Traits" unique_id="289">
And I'd need the names under this:
<Parameter name="CAS_Traits" type="enum" labels="Ambitious,Genius,Perfectionist,Good,Outgoing,Bookworm,Creative,Romantic,Goofball,HatesChildren,HotHeaded,Mean,ArtLover,Snob,Active,FamilyOriented,MusicLover,Neat,SelfAssured,LovesOutdoors,Evil,Glutton,Foodie,Gloomy,Lazy,Bro,CommitmentIssues,Clumsy,Loner,Insane,Materialistic,Geek,Slob,Nevernude,Childish,Cheerful,Squeamish,DanceMachine,Insider,Kleptomaniac,Unflirty,Vegetarian,Wild,Inquisitive,Independent,Charmer,Angelic,Silly,Clingy,Fussy" default="Ambitious" />
Possibly this as well (not sure if I strictly need the IK Configuration):
<IkConfiguration name="c_CAS_trait_heelClick.ma">
<SourceFile name="c_CAS_trait_heelClick.ma">
<MapNamespace namespace="x" actor="x" />
</SourceFile>
</IkConfiguration>
So it's pretty involved, I'd assume. Maybe way too involved for a script injection, but I figured I'd ask and see what people know. Would be really cool if it could be done, as it'd open the door to some neat possibilities.
Comments
Bad news for you, state machine files are not loaded into any instance manager on the scripting side. You can access them, but only as a raw file and that wouldn't get you anywhere.
It looks like that exact CAS ASM file is used for walk styles in-game. CAS screen is in no way accessible from the scripting side, it's purely a client-side thing.
But, maybe this is your answer. Have you tried adding a walk style? Maybe that universally makes CAS use some idle animation at the same time. I can't help you with that though.
I've not added a walkstyle yet, but it is an interesting thought.