diff --git a/data/transl/catalan.txt b/data/transl/catalan.txt index 5ed3afec..07fe49e8 100644 --- a/data/transl/catalan.txt +++ b/data/transl/catalan.txt @@ -132,8 +132,10 @@ $gamePriorityInvert [%s] pel darrer lix. $gameQueueBuilder Torna a fer clic per posar a la cua. $gameQueuePlatformer Torna a fer clic per posar a la cua. $gameHoldToScroll Fes clic i manté premut [%s] i mou el ratolí per desplaçar. +$gameClickToInsert Mode d'Inserció: Fes clic per inserir. $gameClickToCancelReplay Repetitió. Fes clic a l'aire per jugar. $gameFramestepOrQuit Rebobina el temps (◀▮) o surt amb [%s]. +$gameMaxTicksReached Nombre màxim de ticks (%s) assolides. Rebobina o surt. $gamePause Pausar. $gameShowSplatRuler Mostra el regle d'esclafades. $gameHighlightGoals Ressalta els teus propis caus i objectius. diff --git a/data/transl/english.txt b/data/transl/english.txt index f4c09928..e1bb814e 100644 --- a/data/transl/english.txt +++ b/data/transl/english.txt @@ -132,8 +132,10 @@ $gamePriorityInvert [%s] for hindmost lix. $gameQueueBuilder Click again to queue. $gameQueuePlatformer Click again to queue. $gameHoldToScroll Hold [%s] and move mouse to scroll. +$gameClickToInsert Insert Mode: Click to insert. $gameClickToCancelReplay Replaying. Click to play from here. $gameFramestepOrQuit Rewind time (◀▮) or quit with [%s]. +$gameMaxTicksReached Maximal number of ticks (%s) reached. Rewind or quit. $gamePause Pause. $gameShowSplatRuler Show splat ruler. $gameHighlightGoals Highlight own hatches and goals. diff --git a/data/transl/german.txt b/data/transl/german.txt index 4734c5c9..56aecf9c 100644 --- a/data/transl/german.txt +++ b/data/transl/german.txt @@ -128,8 +128,10 @@ $gamePriorityInvert [%s] für hintere Lix. $gameQueueBuilder Klicke zum Vormerken. $gameQueuePlatformer Klicke zum Vormerken. $gameHoldToScroll Halte [%s] und bewege Maus zum Scrollen. +$gameClickToInsert Einfügemodus: Klicke, um einzufügen. $gameClickToCancelReplay Replay läuft. Klicke, um von hier zu spielen. $gameFramestepOrQuit Gehe zurück (◀▮) oder beende mit [%s]. +$gameMaxTicksReached Maximale Anzahl Ticks (%s) erreicht. Spule zurück oder beende. $gamePause Pause. $gameShowSplatRuler Fallhöhen-Lineal anzeigen. $gameHighlightGoals Eigene Klappen und Ziele hervorheben. diff --git a/data/transl/swedish.txt b/data/transl/swedish.txt index 42172bda..54821290 100644 --- a/data/transl/swedish.txt +++ b/data/transl/swedish.txt @@ -132,8 +132,10 @@ $gamePriorityInvert [%s] för lix längst bak $gameQueueBuilder Klicka igen för att kölägga. $gameQueuePlatformer Klicka igen för att kölägga. $gameHoldToScroll Håll [%s] och rör musen för att rulla. +$gameClickToInsert Infogningsläge: Klicka för att infoga. $gameClickToCancelReplay Repris är på. Klicka i luften för att spela. $gameFramestepOrQuit Spola tillbaka tid (◀▮) eller avsluta med [%s]. +$gameMaxTicksReached Maximalt antal ticks (%s) uppnått. Spola tillbaka eller avsluta. $gamePause Pausat. $gameShowSplatRuler Visa splat-linjal. $gameHighlightGoals Markera egna luckor och mål. diff --git a/src/file/lang/enum_.d b/src/file/lang/enum_.d index 07af0161..e4686518 100644 --- a/src/file/lang/enum_.d +++ b/src/file/lang/enum_.d @@ -125,8 +125,10 @@ enum Lang { gameQueueBuilder, gameQueuePlatformer, gameHoldToScroll, + gameClickToInsert, gameClickToCancelReplay, gameFramestepOrQuit, + gameMaxTicksReached, gamePause, gameShowSplatRuler, gameHighlightGoals, diff --git a/src/game/core/active.d b/src/game/core/active.d index 36cb7f23..bb921833 100644 --- a/src/game/core/active.d +++ b/src/game/core/active.d @@ -64,10 +64,7 @@ do { void resolveClickThatWillAssign(Game game, Assignee assignee) { if (game.view.canInterruptReplays) { - immutable bool weMayInsert = game._tweaker.shown - ? opt.insertAssignmentsWhenTweakerShown.value - : opt.insertAssignmentsWhenTweakerHidden.value; - if (weMayInsert) { + if (game.isInsertMode) { game.cutSingleLixFutureFromReplay(assignee.passport); } else { diff --git a/src/game/core/draw.d b/src/game/core/draw.d index 043de5fc..f2117caa 100644 --- a/src/game/core/draw.d +++ b/src/game/core/draw.d @@ -200,9 +200,6 @@ void drawTooltips(Game game) game._panelExplainer.move(game._tweaker.shown ? game._tweaker.xlg : 0, game._panelExplainer.geom.y); game._mapClickExplainer.move(game._panelExplainer.geom.x, 0); - if (game.canWeClickAirNowToCutGlobalFuture && game.isMouseOnLand) { - game._mapClickExplainer.suggestTooltip(Tooltip.ID.clickToCancelReplay); - } game._panelExplainer.suggestTooltip(game.pan.hoveredSkillOnlyForTooltip); if (game.pan.isSuggestingTooltip) { game._panelExplainer.suggestTooltip(game.pan.suggestedTooltip); diff --git a/src/game/core/game.d b/src/game/core/game.d index f866f11c..b5afe45f 100644 --- a/src/game/core/game.d +++ b/src/game/core/game.d @@ -230,6 +230,13 @@ package: && isMouseOnLand; } + bool isInsertMode() const + { + return _tweaker.shown + ? opt.insertAssignmentsWhenTweakerShown.value + : opt.insertAssignmentsWhenTweakerHidden.value; + } + bool multiplayer() const { return nurse.stateOnlyPrivatelyForGame.multiplayer; diff --git a/src/game/core/passive.d b/src/game/core/passive.d index 8a59d40a..5eb4f4c6 100644 --- a/src/game/core/passive.d +++ b/src/game/core/passive.d @@ -46,6 +46,12 @@ calcPassive( if (! underCursor.best.empty) { game._effect.changeLocalStyleToAlsoControlled( underCursor.best.front.lixxie.style); + if (game.isInsertMode && game.canWeClickAirNowToCutGlobalFuture) { + game._mapClickExplainer.suggestTooltip(Tooltip.ID.clickToInsert); + } + } + if (game.canWeClickAirNowToCutGlobalFuture) { + game._mapClickExplainer.suggestTooltip(Tooltip.ID.clickToCancelReplay); } } diff --git a/src/game/panel/tooltip.d b/src/game/panel/tooltip.d index bed59180..b07a88d8 100644 --- a/src/game/panel/tooltip.d +++ b/src/game/panel/tooltip.d @@ -50,7 +50,8 @@ struct Tooltip { queueBuilder = 0x8000, queuePlatformer = 0x1_0000, holdToScroll = 0x2_0000, - clickToCancelReplay = 0x4_0000, + clickToInsert = 0x4_0000, + clickToCancelReplay = 0x8_0000, framestepOrQuit = 0x20_0000, } @@ -108,6 +109,7 @@ Tooltip makeTooltip(Tooltip.ID id) nothrow @nogc @safe case ID.queuePlatformer: return none(Lang.gameQueuePlatformer); case ID.holdToScroll: return key(Lang.gameHoldToScroll, keyScroll); case ID.clickToCancelReplay: return none(Lang.gameClickToCancelReplay); + case ID.clickToInsert: return none(Lang.gameClickToInsert); case ID.framestepOrQuit: return key(Lang.gameFramestepOrQuit, keyGameExit);