Creating WickedWhims Animation XML File [4]


This tutorial will explain to you how to setup the WickedWhims Animations XML Tuning file.

If you want to know how to create animations check the ‘ Creating Basic Animations In Blender’ tutorial and ' Converting Blender Animations to Clips’.

If you want to know how to create packages with animations, check the 'Creating WickedWhims Animations Package [3]’ tutorial.


1. Download a template & tools

Pick one of the templates. Commented one is recommended for beginners.

  • Commented Template - Download (Open -> Right Click -> Save as…)
  • Uncommented Template - Download (Open -> Right Click -> Save as…)


This application is required:

  • Modding Toolbox - Download (or use Hash Generator in Sims4Studio)


These applications are optional. If you don’t own any coloring text editor, try one out:


Once you're done configuring your XML file, consider validating it:

  • XML Validation - Open


2. Create the hash values

To setup everything, we need a plain package name, a hexadecimal hash of that name and a decimal hash of that name. To get three of these values we will be using the 'Modding Toolbox’, so open it. Optionally you can use the Sims4Studio Hash Generator.

> 2.1. XML File Name

Type in the name of your package and make sure it contains your name.

Recommended naming: “YOUR_NAME:WickedWhimsAnimations”, example: 'TURBODRIVER:WickedWhimsAnimations’.


> 2.2. Copy Hexadecimal ID

Copy the FNV 64 field without the '0x’ prefix.


> 2.4. Rename File

Replace the '0000000000000000’ at the end of the XML Template file name with copied FNV 64 value.

The XML file should be originally named 'S4_7DF2169C_00000000_0000000000000000.xml’.


> 2.4. Switch to Decimal ID

Switch the display result to 'Decimal’.


> 2.5. Copy Decimal ID

Copy the FNV 64 field. We will need it in the next steps. Keep the 'Modding Toolbox’ open.



3. Understanding the file structure

Keep in mind that this image is not always fully up to date, it’s just representing the idea of the file structure.


> 3.1. Red Outline

Focus on the red outline presented on the image, this is the file header. It contains the file name and numerical ID that is required for it to work.

> 3.2. Purple Outline

Focus on the purple outline presented on the image, this is all of the data of a single animation. It contains all information about the animation, actors, actor interactions, and events.

As every entry in a list, an animation is contained between the <T></T> tags.

If you want to add another animation to the file, select the whole purple section and copy it underneath the existing one.

> 3.3. Light-Blue Outline

Focus on the light-blue outlines presented on the image, these are actors. They contain all information about the actors and actor interactions in the animation.

Actors are inside the “animation_actors_list” field which represents a list. Every entry in a list is contained between the <T></T> tags.

If you want to add/remove actors in the animation (for solo, threesome, foursome or more) just copy/remove the whole light-blue section.

When you’re adding more actors make sure to give them unique 'actor_id’ highlighted with light-blue. The first actor should always start with ID “0” (zero) and continue by increments of one.

> 3.4. Yellow Outline

Focus on the yellow outlines presented on the image, these are actor interactions. They contain all information about the actors that are receiving an interaction from the actor in the light-blue section.

When an actor in the light-blue section is doing an interaction, that actor can interact with other actors in that interaction. The type of interaction the actor has with other actors is set in that yellow section. If you want to add more receiving actors just copy this section underneath it and set the 'receiving_actor_id’ that corresponds to the actor 'actor_id’ that should be receiving set interaction.

On the image, inside the light-blue actor with ID 0, yellow section refers to an actor with ID 1. That actor with ID 1 is receiving a VAGINAL sex category interaction from the actor with ID 0.

> 3.5. Dark-Blue Outline

Focus on the dark-blue outline presented on the image, these are props. They contain all information about prop objects that can be used during the animation.

Remove this section if you’re not using props or your animation will not load!

Props are regular in-game objects that are automatically spawned at the beginning of an animation. They are identified using the Object Definition Key Instance variable (decimal number) or via the DEF variable in-game when using Display Object Information.

