Restricted Job Offers

SCREENSHOTS
Downloaded 2,167 times 71 Thanks 10 Favourited 11,960 Views
 Say Thanks!
Uploaded: 27th Feb 2024 at 9:07 PM
Updated: 1st Nov 2024 at 6:52 PM
This mod changes the way non-pet job offers work:
  • Every day, when a newspaper is delivered, new job offers are randomly created for carriers that haven't appeared in previous day offers. Each household has its own offers.
    It's almost like in an unmodded game but the offers are no longer biased by aspirations and college degrees of household members.
  • Depending on the mod configuration, for each job type (full-time and part-time), up to 5 job offers are created:
    • up to 3 offers both for a newspaper and the online job finder,
    • up to 5 offers exclusively for the online job finder.
    Originally, for each job type, there are always 5 job offers created and 3 of them are in a newspaper.
  • In level configurations other than unrestricted:
    • Each job offer has a strictly defined level.
      Originally, the offered level is adjusted to qualifications (skills, friends, college, private school) of a Sim who is looking for a job and only a college graduate may start a job from a level higher than 6th.
    • Job offers never regard highest career levels – 10th of full-time jobs and 3rd of part-time jobs.
      Originally, elders can start a part-time job from the 3rd level.
    • A Sim who looks for a job can see an offer only when they qualify for the offered job level, with some exceptions:
      • Adults and elders who are college graduates need to qualify for a lower level, up to 3 lower, depending on their final grade. E.g. when a job offer regards the 5th level of a career, then a Sim who graduated with high honors needs to qualify for the 2nd level. It's based on the vanilla game behavior.
      • Teen Sims who attend a private school may take a part-time job regardless of their qualifications.
        Originally, private school students always start from the 2nd level and other teens – from the 1st level.
  • An offer of a job that has been taken by your Sim no longer appears when Sims look for a job.
    Originally, many Sims may accept the same job offer.

This mod also fixes some bugs and oversights:
  • a Sim who takes a job offer for their pet:
    • no longer lose their job in a private business (introduced in Open for Business)
    • no longer have their counter of being late for work reset.
  • a Sim or a pet who already has a job and takes a new job offer gets a memory of quitting their job and fulfills their want to quit.
    It doesn't happen in an unmodded game.

Update (24 Apr 2024): Added the mostly very low level configuration and added information on how different versions work in practice.
Installation and compatibility notes
You need three files – core, level config, and number config – to make this mod work.
Use only one version of each file at a time.
Use the regular version of the core file unless instructions in the conflicts section say otherwise.
The mod should be base-game compatible. I'm not completely sure because I haven't tested it in the base game setup.

Number configuration details
In a sequence from the most to the least challenging. The challenge is poor variability of job offers. Choose carefully.
Configuration name
Property
shortageequalaround 3always 5
Chance of no jobs 3/10 1/6 1/10-
Chance of 1 job 2/10 1/6 1/10-
Chance of 2 jobs 2/10 1/6 2/10-
Chance of 3 jobs 1/10 1/6 3/10-
Chance of 4 jobs 1/10 1/6 2/10-
Chance of 5 jobs 1/10 1/6 1/10always
Number of newspaper jobs (minimum to maximum)0 to 30 to 31 to 3always 3
Chance of another newspaper job above the minimum50%50%50%-

X/Y means X chance out of Y.
Y is a sum of X's across job number chances.
E.g. in the around 3 version, Y = 1+1+2+3+2+1 = 10.

Every day, for each job type separately (full-time and part-time), the algorithm randomly chooses a total number of jobs based on the defined chances (first 6 rows in the table). It creates new job offers one by one:
  • First, it creates newspaper job offers until the minimum number of newspaper jobs or the total number is reached.
  • Then, each next job offer has a chance of being in a newspaper until the maximum number of newspaper jobs or the total number is reached. If it won't be a newspaper job then the offer will be exclusive for the online job finder.
  • Each next job will be exclusive for the online job finder until the total number is reached.
  • Once the total number is reached, the algorithm ends.
Not all the steps will be always performed, depending on the chosen total number.

Level configuration details
In a sequence from the most to the least challenging. The challenge is a long period of unemployment due to lack of qualifications. Choose carefully.
Configuration name
Property
equalmostly lowmostly very lowunrestricted
newspaper job level chances
Chance of 1st level 1/5~2 3/9~5 8/19~13 not defined strictly – dynamic, as originally
Chance of 2nd level 1/5~2 2/9~5 5/19~13
Chance of 3rd level 1/5 2/9 3/19
Chance of 4th level 1/5 1/9 2/19
Chance of 5th level 1/5 1/9 1/19
Chance of 6th level---
Chance of 7th level---
Chance of 8th level---
Chance of 9th level---
A calculated chance of at least one full-time job offer at 1st level among 3 offers~49%~70%~81%-
online job finder job level chances
Chance of 1st level 1/9~2 3/14~5 13/35~21 not defined strictly – dynamic, as originally
Chance of 2nd level 1/9~2 2/14~5 8/35~21
Chance of 3rd level 1/9 2/14 5/35
Chance of 4th level 1/9 2/14 3/35
Chance of 5th level 1/9 1/14 2/35
Chance of 6th level 1/9 1/14 1/35
Chance of 7th level 1/9 1/14 1/35
Chance of 8th level 1/9 1/14 1/35
Chance of 9th level 1/9 1/14 1/35
A calculated chance of at least one full-time job offer at 1st level among 3 offers~30%~51%~75%-
A calculated chance of at least one full-time job offer at 7th–9th level among 3 offers~70%~51%~24%-

