diff --git a/css/styles.scss b/css/styles.scss
index ecc67e439..39c70085e 100644
--- a/css/styles.scss
+++ b/css/styles.scss
@@ -36,6 +36,10 @@ li {
list-style-type: none;
}
+br {
+ @extend .noselect;
+}
+
#entire-game-container {
background-color: transparent;
}
diff --git a/src/Augmentation/AugmentationHelpers.jsx b/src/Augmentation/AugmentationHelpers.jsx
index dd7a09e17..02e451a43 100644
--- a/src/Augmentation/AugmentationHelpers.jsx
+++ b/src/Augmentation/AugmentationHelpers.jsx
@@ -1865,11 +1865,6 @@ function initAugmentations() {
resetAugmentation(BladesSimulacrum);
}
- try {
- console.log([1, 0.96, 0.94, 0.93][SourceFileFlags[11]]);
- } catch(err) {
- console.log(err);
- }
// Update costs based on how many have been purchased
mult = Math.pow(CONSTANTS.MultipleAugMultiplier * [1, 0.96, 0.94, 0.93][SourceFileFlags[11]], Player.queuedAugmentations.length);
for (var name in Augmentations) {
diff --git a/src/Gang/Gang.ts b/src/Gang/Gang.ts
index 409dd195b..dc08685d0 100644
--- a/src/Gang/Gang.ts
+++ b/src/Gang/Gang.ts
@@ -293,7 +293,7 @@ export class Gang {
if (this.members.length < numFreeMembers) return 0;
const i = this.members.length - (numFreeMembers - 1);
- return Math.round(0.9 * Math.pow(i, 3) + Math.pow(i, 2));
+ return Math.pow(5, i);
}
recruitMember(name: string): boolean {
diff --git a/src/Gang/GangMember.ts b/src/Gang/GangMember.ts
index 87354bd53..e6dd034e7 100644
--- a/src/Gang/GangMember.ts
+++ b/src/Gang/GangMember.ts
@@ -64,7 +64,7 @@ export class GangMember {
}
calculateAscensionMult(points: number): number {
- return Math.max(Math.pow(points/2000, 0.9), 1);
+ return Math.max(Math.pow(points/4000, 0.7), 1);
}
updateSkillLevels(): void {
@@ -170,12 +170,12 @@ export class GangMember {
expMult(): IMults {
return {
- hack: (this.hack_mult-1)/10+1,
- str: (this.str_mult-1)/10+1,
- def: (this.def_mult-1)/10+1,
- dex: (this.dex_mult-1)/10+1,
- agi: (this.agi_mult-1)/10+1,
- cha: (this.cha_mult-1)/10+1,
+ hack: (this.hack_mult-1)/4+1,
+ str: (this.str_mult-1)/4+1,
+ def: (this.def_mult-1)/4+1,
+ dex: (this.dex_mult-1)/4+1,
+ agi: (this.agi_mult-1)/4+1,
+ cha: (this.cha_mult-1)/4+1,
};
}
diff --git a/src/Gang/GangMemberUpgrade.ts b/src/Gang/GangMemberUpgrade.ts
index aa602bc13..3475a71ee 100644
--- a/src/Gang/GangMemberUpgrade.ts
+++ b/src/Gang/GangMemberUpgrade.ts
@@ -1,4 +1,5 @@
import { IMults, UpgradeType } from "./data/upgrades";
+import { numeralWrapper } from "../ui/numeralFormat";
export class GangMemberUpgrade {
name: string;
@@ -17,24 +18,30 @@ export class GangMemberUpgrade {
}
createDescription(): string {
- const lines = ["Increases:"];
+ const lines = ["Effects:"];
if (this.mults.str != null) {
- lines.push(`* Strength by ${Math.round((this.mults.str - 1) * 100)}%`);
+ lines.push(`+${numeralWrapper.formatPercentage(this.mults.str-1, 0)} strength skill`);
+ lines.push(`+${numeralWrapper.formatPercentage((this.mults.str-1)/4, 2)} strength exp`);
}
if (this.mults.def != null) {
- lines.push(`* Defense by ${Math.round((this.mults.def - 1) * 100)}%`);
+ lines.push(`+${numeralWrapper.formatPercentage(this.mults.def-1, 0)} defense skill`);
+ lines.push(`+${numeralWrapper.formatPercentage((this.mults.def-1)/4, 2)} defense exp`);
}
if (this.mults.dex != null) {
- lines.push(`* Dexterity by ${Math.round((this.mults.dex - 1) * 100)}%`);
+ lines.push(`+${numeralWrapper.formatPercentage(this.mults.dex-1, 0)} dexterity skill`);
+ lines.push(`+${numeralWrapper.formatPercentage((this.mults.dex-1)/4, 2)} dexterity exp`);
}
if (this.mults.agi != null) {
- lines.push(`* Agility by ${Math.round((this.mults.agi - 1) * 100)}%`);
+ lines.push(`+${numeralWrapper.formatPercentage(this.mults.agi-1, 0)} agility skill`);
+ lines.push(`+${numeralWrapper.formatPercentage((this.mults.agi-1)/4, 2)} agility exp`);
}
if (this.mults.cha != null) {
- lines.push(`* Charisma by ${Math.round((this.mults.cha - 1) * 100)}%`);
+ lines.push(`+${numeralWrapper.formatPercentage(this.mults.cha-1, 0)} charisma skill`);
+ lines.push(`+${numeralWrapper.formatPercentage((this.mults.cha-1)/4, 2)} charisma exp`);
}
if (this.mults.hack != null) {
- lines.push(`* Hacking by ${Math.round((this.mults.hack - 1) * 100)}%`);
+ lines.push(`+${numeralWrapper.formatPercentage(this.mults.hack-1, 0)} hacking skill`);
+ lines.push(`+${numeralWrapper.formatPercentage((this.mults.hack-1)/4, 2)} hacking exp`);
}
return lines.join("
");
}
diff --git a/src/Gang/data/Constants.ts b/src/Gang/data/Constants.ts
index 7af0e3d6a..6b2887526 100644
--- a/src/Gang/data/Constants.ts
+++ b/src/Gang/data/Constants.ts
@@ -7,7 +7,7 @@ export const GangConstants: {
} = {
// Respect is divided by this to get rep gain
GangRespectToReputationRatio: 25,
- MaximumGangMembers: 30,
+ MaximumGangMembers: 12,
CyclesPerTerritoryAndPowerUpdate: 100,
// Portion of upgrade multiplier that is kept after ascending
AscensionMultiplierRatio: .15,
diff --git a/src/Gang/ui/BonusTime.tsx b/src/Gang/ui/BonusTime.tsx
index 2d73c2921..1c71b87c7 100644
--- a/src/Gang/ui/BonusTime.tsx
+++ b/src/Gang/ui/BonusTime.tsx
@@ -17,7 +17,7 @@ export function BonusTime(props: IProps): React.ReactElement {
return (<>
Bonus time: {convertTimeMsToTimeElapsedString(bonusMillis)}
-
+
You gain bonus time while offline or when the game is inactive
(e.g. when the tab is throttled by the browser). Bonus time
makes the Gang mechanic progress faster, up to 5x the normal
diff --git a/src/Gang/ui/GangMemberList.tsx b/src/Gang/ui/GangMemberList.tsx
index 5153a90cb..032c375bb 100644
--- a/src/Gang/ui/GangMemberList.tsx
+++ b/src/Gang/ui/GangMemberList.tsx
@@ -40,7 +40,7 @@ export function GangMemberList(props: IProps): React.ReactElement {
gang={props.gang} />
Discount: -{numeralWrapper.formatPercentage(1 - 1 / props.gang.getDiscount())}
-
+
You get a discount on equipment and upgrades based on your
gang's respect and power. More respect and power leads to more
discounts.
diff --git a/src/Gang/ui/ManagementSubpage.tsx b/src/Gang/ui/ManagementSubpage.tsx
index a38974ddc..712ecb847 100644
--- a/src/Gang/ui/ManagementSubpage.tsx
+++ b/src/Gang/ui/ManagementSubpage.tsx
@@ -14,7 +14,7 @@ interface IProps {
export function ManagementSubpage(props: IProps): React.ReactElement {
return (
+
This page is used to manage your gang members and get an overview of
your gang's stats.
Enter a name for your new Gang member: Enter a name for your new Gang member:
{ props.member.canAscend() && <>
-
- Weapons
{weaponUpgrades.map(upg => upgradeButton(upg))}
Armor
{armorUpgrades.map(upg => upgradeButton(upg))}
Vehicles
{vehicleUpgrades.map(upg => upgradeButton(upg))}
Rootkits
{rootkitUpgrades.map(upg => upgradeButton(upg, true))}
Augmentations
{augUpgrades.map(upg => upgradeButton(upg, true))}
diff --git a/src/Gang/ui/RecruitPopup.tsx b/src/Gang/ui/RecruitPopup.tsx
index 64b279da5..28e0dbb18 100644
--- a/src/Gang/ui/RecruitPopup.tsx
+++ b/src/Gang/ui/RecruitPopup.tsx
@@ -50,11 +50,11 @@ export function RecruitPopup(props: IRecruitPopupProps): React.ReactElement {
}
return (<>
-
+
Recruit Gang Member
diff --git a/src/Gang/ui/TaskDescription.tsx b/src/Gang/ui/TaskDescription.tsx
index 02b5a8d99..f5fd2038d 100644
--- a/src/Gang/ui/TaskDescription.tsx
+++ b/src/Gang/ui/TaskDescription.tsx
@@ -14,5 +14,5 @@ export function TaskDescription(props: IProps): React.ReactElement {
const task = GangMemberTasks[props.member.task];
const desc = task ? task.desc: GangMemberTasks["Unassigned"].desc;
- return ();
+ return ();
}
\ No newline at end of file
diff --git a/src/Gang/ui/TaskSelector.tsx b/src/Gang/ui/TaskSelector.tsx
index c18eb3199..2018abbb7 100644
--- a/src/Gang/ui/TaskSelector.tsx
+++ b/src/Gang/ui/TaskSelector.tsx
@@ -37,7 +37,7 @@ export function TaskSelector(props: IProps): React.ReactElement {
return (<>