the cutting room mirror

Unused Actions

This is a sub-page of The Sims 2 (Windows).

To do:
A lot to cover. Naturally.

There are several removed interactions that exist within the game files. Some of these ideas would later be re-introduced in later expansions or games.

Object Actions#

Bed Interactions#

Sleep Naked#

There's a string with a scrapped option to sleep naked in a bed. Despite it being located with strings for the Russian localization, the string itself is in English.

Found In

Name

Type

Group

Instance

objects.package

[Text Lists]

STR#

0x7FFBE4B4

0x0000012E (302)

To do:
Check if there is a description for this string.

String number

String (Russian)

Description (As found in the files)

0x0006 (6)

Sleep.../Naked

In the English localization, this resource only contains string numbers. The strings themselves are empty.

(Source: История разработки Симс 2, post №762 - The Sims Creative Club)

Pregnancy (Demo)#

Found In

Name

Type

Group

Instance

objects.package

MakeActionString prim set

STR#

0x7F44347F2

0x0000012E (302)

String number

String (English)

Description (As found in the files)

0x000F (16)

Pregnancy (Demo)

!

Hibernate#

Among the list of interactions for beds, there are several unused, hidden actions related to the ability to send a Sim into hibernation.

Found In

Name

Type

Group

Instance

objects.package

MakeActionString prim set

STR#

0x7F44347F2

0x0000012E (302)

String number

String (English)

Description (As found in the files)

0x000B (11)

Hibernate for.../1 Day

! These are not used

0x000C (12)

Hibernate for.../$Local:0 Days

!

0x000D (13)

Hibernate for.../A Week

!

0x000E (14)

Hibernate for.../A Month

!

In the base game’s objects.package, there are some unused BHAVs that describe the mechanics of how hibernation would work.

Interaction - Lazy - Hibernate - TEST

The path to this BHAV:

Found In

Name

Type

Group

Instance

Objects/objects.package

Interaction - Lazy - Hibernate - TEST

BHAV

0x7F44347F2

0x000020AD (8365)

This BHAV responsible for determining whether the hidden “Hibernate” interaction can appear on a bed. It checks several conditions: the Sim must have extremely lazy personality, be in a good mood, not currently sleeping, and the bed must be free - not in use by another Sim and not being jumped on. If all requirements are met, the BHAV prepares the interaction by calling semiglobal bed functions, detecting which side of the bed is available, and generating action strings that offer different hibernation durations. When necessary, it loops through multiple possible durations and adds corresponding hidden menu options.

In simple terms, this is the menu availability logic: “Can this lazy Sim currently lie on this bed and go into hibernation, and which exact options should be offered?” If any condition fails, the BHAV immediately returns FALSE, keeping the interaction completely hidden.

This BHAV contains these instructions:

     0000 : 0002 : 00 : 000A : FFFE : 03000000000212070000000000000000
[prim 0x0002] Expression (My person data 0x0003 (Personality  Active) == Literal 0x0000)

     0001 : 0002 : 00 : 0015 : FFFE : 0B00000000020E07191001FFFFFFFFFF
[prim 0x0002] Expression (My motive 0x000B (Sleep state) == Literal 0x0000)

     0002 : 201B : 00 : 0010 : FFFC : FFFFFFFFFFFFFFFFA2C65801F87A8020
[semi 0x201B] Bed Rel. - Adjust Ads - Sleep (no args)

     0003 : 2029 : 00 : 0004 : 0005 : FFFFFFFFFFFFFFFFBCC6580170B1621B
[semi 0x2029] Test - This Side Available? (no args)

     0004 : 0102 : 00 : 0005 : 0002 : FFFFFFFFFFFFFFFFBCC65801B814681B
[global 0x0102] In Use? (no args)

     0005 : 2027 : 00 : 0006 : FFFC : FFFFFFFFFFFFFFFF0000000000000000
[semi 0x2027] Get in Temp 0 - Other Section - Head (no args)

     0006 : 0002 : 00 : 0008 : FFFC : 0000000000050A080000000000000000
[prim 0x0002] Expression (Stack Object ID 0x0000 := Temp 0x0000)

     0007 : 201B : 00 : 0010 : FFFC : FFFFFFFFFFFFFFFFA2C65801F87A8020
[semi 0x201B] Bed Rel. - Adjust Ads - Sleep (no args)

     0008 : 2029 : 00 : 0009 : FFFE : FFFFFFFFFFFFFFFFBCC6580170B1621B
[semi 0x2029] Test - This Side Available? (no args)

     0009 : 0102 : 00 : FFFE : 0007 : FFFFFFFFFFFFFFFFBCC65801B814681B
[global 0x0102] In Use? (no args)

     000A : 0002 : 00 : 0001 : FFFE : 03008027000E0E1A0000000000000000
[prim 0x0002] Expression (My motive 0x0003 (Mood) >= Const 0x200F:0x00 ("Min Mood to Hybernate" Value: 0x0014))

     000B : 0032 : 00 : 000D : FFFC : 000001000C0000000000000000000000
[prim 0x0032] Add/Change the Action String (Add / Change Interaction string Mode, [Runtime object cannot be predicted] MakeAction:0x0B (Private))

     000C : 0032 : 00 : 000E : FFFC : 000001000D0000000000000000000000
