Wipp

Newbie
Jan 8, 2018
32
114
We're getting a mouse girl companion at some point. Its written by William though so that guarantees good writing but a shit load of time finally get released.
I've heard this a lot but I'd hardly consider a mouse to be a shortstack. At least from my experience, mouse characters generally end up very petite. I'm sure they'll be written well enough but not quite what I'm itching for.
 
  • Like
Reactions: daedal and Bootyman

Fikedever

Member
May 26, 2020
102
331
Can't believe that no one has asked, but any chance you could share some information or code regarding your decompiling efforts. I can only format and split the WebpackJsonP bundle into separate files, but they're lacking descriptive names and still have the javascript and character engine variables in place. They also duplicate all text for whatever reason. As someone with no javascript experience, I don't see any easy way to mitigate all this without access to proper source-maps and metadata or their "textify" functions.
How were you able to split the bundle into separate files? I know the file structure is in the .map but I don't know how to debundle it. The tools I've tried error out due to lacking source character map.

From what I could tell with the text duplication is that it passes both to a function that performs object freezing. I don't know enough about JavaScript to recognize why that would be done, but it seems pointless.

JavaScript:
function n(e, t) {
    return Object.freeze(Object.defineProperties(e, {
        raw: {
            value: Object.freeze(t)
        }
    }))
}
var a = n([''], ['']);
Object.freeze prevents the object from having properties added or removed. Essentially from what I can tell, makes it immutable.
Object.defineProperties adds the property raw with the frozen t object. So it ends up being { 0: e, raw: { 0: t }} where t and e are equal strings. Both seem to be uneditable, so I don't know why it is done.

My guess is its a byproduct of TypeScript or some JS framework like React.

I'm currently working on a mod loader in Rust that should work for anything JavaScript, but I will probably target more specific tools for CoC2 (and TiTs when it comes out on JS). I want a mod to be able to target a specific search needle in the source game and replace/delete/insert before/insert after the needle.
 
  • Like
Reactions: TheHighborne

Hunterbc60

Newbie
Nov 27, 2017
31
16
Ok so I'm having trouble I'm on the loading screen but. When it fully loads up if kicks me out before I can do any thing it's stuck on the loading screen
 
Last edited:

daedal

Newbie
Apr 28, 2018
43
43
Mega pc
Mega apk

0.3.49 Patch Notes:


  • There’s a new optional Good End if Infrith, Rags, and Hretha are all concurrently pregnant but Arona isn’t.
  • Elthara’s Appearance screen has been updated to account for pregnancy, with a new CG by AnonArts as well!
  • Zuzaan now finally has a pregnant bust.
  • Ryn has a new combat headshot and appearance CG for her queenly garb.
And that’s all, folks! Thanks for boatloads of support from all you new backers during May — hopefully you’ll stick around through June as we launch into our next zone and get the main story rolling again!
is playing on mobile worth or will my big man fingers not mix well with the ui?
 

James3

Member
Dec 12, 2018
405
153
What's the alternate recruitment for Atugia? Do you still have to do her when her head isn't on?
atugia.DCL.0.png
 
Last edited:

James3

Member
Dec 12, 2018
405
153
Just don't head towards her, after a couple days she'll introduce herself putting you on the new recruitment path, and no, they made it explicitly for people who want to recruit her, but don't want to do her
So, no way to do it if you've met.
 

TheHighborne

New Member
Aug 9, 2016
9
33
How were you able to split the bundle into separate files? I know the file structure is in the .map but I don't know how to debundle it. The tools I've tried error out due to lacking source character map.

From what I could tell with the text duplication is that it passes both to a function that performs object freezing. I don't know enough about JavaScript to recognize why that would be done, but it seems pointless.

JavaScript:
function n(e, t) {
    return Object.freeze(Object.defineProperties(e, {
        raw: {
            value: Object.freeze(t)
        }
    }))
}
var a = n([''], ['']);
Object.freeze prevents the object from having properties added or removed. Essentially from what I can tell, makes it immutable.
Object.defineProperties adds the property raw with the frozen t object. So it ends up being { 0: e, raw: { 0: t }} where t and e are equal strings. Both seem to be uneditable, so I don't know why it is done.

My guess is its a byproduct of TypeScript or some JS framework like React.

I'm currently working on a mod loader in Rust that should work for anything JavaScript, but I will probably target more specific tools for CoC2 (and TiTs when it comes out on JS). I want a mod to be able to target a specific search needle in the source game and replace/delete/insert before/insert after the needle.
First, I've just used a makeshift regex in a sublime plugin to split by functions. Split after and until the next match or file end:
Python:
r"function\(e\, t\, o\) \{\s+\"use strict\"\;\s+function n\(e\, t\) \{\s+return Object\.freeze\(Object\.defineProperties\(e\, \{\s+raw\: \{\s+value\: Object\.freeze\(t\)\s+\}\s+\}\)\)\s+\}"
Afterwards I cleaned the file by using a JSFormatter plugin and further regex operations.

