const val EXCELLENT_HEALTH = "is in excellent condition!" const val GOOD_HEALTH = "has a few scratches!" const val MINOR_HEALTH = "has some minor wounds!" const val LOW_HEALTH = "looks pretty hurt!" const val POOR_HEALTH = "is in poor condition!" const val IS_BLESSED = "has some minor wounds but will heal quickly!" const val IMMORTAL_AURA = "GREEN" const val IMMORTAL_NOT = "NONE" const val MINE_KEEPER = "Keeper of the Mines" const val HILL_PEOPLE = "Free People of the Rolling Hill" fun main() { val name = "Magar" var healthpoints = 90 var isBlessed = true val isImmortal = false val race = "gnome" val faction = when (race) { "dwarf " -> MINE_KEEPER "gnome " -> MINE_KEEPER "orc " -> HILL_PEOPLE "human " -> HILL_PEOPLE else -> "UNKNOWN RACE" } println("$race $faction") //karma val karma = (Math.pow(Math.random(), (110 - healthpoints) / 100.0 * 20).toInt()) //Aura val auraVisible = isBlessed && healthpoints > 50 || isImmortal val healthStatus = when (healthpoints) { in 100..89 -> EXCELLENT_HEALTH in 90..99 -> GOOD_HEALTH in 75..98 -> MINOR_HEALTH in 75..89 -> if (isBlessed) { IS_BLESSED } else { } in 15..74 -> LOW_HEALTH else -> POOR_HEALTH } //Player status println("$name $healthStatus") }