[prim 0x0032] Add/Change the Action String (Add / Change Interaction string Mode, [Runtime object cannot be predicted] MakeAction:0x0C (Private))

     000D : 0002 : 00 : 000F : FFFC : 00000200000519070000000000000000
[prim 0x0002] Expression (Local 0x0000 (Number of Days) := Literal 0x0002)

     000E : 0002 : 00 : 000F : 0012 : 00000700000B19070000000000000000
[prim 0x0002] Expression (Local 0x0000 (Number of Days) ++ and < Literal 0x0007)

     000F : 0002 : 00 : 000C : FFFC : 0000000000050A190000000000000000
[prim 0x0002] Expression (Stack Object ID 0x0000 := Local 0x0000 (Number of Days))

     0010 : 0002 : 00 : 000B : FFFC : 0000010000050A070000000000000000
[prim 0x0002] Expression (Stack Object ID 0x0000 := Literal 0x0001)

     0011 : 0032 : 00 : 0014 : FFFC : 000001000E0000000000000000000000
[prim 0x0032] Add/Change the Action String (Add / Change Interaction string Mode, [Runtime object cannot be predicted] MakeAction:0x0D (Private))

     0012 : 0002 : 00 : 0011 : FFFC : 0000070000050A070000000000000000
[prim 0x0002] Expression (Stack Object ID 0x0000 := Literal 0x0007)

     0013 : 0032 : 00 : FFFD : FFFC : 000001000F0000000000000000000000
[prim 0x0032] Add/Change the Action String (Add / Change Interaction string Mode, [Runtime object cannot be predicted] MakeAction:0x0E (Private))

     0014 : 0002 : 00 : 0013 : FFFC : 00001E0000050A070000000000000000
[prim 0x0002] Expression (Stack Object ID 0x0000 := Literal 0x001E)

     0015 : 20AB : 00 : FFFE : 0003 : FFFFFFFFFFFFFFFF0000000000000000
[semi 0x20AB] Test - Bed is Being Jumped On? (no args)
Hibernate - Hibernation Loop

The path to this BHAV:

Found In

Name

Type

Group

Instance

Objects/objects.package

Hibernate - Hibernation Loop

BHAV

0x7F44347F2

0x000020B0 (8368)

This BHAV calculates the date when a Sim should wake up from hibernation and then waits for that date to arrive. First, it reads the current in-game day, month, year, and hour, storing them in local variables - this becomes the starting point for the countdown. Then it takes the input parameter (the number of days to hibernate) and converts it into years, months, and remaining days, using The Sims 2’s simplified calendar system: 30 days per month and 12 months per year. These values are then added to the current date, with overflow corrections applied - if the total days exceed 30, a month is added; if the months exceed 11, a year is added.

Once the target date is calculated, the BHAV enters a loop that repeatedly waits a few minutes and checks whether the current in-game day, month, year, and hour match the stored wake-up values. If the target date has not yet been reached, the loop continues. When the calendar finally reaches the correct moment, the check succeeds and the BHAV returns TRUE - meaning it’s time for the Sim to wake up.

This BHAV contains these instructions:

     0000 : 0002 : 00 : 0007 : FFFC : 02000700000519060000000000000000
[prim 0x0002] Expression (Local 0x0002 (month to end) := Global 0x0007 (Month))

     0001 : 0002 : 00 : 000D : FFFC : 01000100000519060000000000000000
[prim 0x0002] Expression (Local 0x0001 (day to end) := Global 0x0001 (Day of Month))

     0002 : 0119 : 00 : FFFD : 0004 : 00000000000000000000000000000000
[global 0x0119] Wait For Notify (2 args: Ticks=0x0000, Allow Push?=0x0000)

     0003 : 0002 : 00 : 0006 : FFFC : 00000000000519060000000000000000
[prim 0x0002] Expression (Local 0x0000 (hour to end) := Global 0x0000 (Hour))

     0004 : 0002 : 00 : 0005 : 0006 : 01000100000219060000000000000000
[prim 0x0002] Expression (Local 0x0001 (day to end) == Global 0x0001 (Day of Month))

     0005 : 0002 : 00 : 000E : 0006 : 00000000000219060000000000000000
[prim 0x0002] Expression (Local 0x0000 (hour to end) == Global 0x0000 (Hour))

     0006 : 016F : 00 : 0002 : FFFC : 05000000000000000000000000000000
[global 0x016F] Idle - Minutes (1 arg: Minutes=0x0005)

     0007 : 0002 : 00 : 0001 : FFFC : 03000800000519060000000000000000
[prim 0x0002] Expression (Local 0x0003 (year to end) := Global 0x0008 (Year))

     0008 : 0002 : 00 : 0009 : FFFC : 05001E00000719070000000000000000
[prim 0x0002] Expression (Local 0x0005 (months) /= Literal 0x001E)

     0009 : 0002 : 00 : 000C : FFFC : 00001E00000C09070000000000000000
[prim 0x0002] Expression (Param 0x0000 (days left) mod= Literal 0x001E)

     000A : 0002 : 00 : 000B : FFFC : 06000C00000719070000000000000000
[prim 0x0002] Expression (Local 0x0006 (years) /= Literal 0x000C)

     000B : 0002 : 00 : 0010 : FFFC : 05000C00000C19070000000000000000
