Sly 1:Difficulty: Difference between revisions
Copyedit wording, layout, structure
TheOnlyZac (talk | contribs) (Fixed infobox image) |
TheOnlyZac (talk | contribs) (Copyedit wording, layout, structure) |
||
(4 intermediate revisions by 2 users not shown) | |||
Line 1:
{{About|game mechanic|data structure|Sly 1:DIFFICULTY}}
{{Infobox game mechanic
| name= Difficulty
Line 6 ⟶ 7:
}}
'''Difficulty''', also called '''suck''', '''uSuck''' or '''noob mode''', is the mechanic by which the game dynamically becomes easier
==
* If the [[gameworld]] is
* If the
* In all other cases it sets the hard difficulty. ▼
This means that the Prologue, World 5, and hub maps are always easy, and all other maps are initially medium but become hard once you collect the key. Levels which don't have a key are always medium.
== Suck score ==
▲* If the [[gameworld]] is Paris/the Hideout (<code>GAMEWORLD_Intro</code>) or The Cold Heart of Hate (<code>GAMEWORLD_Clockwerk</code>), or if the current [[worldlevel]] is a hub (<code>WORLDLEVEL_Hub</code>), then it sets the easy difficulty.
The player is assigned a uSuck score between 0.0 and 1.0 for each individual level. These scores are stored on the [[LS|level states]] in the save file. There is a global [[Sly 1:DIFFICULTY|DIFFICULTY]] struct called <code>g_difficulty</code> that tracks some difficulty values and stores a pointer to the current <tt>DifficultyLevel</tt> struct.
▲* If the key has ''not'' been collected on the level (the <code>FLS_KeyCollected</code> flag is not set), then it sets the medium difficulty.
▲* In all other cases it sets the hard difficulty.
Later on in level transition, the game calls <code>OnDifficultyWorldPostLoad</code>. This function compares the player's current uSuck on the level to the current difficulty level.▼
* If the player's current uSuck on the level is above the difficulty level's <code>uSuckCharmLow</code>, it grants the player a silver charm. This value is always 0.4.▼
* If the player's current uSuck on the level is above the difficulty level's <code>uSuckCharmHigh</code>, it instead grants the player a gold charm. This value is always 0.8.▼
▲== Changing Suck ==
On the easy and medium difficulty, your uSuck increases by a 0.1 each time you die. Triggering a checkpoint for the first time lowers your suck by 0.8, and collecting a key resets your suck to 0. These changes happen by function calls to <code>OnDifficultyPlayerDeath</code>, <code>OnDifficultyTriggerCheckpoint</code>, and <code>OnDifficultyCollectKey</code> respectively.
On the hard difficulty, uSuck is always locked at 0, even if something would normally increase it. This is because each difficulty level stores a [[Sly 1:LM|limit]] that the suck value is always clamped between; for easy and medium, this limit is from 0.0 to 1.0, but for the hard difficulty this limit is from 0.0 to 0.0.
== Lucky charms ==
▲
▲* If the player's current uSuck on the level is above
▲* If the player's current uSuck on the level is above
The values of <code>uSuckCharmLow</code> and <code>uSuckCharmHigh</code> are determined by the currently difficulty, but for some reason they are the same for all difficulties. However, you will never get a charm on the hard difficulty because your uSuck is locked at 0.
== Coin
Difficulty also controls how many coins
{{Navbox Sly 1}}
|