X/Y means X chance out of Y.
Y is a sum of X's across level chances for a certain job offer source (newspaper or online job finder) and a certain job type (full-time or part-time).
E.g. in the mostly low version, for newspaper offers, Y = 3+2+2+1+1(+0+0+0+0) = 9 in case of full-time jobs, and Y = 3+2 = 5 in case of part-time jobs.

Newspaper jobs appear in the online job finder as well.

Tuning
You can create your own configurations by editing the behavior constants from the selected configuration files in SimPe.

When the Restricted job levels? setting is set to 0 in a level configuration file, then other level settings no longer matter. The unrestricted version is set that way.

Known issues
After you have this mod installed, new settings won't be applied to the already existing job offers. You need to wait until the next newspaper delivery. It will trigger creating new job offers under new rules.

Conflicts
Conflicting modWay to resolveComment
Doctors Need Degrees by KittyCareyIt can be used with my mod in any order.Both mods change the conflicting resource in the same way.
Edukashun Iz Gud by CyjonIt can be used with my mod in any order.Both mods change the conflicting resource in the same way.
Find Pet Job For Fix by simler90Don't use it with my mod.My mod includes changes made by the conflicting mod.
Harder Jobs by PescadoDon't use it with my mod.
Job Rejection Mod by Lazy DuchessUse the job rejection mod version of my mod's core file. My mod must load after Lazy Duchess's mod.The compatible version of the core file also prevents Sims from being rejected when using a newspaper debug job offer interaction, and makes a dialog asking to quit job will only appear when a Sim gets accepted.
Job Summary by Pick'N'MixDon't use it with my mod if you want to only see jobs available for your Sim or don't want to see a buggy $NameLocal:# in dialogs.The conflicting mod shows all job offers and assumes that there are always 3 newspaper and 5 online finder jobs.
Quit Job Memory Fix by Lenna9Don't use it with my mod.My mod includes changes made by the conflicting mod.
Random Job Offer by Boiling OilDon't use it with my mod.
Unselectable Careers – Job Finder Patch by Pick'n'MixRemove the conflicting mod and use only my mod.My mod contains the check for unselectable careers. You need Pick'n'Mix's file only to follow the manual from its description.
Any mod that uses the 0x0002 attribute of job data objects for its own purposesDon't use it with my mod.My mod uses that attribute to store information about job offers.

Overridden resources
Resource nameType nameGroup/object nameTypeGroupInstance
Career - Unlock CheckBehaviour FunctionComputerGlobals0x424841560x7F4412940x0000204C
CT - Offer JobBehaviour FunctionJobDataGlobals0x424841560x7F8F4EB60x00002006
Job FinderObject DataJob Finder0x4F424A440x7FC2ED7B0x000041A7
set random JobsBehaviour FunctionJob Finder0x424841560x7FC2ED7B0x00001001
Sub - Initialize Daily JobsBehaviour FunctionJob Finder0x424841560x7FC2ED7B0x00001003
Sub - Set Daily JobsBehaviour FunctionNewspaper0x424841560x7F08E23C0x00001004
Sub - Set Daily Teen/Elder JobsBehaviour FunctionNewspaper0x424841560x7F08E23C0x0000103F

New resources
Resource nameType nameGroup/object nameTypeGroupInstance
simNopke-restrictedJobOffers-core and simNopke-restrictedJobOffers-core-jobRejection
Call Named Tree prim string setText ListsJob Finder0x535452230x7FC2ED7B0x0000012F
Job FlagsBehaviour ConstantJob Finder0x42434F4E0x7FC2ED7B0x00001000
Job FlagsBehaviour Constant LabelsJob Finder0x5452434E0x7FC2ED7B0x00001000
set random JobsEdith Simantics Behaviour LabelsJob Finder0x545052500x7FC2ED7B0x00001001
Sub - Get Random Number Of Job Offers [Temp0]Behaviour FunctionJob Finder0x424841560x7FC2ED7B0x00001010
Sub - Get Random Job Level [Temp0]Edith Simantics Behaviour LabelsJob Finder0x545052500x7FC2ED7B0x00001011
Sub - Get Random Job Level [Temp0]Behaviour FunctionJob Finder0x424841560x7FC2ED7B0x00001011
simNopke-restrictedJobOffers-levelConfig-###
Newspaper Job Level Chances (out of total)Behaviour ConstantJob Finder0x42434F4E0x7FC2ED7B0x00001003
Newspaper Job Level Chances (out of total)Behaviour Constant LabelsJob Finder0x5452434E0x7FC2ED7B0x00001003
Online Job Level Chances (out of total)Behaviour ConstantJob Finder0x42434F4E0x7FC2ED7B0x00001004
Online Job Level Chances (out of total)Behaviour Constant LabelsJob Finder0x5452434E0x7FC2ED7B0x00001004
Other Job Level TuningBehaviour ConstantJobDataGlobals0x42434F4E0x7F8F4EB60x00002034
Other Job Level TuningBehaviour Constant LabelsJobDataGlobals0x5452434E0x7F8F4EB60x00002034
simNopke-restrictedJobOffers-numberConfig-###
Number of Jobs Other TuningBehaviour Constant LabelsJob Finder0x5452434E0x7FC2ED7B0x00001001
Number of Jobs Other TuningBehaviour ConstantJob Finder0x42434F4E0x7FC2ED7B0x00001001
Number of Jobs Chances (out of total)Behaviour Constant LabelsJob Finder0x5452434E0x7FC2ED7B0x00001002
Number of Jobs Chances (out of total)Behaviour ConstantJob Finder0x42434F4E0x7FC2ED7B0x00001002

Credits
Ciastko
jfade (The Compressorizer!)
Lenna9 (Quit Job Memory Fix)
LimeyYoshi
Nostural
simler90 (Find Pet Job For Fix)
Tvickie
Creators of SimPe