[prim 0x0002] Expression (Local 0x0005 (months) mod= Literal 0x000C)

     000C : 0002 : 00 : 000A : FFFC : 06000500000519190000000000000000
[prim 0x0002] Expression (Local 0x0006 (years) := Local 0x0005 (months))

     000D : 0002 : 00 : 0008 : FFFC : 05000000000519090000000000000000
[prim 0x0002] Expression (Local 0x0005 (months) := Param 0x0000 (days left))

     000E : 0002 : 00 : 000F : 0006 : 02000700000219060000000000000000
[prim 0x0002] Expression (Local 0x0002 (month to end) == Global 0x0007 (Month))

     000F : 0002 : 00 : FFFD : 0006 : 03000800000219060000000000000000
[prim 0x0002] Expression (Local 0x0003 (year to end) == Global 0x0008 (Year))

     0010 : 0002 : 00 : 0011 : FFFC : 01000000000319090000000000000000
[prim 0x0002] Expression (Local 0x0001 (day to end) += Param 0x0000 (days left))

     0011 : 0002 : 00 : 0012 : 0014 : 01001E00000E19070000000000000000
[prim 0x0002] Expression (Local 0x0001 (day to end) >= Literal 0x001E)

     0012 : 0002 : 00 : 0013 : FFFC : 02000100000319070000000000000000
[prim 0x0002] Expression (Local 0x0002 (month to end) += Literal 0x0001)

     0013 : 0002 : 00 : 0014 : FFFC : 01001E00000419070000000000000000
[prim 0x0002] Expression (Local 0x0001 (day to end) -= Literal 0x001E)

     0014 : 0002 : 00 : 0015 : FFFC : 02000500000319190000000000000000
[prim 0x0002] Expression (Local 0x0002 (month to end) += Local 0x0005 (months))

     0015 : 0002 : 00 : 0016 : 0018 : 02000C00000E19070000000000000000
[prim 0x0002] Expression (Local 0x0002 (month to end) >= Literal 0x000C)

     0016 : 0002 : 00 : 0017 : FFFC : 03000100000319070000000000000000
[prim 0x0002] Expression (Local 0x0003 (year to end) += Literal 0x0001)

     0017 : 0002 : 00 : 0018 : FFFC : 02000C00000419070000000000000000
[prim 0x0002] Expression (Local 0x0002 (month to end) -= Literal 0x000C)

     0018 : 0002 : 00 : 0003 : FFFC : 03000600000319190000000000000000
[prim 0x0002] Expression (Local 0x0003 (year to end) += Local 0x0006 (years))
Hibernate - Set Motives

The path to this BHAV:

Found In

Name

Type

Group

Instance

Objects/objects.package

Hibernate - Hibernation Loop

BHAV

0x7F44347F2

0x000020AF (8367)

This BHAV implements the “hibernation” mechanic for a Sim. When triggered, it completely disables the natural decay of all major motives by setting their per-day decay rates to zero directly in Person Data. It then applies two controlled motive adjustments using the Set Motive Change primitive: Energy is continuously increased until it reaches the designated “Energy for Wake-up” threshold, while Comfort is maintained at a minimal acceptable level. Automatic motive decay and recovery handled by the system is disabled (Auto Clearing = False), so all changes occur solely through this script. As a result, when this function is active, the Sim enters a state where all motives are frozen and Energy is passively restored, keeping them in hibernation until the required wake-up energy level is reached.

This BHAV contains these instructions:

     0000 : 001D : 00 : 0003 : FFFC : 07070501140064000000000000000000
[prim 0x001D] Set Motive Change (Clear all, Auto Clearing the Person Data Motive Decay value: False)

     0001 : 001D : 00 : 0002 : FFFC : 1A1A0500820000201D00FEFD1A1A0600
[prim 0x001D] Set Motive Change (My motive 0x0005 (Energy) += Const 0x1001:0x02 per hour, stop at: Const 0x2000:0x00 ("Energy for Wake-up" Value: 0x0064), Auto Clearing the Person Data Motive Decay value: False)

     0002 : 001D : 00 : FFFD : FFFC : 1A1A0600800081001D000AFD1A1A0500
[prim 0x001D] Set Motive Change (My motive 0x0006 (Comfort) += Const 0x1001:0x00 per hour, stop at: Const 0x1001:0x01, Auto Clearing the Person Data Motive Decay value: False)

     0003 : 0002 : 00 : 0004 : FFFC : 5F000000000512070000000000000000
[prim 0x0002] Expression (My person data 0x005F (Decay Bladder per Day) := Literal 0x0000)

     0004 : 0002 : 00 : 0005 : FFFC : 5D000000000512070000000000000000
[prim 0x0002] Expression (My person data 0x005D (Decay Hunger per Day) := Literal 0x0000)

     0005 : 0002 : 00 : 0006 : FFFC : 60000000000512070000000000000000
[prim 0x0002] Expression (My person data 0x0060 (Decay Energy per Day) := Literal 0x0000)

     0006 : 0002 : 00 : 0007 : FFFC : 61000000000512070000000000000000
[prim 0x0002] Expression (My person data 0x0061 (Decay Hygiene per Day) := Literal 0x0000)

     0007 : 0002 : 00 : 0008 : FFFC : 65000000000512070000000000000000
