Unholy Arts
Game Description:
Passion, love and power are the cornerstones of the protagonists of Unholy Arts, an erotic fantasy dating sim where six women cooperate and compete to become the next Valley’s High Priestess, in an adventure full of yuri, romance and powerplay.
A Role-Playing Game, a Simulation and a “Choose Your Own Adventure” Game blended together to create an innovative system where each character makes their own choices according to their goals and desires, which in turn evolve along with their experiences. How will your actions change your companions and your relationships with them? Will they end up in your clutches? Or will you end up in theirs?
- Extract and run.
- Dual Core Pentium or equivalent Processor.
- Intel HD 2000 or equivalent Graphics.
- 163.6 MB of free disk space (Recommended to have twice as much free disk space than this).
Unholy Arts - Ongoing - v.0.4.4 Links And Mirrors
About The Game: Unholy Arts is a porn game made on HTML game engine. This game is rated M and meant for adults with explicit contents and strong language. It is advised to read the tags to get an idea about the game. The current available version is v.Unholy Arts. THe contents of the game is Uncensored. Unholy Arts is developed and distributed by Deep Interactivity, Please support Deep Interactivity if want the development of Unholy Arts game going or want to see more new games from them in future. The download links are crawled and gathered from various public sites. We do not host/modify or alter the contents. The uploader is responsible for the DMCA.
Unholy Arts's latest build v.0.4.4 is available in Windows, MacOS, Linux platforms and currently Ongoing. We last updated this game in April 22, 2024.
Unholy Arts's latest build v.0.4.4 is available in Windows, MacOS, Linux platforms and currently Ongoing. We last updated this game in April 22, 2024.
Walkthrough and Guide
Cheats:
Below is a list of a bunch of hacks I've made to the game. If you want to apply them to your game, open
Restore back and forward arrows
- search and delete this line
JavaScript:
Add bar refill buttons on left panel (click to refill bar, display updates on next scene)
- search for
JavaScript:
Custom starting stats and stat affinities
- search
JavaScript:
Learn all monster moves at start
- search for
HTML:
Ultra Instinct (always hit and always dodge)
- search
JavaScript:
Super social hypnotic glance
- search
- search
- search
Bottom's submission gain is multiplied by amount of top's orgasms
- search
JavaScript:
- add these lines below the 4
JavaScript:
Below is a list of a bunch of hacks I've made to the game. If you want to apply them to your game, open
Unholy Arts v0.X.html
in a text editor (I recommend VS Code) and follow my instructions for each one.
Restore back and forward arrows
- search and delete this line
JavaScript:
Config.history.maxStates = 1;
Add bar refill buttons on left panel (click to refill bar, display updates on next scene)
- search for
Character.prototype.getCharacterUIbarInfo
, replace the function with this code
JavaScript:
Character.prototype.getCharacterUIbarInfo = function() { // Returns a string that generates the character's basic info when displayed on Sugarcube 2
var string = "<div align='center'> " + generateTitledName(this.varName) + " (" + this.getCharScreenButton("Status") + ")n";
if ( this.avatarL != null ) {
string += gCavatar(this.varName) + "n";
}
string += "</div> ";
string += this.textBars() + "n";
if ( this.varName == "chPlayerCharacter" ) {
string += this.getCharScreenCheatButton1("Refill Lust") + "n";
string += this.getCharScreenCheatButton2("Refill Willpower") + "n";
string += this.getCharScreenCheatButton3("Refill Energy") + "n";
string += this.getCharScreenCheatButton4("Refill Social Drive") + "n";
}
return string;
}
Character.prototype.getCharScreenCheatButton1 = function(handler) {
var text = '<<click "' + handler + '">>'
+ '<<' + 'script>>'
+ 'State.variables.chPlayerCharacter.lust.current = State.variables.chPlayerCharacter.lust.max;'
+ '<<' + '/script>>'
+ '<</click>>';
return text;
}
Character.prototype.getCharScreenCheatButton2 = function(handler) {
var text = '<<click "' + handler + '">>'
+ '<<' + 'script>>'
+ 'State.variables.chPlayerCharacter.willpower.current = State.variables.chPlayerCharacter.willpower.max; '
+ '<<' + '/script>>'
+ '<</click>>';
return text;
}
Character.prototype.getCharScreenCheatButton3 = function(handler) {
var text = '<<click "' + handler + '">>'
+ '<<' + 'script>>'
+ 'State.variables.chPlayerCharacter.energy.current = State.variables.chPlayerCharacter.energy.max; '
+ '<<' + '/script>>'
+ '<</click>>';
return text;
}
Character.prototype.getCharScreenCheatButton4 = function(handler) {
var text = '<<click "' + handler + '">>'
+ '<<' + 'script>>'
+ 'State.variables.chPlayerCharacter.socialdrive.current = State.variables.chPlayerCharacter.socialdrive.max; '
+ '<<' + '/script>>'
+ '<</click>>';
return text;
}
Custom starting stats and stat affinities
- search
window.applyPcStatBonusesWeaknesses
and replace the function with the code below. change values any way you like. on new game pick any boon, they don't do anything with this change
JavaScript:
window.applyPcStatBonusesWeaknesses = function() {
State.variables.chPlayerCharacter.physique.value += 4;
State.variables.chPlayerCharacter.physique.affinity += 10;
State.variables.chPlayerCharacter.agility.value += 4;
State.variables.chPlayerCharacter.agility.affinity += 10;
State.variables.chPlayerCharacter.resilience.value += 4;
State.variables.chPlayerCharacter.resilience.affinity += 10;
State.variables.chPlayerCharacter.will.value += 4;
State.variables.chPlayerCharacter.will.affinity += 10;
State.variables.chPlayerCharacter.intelligence.value += 4;
State.variables.chPlayerCharacter.intelligence.affinity += 10;
State.variables.chPlayerCharacter.perception.value += 4;
State.variables.chPlayerCharacter.perception.affinity += 10;
State.variables.chPlayerCharacter.empathy.value += 4;
State.variables.chPlayerCharacter.empathy.affinity += 10;
State.variables.chPlayerCharacter.charisma.value += 4;
State.variables.chPlayerCharacter.charisma.affinity += 10;
State.variables.chPlayerCharacter.luck.value += 4;
State.variables.chPlayerCharacter.luck.affinity += 10;
recalculateMaxBars("chPlayerCharacter");
// State.variables.chPlayerCharacter.recalculateMaxBars();
}
Learn all monster moves at start
- search for
//You learned Hypnotic Glance (Socialization, Sex, Battle)//
and replace the charactersLearnSceneActions
line with the one below. pick the hypnosis choice at the start of the game
HTML:
charactersLearnSceneActions(["chPlayerCharacter"],["realHypnoticGlance","baHypnoticGlance","energyDrainingKiss","baDrainingKiss","baEnergyDrainingKiss","etherealChains","baEtherealChains"]);
Ultra Instinct (always hit and always dodge)
- search
return (new eva
and add this code above it. first line is always hit, second line is always dodge.
JavaScript:
if (attacker.toString() == "chPlayerCharacter") { hit = true; }
if (attacker.toString() != "chPlayerCharacter" && target.toString() == "chPlayerCharacter") { hit = false; }
Super social hypnotic glance
- search
// Hypnotic Glance
and change socInt.weight =
to a high value, 100 or higher, to get it offered most of the time
- search
var mVector = new MoodVector(0,0,0,1,-1,3,0,-1);
and change the 3 to increase how much submission target receives
- search
var rVector = new RelationVector(0,0,0,0,3,0,-1);
and change the 3 to increase how much relation submission the target receives
Bottom's submission gain is multiplied by amount of top's orgasms
- search
gainedSubmission += gainedExtraSubmission
and delete these lines
JavaScript:
gainedSubmission += gainedExtraSubmission;
gainedSubmission *= effectsMultiplier * (1 + ((- gC(charKey).mood.dominant + gC(charKey).mood.submissive) / 100));
- add these lines below the 4
gc(charKey)
lines
JavaScript:
gainedSubmission += gainedExtraSubmission;
gainedSubmission = gainedSubmission * gC(charKey2).orgasmSceneCounter;
gainedSubmission *= effectsMultiplier * (1 + ((- gC(charKey).mood.dominant + gC(charKey).mood.submissive) / 100));