Nowadays, I just use the npm package which does pretty much the same, just a bit more straight forward:
Bash:
retidy -i .\main.js -t webpack-jsonp -o .\test
You can remove the duplicate paragraphs of text (or at least most of them) by another makeshift regex, something like this:
JavaScript:
(?<![\[\n])(\[\n+.*?\n\]\,)(?=\s+\[)\s+\[\n+.*?\n\]\)
Find and replace the above with the first capture group ($1). (.) matches newline flag required.

The end result still needs quite a bit of work, but I'm not knowledgeable or motivated enough to improve it further for a game that is ultimately still pretty bare-bones. The developers evidently don't appreciate their player base judging by their needless obfuscation and the complete lack of transparency afforded to the wiki, save editors, mods or just any interested individual.
 

Mandoto

Member
Mar 23, 2021
259
1,140
First, I've just used a makeshift regex in a sublime plugin to split by functions. Split after and until the next match or file end:
Python:
r"function\(e\, t\, o\) \{\s+\"use strict\"\;\s+function n\(e\, t\) \{\s+return Object\.freeze\(Object\.defineProperties\(e\, \{\s+raw\: \{\s+value\: Object\.freeze\(t\)\s+\}\s+\}\)\)\s+\}"
Afterwards I cleaned the file by using a JSFormatter plugin and further regex operations.

Nowadays, I just use the npm package which does pretty much the same, just a bit more straight forward:
Bash:
retidy -i .\main.js -t webpack-jsonp -o .\test
You can remove the duplicate paragraphs of text (or at least most of them) by another makeshift regex, something like this:
JavaScript:
(?<![\[\n])(\[\n+.*?\n\]\,)(?=\s+\[)\s+\[\n+.*?\n\]\)
Find and replace the above with the first capture group ($1). (.) matches newline flag required.

The end result still needs quite a bit of work, but I'm not knowledgeable or motivated enough to improve it further for a game that is ultimately still pretty bare-bones. The developers evidently don't appreciate their player base judging by their needless obfuscation and the complete lack of transparency afforded to the wiki, save editors, mods or just any interested individual.
I seriously hope knowledgeable people like you are able to create a mod for the game someday that gets around all the devs stupid ass warnings. Not only to make the game more fun, but to piss them off seeing they don't want anyone modding their golden turd.
 
  • Like
Reactions: Sin-xix

abacus911

New Member
Jan 16, 2020
14
8
First, I've just used a makeshift regex in a sublime plugin to split by functions. Split after and until the next match or file end:
Python:
r"function\(e\, t\, o\) \{\s+\"use strict\"\;\s+function n\(e\, t\) \{\s+return Object\.freeze\(Object\.defineProperties\(e\, \{\s+raw\: \{\s+value\: Object\.freeze\(t\)\s+\}\s+\}\)\)\s+\}"
Afterwards I cleaned the file by using a JSFormatter plugin and further regex operations.

Nowadays, I just use the npm package which does pretty much the same, just a bit more straight forward:
Bash:
retidy -i .\main.js -t webpack-jsonp -o .\test
You can remove the duplicate paragraphs of text (or at least most of them) by another makeshift regex, something like this:
JavaScript:
(?<![\[\n])(\[\n+.*?\n\]\,)(?=\s+\[)\s+\[\n+.*?\n\]\)
Find and replace the above with the first capture group ($1). (.) matches newline flag required.

The end result still needs quite a bit of work, but I'm not knowledgeable or motivated enough to improve it further for a game that is ultimately still pretty bare-bones. The developers evidently don't appreciate their player base judging by their needless obfuscation and the complete lack of transparency afforded to the wiki, save editors, mods or just any interested individual.
A company has to give away their source code to appreciate their customers?
 
Jan 9, 2019
37
98
A company has to give away their source code to appreciate their customers?
Imagine being able to bang
THIS
kinu_hime.DCL.0.png

As one can see, it is a good thing that this cannot be banged, as public morals would rapidly degrade this game into a den of inequity. Now if you excuse me, I'm off to thank the Patreon ToS and He Who Must Not be Named, The Great Kitsune Politics Appreciator. Luckily, the game is annoying to modify in any way and the development team will make sure to quash any attempts to do so, lest we the people are forced into some sort of...power fantasy!
 

TheHighborne

New Member
Aug 9, 2016
9
33
A company has to give away their source code to appreciate their customers?
I firmly believe in the spirit of cooperation between developers and their player base. Most of my favorite games, games I consider to be among the greatest of all time, have only reached their full potential and lasting reputation through the hard work of both the developers and groups of dedicated fans who have created things like essential patches/fixes that the developers were unable to implement because of budget/time constraints, ports to modern systems to keep the game alive long after its release, mods that add completely new gameplay systems or content to fully flesh out an already great experience or massive total conversions that create their own unique worlds in the spirit of the original game.
For me, it is the hallmark of a truly great game to leave such a legacy and inspire hundreds of new creations and lasting support from a fanbase, not only in terms of mods but also community content like wikis/guides/stories/art/even memes.

This doesn't mean that everyone has to lay open their complete source code and there is no need for that in the first place. Just extending a hand by providing documentation/modding tools or not needlessly hardcoding/obfuscating content goes a very long way. What I see in their approach and communication instead is an active dislike of anyone meddling with their creation, a common way of thinking for creators, but one that I ultimately consider to be misguided and fueled by pride rather than practicality. In a medium like video games, true greatness can most often only be achieved through cooperation.
 
2.80 star(s) 117 Votes