diff --git a/aiserver.py b/aiserver.py
index 79ff25b9..5b70b10d 100644
--- a/aiserver.py
+++ b/aiserver.py
@@ -161,6 +161,7 @@ class vars:
adventure = False
dynamicscan = False
remote = False
+ nopromptgen = False
#==================================================================#
# Function to get model selection at startup
@@ -1172,6 +1173,7 @@ def lua_has_setting(setting):
"setuseprompt",
"setadventure",
"setdynamicscan",
+ "nopromptgen",
"frmttriminc",
"frmtrmblln",
"frmtrmspch",
@@ -1194,6 +1196,7 @@ def lua_get_setting(setting):
if(setting == "setuseprompt"): return vars.useprompt
if(setting == "setadventure"): return vars.adventure
if(setting == "setdynamicscan"): return vars.dynamicscan
+ if(setting == "nopromptgen"): return vars.nopromptgen
if(setting == "frmttriminc"): return vars.formatoptns["frmttriminc"]
if(setting == "frmtrmblln"): return vars.formatoptns["frmttriminc"]
if(setting == "frmtrmspch"): return vars.formatoptns["frmttriminc"]
@@ -1221,6 +1224,7 @@ def lua_set_setting(setting, v):
if(setting == "setuseprompt"): vars.useprompt = v
if(setting == "setadventure"): vars.adventure = v
if(setting == "setdynamicscan"): vars.dynamicscan = v
+ if(setting == "setnopromptgen"): vars.nopromptgen = v
if(setting == "frmttriminc"): vars.formatoptns["frmttriminc"] = v
if(setting == "frmtrmblln"): vars.formatoptns["frmttriminc"] = v
if(setting == "frmtrmspch"): vars.formatoptns["frmttriminc"] = v
@@ -1692,6 +1696,10 @@ def get_message(msg):
vars.dynamicscan = msg['data']
settingschanged()
refresh_settings()
+ elif(msg['cmd'] == 'setnopromptgen'):
+ vars.nopromptgen = msg['data']
+ settingschanged()
+ refresh_settings()
elif(not vars.remote and msg['cmd'] == 'importwi'):
wiimportrequest()
@@ -1748,6 +1756,7 @@ def savesettings():
js["useprompt"] = vars.useprompt
js["adventure"] = vars.adventure
js["dynamicscan"] = vars.dynamicscan
+ js["nopromptgen"] = vars.nopromptgen
js["userscripts"] = vars.userscripts
js["corescript"] = vars.corescript
@@ -1803,6 +1812,8 @@ def loadsettings():
vars.adventure = js["adventure"]
if("dynamicscan" in js):
vars.dynamicscan = js["dynamicscan"]
+ if("nopromptgen" in js):
+ vars.nopromptgen = js["nopromptgen"]
if("userscripts" in js):
vars.userscripts = []
@@ -1887,7 +1898,7 @@ def actionsubmit(data, actionmode=0, force_submit=False):
assert False
# Start the game
vars.gamestarted = True
- if(not vars.noai and vars.lua_koboldbridge.generating):
+ if(not vars.noai and vars.lua_koboldbridge.generating and not vars.nopromptgen):
# Save this first action as the prompt
vars.prompt = data
# Clear the startup text from game screen
@@ -2671,6 +2682,7 @@ def refresh_settings():
emit('from_server', {'cmd': 'updateuseprompt', 'data': vars.useprompt}, broadcast=True)
emit('from_server', {'cmd': 'updateadventure', 'data': vars.adventure}, broadcast=True)
emit('from_server', {'cmd': 'updatedynamicscan', 'data': vars.dynamicscan}, broadcast=True)
+ emit('from_server', {'cmd': 'updatenopromptgen', 'data': vars.nopromptgen}, broadcast=True)
emit('from_server', {'cmd': 'updatefrmttriminc', 'data': vars.formatoptns["frmttriminc"]}, broadcast=True)
emit('from_server', {'cmd': 'updatefrmtrmblln', 'data': vars.formatoptns["frmtrmblln"]}, broadcast=True)
diff --git a/gensettings.py b/gensettings.py
index 1d735266..62299475 100644
--- a/gensettings.py
+++ b/gensettings.py
@@ -129,6 +129,17 @@ gensettingstf = [{
"step": 1,
"default": 0,
"tooltip": "Scan the AI's output for world info keys as it's generating the output."
+ },
+ {
+ "uitype": "toggle",
+ "unit": "bool",
+ "label": "No Prompt Generation",
+ "id": "setnopromptgen",
+ "min": 0,
+ "max": 1,
+ "step": 1,
+ "default": 0,
+ "tooltip": "When enabled the AI does not generate when you enter the prompt, instead you need to do an action first."
}]
gensettingsik =[{
diff --git a/static/application.js b/static/application.js
index e23dffc4..d4fcfe4f 100644
--- a/static/application.js
+++ b/static/application.js
@@ -2016,6 +2016,9 @@ $(document).ready(function(){
} else if(msg.cmd == "updatedynamicscan") {
// Update toggle state
$("#setdynamicscan").prop('checked', msg.data).change();
+ } else if(msg.cmd == "updatenopromptgen") {
+ // Update toggle state
+ $("#setnopromptgen").prop('checked', msg.data).change();
} else if(msg.cmd == "runs_remotely") {
remote = true;
hide([button_savetofile, button_import, button_importwi]);
diff --git a/templates/index.html b/templates/index.html
index 08980ef3..a394d854 100644
--- a/templates/index.html
+++ b/templates/index.html
@@ -7,7 +7,7 @@
-
+