Masters of Raana Console Cheats
Masters of Raana is a narrative-driven sandbox title built on the SugarCube engine. It runs in a web browser and stores all game state within JavaScript variables. This architecture allows direct manipulation of stats, traits, inventory, and character flags through the browser's developer console. This guide covers the exact activation method, the initialization script, and a complete reference of every editable variable.
How to Activate the Console
Because the game runs in a browser, the console is accessed through standard browser developer tools rather than an in-game menu.
- Launch the game in a supported browser such as Chrome, Edge, or Firefox.
- Press Ctrl + Shift + J to open the Developer Console.
- Copy and paste the initialization script below into the console input line.
- Press Enter to execute.
After execution, the console displays Cheat shortcuts added and creates global shortcuts for the main character and every active NPC in the current save slot. To refresh shortcuts after loading a different save, press the Up Arrow key in the console to recall the last command, then press Enter again.
Initialization Script
The following script must be pasted in full. It maps all active NPCs and the main character to global window variables, enabling direct command-line editing.
function cheatShortcuts() {
let slots = SugarCube.State.active.variables.slot
for (let i = 1; i < slots.length; i++) {
if (slots[i] > 0) {
let npc = eval("SugarCube.State.active.variables.npc.av" + slots[i])
let girlname = npc.girlname
girlname = girlname.replace("-","")
girlname = girlname.replace(" ","")
window[girlname] = npc
window[girlname.toLowerCase()] = npc
}
}
window["mc"] = SugarCube.State.active.variables
window["Mc"] = SugarCube.State.active.variables
window["MC"] = SugarCube.State.active.variables
}
function startTimer() {
autoRefreshTimer = setInterval(function () {
cheatShortcuts()
}, 1000)
}
clear()
cheatShortcuts()
console.log("Cheat shortcuts added. Examples:\nLovisa.virgin = true\nMaiLynn.traitscav = 100\nmc.cash = 1000000")
startTimer()
Main Character Stats
After running the initialization script, the protagonist is accessible through mc, Mc, or MC. The following table lists every editable stat and its variable path.
| Variable | Description |
|---|---|
| mc.cash | In-game currency. |
| mc.credit | Influence points. |
| mc.masterage | Character age. |
| mc.masterstrength | Strength attribute. |
| mc.masterdex | Dexterity attribute. |
| mc.masterstamina | Maximum stamina. |
| mc.masterint | Intelligence attribute. |
| mc.masterwill | Willpower attribute. |
| mc.mastermaxhealth | Maximum health. |
| mc.aca | Academics skill. |
| mc.medicine | Medicine skill. |
| mc.tech | Science skill. |
| mc.occult | Occult skill. |
| mc.melee | Melee combat skill. |
| mc.ranged | Ranged combat skill. |
| mc.stealth | Stealth skill. |
| mc.survival | Survival skill. |
| mc.gambling | Gambling skill. |
| mc.performance | Performance skill. |
| mc.artisan | Artisan skill. |
| mc.blacksmith | Blacksmithing skill. |
| mc.manipulate | Manipulation skill. |
| mc.mastercharm | Charm attribute. |
| mc.fuckskill | Copulation skill. |
| mc.bondskill | Bondage skill. |
| mc.whipskill | Flagellation skill. |
| mc.kisskill | Kissing skill. |
Expert Backgrounds
Backgrounds define the protagonist's starting profession and grant bonuses to related skills. Each background uses a numeric value where 3 represents the maximum tier.
| Variable | Background |
|---|---|
| mc.back_doc = 3 | Doctor |
| mc.back_aca = 3 | Academic |
| mc.back_sold = 3 | Soldier |
| mc.back_hunt = 3 | Hunter |
| mc.back_bus = 3 | Business |
| mc.back_slave = 3 | Slaver |
NPC Stats and Flags
After initialization, every active NPC is mapped to a global variable using their in-game name with spaces and dashes removed. For example, a character named Mai-Lynn becomes accessible as MaiLynn and mailynn. The following table lists the most commonly modified NPC variables.
| Variable | Description |
|---|---|
| name.health | Current health. |
| name.toughness | Health cap or toughness rating. |
| name.tempstamina | Current stamina. |
| name.maxstamina | Maximum stamina. |
| name.age | Age in years. |
| name.agedays | Age in days. |
| name.beauty | Beauty rating. |
| name.charisma | Charisma rating. |
| name.arousal | Arousal level. |
| name.scarefactor | Anger or fear level. |
| name.happiness | Happiness rating. |
| name.masterlove | Love or affection toward the protagonist. |
| name.likesadist | Corruption level. |
| name.willpower | Willpower attribute. |
| name.discipline | Discipline level. |
| name.kind | Kindness rating. |
| name.kissingxp | Kissing experience. |
| name.oralxp | Oral skill experience. |
| name.pussyxp | Pussy skill experience. |
| name.analxp | Anal skill experience. |
| name.oralwear | Oral wear or fatigue. |
| name.pussywear | Pussy wear or fatigue. |
| name.analwear | Anal wear or fatigue. |
| name.virgin = true/false | Toggles virgin status. |
| name.analvirgin = true/false | Toggles anal virgin status. |
NPC Traits
Traits are binary or percentage-based flags that define personality and behavior. Setting a trait to 100 activates it fully, while 0 disables it. Some traits are mutually exclusive.
| Variable | Trait |
|---|---|
| name.traitadvoc = 100 | Advocate |
| name.traitaggro = 100 | Bloodthirsty |
| name.traitbrawler = 100 | Brawler |
| name.traitdaddy = 100 | Daddy issues |
| name.traitdelicate = 100 | Delicate |
| name.traitdom = 100 | Dominant |
| name.traitextro = 100 | Extroverted |
| name.traitfem = 100 | Feminist |
| name.traitfrigid = 100 | Frigid |
| name.traitjaded = 100 | Jaded |
| name.traitmat = 100 | Materialistic |
| name.traitnerd = 100 | Nerd |
| name.traitnymfo = 100 | Nymphomaniac |
| name.traitoralfix = 100 | Oral fixation |
| name.traitperf = 100 | Perfectionist |
| name.traitperv = 100 | Perverted |
| name.traitpure = 100 | Pure |
| name.traitpure = 0 | Malevolent |
| name.traitshame = 100 | Shamefast |
| name.traitextro = 0 | Shy |
| name.traitsize = 100 | Size queen |
| name.traitsub = 100 | Submissive |
| name.traitstarlet = 100 | Starlet |
| name.traitsweet = 100 | Sweet tooth |
| name.traittech = 100 | Techie |
| name.traitun = 100 | Unbreakable |
| name.traitvanilla = 100 | Vanilla |
| name.traitwarrior = 100 | Warrior |
| name.traitwild = 100 | Wildborn |
| name.traitwork = 100 | Workaholic |
Special NPC Traits
| Variable | Trait |
|---|---|
| name.traitammo = 100 | Ammo pack |
| name.traitatt = 100 | Attention seeker |
| name.traitber = 100 | Berserker |
| name.traitcrack = 100 | Crackshot |
| name.reserved2 = 100 | Denaar addiction |
| name.traitsad = 100 | Depressed |
| name.traittough = 0 | Fragile |
| name.traitjag = 100 | Jaeger |
| name.traitmental = 100 | Mentally challenged |
| name.traitscav = 100 | Scavenger |
| name.traitstealth = 100 | Shadowborn |
Common Cheat Examples
The following commands demonstrate typical usage after running the initialization script. Replace name with the actual NPC variable as mapped by the script.
| Command | Effect |
|---|---|
| mc.cash = 1000000 | Sets protagonist currency to one million. |
| mc.masterstrength = 100 | Maxes out protagonist strength. |
| Lovisa.virgin = true | Sets Lovisa's virgin flag to active. |
| MaiLynn.traitscav = 100 | Grants Mai-Lynn the Scavenger trait. |
| name.masterlove = 100 | Maxes affection for the specified NPC. |
| name.discipline = 100 | Maxes discipline for the specified NPC. |
| name.happiness = 100 | Maxes happiness for the specified NPC. |
| name.health = 100 | Sets current health to full. |
Unique Traits That Cannot Be Cheated
Several traits are hardcoded to specific character IDs and cannot be assigned through console commands. These include:
- Green thumb (girlid 12)
- Liberator (girlid 39)
- Manager (girlid 352)
- Overcharge (girlid 27)
- Quelled (girlid 353)
- Space pilot (girlid 40)
- Stormchild (girlid 201)
Safety Tips and Best Practices
- Always create a backup save before executing console commands. SugarCube does not validate inputs, and incorrect values can corrupt the game state.
- The initialization script auto-refreshes every second via startTimer(). To stop the timer, type clearInterval(autoRefreshTimer) in the console.
- Variable names are case-sensitive. mc.cash works, but MC.Cash may not depending on how the shortcut was mapped.
- NPC names in commands must match the mapped variable exactly. Dashes and spaces are stripped during initialization. For example, Mai-Lynn becomes MaiLynn.
- Setting mutually exclusive traits simultaneously, such as traitpure = 100 and traitpure = 0 on the same character, may cause script conflicts.
- Some stats have hidden caps. Setting values far above normal ranges may cause display errors or break event triggers.
Frequently Asked Questions
Does this method work on the downloadable version?
Yes. The downloadable build is still a browser-based wrapper. Pressing Ctrl + Shift + J opens the console in most Electron or NW.js wrappers used for standalone SugarCube games.
Why does an NPC variable return undefined?
The NPC is either not in the active save slot, has not been encountered yet, or the name was mapped differently. Run the initialization script again and check the console log for the list of mapped shortcuts.
Can achievements be earned while using console commands?
There are no widespread reports of achievement locks caused by console editing in this title. However, modifying progression flags may skip content required for certain milestones.
How can a mistake be undone?
Most changes are saved immediately to the SugarCube state. To revert, manually enter the opposite value or reload a pre-cheat backup save.
Is there a limit to how many traits can be active?
No hard limit exists, but stacking contradictory traits may cause unpredictable behavior during scripted events.
Conclusion
Masters of Raana offers deep console access through its SugarCube engine foundation. By running a single initialization script, players gain direct control over currency, stats, skills, traits, and NPC flags. Used responsibly on a backup save, this system allows efficient experimentation with character builds, relationship paths, and alternate story outcomes without the standard progression grind.






