* DOC: Move all docs into en/ subdirectory PR #1502 is working on adding a Chinese translation to the docs. In general, I encouraged this (in #1452) as a path towards getting useful translated content in the game without requiring a massive refactor/rearchitecting of everything. To support this, this takes the first step of moving our docs into an en/ subdirectory, so that other languages can live alongside. No effort is made at this time to support or select between alternate languages; this is a pure-rename refactor.
3.4 KiB
v2.0.0 Migration Guide
In v2.0.0 a few more APIs have been broken.
Working
Working has been rebuilt from the ground up. The motivation for this change is that all different types of work all required different cached variables on the main Player object. This caused a lot of bugs and crashes. It's been reworked in such a way as to prevent bugs and make it nearly trivial to add new kinds of work. All work types give their reward immediately. No need to stop work to bank rewards like reputation. Faction and Company work no longer have a time limit. Company work no longer reduces rep gain by half for quitting early. Company factions now require 400k rep to join (up from 200k). Backdooring a company server reduces faction requirement to 300k. All types of work generally no longer keep track of cumulative gains like exp and reputation since it's applied instantly.
commitCrime
Crime now loops, meaning after finishing one shoplift you start the next one with no input. While the signature has not changed, its behavior has. It also has a new 'focus' parameter.
getPlayer
The following work-related fields are no longer included:
- workChaExpGained
- currentWorkFactionName
- workDexExpGained
- workHackExpGained
- createProgramReqLvl
- workStrExpGained
- companyName
- crimeType
- workRepGained
- workChaExpGainRate
- workType
- workStrExpGainRate
- isWorking
- workRepGainRate
- workDefExpGained
- currentWorkFactionDescription
- workHackExpGainRate
- workAgiExpGainRate
- workDexExpGainRate
- workMoneyGained
- workMoneyLossRate
- workMoneyGainRate
- createProgramName
- workDefExpGainRate
- workAgiExpGained
- className
The reason for this, is that these fields are all, in one way or another, included in the new work field currentWork.
Some of these values are also irrelevant.
Take a look at the new singularity.getCurrentWork function:
All fields ending in _mult have been moved to the mults struct.
For example: getPlayer().hacking_skill_mult => getPlayer().mults.hacking_skill
skills has been moved to the skills struct
For example: getPlayer().hacking => getPlayer().skills.hacking
exp has been moved to the exp struct
For example: getPlayer().hacking_exp => getPlayer().exp.hacking
hp has been moved to the hp struct
For example: getPlayer().max_hp => getPlayer().hp.max or hp.current
hasWseAccount, hasTixApiAccess, has4SData, has4SDataTixApi have been removed and replaced with similar stock functions.
workForCompany
The argument 'companyName' is now required.
getScriptIncome & getScriptExpGain
These two functions used to have a call where, if no arguments were provided, it would return the total for all scripts. This caused weird signature. If you want to get the total income/exp for all scripts, use the new getTotalScriptIncome / getTotalScriptExpGain instead.
scp
The last two arguments of scp have been reversed. The signature is now scp(files, destination, optional_source)
Singularity
The top level singularity functions were deprecated a while ago in favor of the singularity namespace. This means calls like 'ns.connect' need to be changed to 'ns.singularity.connect'
stock.buy, stock.sell, stock.short
These functions were renamed to stock.buyStock, stock.sellStock, and stock.buyShort because 'buy', 'sell', and 'short' are very common tokens that would trick the ram calculation.
corporation.bribe
The ability to give shares as a bribe has been removed. The signature is now bribe(faction, money)