Props are inside the “animation_props_list” field which represents a list. Every entry in a list is contained between the <T></T> tags.

If you want to add/remove props in the animation (for more props, max 10) just copy/remove the whole dark-blue section.

> 3.6. Green Outline

Focus on the green outlines presented on the image, these are events. They contain all information about special events that can occur during the animation.

Events are inside the “animation_events_list” field which represents a list. Every entry in a list is contained between the <T></T> tags.

If you want to add/remove events in the animation (for more effects or dynamic cum layers) just copy/remove the whole green section.


4. Setup the variables

> 4.1. Do you know XML?

The image below presents variables highlighted in red, purple, light-blue and yellow that you can modify. These variables are always between “>” “<” characters.


> 4.2. XML File Identifier

The first variable we will be changing is the ’ s’ at line 2 in the file, highlighted in red. The template has it as '12345’. You have to change it to copied in step 2.5 FNV 64 decimal hash.

> 4.3. XML File Name

Second variable we’re changing is the ’ n’ at the line 2 in the file, highlighted in red. The template has it as 'YourName:YourPackageName’. You have to change it to unique name you’ve typed into the Modding Toolbox.

After this point you can close the Modding Toolbox.

> 4.4.1. Animation Display Name [OPTIONAL]

Variable ' animation_display_name’ is the hexadecimal hash id from an STBL file that represents the name of your animation.

This method is not used anymore so delete the whole line if you don’t know how to use it.

> 4.4.2. Animation Raw Display Name

Variable ' animation_raw_display_name’ is a raw text that represents the name of your animation. You should be using either ' animation_display_name’ or this variable to name your animation.

> 4.4.3. Animation Author

Variable ' animation_author’ is the name of the animation creator. It’s probably your name.

> 4.4.4. Animation Location Categories

Variable ' animation_locations’ is a list of location categories that animation can be used at. Location names are separated by commas.

Here are all available animation locations:

  • NONE
  • FLOOR
  • UNDERWATER
  • WALL
  • TABLE_DINING_SHORT
  • TABLE_DINING_LONG (this object can have wideness of 2 or 3 spaces)
  • TABLE_TV_STAND
  • TABLE_COFFEE
  • TABLE_ACCENT
  • TABLE_PICNIC
  • TABLE_OUTDOOR
  • TABLE_OUTDOOR_UMBRELLA
  • DESK
  • BAR ( this object can have wideness of 2 or 3 spaces)
  • COUNTER
  • COUNTER_ISLAND
  • COUNTER_CORNER
  • SOFA
  • LOVESEAT
  • BENCH_OUTDOOR (this object can have wideness of 2 or 3 spaces)
  • CORNER_LOVESEAT
  • MURPHY_LOVESEAT
  • SECTIONAL_SOFA_LARGE_IN_CORNER
  • SECTIONAL_SOFA_LIVING_CHAIR (Use CHAIR_LIVING)
  • SECTIONAL_SOFA_LOVESEAT (Use LOVESEAT)
  • WORKOUT_MACHINE
  • STOVE
  • CHAIR_LIVING
  • CHAIR_DINING
  • CHAIR_STOOL
  • CHAIR_DESK
  • CHAIR_LOUNGE
  • CHAIR_LOUNGE_FLOAT
  • CHAIR_LOUNGE_SOFA
  • TOILET
  • TOILET_STALL
  • PUBLIC_BATHROOM
  • SQUAT_TOILET
  • HOTTUB
  • SHOWER_TUB
  • SHOWER
  • BATHTUB
  • OPEN_SHOWER
  • CORNER_BATHTUB
  • DOUBLE_BED
  • SINGLE_BED
  • OTTOMAN
  • MURPHY_DOUBLE_BED
  • COFFIN
  • BUNK_BED
  • SAUNA
  • YOGA_MAT
  • MASSAGE_TABLE
  • BEACH_TOWEL
  • DANCE_FLOOR
  • MURPHY_CLOSED
  • SWING_SET
  • BLANKET
  • WINDOW

