262177

Well-Known Member
Oct 26, 2017
1,548
1,249
I don't know a lot of JavaScript, but in Python, the parenthesis around the variable wouldn't affect in this case, as the interpreter would see it as a math expression (it wouldn't transform the variable in a tuple, for example). Is it the case for JS?

But the weird part is... despite the fact I've never used the Timed Attack plugins, I did find out that this variable was related to the result of a QTE. But... there is no QTE in Domina at all.

When I tried to debug the Trick Shot skill, I did several manipulations to the formula to see how it would work. I remind to have tried things like these:

JavaScript:
"formula":"a.atk * 6 * ($gameTemp.tas_power) - b.def * 2"

// or:

"formula":"a.atk * 6 - ($gameTemp.tas_power)"
I think I even tried to just sum everything.

In all these cases, the attack would always return 0. It only resumed to work when I removed the variable from the formula. My guess is that, since there's no QTE event in the game, the variable itself was never initialized, so it probably have garbage data (as JS is a dynamically typed language like Python).

That said, I don't remind to have tried your solution, and I don't have Domina anymore. Did you had success in making it work?
(Unfortunately I no longer play Domina either, so I can't test it... I'd have to redownload it and restart from scratch heh.)

Oh right, yeah, in JavaScript, the interpreter doesn't mind - JavaScript is a lot less mindful than Python and doesn't even have variable types (which can lead to funny situations like 1+1=11 because the coder didn't specify it's meant to be an integer and JavaScript treats that as a string concatenation - summarizes it as a meme, you had to make literal multiplications in some edge-case situations to typecast).

The plugin indeed is meant to be a QTE as far as I know (a gauge, to be accurate - the closer to the center you are, the better the damage if I recall correctly; it's one of the less frustrating QTEs rather than those damn blitz-like press keys that make you go crazy if you happen to have very slow reflexes or a machine that barely registers keystrokes and you end up using a macro lol).

The cases you described above should have returned some damage, but it makes sense if there is no QTE at all, because then that simply means the variable is completely unused (and probably defaults to 0 - just to make Deka's work harder and force him to act like an actual developer, plugin writers shouldn't spoonfeed him and force him to declare the variable or break the game because it'll be undefined, not testing one's game is a serious sin). As lax as JavaScript is, it will still blow up in your face if you try to use undefined variables or rightfully troll you with NaN (and RMMV/RMMZ's pixiJS will add to it by crashing the entire game because of a trivial console error that might not even affect the game - one of the worst design flaws of the RPG Maker engines over the years along with including tons of junk and duplicate nwjs libs that end up being unused, yay wasted gigabytes after a few game projects on your machine if you don't quickly grow a cleanup mindset; you definitely should as soon as possible, this piles up really fast).

I guess it's just better to completely remove the $gameTemp.tas_power altogether if it doesn't even show up (you can also check in plugins.js if it's enabled - or directly in a RMMV/RMMZ project file - but if you don't have Domina either, someone else will have to; it wouldn't surprise me that Deka would also have the plugin off). To account for the description, might want to increase the multiplier on a.atk a bit since that's still a bit low depending on what player stats are at this point (if I recall correctly though, Dominas had like 30-50k HP and their defense stats generally weren't all that high so it should still deal reasonable damage).

(Sorry for the very long post and late reply by the way - on top of barely visiting F95, I forgot to rewatch this thread.)
 

SevySub

Member
Aug 17, 2019
163
264
(Unfortunately I no longer play Domina either, so I can't test it... I'd have to redownload it and restart from scratch heh.)

Oh right, yeah, in JavaScript, the interpreter doesn't mind - JavaScript is a lot less mindful than Python and doesn't even have variable types (which can lead to funny situations like 1+1=11 because the coder didn't specify it's meant to be an integer and JavaScript treats that as a string concatenation - summarizes it as a meme, you had to make literal multiplications in some edge-case situations to typecast).

The plugin indeed is meant to be a QTE as far as I know (a gauge, to be accurate - the closer to the center you are, the better the damage if I recall correctly; it's one of the less frustrating QTEs rather than those damn blitz-like press keys that make you go crazy if you happen to have very slow reflexes or a machine that barely registers keystrokes and you end up using a macro lol).

The cases you described above should have returned some damage, but it makes sense if there is no QTE at all, because then that simply means the variable is completely unused (and probably defaults to 0 - just to make Deka's work harder and force him to act like an actual developer, plugin writers shouldn't spoonfeed him and force him to declare the variable or break the game because it'll be undefined, not testing one's game is a serious sin). As lax as JavaScript is, it will still blow up in your face if you try to use undefined variables or rightfully troll you with NaN (and RMMV/RMMZ's pixiJS will add to it by crashing the entire game because of a trivial console error that might not even affect the game - one of the worst design flaws of the RPG Maker engines over the years along with including tons of junk and duplicate nwjs libs that end up being unused, yay wasted gigabytes after a few game projects on your machine if you don't quickly grow a cleanup mindset; you definitely should as soon as possible, this piles up really fast).

I guess it's just better to completely remove the $gameTemp.tas_power altogether if it doesn't even show up (you can also check in plugins.js if it's enabled - or directly in a RMMV/RMMZ project file - but if you don't have Domina either, someone else will have to; it wouldn't surprise me that Deka would also have the plugin off). To account for the description, might want to increase the multiplier on a.atk a bit since that's still a bit low depending on what player stats are at this point (if I recall correctly though, Dominas had like 30-50k HP and their defense stats generally weren't all that high so it should still deal reasonable damage).

(Sorry for the very long post and late reply by the way - on top of barely visiting F95, I forgot to rewatch this thread.)
I'll download Domina again and take a look on it this weekend, maybe I can see what's happening.

I always went for the Ranger path and the Trick Shot skill always worked correctly until the last updates, and I don't think it stopped working due to "Dekarous manually adding this variable to every skill and thus crapping them" or something like that. No, these formulas were probably there when he implemented the whole skill tree system in the game.

My guess is that Deka acutally did something with this plugin/variable (which isn't the plugin original purpose, as QTE were never used in Domina as far as I know) and later he did something in the game that crapped this system somehow.
 
  • Wow
Reactions: Succubus Hunter

SevySub

Member
Aug 17, 2019
163
264

262177 I think this answers what's happening?

I'm not sure if what I made really works, but I inserted these parameters to the "Realm under construction" event (Map001, event ID 20, page 0):
JavaScript:
"list":
// ...
{"code":401,"indent":1,"parameters":["Realm under construction."]}, // original code
{"code":122,"indent":0,"parameters":[21,21,0,4,"String($gameTemp.tas_power)"]},
{"code":101,"indent":0,"parameters":["",0,0,2]},
{"code":401,"indent":0,"parameters":["Current gameTemp.tas_power value:"]},
{"code":401,"indent":0,"parameters":["\\V[21]"]},
{"code":412,"indent":0,"parameters":[]}, // original code
// ...
My intention was to show $gameTemp.tas_power as a string, and it printed "undefined".
If what I made doesn't work as intended, please lemme know haha

But it makes sense for me, as variables that wasn't properly declared are treated as "undefined" in JS.

I also made another test. I modified a skill (Precision Strike) to deal a constant damage (100) and tested it in PvP (Skills.json, skill ID 13)
JavaScript:
"damage":{"critical":false,"elementId":-1,"formula":"100","type":1,"variance":0} // the critical = false is important

// ... (some more code) ...

"effects":[], // erased everything inside [], just to be sure nothing would affect the test
I also changed tpcost to make it easier to spam.

In this case, the damage would always be 100, regardless of weapons, foe defense, your attack and anything else (as expected).

After that, I made these changes to damage formula:
JavaScript:
"formula":"100 + ($gameTemp.tas_power)" // test 1

"formula":"100 - ($gameTemp.tas_power)" // test 2
Tests 1 and 2 returned damage = 0

It seems that RPG Maker is not that dumb. It probably treats NaN damage as 0, so it won't crash the game.
But doing so also trolls developers - afterall, if there's no critical exception, everything is fine, right? Yeeeah... but actually no xD

EDIT: Just tested on node.js:
JavaScript:
var a = 100 // "int"
var b

console.log(a) // 100
console.log(b) // undefined
console.log(a + a) // 200
console.log(a + b) // NaN
So yeah, we probably have a NaN damage in all those skills.
 
Last edited:
  • Like
Reactions: maximillioj

Jabborno

New Member
Apr 27, 2024
4
2
Also, do we have an android version for the 9.9?
Or is there a way to play the game on Android with some emulator?
Joiplay lol, it was easy


262177 I think this answers what's happening?

I'm not sure if what I made really works, but I inserted these parameters to the "Realm under construction" event (Map001, event ID 20, page 0):
JavaScript:
"list":
// ...
{"code":401,"indent":1,"parameters":["Realm under construction."]}, // original code
{"code":122,"indent":0,"parameters":[21,21,0,4,"String($gameTemp.tas_power)"]},
{"code":101,"indent":0,"parameters":["",0,0,2]},
{"code":401,"indent":0,"parameters":["Current gameTemp.tas_power value:"]},
{"code":401,"indent":0,"parameters":["\\V[21]"]},
{"code":412,"indent":0,"parameters":[]}, // original code
// ...
My intention was to show $gameTemp.tas_power as a string, and it printed "undefined".
If what I made doesn't work as intended, please lemme know haha

But it makes sense for me, as variables that wasn't properly declared are treated as "undefined" in JS.

I also made another test. I modified a skill (Precision Strike) to deal a constant damage (100) and tested it in PvP (Skills.json, skill ID 13)
JavaScript:
"damage":{"critical":false,"elementId":-1,"formula":"100","type":1,"variance":0} // the critical = false is important

// ... (some more code) ...

"effects":[], // erased everything inside [], just to be sure nothing would affect the test
I also changed tpcost to make it easier to spam.

In this case, the damage would always be 100, regardless of weapons, foe defense, your attack and anything else (as expected).

After that, I made these changes to damage formula:
JavaScript:
"formula":"100 + ($gameTemp.tas_power)" // test 1

"formula":"100 - ($gameTemp.tas_power)" // test 2
Tests 1 and 2 returned damage = 0

It seems that RPG Maker is not that dumb. It probably treats NaN damage as 0, so it won't crash the game.
But doing so also trolls developers - afterall, if there's no critical exception, everything is fine, right? Yeeeah... but actually no xD

EDIT: Just tested on node.js:
JavaScript:
var a = 100 // "int"
var b

console.log(a) // 100
console.log(b) // undefined
console.log(a + a) // 200
console.log(a + b) // NaN
So yeah, we probably have a NaN damage in all those skills.
As a dev, since it's called game_Temp I expect it to be a runtime variable like skill power ups etc, but it destroys a huge number of skills lol
 

skinnyj69

Newbie
Jan 28, 2023
25
12
This is probably the first time that I am NOT eagerly awaiting the next update. Ruby just feels off in terms of her appearance. Not to mention her being the "Oldest" of the 13 despite being RIGHT after Hora, whose theme was time and aging.

Ruby is one cougar I am not looking forward to catching by the toe lol.


I hope you mean new artwork from the same artist (Shakie) and not "New artist work" as in from a new artist. I am very attached to Shakie's artwork even if she dropped the ball with Ruby.
I don't believe Shakie designed Ruby. Shakie has been gone since last year. The current version of Ruby is the new artist. There is an update version of Ruby that was redesigned after he patreon poll on her older appearence.
 
  • Wow
Reactions: Succubus Hunter

Akkarin69

Member
Feb 16, 2018
434
593
Question about Story and Decisions:

I played through the current content without getting enslaved by Katrina, so I'm curious: What would happen if you swear loyalty to her and then reach Hora and her Black Soulshard Quest? Is there anything different or do you have to betray your Mistress and take her soul as well?
 
  • Sad
Reactions: Succubus Hunter

Succubus Hunter

Conversation Conqueror
May 19, 2020
7,280
13,915
I don't believe Shakie designed Ruby. Shakie has been gone since last year. The current version of Ruby is the new artist. There is an update version of Ruby that was redesigned after he patreon poll on her older appearence.
Damn... Are you sure Shakie is gone? I thought that was just unsubstantiated gossip a while back? Can you provide (Some very bitter) sauce for that? :cry:

I couldn't find the tradgdy OST so here's the closest I could find to convey my reaction to her departing:

Best Girl's OST:

Question about Story and Decisions:

I played through the current content without getting enslaved by Katrina, so I'm curious: What would happen if you swear loyalty to her and then reach Hora and her Black Soulshard Quest? Is there anything different or do you have to betray your Mistress and take her soul as well?
When I reached Hora I just went in took her soul faster than John Wick.

Is it currently true that if one picks the Easy mode, they'll miss some content?
I think that is referring to if you choose easy mode you might defeat each opponent before seeing all of their CGs and dialogue. I played Easy mode up until Harley Queef before and didn't notice any difference in content. The biggest difference is that you can't grind against undead which actually made the game harder for me since I was playing as an arcanist.
 

skinnyj69

Newbie
Jan 28, 2023
25
12
Damn... Are you sure Shakie is gone? I thought that was just unsubstantiated gossip a while back? Can you provide (Some very bitter) sauce for that? :cry:

I couldn't find the tradgdy OST so here's the closest I could find to convey my reaction to her departing:

It's on the patreon page. The new art is the current build. So, if you downloaded and played 9.9 then you've seen some of the new artists work spliced in with new content. Apparently the break up was out of nowhere with Shakie not responding to messages from Dekarous. I love Shakie's style too and I wish the artist stayed on with the development team. Ruby's design for 10 is the new artist.
 
  • Wow
Reactions: Succubus Hunter

Succubus Hunter

Conversation Conqueror
May 19, 2020
7,280
13,915
This is the saddest Domina news I have ever heard... I feel like I just got pegged by Worst Girl.

I loved Shakie's work and seeing her other art on her DA also put a smile on my face. I also kinda shipped Shakie x Deka together as devs, perhaps even wanting to write a short fic about them getting together and acting out "Domina" things. When I saw the beginning of Please Don't Bully Me Nagatoro's art re-enactment, I immediately thought of Shakie x Deka (ShaDA?).
 
3.50 star(s) 51 Votes