mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2024-11-26 17:43:48 +01:00
Merge pull request #2162 from mikomyazaki/concise_exp_job_gains
Concise exp job gains
This commit is contained in:
commit
39c7a7781a
@ -654,6 +654,8 @@ export function finishWork(this: IPlayer, cancelled: boolean, sing = false): str
|
|||||||
this.workRepGained *= this.cancelationPenalty();
|
this.workRepGained *= this.cancelationPenalty();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const penaltyString = this.cancelationPenalty() === 0.5 ? "half" : "three-quarters";
|
||||||
|
|
||||||
const company = Companies[this.companyName];
|
const company = Companies[this.companyName];
|
||||||
company.playerReputation += this.workRepGained;
|
company.playerReputation += this.workRepGained;
|
||||||
|
|
||||||
@ -665,12 +667,12 @@ export function finishWork(this: IPlayer, cancelled: boolean, sing = false): str
|
|||||||
<Money money={this.workMoneyGained} />
|
<Money money={this.workMoneyGained} />
|
||||||
<br />
|
<br />
|
||||||
<Reputation reputation={this.workRepGained} /> reputation for the company <br />
|
<Reputation reputation={this.workRepGained} /> reputation for the company <br />
|
||||||
{numeralWrapper.formatExp(this.workHackExpGained)} hacking exp <br />
|
{this.workHackExpGained > 0 && <>{numeralWrapper.formatExp(this.workHackExpGained)} hacking exp <br /></>}
|
||||||
{numeralWrapper.formatExp(this.workStrExpGained)} strength exp <br />
|
{this.workStrExpGained > 0 && <>{numeralWrapper.formatExp(this.workStrExpGained)} strength exp <br /></>}
|
||||||
{numeralWrapper.formatExp(this.workDefExpGained)} defense exp <br />
|
{this.workDefExpGained > 0 && <>{numeralWrapper.formatExp(this.workDefExpGained)} defense exp <br /></>}
|
||||||
{numeralWrapper.formatExp(this.workDexExpGained)} dexterity exp <br />
|
{this.workDexExpGained > 0 && <>{numeralWrapper.formatExp(this.workDexExpGained)} dexterity exp <br /></>}
|
||||||
{numeralWrapper.formatExp(this.workAgiExpGained)} agility exp <br />
|
{this.workAgiExpGained > 0 && <>{numeralWrapper.formatExp(this.workAgiExpGained)} agility exp <br /></>}
|
||||||
{numeralWrapper.formatExp(this.workChaExpGained)} charisma exp
|
{this.workChaExpGained > 0 && <>{numeralWrapper.formatExp(this.workChaExpGained)} charisma exp <br /></>}
|
||||||
<br />
|
<br />
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
@ -680,7 +682,7 @@ export function finishWork(this: IPlayer, cancelled: boolean, sing = false): str
|
|||||||
<>
|
<>
|
||||||
You worked a short shift of {convertTimeMsToTimeElapsedString(this.timeWorked)} <br />
|
You worked a short shift of {convertTimeMsToTimeElapsedString(this.timeWorked)} <br />
|
||||||
<br />
|
<br />
|
||||||
Since you cancelled your work early, you only gained half of the reputation you earned. <br />
|
Since you cancelled your work early, you only gained {penaltyString} of the reputation you earned. <br />
|
||||||
<br />
|
<br />
|
||||||
{content}
|
{content}
|
||||||
</>
|
</>
|
||||||
|
@ -62,20 +62,14 @@ export function WorkInProgressRoot(): React.ReactElement {
|
|||||||
<Reputation reputation={player.workRepGained} /> (
|
<Reputation reputation={player.workRepGained} /> (
|
||||||
<ReputationRate reputation={player.workRepGainRate * CYCLES_PER_SEC} />) reputation for this faction <br />
|
<ReputationRate reputation={player.workRepGainRate * CYCLES_PER_SEC} />) reputation for this faction <br />
|
||||||
<br />
|
<br />
|
||||||
{numeralWrapper.formatExp(player.workHackExpGained)} (
|
{player.workHackExpGained > 0 && <>{numeralWrapper.formatExp(player.workHackExpGained)} ({numeralWrapper.formatExp(player.workHackExpGainRate * CYCLES_PER_SEC)} / sec) hacking exp <br /></>}
|
||||||
{numeralWrapper.formatExp(player.workHackExpGainRate * CYCLES_PER_SEC)} / sec) hacking exp <br />
|
|
||||||
<br />
|
<br />
|
||||||
{numeralWrapper.formatExp(player.workStrExpGained)} (
|
{player.workStrExpGained > 0 && <>{numeralWrapper.formatExp(player.workStrExpGained)} ({numeralWrapper.formatExp(player.workStrExpGainRate * CYCLES_PER_SEC)} / sec) strength exp <br /></>}
|
||||||
{numeralWrapper.formatExp(player.workStrExpGainRate * CYCLES_PER_SEC)} / sec) strength exp <br />
|
{player.workDefExpGained > 0 && <>{numeralWrapper.formatExp(player.workDefExpGained)} ({numeralWrapper.formatExp(player.workDefExpGainRate * CYCLES_PER_SEC)} / sec) defense exp <br /></>}
|
||||||
{numeralWrapper.formatExp(player.workDefExpGained)} (
|
{player.workDexExpGained > 0 && <>{numeralWrapper.formatExp(player.workDexExpGained)} ({numeralWrapper.formatExp(player.workDexExpGainRate * CYCLES_PER_SEC)} / sec) dexterity exp <br /></>}
|
||||||
{numeralWrapper.formatExp(player.workDefExpGainRate * CYCLES_PER_SEC)} / sec) defense exp <br />
|
{player.workAgiExpGained > 0 && <>{numeralWrapper.formatExp(player.workAgiExpGained)} ({numeralWrapper.formatExp(player.workAgiExpGainRate * CYCLES_PER_SEC)} / sec) agility exp <br /></>}
|
||||||
{numeralWrapper.formatExp(player.workDexExpGained)} (
|
|
||||||
{numeralWrapper.formatExp(player.workDexExpGainRate * CYCLES_PER_SEC)} / sec) dexterity exp <br />
|
|
||||||
{numeralWrapper.formatExp(player.workAgiExpGained)} (
|
|
||||||
{numeralWrapper.formatExp(player.workAgiExpGainRate * CYCLES_PER_SEC)} / sec) agility exp <br />
|
|
||||||
<br />
|
<br />
|
||||||
{numeralWrapper.formatExp(player.workChaExpGained)} (
|
{player.workChaExpGained > 0 && <>{numeralWrapper.formatExp(player.workChaExpGained)} ({numeralWrapper.formatExp(player.workChaExpGainRate * CYCLES_PER_SEC)} / sec) charisma exp <br /></>}
|
||||||
{numeralWrapper.formatExp(player.workChaExpGainRate * CYCLES_PER_SEC)} / sec) charisma exp <br />
|
|
||||||
<br />
|
<br />
|
||||||
You will automatically finish after working for 20 hours. You can cancel earlier if you wish.
|
You will automatically finish after working for 20 hours. You can cancel earlier if you wish.
|
||||||
<br />
|
<br />
|
||||||
@ -123,18 +117,12 @@ export function WorkInProgressRoot(): React.ReactElement {
|
|||||||
<br />
|
<br />
|
||||||
<br />
|
<br />
|
||||||
You have gained: <br />
|
You have gained: <br />
|
||||||
{numeralWrapper.formatExp(player.workHackExpGained)} (
|
{player.workHackExpGained > 0 && <>{numeralWrapper.formatExp(player.workHackExpGained)} ({numeralWrapper.formatExp(player.workHackExpGainRate * CYCLES_PER_SEC)} / sec) hacking exp <br /></>}
|
||||||
{numeralWrapper.formatExp(player.workHackExpGainRate * CYCLES_PER_SEC)} / sec) hacking exp <br />
|
{player.workStrExpGained > 0 && <>{numeralWrapper.formatExp(player.workStrExpGained)} ({numeralWrapper.formatExp(player.workStrExpGainRate * CYCLES_PER_SEC)} / sec) strength exp <br /></>}
|
||||||
{numeralWrapper.formatExp(player.workStrExpGained)} (
|
{player.workDefExpGained > 0 && <>{numeralWrapper.formatExp(player.workDefExpGained)} ({numeralWrapper.formatExp(player.workDefExpGainRate * CYCLES_PER_SEC)} / sec) defense exp <br /></>}
|
||||||
{numeralWrapper.formatExp(player.workStrExpGainRate * CYCLES_PER_SEC)} / sec) strength exp <br />
|
{player.workDexExpGained > 0 && <>{numeralWrapper.formatExp(player.workDexExpGained)} ({numeralWrapper.formatExp(player.workDexExpGainRate * CYCLES_PER_SEC)} / sec) dexterity exp <br /></>}
|
||||||
{numeralWrapper.formatExp(player.workDefExpGained)} (
|
{player.workAgiExpGained > 0 && <>{numeralWrapper.formatExp(player.workAgiExpGained)} ({numeralWrapper.formatExp(player.workAgiExpGainRate * CYCLES_PER_SEC)} / sec) agility exp <br /></>}
|
||||||
{numeralWrapper.formatExp(player.workDefExpGainRate * CYCLES_PER_SEC)} / sec) defense exp <br />
|
{player.workChaExpGained > 0 && <>{numeralWrapper.formatExp(player.workChaExpGained)} ({numeralWrapper.formatExp(player.workChaExpGainRate * CYCLES_PER_SEC)} / sec) charisma exp <br /></>}
|
||||||
{numeralWrapper.formatExp(player.workDexExpGained)} (
|
|
||||||
{numeralWrapper.formatExp(player.workDexExpGainRate * CYCLES_PER_SEC)} / sec) dexterity exp <br />
|
|
||||||
{numeralWrapper.formatExp(player.workAgiExpGained)} (
|
|
||||||
{numeralWrapper.formatExp(player.workAgiExpGainRate * CYCLES_PER_SEC)} / sec) agility exp <br />
|
|
||||||
{numeralWrapper.formatExp(player.workChaExpGained)} (
|
|
||||||
{numeralWrapper.formatExp(player.workChaExpGainRate * CYCLES_PER_SEC)} / sec) charisma exp <br />
|
|
||||||
You may cancel at any time
|
You may cancel at any time
|
||||||
</Typography>
|
</Typography>
|
||||||
</Grid>
|
</Grid>
|
||||||
@ -185,26 +173,26 @@ export function WorkInProgressRoot(): React.ReactElement {
|
|||||||
<Reputation reputation={player.workRepGained} /> (
|
<Reputation reputation={player.workRepGained} /> (
|
||||||
<ReputationRate reputation={player.workRepGainRate * CYCLES_PER_SEC} />) reputation for this company <br />
|
<ReputationRate reputation={player.workRepGainRate * CYCLES_PER_SEC} />) reputation for this company <br />
|
||||||
<br />
|
<br />
|
||||||
{numeralWrapper.formatExp(player.workHackExpGained)} (
|
{player.workHackExpGained > 0 && <>{numeralWrapper.formatExp(player.workHackExpGained)} (
|
||||||
{`${numeralWrapper.formatExp(player.workHackExpGainRate * CYCLES_PER_SEC)} / sec`}
|
{`${numeralWrapper.formatExp(player.workHackExpGainRate * CYCLES_PER_SEC)} / sec`}
|
||||||
) hacking exp <br />
|
) hacking exp <br /></>}
|
||||||
<br />
|
<br />
|
||||||
{numeralWrapper.formatExp(player.workStrExpGained)} (
|
{player.workStrExpGained > 0 && <>{numeralWrapper.formatExp(player.workStrExpGained)} (
|
||||||
{`${numeralWrapper.formatExp(player.workStrExpGainRate * CYCLES_PER_SEC)} / sec`}
|
{`${numeralWrapper.formatExp(player.workStrExpGainRate * CYCLES_PER_SEC)} / sec`}
|
||||||
) strength exp <br />
|
) strength exp <br /></>}
|
||||||
{numeralWrapper.formatExp(player.workDefExpGained)} (
|
{player.workDefExpGained > 0 && <>{numeralWrapper.formatExp(player.workDefExpGained)} (
|
||||||
{`${numeralWrapper.formatExp(player.workDefExpGainRate * CYCLES_PER_SEC)} / sec`}
|
{`${numeralWrapper.formatExp(player.workDefExpGainRate * CYCLES_PER_SEC)} / sec`}
|
||||||
) defense exp <br />
|
) defense exp <br /></>}
|
||||||
{numeralWrapper.formatExp(player.workDexExpGained)} (
|
{player.workDexExpGained > 0 && <>{numeralWrapper.formatExp(player.workDexExpGained)} (
|
||||||
{`${numeralWrapper.formatExp(player.workDexExpGainRate * CYCLES_PER_SEC)} / sec`}
|
{`${numeralWrapper.formatExp(player.workDexExpGainRate * CYCLES_PER_SEC)} / sec`}
|
||||||
) dexterity exp <br />
|
) dexterity exp <br /></>}
|
||||||
{numeralWrapper.formatExp(player.workAgiExpGained)} (
|
{player.workAgiExpGained > 0 && <>{numeralWrapper.formatExp(player.workAgiExpGained)} (
|
||||||
{`${numeralWrapper.formatExp(player.workAgiExpGainRate * CYCLES_PER_SEC)} / sec`}
|
{`${numeralWrapper.formatExp(player.workAgiExpGainRate * CYCLES_PER_SEC)} / sec`}
|
||||||
) agility exp <br />
|
) agility exp <br /></>}
|
||||||
<br />
|
<br />
|
||||||
{numeralWrapper.formatExp(player.workChaExpGained)} (
|
{player.workChaExpGained > 0 && <>{numeralWrapper.formatExp(player.workChaExpGained)} (
|
||||||
{`${numeralWrapper.formatExp(player.workChaExpGainRate * CYCLES_PER_SEC)} / sec`}
|
{`${numeralWrapper.formatExp(player.workChaExpGainRate * CYCLES_PER_SEC)} / sec`}
|
||||||
) charisma exp <br />
|
) charisma exp <br /></>}
|
||||||
<br />
|
<br />
|
||||||
You will automatically finish after working for 8 hours. You can cancel earlier if you wish, but you will
|
You will automatically finish after working for 8 hours. You can cancel earlier if you wish, but you will
|
||||||
only gain {penaltyString} of the reputation you've earned so far.
|
only gain {penaltyString} of the reputation you've earned so far.
|
||||||
@ -256,26 +244,26 @@ export function WorkInProgressRoot(): React.ReactElement {
|
|||||||
<ReputationRate reputation={player.workRepGainRate * CYCLES_PER_SEC} />
|
<ReputationRate reputation={player.workRepGainRate * CYCLES_PER_SEC} />
|
||||||
) reputation for this company <br />
|
) reputation for this company <br />
|
||||||
<br />
|
<br />
|
||||||
{numeralWrapper.formatExp(player.workHackExpGained)} (
|
{player.workHackExpGained > 0 && <>{numeralWrapper.formatExp(player.workHackExpGained)} (
|
||||||
{`${numeralWrapper.formatExp(player.workHackExpGainRate * CYCLES_PER_SEC)} / sec`}
|
{`${numeralWrapper.formatExp(player.workHackExpGainRate * CYCLES_PER_SEC)} / sec`}
|
||||||
) hacking exp <br />
|
) hacking exp <br /></>}
|
||||||
<br />
|
<br />
|
||||||
{numeralWrapper.formatExp(player.workStrExpGained)} (
|
{player.workStrExpGained > 0 && <>{numeralWrapper.formatExp(player.workStrExpGained)} (
|
||||||
{`${numeralWrapper.formatExp(player.workStrExpGainRate * CYCLES_PER_SEC)} / sec`}
|
{`${numeralWrapper.formatExp(player.workStrExpGainRate * CYCLES_PER_SEC)} / sec`}
|
||||||
) strength exp <br />
|
) strength exp <br /></>}
|
||||||
{numeralWrapper.formatExp(player.workDefExpGained)} (
|
{player.workDefExpGained > 0 && <>{numeralWrapper.formatExp(player.workDefExpGained)} (
|
||||||
{`${numeralWrapper.formatExp(player.workDefExpGainRate * CYCLES_PER_SEC)} / sec`}
|
{`${numeralWrapper.formatExp(player.workDefExpGainRate * CYCLES_PER_SEC)} / sec`}
|
||||||
) defense exp <br />
|
) defense exp <br /></>}
|
||||||
{numeralWrapper.formatExp(player.workDexExpGained)} (
|
{player.workDexExpGained > 0 && <>{numeralWrapper.formatExp(player.workDexExpGained)} (
|
||||||
{`${numeralWrapper.formatExp(player.workDexExpGainRate * CYCLES_PER_SEC)} / sec`}
|
{`${numeralWrapper.formatExp(player.workDexExpGainRate * CYCLES_PER_SEC)} / sec`}
|
||||||
) dexterity exp <br />
|
) dexterity exp <br /></>}
|
||||||
{numeralWrapper.formatExp(player.workAgiExpGained)} (
|
{player.workAgiExpGained > 0 && <>{numeralWrapper.formatExp(player.workAgiExpGained)} (
|
||||||
{`${numeralWrapper.formatExp(player.workAgiExpGainRate * CYCLES_PER_SEC)} / sec`}
|
{`${numeralWrapper.formatExp(player.workAgiExpGainRate * CYCLES_PER_SEC)} / sec`}
|
||||||
) agility exp <br />
|
) agility exp <br /></>}
|
||||||
<br />
|
<br />
|
||||||
{numeralWrapper.formatExp(player.workChaExpGained)} (
|
{player.workChaExpGained > 0 && <>{numeralWrapper.formatExp(player.workChaExpGained)} (
|
||||||
{`${numeralWrapper.formatExp(player.workChaExpGainRate * CYCLES_PER_SEC)} / sec`}
|
{`${numeralWrapper.formatExp(player.workChaExpGainRate * CYCLES_PER_SEC)} / sec`}
|
||||||
) charisma exp <br />
|
) charisma exp <br /></>}
|
||||||
<br />
|
<br />
|
||||||
You will automatically finish after working for 8 hours. You can cancel earlier if you wish, and there will
|
You will automatically finish after working for 8 hours. You can cancel earlier if you wish, and there will
|
||||||
be no penalty because this is a part-time job.
|
be no penalty because this is a part-time job.
|
||||||
|
Loading…
Reference in New Issue
Block a user