> 4.4.5. Animation Custom Location IDs [OPTIONAL]

Variable ' animation_custom_locations’ is a list of specific objects WWIDs that animation can be used at. Location WWIDs are separated by commas. [OPTIONAL]

To recognize what location type an object is, in-game hold the 'Shift' key on your keyboard and click on any object. Then click 'Wicked' and 'Object Information'. You’re looking for the WWID value.

Any object in the game can be used but if that object gets modified in the future it is very possible you will have to update its WWID.

> 4.4.6. Animation Location Constraints [OPTIONAL]

Variable ' animation_location_constraints' is a list of location constraints that the location is required to fit into for the animation to be available. It's recommended to not use this variable unless strictly necessary. [OPTIONAL]

Here are all available animation location constraints:

  • PLACEMENT_TERRAIN_ANY (requires the location to be on terrain)
  • PLACEMENT_WATER_ANY (requires the location to be on water)

> 4.4.7. Object Animation ClipName [OPTIONAL]

Variable ' object_animation_clip_name’ is the clip name of your object animation CLIP (ClipName). [OPTIONAL]
❗ Important, this is the most common mistake new animators make. The "ClipName" variable is on the CLIP resource itself. Select the Clip resource in either Sims4Studio or S4PE and read the "ClipName" variable.

> 4.4.8. Object Geometry State [OPTIONAL]

Variable ' object_geometry_state’ is the geometry state name of the used object. [OPTIONAL]

> 4.4.9. Object Material State [OPTIONAL]

Variable ' object_material_state’ is the material state name of the used object. [OPTIONAL]

> 4.4.10. Animation Sex Category

Variable ' animation_category’ is the category of your animation that it’s displayed as.

Here are all animation categories:

  • TEASING
  • HANDJOB
  • FOOTJOB
  • ORALJOB
  • VAGINAL
  • ANAL
  • CLIMAX

> 4.4.11. Animation Tags

Variable ' animation_tags’ is a list of sex tags that are used to give the animation context and functions. [OPTIONAL]

Here are all tags:

Orientation

  • HOMOSEXUAL (meant for animations that are made with the intent of being for non-heterosexual pairs)

