bladeburner slowly being converted to typescript, added ScriptHackMoneyGain multiplier which is the money you actually gain from script hacks, not money drained, important for BN8

This commit is contained in:
Olivier Gagnon
2021-03-13 15:10:55 -05:00
parent 9ccdd7f4e5
commit d6016f490c
20 changed files with 1565 additions and 1146 deletions
+14
View File
@@ -0,0 +1,14 @@
// Action Identifier enum
export const ActionTypes = Object.freeze({
"Idle": 1,
"Contract": 2,
"Operation": 3,
"BlackOp": 4,
"BlackOperation": 4,
"Training": 5,
"Recruitment": 6,
"FieldAnalysis": 7,
"Field Analysis": 7,
"Diplomacy": 8,
"Hyperbolic Regeneration Chamber": 9,
});
+79
View File
@@ -0,0 +1,79 @@
export const BladeburnerConstants: {
CityNames: string[];
CyclesPerSecond: number;
StaminaGainPerSecond: number;
BaseStaminaLoss: number;
MaxStaminaToGainFactor: number;
DifficultyToTimeFactor: number;
DiffMultExponentialFactor: number;
DiffMultLinearFactor: number;
EffAgiLinearFactor: number;
EffDexLinearFactor: number;
EffAgiExponentialFactor: number;
EffDexExponentialFactor: number;
BaseRecruitmentTimeNeeded: number;
PopulationThreshold: number;
PopulationExponent: number;
ChaosThreshold: number;
BaseStatGain: number;
BaseIntGain: number;
ActionCountGrowthPeriod: number;
RankToFactionRepFactor: number;
RankNeededForFaction: number;
ContractSuccessesPerLevel: number;
OperationSuccessesPerLevel: number;
RanksPerSkillPoint: number;
ContractBaseMoneyGain: number;
HrcHpGain: number;
HrcStaminaGain: number;
} = {
CityNames: ["Aevum", "Chongqing", "Sector-12", "New Tokyo", "Ishima", "Volhaven"],
CyclesPerSecond: 5, // Game cycle is 200 ms
StaminaGainPerSecond: 0.0085,
BaseStaminaLoss: 0.285, // Base stamina loss per action. Increased based on difficulty
MaxStaminaToGainFactor: 70000, // Max Stamina is divided by this to get bonus stamina gain
DifficultyToTimeFactor: 10, // Action Difficulty divided by this to get base action time
/**
* The difficulty multiplier affects stamina loss and hp loss of an action. Also affects
* experience gain. Its formula is:
* difficulty ^ exponentialFactor + difficulty / linearFactor
*/
DiffMultExponentialFactor: 0.28,
DiffMultLinearFactor: 650,
/**
* These factors are used to calculate action time.
* They affect how much action time is reduced based on your agility and dexterity
*/
EffAgiLinearFactor: 10e3,
EffDexLinearFactor: 10e3,
EffAgiExponentialFactor: 0.04,
EffDexExponentialFactor: 0.035,
BaseRecruitmentTimeNeeded: 300, // Base time needed (s) to complete a Recruitment action
PopulationThreshold: 1e9, // Population which determines baseline success rate
PopulationExponent: 0.7, // Exponent that influences how different populations affect success rate
ChaosThreshold: 50, // City chaos level after which it starts making tasks harder
BaseStatGain: 1, // Base stat gain per second
BaseIntGain: 0.001, // Base intelligence stat gain
ActionCountGrowthPeriod: 480, // Time (s) it takes for action count to grow by its specified value
RankToFactionRepFactor: 2, // Delta Faction Rep = this * Delta Rank
RankNeededForFaction: 25,
ContractSuccessesPerLevel: 3, // How many successes you need to level up a contract
OperationSuccessesPerLevel: 2.5, // How many successes you need to level up an op
RanksPerSkillPoint: 3, // How many ranks needed to get 1 Skill Point
ContractBaseMoneyGain: 250e3, // Base Money Gained per contract
HrcHpGain: 2, // HP Gained from Hyperbolic Regeneration chamber
HrcStaminaGain: 1, // Percentage Stamina gained from Hyperbolic Regeneration Chamber
}
+116
View File
@@ -0,0 +1,116 @@
export const ConsoleHelpText: {} = {
helpList: [
"Use 'help [command]' to get more information about a particular Bladeburner console command.",
"",
" automate [var] [val] [hi/low] Configure simple automation for Bladeburner tasks",
" clear/cls Clear the console",
" help [cmd] Display this help text, or help text for a specific command",
" log [en/dis] [type] Enable or disable logging for events and actions",
" skill [action] [name] Level or display info about your Bladeburner skills",
" start [type] [name] Start a Bladeburner action/task" ,
" stop Stops your current Bladeburner action/task"
],
automate: [
"automate [var] [val] [hi/low]",
"",
"A simple way to automate your Bladeburner actions. This console command can be used " +
"to automatically start an action when your stamina rises above a certain threshold, and " +
"automatically switch to another action when your stamina drops below another threshold.",
" automate status - Check the current status of your automation and get a brief description of what it'll do",
" automate en - Enable the automation feature",
" automate dis - Disable the automation feature",
"",
"There are four properties that must be set for this automation to work properly. Here is how to set them:",
"",
" automate stamina 100 high",
" automate contract Tracking high",
" automate stamina 50 low",
" automate general 'Field Analysis' low",
"",
"Using the four console commands above will set the automation to perform Tracking contracts " +
"if your stamina is 100 or higher, and then switch to Field Analysis if your stamina drops below " +
"50. Note that when setting the action, the name of the action is CASE-SENSITIVE. It must " +
"exactly match whatever the name is in the UI."
],
clear: [
"clear",
"",
"Clears the console"
],
cls: [
"cls",
"",
"Clears the console"
],
help: [
"help [command]",
"",
"Running 'help' with no arguments displays the general help text, which lists all console commands " +
"and a brief description of what they do. A command can be specified to get more specific help text " +
"about that particular command. For example:",
"",
" help automate",
"",
"will display specific information about using the automate console command"
],
log: [
"log [en/dis] [type]",
"",
"Enable or disable logging. By default, the results of completing actions such as contracts/operations are logged " +
"in the console. There are also random events that are logged in the console as well. The five categories of " +
"things that get logged are:",
"",
"[general, contracts, ops, blackops, events]",
"",
"The logging for these categories can be enabled or disabled like so:",
"",
" log dis contracts - Disables logging that occurs when contracts are completed",
" log en contracts - Enables logging that occurs when contracts are completed",
" log dis events - Disables logging for Bladeburner random events",
"",
"Logging can be universally enabled/disabled using the 'all' keyword:",
"",
" log dis all",
" log en all"
],
skill: [
"skill [action] [name]",
"",
"Level or display information about your skills.",
"",
"To display information about all of your skills and your multipliers, use:",
"",
" skill list",
"",
"To display information about a specific skill, specify the name of the skill afterwards. " +
"Note that the name of the skill is case-sensitive. Enter it exactly as seen in the UI. If " +
"the name of the skill has whitespace, enclose the name of the skill in double quotation marks:",
"",
" skill list Reaper<br>" +
" skill list 'Digital Observer'",
"",
"This console command can also be used to level up skills:",
"",
" skill level [skill name]"
],
start: [
"start [type] [name]",
"",
"Start an action. An action is specified by its type and its name. The " +
"name is case-sensitive. It must appear exactly as it does in the UI. If " +
"the name of the action has whitespace, enclose it in double quotation marks. " +
"Valid action types include:",
"",
"[general, contract, op, blackop]",
"",
"Examples:",
"",
" start contract Tracking",
" start op 'Undercover Operation'"
],
stop:[
"stop",
"",
"Stop your current action and go idle."
],
}
+31
View File
@@ -0,0 +1,31 @@
export const SkillNames: {
BladesIntuition: string;
Cloak: string;
Marksman: string;
WeaponProficiency: string;
ShortCircuit: string;
DigitalObserver: string;
Tracer: string;
Overclock: string;
Reaper: string;
EvasiveSystem: string;
Datamancer: string;
CybersEdge: string;
HandsOfMidas: string;
Hyperdrive: string;
} = {
BladesIntuition: "Blade's Intuition",
Cloak: "Cloak",
Marksman: "Marksman",
WeaponProficiency: "Weapon Proficiency",
ShortCircuit: "Short-Circuit",
DigitalObserver: "Digital Observer",
Tracer: "Tracer",
Overclock: "Overclock",
Reaper: "Reaper",
EvasiveSystem: "Evasive System",
Datamancer: "Datamancer",
CybersEdge: "Cyber's Edge",
HandsOfMidas: "Hands of Midas",
Hyperdrive: "Hyperdrive",
}