From f09f4966cf709c0603d7d39c4990497488a1fd0d Mon Sep 17 00:00:00 2001 From: lowercasedonkey <lowercasedonkey@gmail.com> Date: Wed, 28 Jul 2021 00:39:02 -0400 Subject: [PATCH] PC cheat --- src/005-passages/optionsPassages.js | 18 ++++++++++++++++++ src/cheats/PCCheatMenu.js | 19 +++++++++++++++++++ src/cheats/PCCheatMenu.tw | 15 --------------- src/cheats/PCCheatMenuCheatDatatypeCleanup.js | 7 +++++++ src/cheats/PCCheatMenuCheatDatatypeCleanup.tw | 17 ----------------- 5 files changed, 44 insertions(+), 32 deletions(-) create mode 100644 src/cheats/PCCheatMenu.js delete mode 100644 src/cheats/PCCheatMenu.tw create mode 100644 src/cheats/PCCheatMenuCheatDatatypeCleanup.js delete mode 100644 src/cheats/PCCheatMenuCheatDatatypeCleanup.tw diff --git a/src/005-passages/optionsPassages.js b/src/005-passages/optionsPassages.js index b96603fa26e..dc39958b5c6 100644 --- a/src/005-passages/optionsPassages.js +++ b/src/005-passages/optionsPassages.js @@ -92,3 +92,21 @@ new App.DomPassage("MOD_Edit Neighbor Arcology Cheat Datatype Cleanup", return App.UI.Cheat.neighborArcologyCheatDatatypeCleanup(); } ); + +new App.DomPassage("PCCheatMenu", + () => { + V.nextButton = "Apply"; + V.nextLink = "PCCheatMenuCheatDatatypeCleanup"; + V.encyclopedia = "Design Your Master"; + return App.UI.Cheat.PCCheatMenu(); + } +); + + +new App.DomPassage("PCCheatMenuCheatDatatypeCleanup", + () => { + V.nextButton = "Continue"; + V.nextLink = "Manage Personal Affairs"; + return App.UI.Cheat.PCCheatMenuCheatDatatypeCleanup(); + } +); diff --git a/src/cheats/PCCheatMenu.js b/src/cheats/PCCheatMenu.js new file mode 100644 index 00000000000..e969f356f74 --- /dev/null +++ b/src/cheats/PCCheatMenu.js @@ -0,0 +1,19 @@ +App.UI.Cheat.PCCheatMenu = function() { + const node = new DocumentFragment(); + + App.UI.DOM.appendNewElement("h2", node, "Cheat Editing Player Character"); + + App.UI.DOM.appendNewElement("div", node, App.UI.DOM.passageLink( + "Cancel", + "Manage Personal Affairs", + () => { + delete V.tempSlave; + delete V.customEvalCode; + V.PC = clone(V.backupSlave); + } + )); + + + node.append(App.UI.Player.design()); + return node; +}; diff --git a/src/cheats/PCCheatMenu.tw b/src/cheats/PCCheatMenu.tw deleted file mode 100644 index 8b5cddb2cae..00000000000 --- a/src/cheats/PCCheatMenu.tw +++ /dev/null @@ -1,15 +0,0 @@ -:: PCCheatMenu [nobr] - -<<set $nextButton = "Apply", $nextLink = "PCCheatMenuCheatDatatypeCleanup", $encyclopedia = "Design Your Master">> - -''Cheat Editing Player Character'' -<<link "[Cancel]" "Manage Personal Affairs">> - <<unset $tempSlave, $customEvalCode>> - <<set $PC = clone($backupSlave)>> -<</link>> - -<<includeDOM App.UI.Player.design()>> - -<br><br>Custom Cheat: -<br><<textarea "$customEvalCode" "">> -<br>//Any JavaScript function will be automatically run using the PC as an argument when "Apply" is clicked. For example, entering "(PC) => PC.slaveName = 'Fancy Name' " will change your name to "Fancy Name".// diff --git a/src/cheats/PCCheatMenuCheatDatatypeCleanup.js b/src/cheats/PCCheatMenuCheatDatatypeCleanup.js new file mode 100644 index 00000000000..ba0a7ab00f0 --- /dev/null +++ b/src/cheats/PCCheatMenuCheatDatatypeCleanup.js @@ -0,0 +1,7 @@ +App.UI.Cheat.PCCheatMenuCheatDatatypeCleanup = function() { + delete V.backupSlave; + + App.Entity.Utils.PCCheatCleanup(); + + return App.Events.makeNode([`You perform the dark rituals, pray to the dark gods, and sell your soul for the power to reshape your body and life at will. What a cheater!`]); +}; diff --git a/src/cheats/PCCheatMenuCheatDatatypeCleanup.tw b/src/cheats/PCCheatMenuCheatDatatypeCleanup.tw deleted file mode 100644 index 46c8957c0af..00000000000 --- a/src/cheats/PCCheatMenuCheatDatatypeCleanup.tw +++ /dev/null @@ -1,17 +0,0 @@ -:: PCCheatMenuCheatDatatypeCleanup [nobr] - -<<set $nextButton = "Continue", $nextLink = "Manage Personal Affairs">> - -<<if $customEvalCode>> - <<if $customEvalCode.charAt(0) != "(" || $nextLink == ")">> /* second condition is only there for sanityCheck */ - <<set $customEvalCode = "(" + $customEvalCode + ")">> - <</if>> - <<if typeof eval($customEvalCode) === "function">> - <<run (eval($customEvalCode))($PC)>> - <</if>> -<</if>> -<<unset $customEvalCode, $backupSlave>> - -<<run App.Entity.Utils.PCCheatCleanup()>> - -You perform the dark rituals, pray to the dark gods, and sell your soul for the power to reshape your body and life at will. What a cheater! -- GitLab