Actions / Poses

  • STANDING (meant for animations that involve standing)
  • SITTING (meant for animations that involve sitting)
  • SIDEWAYS (meant for animations that involve sideways body position)
  • UPSIDE_DOWN (meant for animations that involve upside-down body position)
  • CARRY (meant for animations that involve holding a body upwards from the ground level)
  • KNEELING (meant for animations that involve kneeling)
  • MASTURBATION (meant for animations that involve masturbation, usually not mutual)
  • BLOWJOB (meant for animations that involve oral/mouth performance with a penis)
  • DEEP_THROAT (meant for animations that involve oral/mouth-to-throat performance with a penis)
  • CUNNILINGUS (meant for animations that involve oral/mouth performance on a clitoris)
  • RIMJOB (meant for animations that involve oral/mouth performance on an anus)
  • LICKING (meant for animation that involve licking in non-genital area)
  • FINGERING (meant for animations that involve hand/finger penetration or rubbing of a clitoris/vagina)
  • SIXTYNINE (meant for animations that involve the sixty-nine position in any style)
  • FACE_SITTING (meant for animations that involve sitting on face)
  • TITJOB (meant for animations that involve actions performed on a penis with breasts)
  • THIGHJOB (meant for animations that involve actions performed on a penis with thighs)
  • BUTTJOB (meant for animations that involve actions performed on a penis with butt cheeks)
  • DOGGY (meant for animations that involve the doggy position in any style)
  • MISSIONARY (meant for animations that involve the missionary position in any style)
  • COWGIRL (meant for animations that involve the cowgirl position in any style)
  • SPOONING (meant for animations that involve the spooning position in any style)
  • PRONEBONE (meant for animations that involve the pronebone position in any style)
  • PILEDRIVER (meant for animations that involve the piledriver position in any style)
  • SPITROAST (meant for animations that involve the spitroast position in any style)
  • KISSING (meant for animations that involve any kissing, usually mouth-to-mouth)
  • SPANKING (meant for animations that involve spanking, usually of butt)
  • CHOKING (meant for animations that involve choking)
  • GROPING (meant for animations that involve groping or excessive touching)
  • TITS_SUCKING (meant for animations that involve sucking of breasts)
  • TOES_SUCKING (meant for animations that involve sucking of toes)
  • FLEXIBLE (meant for animations that involve performing poses that require higher than normal body flexibility)
  • DOUBLE_PENETRATION (meant for animations that involve double penetration of any kind)
  • PEEING (meant for animations that involve urination)
  • FISTING (meant for animations that involve fisting a vagina or anus)
  • SQUIRT (meant for animations that involve female ejaculation)
  • CUMSHOT (meant for animations that involve male ejaculation, usually on the body)
  • CREAMPIE (meant for animations that involve male ejaculation inside a vagina with visible cum coming out)
  • CUM_INSIDE (meant for animations that involve male ejaculation inside a vagina with no visible cum coming out)
  • CUM_IN_MOUTH (meant for animations that involve male ejaculation inside a mouth.
  • BUKKAKE (meant for animations that involve multiple male ejaculations on one Sim)

Style

  • FOREPLAY (meant for animations that involve foreplay, usually kissing or touching, elements that build sexual excitment)
  • SLOW (meant for animations that are slow, usually in their entirety)
  • PASSIONATE (meant for animations that involve romantic sex between lovers, alternatively a pace variant between SLOW and ROUGH)
  • ROUGH (meant for animations that are fast or mildly aggressive, usually not violent or brutal)
  • FORCED (meant for animations that intent to roleplay a forced act, usually not violent or brutal)
  • BDSM (meant for animations that intent to roleplay bondage, discipline, dominance, submission, sadism, and masochism acts)
  • FEMDOM (meant for animations that involve female domination, usually in BDSM context)
  • MALEDOM (meant for animations that involve male domination, usually in BDSM context)
  • FREEUSE (meant for animations that intent to roleplay indifferent approach or behavior of being involved in sex, usually without any major involvement of the indifferent Sim)
  • SHY (meant for animations that involve shy behavior)
  • AWKWARD (meant for animations that involve awkward behavior or situation)
  • FUTA (meant for animations that are intended for futanari)
  • THREESOME (meant for animations that involve sex of 3 Sims, usually useful when more than 3 Sims are present but not all are involved)
  • FOURSOME (meant for animations that involve sex of 4 Sims, usually useful when more than 4 Sims are present but not all are involved)
  • ORGY (meant for animations that involve sex of 5 or more Sims)
  • GANGBANG (meant for animations that involve sex of more than 3 Sims but one is female and the rest is male)
  • HAREM (meant for animations that involve sex of more than 3 Sims but one is male and the rest is female)

Objects / Items

  • TOY (meant for animations that involve usage of toys)
  • DILDO (meant for animations that involve usage of dildos)
  • CAMERA (meant for animations that involve usage of a camera)

Theme

  • STORY (meant for animations that are intended to tell a story or create a pretend situation)
  • SLEEPING (meant for animations that involve sleeping)
  • CUCK (meant for animations that involve cuckold behavior)
  • ONLOOKER (meant for animations that involve an onlooker Sim)
  • WEIRD (meant for animations that are intended to be weird or involve weird behavior)
  • GROSS (meant for animations that are intended to be gross or involve gross behavior)
  • UNDER_COVERS (meant for animations that occur under bed covers or are otherwise covered)
  • VAMPIRE (meant for animations that utilize vampire powers/behavior)
  • ALIEN (meant for animations that utilize alien powers/behavior)
  • GHOST (meant for animations that utilize ghost powers/behavior)
  • SERVO (meant for animations that utilize servo/robot behavior)
  • MAGIC (meant for animations that utilize spellcaster magic or involve any magic)

Other

  • DANCE (meant for dance animations)
  • CUSTOM_VOICE_SFX (meant for animations that utilize custom voice sound effects)

Functional

  • INAPPROPRIATE_INDOORS (stops the animation from being randomly picked when sex occurs indoors)
  • INAPPROPRIATE_OUTDOORS (stops the animation from being randomly picked when sex occurs outdoors)
  • NO_REACTION (stops Sims from reacting to sex when the animation is playing, should only be used for specialized animations)
  • LOW_REACTION (stops Sims from reacting to sex fully or with jealousy when the animation is playing, use when animation is not visible or discreet, like inside a bathroom stall because outside Sims can't see inside)

> 4.4.12. Animation Loops

Variable ' animation_loops’ is the number of times the animation will play in a row.

> 4.4.13. Animation Negative Duration Offset [OPTIONAL]

Variable ' animation_negative_duration_offset’ is the amount of time that is subtracted from the animation duration. This is only available when the 'animation_loops’ variable is set to 1.

Animations that are not intended to loop can use this to prevent the animation from looping for a split second (caused by desync) before the sex interaction progresses to the next animation.

For example, a transition animation is meant to play for 5 seconds and then switch to the next animation. By adding an extra empty 1 second to the end of the animation clip and then subtracting it with this variable, allows the game to switch the animation a second early, preventing the animation from starting over (looping).

A 5 second animation + 1 second of empty padding is an animation that plays for 6 seconds, but that 1 second subtracted using the 'negative_duration_offset’ prevents it from playing longer than 5 seconds and subsequently prevents it from starting over (looping).

> 4.4.14. Animation Stage Name [OPTIONAL]

Variable ' animation_stage_name’ is a unique stage name of this animation that is used to trigger this animation as the next stage. [OPTIONAL]

> 4.4.15. Animation Next Stage Names [OPTIONAL]

Variable ' animation_next_stages’ is a list of stage names that are used as the next animation to play after this one ends. Stage names are separated by commas. [OPTIONAL]

> 4.4.16. Allow for Randomization [OPTIONAL]

Variable ' animation_allowed_for_random’ is a flag which determines if this animation will be randomly picked in sex.

> 4.5.1. Animation Actors List

Variable ' animation_actors_list’ is the section where all actors of the animation are defined.
❗ Important, when adding actors make sure to begin with MALE actors animation_genders first, then FEMALE, and then BOTH. This will assure consistency and proper functionality of native game functions like animations IK.

> 4.5.2. Actor ID

Variable ' actor_id’ is the numerical ID that represents an actor and it is used to recognize it.

It should always be 0 for the first actor.

> 4.5.3. Actor Animation ClipName

Variable ' animation_clip_name’ is the clip name of your animation CLIP (ClipName).
❗ Important, this is the most common mistake new animators make. The "ClipName" variable is on the CLIP resource itself. Select the Clip resource in either Sims4Studio or S4PE and read the "ClipName" variable.

> 4.5.4. Actor Sex Type

Variable ' animation_type’ is the category of the interaction actor is performing.

Here are all animation categories:

  • TEASING
  • HANDJOB
  • FOOTJOB
  • ORALJOB
  • VAGINAL
  • ANAL
  • NONE

> 4.5.5. Actor Gender

Variable ' animation_genders’ is the gender type that this actor represents.

When using the “BOTH” type make sure to define the 'animation_pref_gender’ variable as well.

Here are all gender types:

  • MALE
  • FEMALE
  • BOTH
  • ALIEN_MALE
  • ALIEN_FEMALE
  • ALIEN_BOTH
  • GHOST_MALE
  • GHOST_FEMALE
  • GHOST_BOTH
  • VAMPIRE_MALE
  • VAMPIRE_FEMALE
  • VAMPIRE_BOTH
  • MERMAID_MALE
  • MERMAID_FEMALE
  • MERMAID_BOTH
  • WITCH_MALE
  • WITCH_FEMALE
  • WITCH_BOTH
  • SERVO_MALE
  • SERVO_FEMALE
  • SERVO_BOTH

> 4.5.6. Actor Preferred Gender [OPTIONAL]

Variable ' animation_pref_gender’ is the gender type that this actor would preference if 'animation_genders’ is set to BOTH. [OPTIONAL]

Here are all gender preference types:

  • MALE
  • FEMALE
  • ALIEN_MALE
  • ALIEN_FEMALE
  • GHOST_MALE
  • GHOST_FEMALE
  • VAMPIRE_MALE
  • VAMPIRE_FEMALE
  • MERMAID_MALE
  • MERMAID_FEMALE
  • WITCH_MALE
  • WITCH_FEMALE
  • SERVO_MALE
  • SERVO_FEMALE

> 4.5.7. Has Animated Vagina

Variable 'animation_has_animated_vagina' is a flag that determines if the actor will use the body bottom model with animated vagina bones or without animated vagina bones (0=Non-Animated, 1=Animated) [By default set to 0].

Due to animated vagina using the testicle bones, usage of the animated vagina model for roles that can be occupied by a male can cause graphical issues if the testicles are animated for the male role. If this actor role can be occupied by a male, set this variable to '0'. If this actor role can only be occupied by a female, set this variable to '1'.

> 4.5.8. Has Invisible Teeth

Variable 'animation_has_invisible_teeth' is a flag that determines if the actor will normally display their teeth model or when enabled hide them for improved visuals when using their mouth (0=Visible, 1=Invisible) [By default set to 0].

> 4.5.9. Outfit Category [OPTIONAL]

Variable ' animation_outfit_category’ is the outfit category this actor will change into when the sex interaction starts. [OPTIONAL]

The intended use of this function is to adjust Sims outfit to the context of the sex location. For example, if the context of the sex location is a beach towel, change actors outfit into SWIMWEAR before undressing.

Here are all outfit categories:

  • CURRENT_OUTFIT
  • EVERYDAY
  • FORMAL
  • ATHLETIC
  • SLEEP
  • PARTY
  • CAREER
  • SWIMWEAR
  • HOT_WEATHER
  • COLD_WEATHER

> 4.5.10. Undress Type

Variable ' animation_naked_type’ is the type of outfit part that will be undressed when performing this animation.

Here are all naked flags types:

  • NONE
  • TOP
  • BOTTOM
  • ALL
  • FORCE_ALL (omits outfit settings)

> 4.5.11. Force Nude Hands

Variable ' animation_force_nude_hands’ is a flag which determines if gloves are forced to be undressed when performing this animation (0=Ignore, 1=Force) [Recommended for handjob animations].

> 4.5.12. Force Nude Feet

Variable ' animation_force_nude_feet’ is a flag which determines if shoes are forced to be undressed when performing this animation (0=Ignore, 1=Force) [Recommended for footjob animations].

> 4.5.13. Allow Strapon

Variable ' animation_allow_strapon’ is a flag which determines if the actor will use a strapon even if the position is not designed for males (0=Disallow, 1=Allow).

If 'animation_genders’ is set for males while this position is used with a female, strapon will be applied no matter what.

> 4.5.14. X/Y/Z Axis Offset [OPTIONAL]

Variable ' animation_x_offset’ is the offset of the actor position on the X axis. [OPTIONAL]
Variable ' animation_y_offset’ is the offset of the actor position on the Y axis. [OPTIONAL]
Variable ' animation_z_offset’ is the offset of the actor position on the Z axis. [OPTIONAL]

> 4.5.15. Orientation Offset

Variable ' animation_angle_offset’ is the offset of the actor orientation (360 degrees). [OPTIONAL]

> 4.5.16. Actor Tags

Variable ' animation_actor_tags’ is a list of actor tags that are used to give the animation context and functions. [OPTIONAL]

Here are all actor tags:

  • NO_SWEAT (stops actor from sweating during sex)
  • PULLED_OUT (causes climax animations to lessen impregnation chance, same behavior as 'Receiving Actor Cum Inside Flag' set to 0)
  • INCREASE_HYGIENE (increases actor hygiene motive instead of decreasing it)
  • INCREASE_BLADDER (increases actor bladder motive)
  • INCREASE_HUNGER (increases actor hunger motive)
  • INCREASE_VAMPIRE_THIRST (increases actor vampire thirst motive)

> 4.6.1. Actor Interactions

Variable ' actor_interactions’ is the section where receiving actors are defined.

It’s important to determine interactions between actors in the animation. Things like cum or pregnancy depend on it.

> 4.6.2. Receiving Actor ID

Variable ' receiving_actor_id’ is the numerical ID of the receiving actor.

> 4.6.3. Receiving Actor Sex Type

Variable ' receiving_actor_category’ is the interaction category that the receiving actor is receiving.

Here are all animation categories:

  • TEASING
  • HANDJOB
  • FOOTJOB
  • ORALJOB
  • VAGINAL
  • ANAL
  • NONE

For example: Actor 0 is giving VAGINAL interaction to Actor 1, so Actor 1 is receiving VAGINAL interaction from Actor 0.

> 4.6.4. Receiving Actor Cum Layer Types

Variable ' receiving_actor_cum_layers’ is a list of cum types that will be applied on the receiving actor if this would be the last played animation. Cum layer types are separated by commas.

Here are all cum layer types:

  • DISABLED
  • FACE
  • CHEST
  • BACK
  • VAGINA
  • BUTT
  • FEET
  • NONE

The default value is 'NONE’ which means that the type of the cum layer is defined by the receiving category.

> 4.6.5. Receiving Actor Cum Inside Flag

Variable ' receiving_actor_cum_inside’ is a flag which determines if the receiving actor should receive cum inside or outside (0=Outside, 1=Inside).

Outside will lower the chance of impregnation for climax animations. Variable by default is set to Inside.

> 4.7.1. Animation Props

Variable ' animation_props_list’ is the section where props are defined.

Remove this section if you’re not using props or your animation will not load!

> 4.7.2. Prop ID

Variable ' prop_id’ is the numerical ID that represents a prop and it is used to recognize it.

> 4.7.3. Prop Type

Variable ' prop_type’ is the type of the prop used in the animation.

Here are all prop types:

  • BASIC

> 4.7.4. Prop GUID

Variable ' prop_guids’ is a list of specific objects GUIDs that will be used as a prop. If more than one GUID is provided, a random one will be chosen for the animation. Object GUIDs are separated by commas.

To recognize what is the GUID of an object, in-game hold the 'Shift' key on your keyboard and click on any object. Then click 'Wicked' and 'Object Information'. You’re looking for the GUID value.

> 4.7.5. Prop Animation ClipName

Variable ' prop_animation_clip_name’ is the clip name of your prop animation CLIP (ClipName).

> 4.7.6. Prop Geometry State [OPTIONAL]

Variable ' prop_geometry_state’ is the geometry state name of the used prop. [OPTIONAL]

> 4.7.7. Prop Material State [OPTIONAL]

Variable ' prop_material_state’ is the material state name of the used prop. [OPTIONAL]

> 4.7.9. Prop Scale [OPTIONAL]

Variable ' prop_scale’ is the scale/size of the prop object. [By default 1.0]. [OPTIONAL]

> 4.7.10. Prop X/Y/Z Axis Offset [OPTIONAL]

Variable ' prop_x_offset’ is the offset of the prop position on the X axis. [OPTIONAL]
Variable ' prop_y_offset’ is the offset of the prop position on the Y axis. [OPTIONAL]
Variable ' prop_z_offset’ is the offset of the prop position on the Z axis. [OPTIONAL]

> 4.8.1. Animation Events

Variable ' animation_events_list’ is the section where events are defined.

> 4.8.2. Event Type

Variable ' event_type’ is the type of the event that will be triggered.

Here are all event types:

  • EFFECT (plays visual effect)
  • CUM (applies cum layer on Sim)
  • REMOVE_CONDOM (removes condom from Sim)
  • UNDRESS (undresses Sim)
  • GEOMETRY_STATE (change object geometry state)
  • MATERIAL_STATE (change object material state)

> 4.8.3. Event Start Timecode

Variable ' event_start_timecode’ is the time as a decimal number at which the event will be triggered.

> 4.8.4. Event End Timecode

Variable ' event_end_timecode’ is the time as a decimal number at which the event will be stopped.

You can learn more about understanding timecodes in the ' Adding Native Events to Animations' tutorial.

If the event is not intended to ever end, set the 'event_end_timecode’ as some high number like 999.

> 4.8.5. Event Target Actor

Variable ' event_target’ is the target of the event. It can be either an actor, prop or the object used for sex. A letter symbolizing the target is used along with the number identifier assigned to the actor/prop:

  • Actor, "a" -> a0, a1, a2, a3, a4, a5, a6, a7, a8, a9
  • Prop, "p" -> p0, p1, p2, p3, p4, p5, p6, p7, p8, p9
  • Object, "o" -> o

To use an actor as a target, take its 'actor_id’ and put an 'a’ in front of it forming an ID like 'a0’, 'a1’, 'a2’ etc.

To use a prop as a target, take its 'prop_id’ and put a 'p’ in front of it forming an ID like 'p0’, 'p1’, 'p2’ etc.

To use an object as a target, simply put the character 'o’ into the field without any numbers.

> 4.8.6. Effect Name

Variable ' effect_name’ is the name of the effect used for an EFFECT event. You can find the list of all effects here.

You can test events in-game by using the 'ww.play_effect <effect_name> [joint_name]’ command.

> 4.8.7. Effect Bone Joint Name

Variable ' effect_joint_name’ is the bone joint name from the actor or object rig. You can find them at the bottom-left corner of Blender 3D View when selecting rig bones.

> 4.8.8. Cum Layer Type

Variable ' cum_layer_type’ is the cum type that will be applied on the 'event_target’ at the set 'event_start_timecode’ timecode.

Here are all cum layer types:

  • FACE
  • CHEST
  • BACK
  • VAGINA
  • BUTT
  • FEET

> 4.8.9. Cum Layer Level

Variable ' cum_layer_level’ is number of times the 'cum_layer_type' is applied on the 'event_target’.

> 4.8.10. Naked Type

Variable ' naked_type’ is the type of outfit part that will be undressed from the 'event_target'.

Here are all naked flags types:

  • NONE
  • TOP
  • BOTTOM
  • ALL
  • FORCE_ALL (omits outfit settings)

> 4.8.11. Geometry State Name

Variable ' geometry_state’ is the name of the geometry state that will be set on the 'event_target’.

> 4.8.12. Material State Name

Variable ' material_state’ is the name of the material state that will be set on the 'event_target’.

> 4.8.13. Actor Has Condom Test

Variable ' actor_has_condom’ is used to prevent the event from running if the 'event_target’ is wearing a condom.

> 4.8.14. Actor Gender Test

Variable ' actor_is_gender’ is used to prevent the event from running if the 'event_target’ has a gender from this list.


5. Identifying objects

> 5.1. Turn the Game On

Turn the game on and start the game.

> 5.2. Open Commands Console

Open the game console by pressing Ctrl+Shift+C.

> 5.3. Enable Testing Cheats

Type in 'testingcheats on’ command.

> 5.4. Click on an Object

Hold the 'Shift' key on your keyboard and click on any object. Then click 'Wicked' and 'Object Information'.

> 5.5. Read WWID

Displayed notification contains WWID (numerical value) that you put in as the custom location.

In addition, the notification contains info about the object category that you might want to use instead.


Last update: November 12th, 2024

Get WickedWhims