[prim 0x0002] Expression (My person data 0x0065 (Decay Fun per Day) := Literal 0x0000)

     0008 : 0002 : 00 : 0009 : FFFC : 63000000000512070000000000000000
[prim 0x0002] Expression (My person data 0x0063 (Decay Social per Day) := Literal 0x0000)

     0009 : 0002 : 00 : 0001 : FFFC : 5E000000000512070000000000000000
[prim 0x0002] Expression (My person data 0x005E (Decay Comfort per Day) := Literal 0x0000)
Interaction - Lazy - Hibernate

The path to this BHAV:

Found In

Name

Type

Group

Instance

Objects/objects.package

Interaction - Lazy - Hibernate

BHAV

0x7F44347F2

0x000020AE (8366)

This BHAV implements a special version of the “get into bed” sequence for a hibernation mode. First, it stores the bed tile ID and stops any overlay animations to ensure the Sim can smoothly transition into the lying position. Then, it performs a routing check for the chosen side of the bed. If the route is blocked, it calls Routing - Sleep - Try Other Side. If routing succeeds, the Sim enters the bed through the standard procedure Sleep - Get In.

Once the Sim is in bed, the code temporarily disables visual and social reactions so that no external events can interrupt the process. It adjusts the room impact on mood and increases the Sim’s interaction score with the bed via Bed Rel. - Inc.

Next, two separate hibernation BHAVs are called: Hibernate - Set Motives, which applies special motive values that effectively block normal motive decay, and Hibernate - Hibernation Loop, which keeps the Sim in this state for a specified number of in-game days.

After the loop finishes, normal motive decay is restored, and Sleep - Get Out is executed to make the Sim leave the bed and complete the interaction.

This BHAV contains these instructions:

     0000 : 0002 : 00 : 000C : FFFC : 000000000005190A0000000000000000
[prim 0x0002] Expression (Local 0x0000 (bed tile ID) := Stack Object ID 0x0000)

     0001 : 200C : 00 : FFFD : FFFC : 000000000000000066C76101C8C0311F
[semi 0x200C] Sleep - Get Out (1 arg: awake=0x0000)

     0002 : 001D : 00 : 0001 : FFFC : 07070501140064000000000000000000
[prim 0x001D] Set Motive Change (Clear all, Auto Clearing the Person Data Motive Decay value: False)

     0003 : 2017 : 00 : 000D : FFFC : FFFFFFFFFFFFFFFFBCC65801B0605F1B
[semi 0x2017] Bed Rel. - Inc (no args)

     0004 : 201F : 00 : 000F : FFFC : FFFFFFFFFFFFFFFFBCC65801B0605F1B
[semi 0x201F] Adjust Room Impact (no args)

     0005 : 2025 : 00 : 0009 : 000A : FFFFFFFFFFFFFFFFBCC65801E095621B
[semi 0x2025] Test - Show Route Failure for Current Side? (no args)

     0006 : 2028 : 00 : 0008 : FFFE : FFFFFFFFFFFFFFFFBCC6580170B1621B
[semi 0x2028] Routing - Sleep - Try Other Side (no args)

     0007 : 0002 : 00 : 0004 : FFFC : 000000000005190A0000000000000000
[prim 0x0002] Expression (Local 0x0000 (bed tile ID) := Stack Object ID 0x0000)

     0008 : 0002 : 00 : 0007 : FFFC : 0000000000050A080000000000000000
[prim 0x0002] Expression (Stack Object ID 0x0000 := Temp 0x0000)

     0009 : 200A : 00 : 0004 : 0006 : 0701001A00260A00000A000071B1621B
[semi 0x200A] Sleep - Get In (2 args: Route Fail?=Literal 0x0001, Sleep Outfit=Const 0x200C:0x00 ("Autonomously Choose" Value: 0x0000))

     000A : 200A : 00 : 0004 : 0006 : 0700001A00260A00000A000071B1621B
[semi 0x200A] Sleep - Get In (2 args: Route Fail?=Literal 0x0000, Sleep Outfit=Const 0x200C:0x00 ("Autonomously Choose" Value: 0x0000))

     000B : 006C : 00 : 0005 : FFFC : 000000030B0086010000000000000000
[prim 0x006C] Animate Stop (Object: My 0x000B (object id), animation: all Overlay animations, Blend out: False, Flip Flag: False, short blend out: False, both normal AND flipped anims: False, Priority: 0x00 (low))

     000C : 0002 : 00 : 000B : FFFC : 190080230005121A0000000000000000
