onefingersalute

Well-Known Member
Mar 30, 2022
1,057
751
The first rule of playtesting is "try to break everything". This is a great lesson for future development. Hardcoded names slip through soooo easily, so it's always important to customize them when playtesting. Also, don't forget to try pushing limits. Try to make your custom names too long, or include potentially code-breaking characters. Assume your players are monkeys, and try to break the game in any way that a monkey might.

Also helps to do a quick ctrl+f in the script for each customizable character's default name. Since it should only appear when choosing their name, you should easily find any hardcoded names.
this sums it up pretty much


We will have a look into that - maybe we have overlooked some hardcoded text after implememnting the custom names

EDIT:
we all play with Victor, as that's the intended way - so it may slipped though our attention once or twice
it should always be the name us players named them not what you guys intended(which are mentioned multiple times so it is bugged) for them to be if that being the case might as well not let us pick and choose their names and just pick the relations to each other and speaking of which their is a bug with were they are referred to as default relations briefly but as i said before you might want to reread the code and stuff again if not whatever i suspect we will all be stuck with what we all got . but still im trying to help you guys out next time i wont bother mentioning it maybe someone else will maybe . but above quote sums it all up
 

onefingersalute

Well-Known Member
Mar 30, 2022
1,057
751
Is insect avoidable?
yeh you can name relations but it wont make any sense if they are not related so it would be wise to avoid it as it is the main theme of this game but again you can change it but wont make any sense otherwise
 

Ceesko

Engaged Member
Jun 3, 2017
2,119
5,403
Ok. I can see Dialogue and characters are much better. The MC is not a wet noodle/doormat like in the previous games. Dialogue flows more naturally.
 
  • Like
Reactions: MixQQ

SonsOfLiberty

Board Buff
Compressor
Sep 3, 2022
18,950
155,636
I've extracted the RPA-s from the compressed version and all the video files were size 0byte. The uncompressed version of the game resulted in playable video files.

I haven't tried to troubleshoot, but be warned that the compressed version might have missing animations.
What host did you use by chance?
 

Darth Vengeant

Active Member
May 6, 2020
937
1,098
For anyone wondering, you enter the secret code in the Game Tablet, then go to The Vault. This enables you to turn many things on and off. Fortunately, it unlocks most the things you would want from a mod. Finally, a dev adding things to the game that should be there in the first place and we don't need a mod.
 
  • Like
Reactions: JKool

colombeen

Member
Modder
Jul 16, 2021
314
1,739
Gallery Unlock Script

Description: A simple gallery unlock script. Extract the zip inside the game folder.
Game version: v0.0.1 (should work with future versions as well)

Download: View attachment ThiefofHearts-GalleryUnlocker.zip

DISCLAIMER
This script makes permanent changes to your persistent data.
Removing this script will not revert the changes that have been made.
Make a backup if you ever want to be able to revert back without completely removing your persistent data.
Python:
# Use this unlock script at your own risk.

# Start the deal with the devil
init 666 python:
    # Vault
    setattr(persistent, "v_walkthrough_locked", False)
    setattr(persistent, "v_secrets_locked", False)
    setattr(persistent, "v_lewd_images_extra_locked", False)
    setattr(persistent, "v_sex_anim_enabled_locked", False)

    # Reward Gallery
    if not v_rewards_min_digits is None:
        for who, digits in v_rewards_min_digits.items():
            i = 0
            while renpy.loadable("images/rewards/lewd gallery/" + who + "/lewd_" + who + "_" + str(i + 1) + ".jpg"):
                i += 1
                varname = 'v_rewards_' + who + '_' + str(i).zfill(digits)
                if getattr(persistent, varname) != True:
                    setattr(persistent, varname, True)

    # Replay Gallery
    for unlock_item in dir(persistent):
        if unlock_item.startswith('replay_'):
            if getattr(persistent, unlock_item) == True:
                setattr(persistent, unlock_item, False)

    # Make sure the replay scenes are clickable
    for label in renpy.get_all_labels():
        renpy.game.persistent._seen_ever[label] = True
        renpy.game.seen_session[label] = True
 
Last edited:

Eagle1900

Engaged Member
Oct 7, 2022
3,509
18,613
Thief of Hearts [v0.0.1]

Italian version

1719770065322.png

translation made by Eagle 1900

download


***************
 
  • Like
Reactions: aordd69 and mbusa

Myri

Newbie
Aug 18, 2017
16
21
The first rule of playtesting is "try to break everything". This is a great lesson for future development. Hardcoded names slip through soooo easily, so it's always important to customize them when playtesting. Also, don't forget to try pushing limits. Try to make your custom names too long, or include potentially code-breaking characters. Assume your players are monkeys, and try to break the game in any way that a monkey might.

Also helps to do a quick ctrl+f in the script for each customizable character's default name. Since it should only appear when choosing their name, you should easily find any hardcoded names.
Download Cygwin:
cd /cygdrive/#driveLetter/pathToSource
for i in `find .*`; do echo $i ; grep -i #name# $i; done

Easy way to find misses with names like that if it is in multiple files and places, just a tip.
 
4.00 star(s) 11 Votes