new-exp #1

Merged
emo merged 2 commits from new-exp into main 2025-03-04 23:05:15 +00:00
2 changed files with 16 additions and 5 deletions
Showing only changes of commit 92b845d5b7 - Show all commits

View File

@ -44,8 +44,19 @@ class TutorialMagicTutorDialogue(player: Player? = null) : core.game.dialogue.Di
Item(557, 4),
Item(559, 2)
)
private val STARTER_BANK = arrayOf(Item(995, 25))
private val STARTER_BANK = arrayOf(Item(995, 2500))
// Helper function to convert a numeric XP rate to a descriptive string.
private fun xpRateText(rate: Double): String {
return when(rate) {
1.0 -> "Normal (100%)"
2.5 -> "2.5x"
5.0 -> "5x"
10.0 -> "10x"
0.1 -> "Scale up to 10x at level 99"
0.2 -> "Scale up to 5x at level 99"
else -> "${rate}x"
}
}
override fun newInstance(player: Player?): core.game.dialogue.DialoguePlugin {
return TutorialMagicTutorDialogue(player)
}
@ -92,7 +103,7 @@ class TutorialMagicTutorDialogue(player: Player? = null) : core.game.dialogue.Di
71 -> when(stage) {
0 -> options(
"Set Ironman Mode (current: ${player.ironmanManager.mode.name})",
"Change XP Rate (current: ${player.skills.experienceMultiplier}x)",
"Change XP Rate (current: ${xpRateText(player.skills.experienceMultiplier)})",
"I'm ready now."
).also { stage++ }
1 -> when(buttonId) {
@ -106,7 +117,7 @@ class TutorialMagicTutorDialogue(player: Player? = null) : core.game.dialogue.Di
2 -> options("1.0x", "Scale to 10x", "Scale to 5x").also { stage = 23 }
3 -> options(
"Set Ironman Mode (current: ${player.ironmanManager.mode.name})",
"Change XP Rate (current: ${player.skills.experienceMultiplier}x)",
"Change XP Rate (current: ${xpRateText(player.skills.experienceMultiplier)})",
"I'm ready now."
).also { stage = 1 }
else -> return false

View File

@ -41,7 +41,7 @@ public final class Skills {
/**
* Represents the constant modifier of experience.
*/
public double experienceMultiplier = 5.0;
public double experienceMultiplier = 0.1; // Note in EmoScape this sets the default to be the scaling to 10x at 99
/**
* The maximum experience multiplier.