[prim 0x0002] Expression (My person data 0x0019 (Interaction Data Field #1) := Const 0x2007:0x00 (Value: 0x0000))

     000D : 20AF : 00 : 000E : FFFC : FFFFFFFFFFFFFFFF0000000000000000
[semi 0x20AF] Hibernate - Set Motives (no args)

     000E : 20B0 : 00 : 0002 : FFFC : 0900000A00000A00000A000001000000
[semi 0x20B0] Hibernate - Hibernation Loop (1 arg: days left=Param 0x0000 (Days to Hibernate))

     000F : 0002 : 00 : 0010 : FFFC : 0100844C0009001A0000000000000000
[prim 0x0002] Expression (My attribute 0x0001 Set Flag flag# Const 0x0119:0x04 ("Disable Look Ats" Value: 0x0005))

     0010 : 0002 : 00 : 0003 : FFFC : 0100854C0009001A0000000000000000
[prim 0x0002] Expression (My attribute 0x0001 Set Flag flag# Const 0x0119:0x05 ("Disable All reactions" Value: 0x0006))

Phone Interactions#

Found In

Name

Type

Group

Instance

objects.package

[Text Lists]

STR#

0x7FD56A2A

0x0000012E (302)

Call.../Other#

An extra category for phone calls, scrapped simply for being redundant.

String number

String

Description (As found in the files)

0x0004 (4)

Call.../Other

! Moved to PhoneGlobalsNew. The Sims 2 - Needs Translation - Batch15

Slumber Parties#

Sims were originally able to throw slumber parties, an idea that was considered for an expansion pack but later introduced in The Sims 3 Generations.

String number

String

Description (As found in the files)

0x000A (10)

Throw Party.../Slumber Party

! Moved to PhoneGlobalsNew. The Sims 2 - Needs Translation - Batch15

"Must Attend" Party#

Another unused party type, although this one is more vague. It might have forced any invited guests to attend, regardless of their relationship scores with the host.

String number

String

Description (As found in the files)

0x0005 (5)

Throw Party.../Must Attend Party

! Moved to PhoneGlobalsNew. The Sims 2 - Needs Translation - Batch15

Social Interactions#

Farting and Belching#

Sims originally had an interaction to fart and belch on command, instead of it happening autonomously.

Found In

Name

Type

Group

Instance

objects.package

[Text Lists]

STR#

0x7FDCE589

0x0000012E (302)

String number

String

Description (As found in the files)

0x0000 (0)

Fart

The Sims 2 - Needs Translation - Batch15
flatuence! on-Sim interaction

0x0001 (1)

Belch

The Sims 2 - Needs Translation - Batch15

Found In

Name

Type

Group

Instance

objects.package

[Text Lists]

STR#

0x7F01EC29

0x0000012E (302)

Teaching Skills#

Sims were originally able to teach skills to other Sims, as evidenced by a similar unused Memory string. The idea would somewhat resurface in the expansions Open For Business for teaching Perks and FreeTime for teaching Hobbies.

String number

String

Description (As found in the files)

0x0012 (18)

Teach.../Cleaning

!

0x0013 (19)

Teach.../Cooking

!

0x0014 (20)

Teach.../Charisma

!

0x0015 (21)

Teach.../Mechanical

!

0x0016 (22)

Teach.../Creativity

!

0x0017 (23)

Teach.../Body

!

0x0018 (24)

Teach.../Logic

!

Reminisce about Aspiration#

At one point, Sims could reminiscence about their aspirations to other Sims. All of the earlier names for aspirations are there, along with the scrapped Power aspiration. It's unknown how this was supposed to work.

String number

String

Description (As found in the files)

0x001F (31)

Reminiscence About.../Love

The Sims 2 - Needs Translation - Batch 13

0x0020 (32)

Reminiscence About.../Family

The Sims 2 - Needs Translation - Batch 13

0x0021 (33)

Reminiscence About.../Friends

The Sims 2 - Needs Translation - Batch 13

0x0022 (34)

Reminiscence About.../Knowledge

The Sims 2 - Needs Translation - Batch 13

0x0023 (35)

Reminiscence About.../Power

The Sims 2 - Needs Translation - Batch 13

0x0024 (36)

Reminiscence About.../Wealth

The Sims 2 - Needs Translation - Batch 13

Brag/Vent about Aspiration#

There's also strings letting Sims brag and vent about aspirations, which may or may not have increased points. Oddly, Brag About.../Knowledge is missing. These lines are even translated into other languages, indicating that the idea was scrapped later in development.

String number

String

Description (As found in the files)

0x0025 (37)

Vent About.../Love

The Sims 2 - Needs Translation - Batch 13

0x0026 (38)

Vent About.../Family

The Sims 2 - Needs Translation - Batch 13

0x0027 (39)

Vent About.../Friends

The Sims 2 - Needs Translation - Batch 13

0x0028 (40)

Vent About.../Knowledge

The Sims 2 - Needs Translation - Batch 13

0x0029 (41)

Vent About.../Power

The Sims 2 - Needs Translation - Batch 13

0x002A (42)

Vent About.../Wealth

The Sims 2 - Needs Translation - Batch 13

0x002B (43)

Brag About.../Love

The Sims 2 - Needs Translation - Batch 13

0x002C (44)

Brag About.../Family

The Sims 2 - Needs Translation - Batch 13

0x002D (45)

Brag About.../Wealth

The Sims 2 - Needs Translation - Batch 13

0x002E (46)

Brag About.../Power

The Sims 2 - Needs Translation - Batch 13

0x002F (47)

Brag About.../Friends

The Sims 2 - Needs Translation - Batch 13

Give Gift#

The base game's objects.package mentions giving gifts in the Text Lists resource's UK English strings.

Found In

Name

Type

Group

Instance

objects.package

[Text Lists]

STR#

0x7FDFCFA7

0x0000012E (302)

List of strings:

String number

String (English UK)

Description (As found in the files)

0x0000 (0)

Give Gift.../Cash

! gift giving - cut

0x0001 (1)

Give Gift.../Cheap

! gift giving - cut

0x0002 (2)

Give Gift.../Moderate

! gift giving - cut

0x0003 (3)

Give Gift.../Expensive

! gift giving - cut

This feature, in a very different form, emerged in the Seasons expansion pack. Rather than categorizing gifts by monetary value, the giving Sim can choose something from their inventory to present as a gift. Cash also cannot be given as a gift.

(Source: История разработки Симс 2, post №762 - The Sims Creative Club)

Serve Breakfast in Bed#

In the same location as the early gift-giving strings is a singular string, mentioning the ability to have a Sim serve breakfast in bed.

The path to the resource:

Found In

Name

Type

Group

Instance

objects.package

[Text Lists]

STR#

0x7FDFCFA7

0x0000012E (302)

The string:

String number

String (English UK)

Description (As found in the files)

0x0005 (5)

*Serve Breakfast in Bed

! not used

(Source: История разработки Симс 2, post №762 - The Sims Creative Club)

This feature is also mentioned in the Text Lists resource called Call Named Tree prim string set. It also has a singular string attached to it.

Found In

Name

Type

Group

Instance

objects.package

Call Named Tree prim string set

STR#

0x7FDFCFA7

0x0000012E (303)

String number

String (English)

Description (As found in the files)

0x0000 (0)

CT - Breakfast in Bed

To do:
Most likely, the string CT - Breakfast in Bed is the name of the BHAV that is responsible for this feature.

  • Check if a BHAV with this name exists. If one does, analyze its contents.

(Source: История разработки Симс 2, post №2178 - The Sims Creative Club)

Ambulance#

Text related to calling an ambulance can be found in the BHAV Emergency - Medical.

Found In

Name

Type

Group

Instance

objects.package

Emergency - Medical

BHAV

0x7F0884BA

0x00001003 (4099)

An ambulance could be called using the phone during a childbirth. After the call, a message would appear:

[prim 0x0024] Dialog (Text Notification,
  Strings: Private,
  Message: "Hang on! We're on our way!  Delivering a baby should be left to professionals,
  so please ...don't do anything stupid!",
  TNS Style: Sim,
  Priority: 0x01,
  timeout: 0x14,
  TNS ID: Temp 0x0000,
  icon: neighbor,
  wait for user: True,
  block simulation: True.  (Text notification on side of screen - returns unique ID in specified temp. For birthdays,
  days-Till-Birthday is expected in temp1))

Message field: "Hang on! We're on our way! Delivering a baby should be left to professionals, so please ...don't do anything stupid!".

This BHAV, for some unknown reason, also contains the message that appears when the fire department is called:

[prim 0x0024] Dialog (Text Notification,
  Strings: Private,
  Message: [Fallback: LID=1] "Hang on! We're on our way! Please be careful and stay away from the fire!",
  TNS Style: System,
  Priority: 0x01,
  timeout: 0x14,
  TNS ID: Temp 0x0000,
  icon: none,
  wait for user: True,
  block simulation: True.  (Text notification on side of screen - returns unique ID in specified temp. For birthdays,
  days-Till-Birthday is expected in temp1))

Message field: "Hang on! We're on our way! Please be careful and stay away from the fire!".

This BHAV calls BHAV CT - Call Ambulance in instruction at number 0x3 (3):

[prim 0x001C] Run Tree by Name (Tree name: "CT - Call Ambulance" [NamedTree:0x01 (Private)],
  Search for BHAV: Private,
  run in My stack)

(Source: История разработки Симс 2, post №762 - The Sims Creative Club)

The path to the CT - Call Ambulance BHAV:

Found In

Name

Type

Group

objects.package

CT - Call Ambulance

BHAV

0x7F1D0F49

It contains the call CT - Can Call For Ambulance? BHAV. This is the only instruction (0x0 (0)) in this BHAV:

[private 0x100F] CT - Can Call For Ambulance? (no args)

The path to the CT - Can Call For Ambulance? BHAV:

Found In

Name

Type

Group

objects.package

CT - Can Call For Ambulance?

BHAV

0x7F1D0F49

This BHAV contains one single instruction - 0x0 (0):

[prim 0x0002] Expression (Stack Object's attribute 0x0002 ("Total Hours Pregnant") > Const 0x1001:0x05 ("Ambulance Callable After X Game Hours" Value 0x0030))

(Source: История разработки Симс 2, post №754 - The Sims Creative Club)

Mention of receiving a baby from the ambulance is the b2a-ambulance-baby-receive string. The string contained in the file objects.package of the base game, in the Text Lists resources, if you choose to view the strings for English localization. The path to it is:

Found In

Name

Type

Group

Instance

objects.package

Baby Anims

STR#

0x7FCFE070

0x00000091 (145)

The string:

String number

String (English)

Description (As found in the files)

0x0000 (0)

b2a-ambulance-baby-receive

For IK/Blending Test

(Source: История разработки Симс 2, post №762 - The Sims Creative Club)

The ambulance is also mentioned in the BHAV CT - Bill, in the form of text for the dialog box.

Found In

Name

Type

Group

objects.package

CT - Bill

BHAV

0x7FB23EBF

The text is found in the instruction at number 0x7 (7):

[prim 0x0024] Dialog (Text Notification,
  Strings: Private,
  Message: "An ambulance has arrived on your lot.  The nanny can stay overnight,
  but you will be charged for the extra hours.  Would you like the nanny to stay overnight?",
  TNS Style: Sim,
  Priority: 0x01,
  timeout: 0x07,
  TNS ID: Temp 0x0000,
  icon: automatic,
  wait for user: True,
  block simulation: True.  (Text notification on side of screen - returns unique ID in specified temp. For birthdays,
  days-Till-Birthday is expected in temp1))

Message field: "An ambulance has arrived on your lot. The nanny can stay overnight, but you will be charged for the extra hours. Would you like the nanny to stay overnight?".

(Source: История разработки Симс 2, post №2169 - The Sims Creative Club)

Additional Diary Interactions#

There were originally more interactions related to Sims writing in diaries. Final uses a completely separate action. The path to the resource:

Found In

Name

Type

Group

Instance

Objects/objects.package

Action Strings

STR#

0x7FEDFE1C

0x0000012E (302)

List of strings:

String number

String (English)

Description (As found in the files)

0x0000 (0)

Wallflower

The Sims 2 - Needs Translation - Batch15

0x0001 (1)

Watch

The Sims 2 - Needs Translation - Batch15

0x0002 (2)

Diary.../Read

The Sims 2 - Needs Translation - Batch15

0x0003 (3)

Diary.../Write

The Sims 2 - Needs Translation - Batch15

0x0004 (4)

Stalk

The Sims 2 - Needs Translation - Batch15

Buying Additional Everyday Outfits#

Leftover strings for buying additional everyday outfits for Sims. The path to the resource:

Found In

Name

Type

Group

Instance

Objects/objects.package

Action Strings

STR#

0x7FE10572

0x0000012E (302)

List of strings:

String number

String (English)

Description (As found in the files)

0x0019 (0)

Buy.../Everyday Outfit 2

0x001A (1)

Buy.../Everyday Outfit 3

Decorate#

There is an unused action to decorate an object in different color schemes. Sims were originally supposed to customize objects as opposed to being done via Buy/Build Mode.

Oddly, the fourth interaction is missing in its earlier string equivalent.

Found In

Name

Type

Group

Instance

Objects/objects.package

Action Strings

STR#

0x7FB36DAE

0x0000012E (302)

List of strings:

String number

String (English)

Description (As found in the files)

0x0000 (0)

Decorate.../Deep Red Trim

0x0001 (1)

Decorate.../Grey Trim

0x0002 (2)

Decorate.../Orange Trim

0x0003 (3)

Decorate.../Wooden Trim

Order Birthday Cake#

The game left a mention of the ability to order birthday cake. This is mentioned in the file objects.package of the base game, in the Text Lists resources, if you choose to view the strings for English localization.

The path to the resource:

Found In

Name

Type

Group

Instance

Objects/objects.package

[Text Lists]

STR#

0x7F07FBBC

0x0000012E (302)

List of strings:

String number

String (English)

Description (As found in the files)

0x0000 (0)

Order Birthday Cake

The Sims 2 - Needs Translation - Batch15

0x0001 (1)

Order Birthday Cake for $Object

The Sims 2 - Needs Translation - Batch15

0x0002 (2)

Order Birthday Cake for.../$Object

The Sims 2 - Needs Translation - Batch15

For Russian localization, this resource contain a mention of ability to order several cakes. This is string at number (0x0001 (1)).

List of strings:

String number

String (Russian)

Description (As found in the files)

0x0000 (0)

Order Birthday Cake

The Sims 2 - Needs Translation - Batch15

0x0001 (1)

Order Birthday Cakes

The Sims 2 - Needs Translation - Batch15

0x0002 (2)

Order for $Object

The Sims 2 - Needs Translation - Batch15

In release version of game this option is missing. Instead, a birthday cake can be bought in Buy Mode, in the Miscellaneous/For Party section.

(Source: История разработки Симс 2, post №2246 - The Sims Creative Club)

Shop Lift#

Discarded ability for sims to steal food from the food racks in the community lot.

If clone the freezer ""Food Shrine" Commercial Display Freezer" from the base game with Object Workshop from SIMPE, will be found a BHAV called "Interaction - Shop Lift" among the BHAVs designed for this object. Also will be found a Pie Menu String resource with menu options for freezer. Among them there is an pie menu option called "*Shop Lift". This pie menu option is hidden and not used in the game. In total, the freezer has 3 menu option: "Buy", "Browse" and "*Shop Lift".

The "Shop Lift" menu option in the freezer cloned with Object Workshop in Polish:

String number

String (Polish)

Description (As found in the files)

0x0002 (2)

*Kradzież sklepowa

The "Shop Lift" menu option in the freezer cloned with Object Workshop in Czech:

String number

String (Czech)

Description (As found in the files)

0x0002 (2)

*Ukradni v obchodě

Objects.package contain BHAVs with name "Interaction - Shop Lift". BHAVs with this name occur 5 times in the file, which coincides with the number of food racks in Buy Mode.

The paths to the BHAVs:

Found In

Name

Type

Group

Instance

Objects/objects.package

Interaction - Shop Lift

BHAV

0x7F95EEB0

0x00001002 (4098)

Objects/objects.package

Interaction - Shop Lift

BHAV

0x7F1CBCF8

0x00001002 (4098)

Objects/objects.package

Interaction - Shop Lift

BHAV

0x7FA1593E

0x00001002 (4098)

Objects/objects.package

Interaction - Shop Lift

BHAV

0x7FC873CA

0x00001002 (4098)

Objects/objects.package

Interaction - Shop Lift

BHAV

0x7FC57232

0x00001002 (4098)

Analysis of BHAVs:

  1. At caught thief surrounding sims reacted negatively and their relationship with the thief deteriorated.
  2. Any sim with a Neat character point of less than 100 percent (less than 10 points) could shoplift.
  3. Not only adults and teenagers, but also children could shoplift groceries.

Also in BHAVs there are the names of the animations that the sim does when he shoplifts (see instructions with Animate Sim and Animate Overlay). This is the only difference between these BHAVs.

The same file also contain menu options for the food counters. In the Pie Menu Strings (TTAs) resource list, in the French, Polish, and Czech language sections contains a "Shop Lift" string, pie menu option. There are 5 resources that contain this pie menu option. This number coincides with the number of BHAVs, and this number also coincides with the number of food counters that are available in Buy Mode.

The path to the first resource:

Found In

Name

Type

Group

Instance

Objects/objects.package

[Pie Menu Strings]

Pie Menu Strings

0x7F1CBCF8

0x00000001 (1)

The "Shop Lift" string:

String number

String (French)

Description (As found in the files)

0x0002 (2)

*Shop Lift

The path to the second resource:

Found In

Name

Type

Group

Instance

Objects/objects.package

[Pie Menu Strings]

Pie Menu Strings

0x7F95EEB0

0x00000001 (1)

The "Shop Lift" string:

String number

String (French)

Description (As found in the files)

0x0002 (2)

*Shop Lift

The path to the third resource:

Found In

Name

Type

Group

Instance

Objects/objects.package

[Pie Menu Strings]

Pie Menu Strings

0x7FA1593E

0x00000001 (1)

The "Shop Lift" string:

String number

String (French)

Description (As found in the files)

0x0002 (2)

*Shop Lift

The path to the fourth resource:

Found In

Name

Type

Group

Instance

Objects/objects.package

[Pie Menu Strings]

Pie Menu Strings

0x7FC57232

0x00000001 (1)

The "Shop Lift" string:

String number

String (French)

Description (As found in the files)

Notes

0x0002 (2)

*Chaparder

This pie menu option is translated into French.

The path to the fifth resource:

Found In

Name

Type

Group

Instance

Objects/objects.package

[Pie Menu Strings]

Pie Menu Strings

0x7FC873CA

0x00000001 (1)

The "Shop Lift" string:

String number

String (French)

Description (As found in the files)

Notes

0x0002 (2)

*Shop Lift

!!!!

There are several exclamation marks in the line description. This is how the developers of The Sims 2 usually mark feature, pie menu string, message or anythink that is no longer used in the game.

(Source: История разработки Симс 2, post №2255 - The Sims Creative Club)

Two types of bills: electricity and water#

Objects.package file in base contains two equal BCON resource list which name is Bill Type. Both relates to grout Other. Here is more information:

Name

Type

Group

Instance

Bill Type

BCON

0x7FE4B434

0x00001002 (4098)

Bill Type

BCON

0x7FBD8997

0x00002002 (4098)

Both resources contains equal list. Here is content of resources:

Line

Value

Label

0x0 (0)

0x0000

Electric

0x1 (1)

0x0001

Water

It was planned that Sim was supposed to pay 2 separate bills: electricity and water.

(Source: Utility Mod (Electricity and Water Bill) - simler90, Mod The Sims, Two Bill Types in The Sims 2? - The Sims 2 Beta Library Tumblr Blog)

Miscellaneous#

To do:
Reformat this section...

  • Watch play-in is a scrapped computer action. Judging from its name, which "play-in" refers to WooHoo internally, it would have most likely allowed a Sim to look at pornography on the computer. The code for the game removes 20 Simoleons from a Sim's savings if this action is done.
  • Wash clothes is a self-explanatory action, and is only referenced a few times in the code. When asked about a potential laundry feature in late 2003 prerelease, the developmental team said they had no plans for that, implying it was either early1 or was considered later, before eventually being scrapped. A feature like this would be introduced in The Sims 3 Ambitions.
  • In Freetime, there was another wish the Sim could make with the Genie from the Dusty Old Lamp, called Give Me Youth. If successful, the Sim will revert to being a Teen again regardless if they are an Adult or Elder, while all romantic relationships, jobs, extra Want slots will be gone They will also no longer be either a Vampire, Plantsim, Werewolf or Witch. If it fails, the Sim will either instantly age up into an Elder, or they will die if they are already an Elder. Though, this comes with several glitches, such as the game occasionally freezing upon transition. The action was likely removed due to its glitchy nature, despite it being near-complete. There is even an unused Memory relating to it.

References#


  1. https://www.simsnetwork.com/news/2004/01/19/welcome-to-the-sims-2-part-14↩︎