This guide explains how to get each ending and corrects some misunderstandings about certain numbers.
Math Logic
There are four endings in Signalis. One of them, ال “Artifact” ending, remains a secret until certain objectives are completed in the game. The other three endings, known as the “ذاكرة,” “يعد,” و “Leave” endings, depend on specific values tracked within the game.
Each of these endings corresponds to an internal value, namely Circle (ذاكرة), موت (يعد), 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 < 6ح: +2 for Circle
TotalPurePlaytime > 12ح: +1 for Death
Kills > 90: Death+1
Kills > 120: Death+1 (مرة أخرى)
DamageTaken > 1900: Death+1
Deaths > 5: Death+1
regenTime > 5م (300ثانية): Death+1
regenTime > 5م (300ثانية): 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: Leave +1
HealingTimeFraction > 0.8: Leave +1
MemoryTime > 5دقيقة: 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 “Leave” ending.
- If Death is equal to Leave, you get the “ذاكرة” ending.
- If Leave is less than Death and Leave is also less than Circle, you get the “يعد” ending.
- If Leave is less than Death and Death is less than Circle, you also get the “ذاكرة” ending.
- If Death is less than Leave and Death is less than Circle, you again get the “ذاكرة” ending.
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, notes, menus, and loading screens.
[Kills]
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. على سبيل المثال, 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. في الحقيقة, 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. To my knowledge, 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. But here’s the catch: 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. بدلاً عن ذلك, 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. لكن, 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. لذا, 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. ومن المثير للاهتمام, 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
للحصول على هذه النهاية, 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. ومن المثير للاهتمام, 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 – ب8, 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 (الطابق الأرضي) 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.
الخزنة
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, انعطف يمينا, 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
ذاكرة
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, dying, entering Near Death mode, checking broken doors, talking to NPCs, 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.
يعد
This ending can be surprisingly challenging to achieve in under 6 ساعات, especially on Survival difficulty. لكن, 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], و [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, يحفظ, and repeat. Each encounter with an enemy deals 20 ضرر. 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 ضرر. 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] في 7-9 cycles and then die six times to achieve this ending.
Leave
Arguably the most challenging ending to obtain in under 6 ساعات. لتحقيق هذه النهاية, 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 ساعات.
Cheat Engine
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. لكن, 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> <بطاقة تعريف>17</بطاقة تعريف> <وصف>"HP"</وصف> <VariableType>4 Bytes</VariableType> <Address>"GameAssembly.dll"+02086B30</Address> <Offsets> <Offset>8</Offset> <Offset>ب8</Offset> <Offset>50</Offset> <Offset>130</Offset> <Offset>80</Offset> <Offset>48</Offset> <Offset>A0</Offset> </Offsets> </CheatEntry> <CheatEntry> <بطاقة تعريف>11</بطاقة تعريف> <وصف>"NPC talks"</وصف> <ShowAsSigned>0</ShowAsSigned> <VariableType>4 Bytes</VariableType> <Address>"GameAssembly.dll"+0205E718</Address> <Offsets> <Offset>14</Offset> <Offset>ب8</Offset> <Offset>58</Offset> <Offset>98</Offset> <Offset>78</Offset> <Offset>10</Offset> <Offset>80</Offset> </Offsets> </CheatEntry> <CheatEntry> <بطاقة تعريف>12</بطاقة تعريف> <وصف>"???"</وصف> <ShowAsSigned>0</ShowAsSigned> <VariableType>Float</VariableType> <Address>"GameAssembly.dll"+0205E718</Address> <Offsets> <Offset>18</Offset> <Offset>ب8</Offset> <Offset>58</Offset> <Offset>98</Offset> <Offset>78</Offset> <Offset>10</Offset> <Offset>80</Offset> </Offsets> </CheatEntry> <CheatEntry> <بطاقة تعريف>10</بطاقة تعريف> <وصف>"MemoryTime"</وصف> <ShowAsSigned>0</ShowAsSigned> <VariableType>Float</VariableType> <Address>"GameAssembly.dll"+0205E718</Address> <Offsets> <Offset>20</Offset> <Offset>ب8</Offset> <Offset>58</Offset> <Offset>98</Offset> <Offset>78</Offset> <Offset>10</Offset> <Offset>80</Offset> </Offsets> </CheatEntry> <CheatEntry> <بطاقة تعريف>5</بطاقة تعريف> <وصف>"doorChecks"</وصف> <VariableType>4 Bytes</VariableType> <Address>"GameAssembly.dll"+0205E718</Address> <Offsets> <Offset>24</Offset> <Offset>ب8</Offset> <Offset>58</Offset> <Offset>98</Offset> <Offset>78</Offset> <Offset>10</Offset> <Offset>80</Offset> </Offsets> </CheatEntry> <CheatEntry> <بطاقة تعريف>19</بطاقة تعريف> <وصف>"DamageTaken"</وصف> <VariableType>4 Bytes</VariableType> <Address>"GameAssembly.dll"+0206DEA8</Address> <Offsets> <Offset>10</Offset> <Offset>ب8</Offset> <Offset>18</Offset> <Offset>60</Offset> <Offset>C8</Offset> <Offset>50</Offset> <Offset>40</Offset> </Offsets> </CheatEntry> <CheatEntry> <بطاقة تعريف>24</بطاقة تعريف> <وصف>"Shots Fired"</وصف> <ShowAsSigned>0</ShowAsSigned> <VariableType>4 Bytes</VariableType> <Address>"GameAssembly.dll"+0206DEA8</Address> <Offsets> <Offset>ج</Offset> <Offset>ب8</Offset> <Offset>18</Offset> <Offset>60</Offset> <Offset>C8</Offset> <Offset>50</Offset> <Offset>40</Offset> </Offsets> </CheatEntry> <CheatEntry> <بطاقة تعريف>22</بطاقة تعريف> <وصف>"Kills"</وصف> <ShowAsSigned>0</ShowAsSigned> <VariableType>4 Bytes</VariableType> <Address>"GameAssembly.dll"+0206DEA8</Address> <Offsets> <Offset>14</Offset> <Offset>ب8</Offset> <Offset>18</Offset> <Offset>60</Offset> <Offset>C8</Offset> <Offset>50</Offset> <Offset>40</Offset> </Offsets> </CheatEntry> <CheatEntry> <بطاقة تعريف>21</بطاقة تعريف> <وصف>"Deaths"</وصف> <ShowAsSigned>0</ShowAsSigned> <VariableType>4 Bytes</VariableType> <Address>"GameAssembly.dll"+0206DEA8</Address> <Offsets> <Offset>18</Offset> <Offset>ب8</Offset> <Offset>18</Offset> <Offset>60</Offset> <Offset>C8</Offset> <Offset>50</Offset> <Offset>40</Offset> </Offsets> </CheatEntry> <CheatEntry> <بطاقة تعريف>20</بطاقة تعريف> <وصف>"NearDeathsSurvives"</وصف> <ShowAsSigned>0</ShowAsSigned> <VariableType>4 Bytes</VariableType> <Address>"GameAssembly.dll"+0206DEA8</Address> <Offsets> <Offset>20</Offset> <Offset>ب8</Offset> <Offset>18</Offset> <Offset>60</Offset> <Offset>C8</Offset> <Offset>50</Offset> <Offset>40</Offset> </Offsets> </CheatEntry> <CheatEntry> <بطاقة تعريف>23</بطاقة تعريف> <وصف>"regenTime"</وصف> <ShowAsSigned>0</ShowAsSigned> <VariableType>Float</VariableType> <Address>"GameAssembly.dll"+0206DEA8</Address> <Offsets> <Offset>24</Offset> <Offset>ب8</Offset> <Offset>18</Offset> <Offset>60</Offset> <Offset>C8</Offset> <Offset>50</Offset> <Offset>40</Offset> </Offsets> </CheatEntry> <CheatEntry> <بطاقة تعريف>9</بطاقة تعريف> <وصف>"Ending Tally **Calculated after entering Cryogenics room at end of game**"</وصف> <Options moManualExpandCollapse="1"/> <GroupHeader>1</GroupHeader> <CheatEntries> <CheatEntry> <بطاقة تعريف>7</بطاقة تعريف> <وصف>"Circle (ذاكرة)"</وصف> <ShowAsSigned>0</ShowAsSigned> <VariableType>4 Bytes</VariableType> <Address>"GameAssembly.dll"+0205E718</Address> <Offsets> <Offset>0</Offset> <Offset>ب8</Offset> <Offset>58</Offset> <Offset>98</Offset> <Offset>78</Offset> <Offset>10</Offset> <Offset>80</Offset> </Offsets> </CheatEntry> <CheatEntry> <بطاقة تعريف>6</بطاقة تعريف> <وصف>"موت (يعد)"</وصف> <ShowAsSigned>0</ShowAsSigned> <VariableType>4 Bytes</VariableType> <Address>"GameAssembly.dll"+0205E718</Address> <Offsets> <Offset>4</Offset> <Offset>ب8</Offset> <Offset>58</Offset> <Offset>98</Offset> <Offset>78</Offset> <Offset>10</Offset> <Offset>80</Offset> </Offsets> </CheatEntry> <CheatEntry> <بطاقة تعريف>8</بطاقة تعريف> <وصف>"Leave"</وصف> <ShowAsSigned>0</ShowAsSigned> <VariableType>4 Bytes</VariableType> <Address>"GameAssembly.dll"+0205E718</Address> <Offsets> <Offset>ج</Offset> <Offset>ب8</Offset> <Offset>58</Offset> <Offset>98</Offset> <Offset>78</Offset> <Offset>10</Offset> <Offset>80</Offset> </Offsets> </CheatEntry> </CheatEntries> </CheatEntry> </CheatEntries> <UserdefinedSymbols/> <تعليقات>Info about this table: </تعليقات> </CheatTable>
هذا كل ما نشاركه اليوم من أجل هذا مُشار إليه مرشد. تم إنشاء هذا الدليل وكتابته في الأصل بواسطة Signal Heat. في حالة فشلنا في تحديث هذا الدليل, يمكنك العثور على آخر تحديث باتباع هذا وصلة.