This guide explains how to get each ending and corrects some misunderstandings about certain numbers.
Math Logic
There are four endings in Signalis. Jeden z nich, the “Artefakt” zakończenie, remains a secret until certain objectives are completed in the game. The other three endings, known as the “Pamięć,” “Promise,” I “Wyjechać” zakończenia, depend on specific values tracked within the game.
Each of these endings corresponds to an internal value, namely Circle (Pamięć), Death (Promise), and Leave, which are tallied when you enter the Cryogenics room towards the end of the game. These values can change based on various conditions as explained below.
Circle=2 at the start of the game. Death and Leave start at 0.
TotalPurePlaytime < 6H: +2 for Circle
TotalPurePlaytime > 12H: +1 for Death
Zabija > 90: Death+1
Zabija > 120: Death+1 (Ponownie)
DamageTaken > 1900: Death+1
Deaths > 5: Death+1
regenTime > 5M (300sek): Death+1
regenTime > 5M (300sek): Death+1 (repeats twice)
NearDeathSurvives > 8: Death+1
NPC talks > 25: Leave+1
NPC talks > 35: Leave+1 again
HealingTimeFraction calculated as healedTime / healedTimeSegment
HealingTimeFraction > 0.6: Wyjechać +1
HealingTimeFraction > 0.8: Wyjechać +1
MemoryTime > 5min: Leave+1
doorChecks > 40: Leave+1
Final logic flow-chart:
To simplify things, here’s the basic logic for the different endings:
- If Death is less than Leave and Leave is greater than Circle, you get the “Wyjechać” zakończenie.
- If Death is equal to Leave, you get the “Pamięć” zakończenie.
- If Leave is less than Death and Leave is also less than Circle, you get the “Promise” zakończenie.
- If Leave is less than Death and Death is less than Circle, you also get the “Pamięć” zakończenie.
- If Death is less than Leave and Death is less than Circle, you again get the “Pamięć” zakończenie.
Let us now define what each variable means:
[TotalPurePlaytime]
Only includes the time spent actively playing the game, excluding time spent in inventory, dialogue text boxes, notatki, menus, and loading screens.
[Zabija]
Reflects the number of enemies you’ve eliminated, even counting reanimated enemies as new kills.
[DamageTaken]
This measures the base damage you’ve received, not accounting for any difficulty or resistance modifiers. Na przykład, if you bump into an enemy, it adds 20 to this value.
[Deaths]
It keeps track of how many times you’ve died in the game, and this count stays with your save.
[regenTime]
This special number called regenTime might seem misleading at first. Some may think that using Repair Patches and Repair Sprays can increase it, but that’s not true. Faktycznie, regenTime only increases when Elster is repairing damage below specific limits. In case you didn’t know, Elster will automatically heal herself if her HP drops below 12 on survival difficulty or 26 on normal and casual difficulty. This is the only way that regenTime can rise.
[NearDeathSurvives]
When Elster takes a really big hit that would normally end her, you’ll see a red, 3×3 square on the screen, and that means she’s in “Near Death Mode.” While she’s in this mode, if she gets hit again and her HP drops to zero, she won’t make it. The interesting thing is, this value increases by 1 as soon as she enters Near Death Mode. Według mojej wiedzy, the only way to reset the cooldown from Near Death is to save the game. Saving the game also brings Elster’s HP back to a specific level if it’s below that threshold.
[NPC talks]
This number shows how many different conversations you’ve had with the characters in the game. Ale tu jest haczyk: once you’ve heard everything a character has to say, this number stops increasing.
[HealingTimeFraction (healedTime/healedTimeSegment)]
I’m not entirely sure about the exact meaning of this value, but based on multiple tests, it seems like [healedTime] represents the time spent in Nominal health, which means having over 80HP. [healedTimeSegment] could be the time spent in each specific section. Alternatywnie, it might be related to the time you spend in Nominal Health during the Mynah and Falke bossfights because if you skip these fights and go straight to the ending, you won’t earn points for the Leave ending. Jednakże, I tried loading a save where I maintained low HP, fought Mynah with 100HP throughout, and then entered the ending area using debug, but I didn’t receive any points. Więc, to aim for this ending, it’s a good idea to keep your HP above 80 at all times, and that should help you earn those two points.
[MemoryTime]
This is the time you spend in the Penrose memory after the fake ending. It has the same exclusions as TotalPurePlaytime. It starts after Elster wakes up and ends when she jumps down the flesh hole into the 1st person beach segment. Co ciekawe, the time you spend in the 1st person segments does not contribute to this value, even though some might think it does.
[doorChecks]
This number increases by 1 each time you inspect a different broken door with red X’s over them. You can’t just repeatedly check the same door 41 times to make it go up; you have to actually check the door and bring up the dialogue box for the variable to increase. Doors that you can open with keys or that can be accessed from the other side don’t count toward this value.
Artifact ending
Aby uzyskać to zakończenie, you need to find three hidden keys as you play through the game, and then use them to unlock the safe in Ariane’s room at the end of Rotfront. Co ciekawe, this ending was initially uncovered by converting SSTV signals in the game into images, which revealed the locations of the keys.
Key of Love
You can find the Key of Love in Leng – B2, inside the Isolation room. Tune your radio frequency to 96.000 kHz and then check the box located in the bottom right corner of the room.
Key of Eternity
The Key of Eternity can be found in Leng – B8, within the STCR Dorm. Adjust your radio frequency to 65.000 kHz and inspect the bookcase to the right of the painting of “Saturn Devouring His Son.”
Key of Sacrifice
To locate the Key of Sacrifice, head to Rotfront (Parter) in the Backroom. Set your radio frequency to 240.000 kHz and check the area between the bookcase and the boxes, as shown in the picture below.
The Safe
Make sure you have all three keys in your inventory before completing the eclipse puzzle in Rotfront. After finishing the puzzle, you won’t be able to back out of it. Enter the hole into Ariane’s room, skręć w prawo, and locate the safe.
Once you have all the keys, you’ll need to enter the following code:
39486 60170 24326 01064
This code matches the numbers displayed in Ariane’s room at the beginning of the game. After entering the code, open the safe to claim the treasure inside.
Ending Tips
Pamięć
This is the easiest ending to get in the game. The game tends to favor it and defaults to it if there’s any tie between all three endings. If you finish the game in under 6 hours and avoid taking hits, umierający, entering Near Death mode, checking broken doors, rozmawiając z NPC, and speedrun the Penrose memory, you’ll likely achieve this ending. Even if you don’t follow all these tips, you’ll probably still get this ending.
Promise
This ending can be surprisingly challenging to achieve in under 6 godziny, especially on Survival difficulty. Jednakże, if you know how to work the game’s mechanics, you can easily earn 5 points toward the death value. The simplest way to get this ending is to farm [DamageTaken], [NearDeathSurvives], [Deaths], I [regenTime] on enemies just outside a save room. Position yourself near a save room with an easily accessible enemy. Save the game, leave the room, take damage from enemies until you trigger Near Death, return to the save room, wait a few seconds to regenerate, ratować, and repeat. Each encounter with an enemy deals 20 szkoda. To make it even easier, you can lower the difficulty to Casual, as saving on Casual difficulty heals you to 80HP, allowing you to endure more hits before reaching Near Death. It takes about 96 hits to accumulate 1900 szkoda. On Casual and Normal difficulties, it takes approximately 42 seconds to auto-regenerate to 26 HP (when the controller stops vibrating). You can easily max out [regenTime] W 7-9 cycles and then die six times to achieve this ending.
Wyjechać
Arguably the most challenging ending to obtain in under 6 godziny. To achieve this ending, check every broken door, exhaust the patience of every NPC, and take your time in the Penrose memory. Always try to keep your HP in Nominal status when possible and heal back to Nominal status as soon as you can. This last part is crucial because those additional 2 points can push you above the 4 Circle points if you complete the game within 6 godziny.
Silnik oszustwo
Do you want to experiment with the values and double-check this information? I’ve developed a Cheat Table for Cheat Engine that monitors most of these values, except for [healingTimeFraction] because I couldn’t find those values. It’s worth noting that the game keeps track of how long you stay in Nominal status and seems to reset after the end of each segment that corresponds with the “INTRUDER” debug menu. Jednakże, boss fights seem to play a role, as forcing the game to end without battling at least Mynah or Falke results in no points toward the Leave ending.
Here’s the Cheat Engine table:
<?xml version="1.0" encoding="utf-8"?> <CheatTable CheatEngineTableVersion="45"> <CheatEntries> <CheatEntry> <ID>17</ID> <Opis>"HP"</Opis> <VariableType>4 Bajty</VariableType> <Adres>"GameAssembly.dll"+02086B30</Adres> <Offsets> <Zrównoważyć>8</Zrównoważyć> <Zrównoważyć>B8</Zrównoważyć> <Zrównoważyć>50</Zrównoważyć> <Zrównoważyć>130</Zrównoważyć> <Zrównoważyć>80</Zrównoważyć> <Zrównoważyć>48</Zrównoważyć> <Zrównoważyć>A0</Zrównoważyć> </Offsets> </CheatEntry> <CheatEntry> <ID>11</ID> <Opis>"NPC talks"</Opis> <ShowAsSigned>0</ShowAsSigned> <VariableType>4 Bajty</VariableType> <Adres>"GameAssembly.dll"+0205E718</Adres> <Offsets> <Zrównoważyć>14</Zrównoważyć> <Zrównoważyć>B8</Zrównoważyć> <Zrównoważyć>58</Zrównoważyć> <Zrównoważyć>98</Zrównoważyć> <Zrównoważyć>78</Zrównoważyć> <Zrównoważyć>10</Zrównoważyć> <Zrównoważyć>80</Zrównoważyć> </Offsets> </CheatEntry> <CheatEntry> <ID>12</ID> <Opis>"???"</Opis> <ShowAsSigned>0</ShowAsSigned> <VariableType>Float</VariableType> <Adres>"GameAssembly.dll"+0205E718</Adres> <Offsets> <Zrównoważyć>18</Zrównoważyć> <Zrównoważyć>B8</Zrównoważyć> <Zrównoważyć>58</Zrównoważyć> <Zrównoważyć>98</Zrównoważyć> <Zrównoważyć>78</Zrównoważyć> <Zrównoważyć>10</Zrównoważyć> <Zrównoważyć>80</Zrównoważyć> </Offsets> </CheatEntry> <CheatEntry> <ID>10</ID> <Opis>"MemoryTime"</Opis> <ShowAsSigned>0</ShowAsSigned> <VariableType>Float</VariableType> <Adres>"GameAssembly.dll"+0205E718</Adres> <Offsets> <Zrównoważyć>20</Zrównoważyć> <Zrównoważyć>B8</Zrównoważyć> <Zrównoważyć>58</Zrównoważyć> <Zrównoważyć>98</Zrównoważyć> <Zrównoważyć>78</Zrównoważyć> <Zrównoważyć>10</Zrównoważyć> <Zrównoważyć>80</Zrównoważyć> </Offsets> </CheatEntry> <CheatEntry> <ID>5</ID> <Opis>"doorChecks"</Opis> <VariableType>4 Bajty</VariableType> <Adres>"GameAssembly.dll"+0205E718</Adres> <Offsets> <Zrównoważyć>24</Zrównoważyć> <Zrównoważyć>B8</Zrównoważyć> <Zrównoważyć>58</Zrównoważyć> <Zrównoważyć>98</Zrównoważyć> <Zrównoważyć>78</Zrównoważyć> <Zrównoważyć>10</Zrównoważyć> <Zrównoważyć>80</Zrównoważyć> </Offsets> </CheatEntry> <CheatEntry> <ID>19</ID> <Opis>"DamageTaken"</Opis> <VariableType>4 Bajty</VariableType> <Adres>"GameAssembly.dll"+0206DEA8</Adres> <Offsets> <Zrównoważyć>10</Zrównoważyć> <Zrównoważyć>B8</Zrównoważyć> <Zrównoważyć>18</Zrównoważyć> <Zrównoważyć>60</Zrównoważyć> <Zrównoważyć>C8</Zrównoważyć> <Zrównoważyć>50</Zrównoważyć> <Zrównoważyć>40</Zrównoważyć> </Offsets> </CheatEntry> <CheatEntry> <ID>24</ID> <Opis>"Shots Fired"</Opis> <ShowAsSigned>0</ShowAsSigned> <VariableType>4 Bajty</VariableType> <Adres>"GameAssembly.dll"+0206DEA8</Adres> <Offsets> <Zrównoważyć>C</Zrównoważyć> <Zrównoważyć>B8</Zrównoważyć> <Zrównoważyć>18</Zrównoważyć> <Zrównoważyć>60</Zrównoważyć> <Zrównoważyć>C8</Zrównoważyć> <Zrównoważyć>50</Zrównoważyć> <Zrównoważyć>40</Zrównoważyć> </Offsets> </CheatEntry> <CheatEntry> <ID>22</ID> <Opis>"Zabija"</Opis> <ShowAsSigned>0</ShowAsSigned> <VariableType>4 Bajty</VariableType> <Adres>"GameAssembly.dll"+0206DEA8</Adres> <Offsets> <Zrównoważyć>14</Zrównoważyć> <Zrównoważyć>B8</Zrównoważyć> <Zrównoważyć>18</Zrównoważyć> <Zrównoważyć>60</Zrównoważyć> <Zrównoważyć>C8</Zrównoważyć> <Zrównoważyć>50</Zrównoważyć> <Zrównoważyć>40</Zrównoważyć> </Offsets> </CheatEntry> <CheatEntry> <ID>21</ID> <Opis>"Deaths"</Opis> <ShowAsSigned>0</ShowAsSigned> <VariableType>4 Bajty</VariableType> <Adres>"GameAssembly.dll"+0206DEA8</Adres> <Offsets> <Zrównoważyć>18</Zrównoważyć> <Zrównoważyć>B8</Zrównoważyć> <Zrównoważyć>18</Zrównoważyć> <Zrównoważyć>60</Zrównoważyć> <Zrównoważyć>C8</Zrównoważyć> <Zrównoważyć>50</Zrównoważyć> <Zrównoważyć>40</Zrównoważyć> </Offsets> </CheatEntry> <CheatEntry> <ID>20</ID> <Opis>"NearDeathsSurvives"</Opis> <ShowAsSigned>0</ShowAsSigned> <VariableType>4 Bajty</VariableType> <Adres>"GameAssembly.dll"+0206DEA8</Adres> <Offsets> <Zrównoważyć>20</Zrównoważyć> <Zrównoważyć>B8</Zrównoważyć> <Zrównoważyć>18</Zrównoważyć> <Zrównoważyć>60</Zrównoważyć> <Zrównoważyć>C8</Zrównoważyć> <Zrównoważyć>50</Zrównoważyć> <Zrównoważyć>40</Zrównoważyć> </Offsets> </CheatEntry> <CheatEntry> <ID>23</ID> <Opis>"regenTime"</Opis> <ShowAsSigned>0</ShowAsSigned> <VariableType>Float</VariableType> <Adres>"GameAssembly.dll"+0206DEA8</Adres> <Offsets> <Zrównoważyć>24</Zrównoważyć> <Zrównoważyć>B8</Zrównoważyć> <Zrównoważyć>18</Zrównoważyć> <Zrównoważyć>60</Zrównoważyć> <Zrównoważyć>C8</Zrównoważyć> <Zrównoważyć>50</Zrównoważyć> <Zrównoważyć>40</Zrównoważyć> </Offsets> </CheatEntry> <CheatEntry> <ID>9</ID> <Opis>"Ending Tally **Calculated after entering Cryogenics room at end of game**"</Opis> <Options moManualExpandCollapse="1"/> <GroupHeader>1</GroupHeader> <CheatEntries> <CheatEntry> <ID>7</ID> <Opis>"Koło (Pamięć)"</Opis> <ShowAsSigned>0</ShowAsSigned> <VariableType>4 Bajty</VariableType> <Adres>"GameAssembly.dll"+0205E718</Adres> <Offsets> <Zrównoważyć>0</Zrównoważyć> <Zrównoważyć>B8</Zrównoważyć> <Zrównoważyć>58</Zrównoważyć> <Zrównoważyć>98</Zrównoważyć> <Zrównoważyć>78</Zrównoważyć> <Zrównoważyć>10</Zrównoważyć> <Zrównoważyć>80</Zrównoważyć> </Offsets> </CheatEntry> <CheatEntry> <ID>6</ID> <Opis>"Death (Promise)"</Opis> <ShowAsSigned>0</ShowAsSigned> <VariableType>4 Bajty</VariableType> <Adres>"GameAssembly.dll"+0205E718</Adres> <Offsets> <Zrównoważyć>4</Zrównoważyć> <Zrównoważyć>B8</Zrównoważyć> <Zrównoważyć>58</Zrównoważyć> <Zrównoważyć>98</Zrównoważyć> <Zrównoważyć>78</Zrównoważyć> <Zrównoważyć>10</Zrównoważyć> <Zrównoważyć>80</Zrównoważyć> </Offsets> </CheatEntry> <CheatEntry> <ID>8</ID> <Opis>"Wyjechać"</Opis> <ShowAsSigned>0</ShowAsSigned> <VariableType>4 Bajty</VariableType> <Adres>"GameAssembly.dll"+0205E718</Adres> <Offsets> <Zrównoważyć>C</Zrównoważyć> <Zrównoważyć>B8</Zrównoważyć> <Zrównoważyć>58</Zrównoważyć> <Zrównoważyć>98</Zrównoważyć> <Zrównoważyć>78</Zrównoważyć> <Zrównoważyć>10</Zrównoważyć> <Zrównoważyć>80</Zrównoważyć> </Offsets> </CheatEntry> </CheatEntries> </CheatEntry> </CheatEntries> <UserdefinedSymbols/> <Uwagi>Info about this table: </Uwagi> </CheatTable>
To wszystko, co dzisiaj udostępniamy w tym celu Sygnalizowane przewodnik. Ten przewodnik został pierwotnie stworzony i napisany przez Signal Heat. Na wypadek, gdybyśmy nie zaktualizowali tego przewodnika, możesz znaleźć najnowszą aktualizację, postępując zgodnie z tym połączyć.