diff --git a/src/Gang.jsx b/src/Gang.jsx
index 69b362bae..2f3f4287d 100644
--- a/src/Gang.jsx
+++ b/src/Gang.jsx
@@ -1635,7 +1635,7 @@ Gang.prototype.createGangMemberDisplayElement = function(memberObj) {
// Gang member content divided into 3 panels:
// Panel 1 - Shows member's stats & Ascension stuff
const statsDiv = createElement("div", {
- class: "gang-member-info-div",
+ class: "gang-member-info-div tooltip",
id: name + "gang-member-stats",
tooltipsmall: [`Hk: x${numeralWrapper.formatMultiplier(memberObj.hack_mult * memberObj.hack_asc_mult)}(x${numeralWrapper.formatMultiplier(memberObj.hack_mult)} Eq, x${numeralWrapper.formatMultiplier(memberObj.hack_asc_mult)} Asc)`,
`St: x${numeralWrapper.formatMultiplier(memberObj.str_mult * memberObj.str_asc_mult)}(x${numeralWrapper.formatMultiplier(memberObj.str_mult)} Eq, x${numeralWrapper.formatMultiplier(memberObj.str_asc_mult)} Asc)`,
@@ -1645,70 +1645,7 @@ Gang.prototype.createGangMemberDisplayElement = function(memberObj) {
`Ch: x${numeralWrapper.formatMultiplier(memberObj.cha_mult * memberObj.cha_asc_mult)}(x${numeralWrapper.formatMultiplier(memberObj.cha_mult)} Eq, x${numeralWrapper.formatMultiplier(memberObj.cha_asc_mult)} Asc)`].join("
"),
});
UIElems.gangMemberPanels[name]["statsDiv"] = statsDiv;
- const statsP = createElement("pre", {
- display: "inline",
- id: name + "gang-member-stats-text",
- });
- const brElement = createElement("br");
- const ascendButton = createElement("button", {
- class: "accordion-button",
- innerText: "Ascend",
- clickListener: () => {
- const popupId = `gang-management-ascend-member ${memberObj.name}`;
- const ascendBenefits = memberObj.getAscensionResults();
- const txt = createElement("pre", {
- innerText: ["Are you sure you want to ascend this member? They will lose all of",
- "their non-Augmentation upgrades and their stats will reset back to 1.",
- "",
- `Furthermore, your gang will lose ${numeralWrapper.formatRespect(memberObj.earnedRespect)} respect`,
- "",
- "In return, they will gain the following permanent boost to stat multipliers:\n",
- `Hacking: +${numeralWrapper.formatPercentage(ascendBenefits.hack)}`,
- `Strength: +${numeralWrapper.formatPercentage(ascendBenefits.str)}`,
- `Defense: +${numeralWrapper.formatPercentage(ascendBenefits.def)}`,
- `Dexterity: +${numeralWrapper.formatPercentage(ascendBenefits.dex)}`,
- `Agility: +${numeralWrapper.formatPercentage(ascendBenefits.agi)}`,
- `Charisma: +${numeralWrapper.formatPercentage(ascendBenefits.cha)}`].join("\n"),
- });
- const confirmBtn = createElement("button", {
- class: "std-button",
- clickListener: () => {
- this.ascendMember(memberObj);
- this.updateGangMemberDisplayElement(memberObj);
- removeElementById(popupId);
- return false;
- },
- innerText: "Ascend",
- });
- const cancelBtn = createElement("button", {
- class: "std-button",
- clickListener: () => {
- removeElementById(popupId);
- return false;
- },
- innerText: "Cancel",
- });
- createPopup(popupId, [txt, confirmBtn, cancelBtn]);
- },
- });
- const ascendHelpTip = createElement("div", {
- class: "help-tip",
- clickListener: () => {
- dialogBoxCreate(["Ascending a Gang Member resets the member's progress and stats in exchange",
- "for a permanent boost to their stat multipliers.",
- "
The additional stat multiplier that the Gang Member gains upon ascension",
- "is based on the amount of multipliers the member has from non-Augmentation Equipment.",
- "
Upon ascension, the member will lose all of its non-Augmentation Equipment and your",
- "gang will lose respect equal to the total respect earned by the member."].join(" "));
- },
- innerText: "?",
- marginTop: "5px",
- });
-
- statsDiv.appendChild(statsP);
- statsDiv.appendChild(brElement);
- statsDiv.appendChild(ascendButton);
- statsDiv.appendChild(ascendHelpTip);
+ ReactDOM.render(
-Are you sure you want to ascend this member? They will lose all of -their non-Augmentation upgrades and their stats will reset back to 1. - -Furthermore, your gang will lose {numeralWrapper.formatRespect(props.member.earnedRespect)} respect - -In return, they will gain the following permanent boost to stat multipliers: -Hacking: +{numeralWrapper.formatPercentage(ascendBenefits.hack)} -Strength: +{numeralWrapper.formatPercentage(ascendBenefits.str)} -Defense: +{numeralWrapper.formatPercentage(ascendBenefits.def)} -Dexterity: +{numeralWrapper.formatPercentage(ascendBenefits.dex)} -Agility: +{numeralWrapper.formatPercentage(ascendBenefits.agi)} -Charisma: +{numeralWrapper.formatPercentage(ascendBenefits.cha)} +Are you sure you want to ascend this member? They will lose all of@@ -61,8 +61,31 @@ export function Panel1(props: IProps): React.ReactElement { }); } + function openAscensionHelp(): void { + dialogBoxCreate(<> + Ascending a Gang Member resets the member's progress and stats in + exchange for a permanent boost to their stat multipliers. +
+their non-Augmentation upgrades and their stats will reset back to 1.
+
+Furthermore, your gang will lose {numeralWrapper.formatRespect(props.member.earnedRespect)} respect
+
+In return, they will gain the following permanent boost to stat multipliers:
+Hacking: +{numeralWrapper.formatPercentage(ascendBenefits.hack)}
+Strength: +{numeralWrapper.formatPercentage(ascendBenefits.str)}
+Defense: +{numeralWrapper.formatPercentage(ascendBenefits.def)}
+Dexterity: +{numeralWrapper.formatPercentage(ascendBenefits.dex)}
+Agility: +{numeralWrapper.formatPercentage(ascendBenefits.agi)}
+Charisma: +{numeralWrapper.formatPercentage(ascendBenefits.cha)}
+ +Hk: x{numeralWrapper.formatMultiplier(props.member.hack_mult * props.member.hack_asc_mult)}(x{numeralWrapper.formatMultiplier(props.member.hack_mult)} Eq, x{numeralWrapper.formatMultiplier(props.member.hack_asc_mult)} Asc)
+St: x{numeralWrapper.formatMultiplier(props.member.str_mult * props.member.str_asc_mult)}(x{numeralWrapper.formatMultiplier(props.member.str_mult)} Eq, x{numeralWrapper.formatMultiplier(props.member.str_asc_mult)} Asc)
+Df: x{numeralWrapper.formatMultiplier(props.member.def_mult * props.member.def_asc_mult)}(x{numeralWrapper.formatMultiplier(props.member.def_mult)} Eq, x{numeralWrapper.formatMultiplier(props.member.def_asc_mult)} Asc)
+Dx: x{numeralWrapper.formatMultiplier(props.member.dex_mult * props.member.dex_asc_mult)}(x{numeralWrapper.formatMultiplier(props.member.dex_mult)} Eq, x{numeralWrapper.formatMultiplier(props.member.dex_asc_mult)} Asc)
+Ag: x{numeralWrapper.formatMultiplier(props.member.agi_mult * props.member.agi_asc_mult)}(x{numeralWrapper.formatMultiplier(props.member.agi_mult)} Eq, x{numeralWrapper.formatMultiplier(props.member.agi_asc_mult)} Asc)
+Ch: x{numeralWrapper.formatMultiplier(props.member.cha_mult * props.member.cha_asc_mult)}(x{numeralWrapper.formatMultiplier(props.member.cha_mult)} Eq, x{numeralWrapper.formatMultiplier(props.member.cha_asc_mult)} Asc) + +Hacking: {formatNumber(props.member.hack, 0)} ({numeralWrapper.formatExp(props.member.hack_exp)} exp)
Strength: {formatNumber(props.member.str, 0)} ({numeralWrapper.formatExp(props.member.str_exp)} exp)
Defense: {formatNumber(props.member.def, 0)} ({numeralWrapper.formatExp(props.member.def_exp)} exp)
@@ -72,72 +95,6 @@ export function Panel1(props: IProps): React.ReactElement {
+?>); } - - -/* - -const ascendButton = createElement("button", { - class: "accordion-button", - innerText: "Ascend", - clickListener: () => { - const popupId = `gang-management-ascend-member ${memberObj.name}`; - const ascendBenefits = memberObj.getAscensionResults(); - const txt = createElement("pre", { - innerText: ["Are you sure you want to ascend this member? They will lose all of", - "their non-Augmentation upgrades and their stats will reset back to 1.", - "", - `Furthermore, your gang will lose ${numeralWrapper.formatRespect(memberObj.earnedRespect)} respect`, - "", - "In return, they will gain the following permanent boost to stat multipliers:\n", - `Hacking: +${numeralWrapper.formatPercentage(ascendBenefits.hack)}`, - `Strength: +${numeralWrapper.formatPercentage(ascendBenefits.str)}`, - `Defense: +${numeralWrapper.formatPercentage(ascendBenefits.def)}`, - `Dexterity: +${numeralWrapper.formatPercentage(ascendBenefits.dex)}`, - `Agility: +${numeralWrapper.formatPercentage(ascendBenefits.agi)}`, - `Charisma: +${numeralWrapper.formatPercentage(ascendBenefits.cha)}`].join("\n"), - }); - const confirmBtn = createElement("button", { - class: "std-button", - clickListener: () => { - this.ascendMember(memberObj); - this.updateGangMemberDisplayElement(memberObj); - removePopup(popupId); - return false; - }, - innerText: "Ascend", - }); - const cancelBtn = createElement("button", { - class: "std-button", - clickListener: () => { - removePopup(popupId); - return false; - }, - innerText: "Cancel", - }); - createPopup(popupId, [txt, confirmBtn, cancelBtn]); - }, -}); - - -const ascendHelpTip = createElement("div", { - class: "help-tip", - clickListener: () => { - dialogBoxCreate(["Ascending a Gang Member resets the member's progress and stats in exchange", - "for a permanent boost to their stat multipliers.", - "
The additional stat multiplier that the Gang Member gains upon ascension", - "is based on the amount of multipliers the member has from non-Augmentation Equipment.", - "
Upon ascension, the member will lose all of its non-Augmentation Equipment and your", - "gang will lose respect equal to the total respect earned by the member."].join(" ")); - }, - innerText: "?", - marginTop: "5px", -}); - - statsDiv.appendChild(statsP); - statsDiv.appendChild(brElement); - statsDiv.appendChild(ascendButton); - statsDiv.appendChild(ascendHelpTip); - -*/ \ No newline at end of file