Better Major Auto-Selection

This mod changes which major is automatically declared when a Sim enters their junior year from Philosophy to one based on their One True Hobby (OTH), interests and skills.

If the Sim knows their OTH and it has an associated major, they will enroll on that course.

Otherwise, if the Sim has a preferred interest above a specific value and that interest has an associated major, they will enroll on that course.

Otherwise, the Sim's best three skills (biased by any skills associated with their OTH and interests) will be used to pick a major (if any) and they will enroll on that course.

Only if no other major has been chosen will they be enrolled on the Philosophy (by default) course.

Note: Unfortunately it is NOT possible to determine a Sim's life time want via a BHAV, so it is not possible to pick a major appropriate for a desired career path.

All hobby/major, hobby/skill bias, interest/major, interest/skill bias, biased skills/major and limits are configurable. Custom majors can be added.


Configuration - BCONs

0x2010 "Enforced Major - General Tuning"

  • 0x00 - See Below.
  • 0x01 - The major if no others are selected, see BCON 0x2011 for values. Default is 7 "Philosophy".
  • 0x02 - Bonus added to skill associated with Sim's One True Hobby (OTH), see BCON 0x2013 for details. Default is 200 (ie 2.00 skill points).
  • 0x03 - Lowest value for an interest to be considered to determine a Sim's major. Default is 800 (ie 8.00 skill points).
  • 0x04 - Lowest value for an interest to boost any associated skill value when choosing a Sim's major. Default is 500 (ie 5.00 skill points).
  • 0x05 - Bonus added to skill associated with any interest that grants a skill boost. Default is 50 (ie 0.50 skill points).

0x2011 "Enforced Major - Major Names"

User readable list of majors. See below for adding custom majors to this list.

0x2012 "Enforced Major - Major GUIDs (Lo/Hi)"

Major GUID pairs, lo word in even entries, hi word in odd entries. See below for adding custom majors to this list.

0x2013 "Enforced Major - One True Hobby ID to Major ID"

Major ID (see BCON 0x2011) associated with each hobby when the OTH is known to the Sim. A value of -1 (0xFFFF) indicates no associated major. To stop a Sim picking a major based on their known OTH, set all these values to -1 (0xFFFF).

0x2014 "Enforced Major - One True Hobby ID to Bonus Skill ID"

Skill ID (see the first 7 entries of BCON 0x011B) associated with each hobby when the OTH is NOT known to the Sim. A value of -1 (0xFFFF) indicates no associated skill. To disable this bonus, set BCON 0x2010 entry 0x02 to zero.

0x2015 "Enforced Major - Interest ID to Major ID"

Major ID (see BCON 0x2011) associated with each interest. A value of -1 (0xFFFF) indicates no associated major. This is only used when the interest with the highest value exceeds the value in BCON 0x2010 entry 0x03. To stop a Sim picking a major based on their best interest, set BCON 0x2010 entry 0x03 to a value greater than or equal to 1001.

0x2016 "Enforced Major - Interest ID to Bonus Skill ID"

Skill ID (ordered list can be seen in the entries 0x04 thru 0x14 of BCON 0x013D) associated with each interest. A value of -1 (0xFFFF) indicates no associated skill. The level of interest required to trigger the skill bonus is given by BCON 0x2010 entry 0x04 and the amount of bonus is given by BCON 0x2010 entry 0x05. To disable this bonus, set BCON 0x2010 entry 0x05 to zero.

0x2017 "Enforced Major - Major Skill ID 1"
0x2018 "Enforced Major - Major Skill ID 2"
0x2019 "Enforced Major - Major Skill ID 3"

These three BCONs are used together and give each major's associated three best skills, for more details, see below.

Please do NOT ask me to make variations of this mod for specific combinations - I will ignore such requests.


Configuration - Custom Majors

Using the Agriculture Major as an example.

NOTE: While it is possible to add multiple majors at the same time, until you fully understand what's going on I strongly recommend that you do them one at a time!

  • Start SimPE and open the package
  • Edit BCON 0x2010 and add one to entry 0x00 "Max majors", commit.
  • Edit BCON 0x2011 and add a new entry with the same value as the line (for your first custom major this will be 0x000B), commit, click the TRCN button and add a label with the custom major's name, eg "Agriculture", commit. Note the entry number (0x0B) as this is the custom major's ID.
  • Open the custom major's .package file, look at it's OBJD resource and note the major's GUID (eg 0x4E9CF298).
  • Edit BCON 0x2012 and add two new values to the end (entries 0x16 and 0x17 in our example), the first value is the lo word of the GUID (0xF298) and the second value is the hi word (0x4E9C), commit, click the TRCN button and add labels, commit.
  • Decide if this custom major should be associated with a OTH and if so edit BCON 0x2013 to reflect this. For example, we'll associate the Agriculture major with the Nature hobby, so change entry 0x05 from 0x0001 (Biology) to 0x000B (Agriculture), commit, click the TRCN button and change the label as well, commit.
  • Decide if this custom major should be associated with an interest and if so edit BCON 0x2015 to reflect this. For example, we'll associate the Agriculture major with the Weather interest, so change entry 0x0D from 0xFFFF (None) to 0x000B (Agriculture), commit, click the TRCN button and change the label as well, commit.
  • Decide which three skills best represent this custom major (the skills associated with the base majors were determined from the skills required to achieve maximum effort for the major), for our example I'm going with Mech, Logic and Body.
  • Edit BCON 0x2017 and add another entry (0x0B as this is our first custom major to be added) and set the value to 0x0003 (mechanical), commit, click the TRCN button and add the associated label, commit.
  • Edit BCON 0x2018 and add another entry (should also be 0x0B) and set the value to 0x0006 (logic), commit, click the TRCN button and add the associated label, commit.
  • Edit BCON 0x2019 and add another entry (should also be 0x0B) and set the value to 0x0005 (body), commit, click the TRCN button and add the associated label, commit.
  • As a final check, make sure the number of entries in BCONs 0x2011, 0x2017, 0x2018 and 0x2019 are the same and that entry 0x2010:0x00 has the same value, and also that the number of entries in 0x2012 is twice that value.
  • Save and exit.

So how do BCONs 0x2017, 0x2018 and 0x2019 work? If a Sim's best three skills are "Mech/Logic/Body", this clearly matches Agriculture, but it also matches Physics ("Mech/Any/Any") so there is a 50/50 chance of either being chosen, any other combination of 2nd and 3rd best skills will always pick Physics.

If a major should NOT be chosen based on the Sim's three best skills (ie only by their OTH or best interest), set the associated value in BCON 0x2017 to 0xFFFF as that is interpreted as "Never".

Please do NOT ask me to add custom majors to this mod - I will ignore such requests.


Conflicts

Changes STR# 0x012D "Dialog prim string set", changes BHAV 0x2030 "Upgrade Major", adds BHAVs 0x2050 thru 0x2059 and adds BCONs 0x2010 thru 0x2019 in the "MajorGlobals" (0x7F17E3A4) group, so will conflict with any mods that do the same.

Known to conflict with InTeen, make sure this mod loads after that one.

Known to conflict with TwoJeffs' "No Finals At Night", make sure this mod loads after that one.


Simblr Links


Credits

  • maxon for the reworded text.
  • The developers of SimPE.

Files