Mod Ren'Py Abandoned Time For Dragons - Defiler Wings: Deranged Dragon Mod [29-07-2020] [Jman]

3.50 star(s) 8 Votes

Jman9

Engaged Member
Jul 17, 2019
2,295
958
Stamina should be getting reduced, too. If it isn't, I guess that's another bug that will get fixed with the next release.
 

zzczys

Active Member
Jul 20, 2019
911
186
Lose 1 satiety and stam per click.


New event idea;

Maybe visiting the witch can randomly get a free student to take back to the lair?
 
Last edited:

Jman9

Engaged Member
Jul 17, 2019
2,295
958
Um, why would she do that? She's out for power, like everyone else, and is using the dragon to advance her own goals. Which were world domination, more or less, if I recall DW endings right. :sneaky:

She's not some sort of sexual fairy godmother. :p More like an amoral version of Pentandra, if you've read the Spellmonger series. Or maybe Ishi would be a better fit, except Ishi is already a goddess and has different problems.
 
Aug 18, 2020
85
10
So, made a few changes to the code of evolutions.yaml and, well, I fucked up. Most went off without a hitch, adding magic resist that I hope works and other such evolutions. Changed a few lines of the torturing scenes to suit my prefernces (Not having size 3+ dragons automatically have claws or horns for play). And then I tried to add a mana increasing Paw type, because I felt I was adding too much to the Special tab, and yeah. Fucked up somehow.

Rich (BB code):
Code:
I'm sorry, but an uncaught exception occurred.

While running game code:
  File "game/_script/lair/lair - label.rpy", line 25, in script
    python:
  File "game/_script/lair/lair - label.rpy", line 28, in <module>
    result = ui.interact()
  File "game/_script/lair/lair - screen.rpy", line 606, in execute
    screen lair():
  File "game/_script/lair/lair - screen.rpy", line 606, in execute
    screen lair():
  File "game/_script/lair/lair - screen.rpy", line 635, in execute
    fixed at context_help:
  File "game/_script/lair/lair - screen.rpy", line 646, in execute
    vbox xalign 0.5 spacing 50:
  File "game/_script/lair/lair - screen.rpy", line 686, in execute
    frame background solid_fill() align centered:
  File "game/_script/lair/lair - screen.rpy", line 687, in execute
    fixed ymaximum:
  File "game/_script/lair/lair - screen.rpy", line 688, in execute
    if lair.action == 'build':
  File "game/_script/lair/lair - screen.rpy", line 713, in execute
    use lair_evolution
  File "game/_script/lair/lair - screen.rpy", line 63, in execute
    screen lair_evolution():
  File "game/_script/lair/lair - screen.rpy", line 63, in execute
    screen lair_evolution():
  File "game/_script/lair/lair - screen.rpy", line 64, in execute
    vbox:
  File "game/_script/lair/lair - screen.rpy", line 73, in execute
    side "c l" xalign 0.5 xfill true:
  File "game/_script/lair/lair - screen.rpy", line 74, in execute
    viewport id "dragon_evo_selection":
  File "game/_script/lair/lair - screen.rpy", line 83, in execute
    if dragon.evo_page == 'evo':
  File "game/_script/lair/lair - screen.rpy", line 97, in execute
    vbox align(0.5,0.5) spacing 5:
  File "game/_script/lair/lair - screen.rpy", line 98, in execute
    for key in dragon.get_possible_evo_list():
  File "game/_script/lair/lair - screen.rpy", line 99, in execute
    frame align(0.5,0.5) xfill true:
  File "game/_script/lair/lair - screen.rpy", line 100, in execute
    vbox align(0.5,0.5):
  File "game/_script/lair/lair - screen.rpy", line 104, in execute
    text "%s"%(print_evo_grant(evolution[key])) align(0.5,0.5)
  File "game/_script/define/functions.rpy", line 99, in print_evo_grant
    if part['grant'].has_key('ability'):
AttributeError: 'str' object has no attribute 'has_key'
This is the code for the mana increasing paws:

Python:
paws_weave:
  cost: 30
  element: phys
  eng_desc: Strange paws, at first glance vestigial. The Dragon may use these paws to aid in the casting of magic, twisting tendrils and multi boned fingers able to dance in designs unknown to even the wisest mage.
  eng_name: Weaving Paws
  grant: ()
  need: len(dragon.anatomy['paws']) < 4
  rus_desc: TBD
  rus_name: TBD
  stats:
    mana: 2
EDIT: Just for clarity, this error occurss when I select the paws tab of a fresh game's evolution menu. Other tabs work fine.
 

Jman9

Engaged Member
Jul 17, 2019
2,295
958
Or give away captives to the witch?
I'm planning to reintroduce Hakim ibn Hakim (ibn Hakim), to whom you can sell your surplus captives. And maybe he sells some new ones, too. That's not in yet, though.

Changed a few lines of the torturing scenes to suit my prefernces (Not having size 3+ dragons automatically have claws or horns for play).
Share these?

And then I tried to add a mana increasing Paw type, because I felt I was adding too much to the Special tab, and yeah. Fucked up somehow.
I suspect it's this:
grant: ()
Should be '{}' instead of '()'.

Magic paws aren't a bad idea. If you get a bigger set of new evolutions ready, maybe share those, so I can take a look and see if I want to add them for myself and everybody else.

Edit: Although I dislike having the magic coming directly from the paws. Maybe a multiplier to existing mana instead? Like +20% or so.
 

Neodart

New Member
Apr 6, 2019
8
41
Sorry if has been solved somewhere else but I couldn't find it with the search function either in this thread or in the 1.1.1 one. I downloaded the game last night and I was able to play without major problems (just the exceptions already mentioned here and there) for a few hours. Today, when I try to launch the game I get a traceback.txt and the game won't start. I tried to re-download the file and start from the start, same error. Downloaded 1.1.1, same.

Here is the traceback I got (with just an edit to hide the folder path as my name is in there):
You don't have permission to view the spoiler content. Log in or register now.

I haven't done anything on my computer between closing the game last night and trying to open it today. I know some coding, but not Renpy nor Python, but beside understanding it couldn't display some images I'm lost. Does someone have any idea of how to at least get the game to start again?

Edit: I already tried restarting my PC (in case some process or another was F***ing things up), changed nothing. I also tried to start other Renpy games I have, no problem there. No alerts either on my antivirus or my firewall. It's really just this precise game (the "original" and this version) that suddenly decided "No, I don't wanna anymore."...
 
Last edited:

Jman9

Engaged Member
Jul 17, 2019
2,295
958
I haven't done anything on my computer between closing the game last night and trying to open it today. I know some coding, but not Renpy nor Python, but beside understanding it couldn't display some images I'm lost. Does someone have any idea of how to at least get the game to start again?
No idea why this is happening. Try deleting your 'persistent' file and all '.rpyc' files. I doubt this will do anything, but worth a try.

Also, has anything in the 'renpy' folder compiled between yesterday and today?

Edit: This looks like some sort of Ren'Py initialization order issue, but what caused this, I don't know. Other games have their own Ren'Py distributions, so they don't matter.

Edit2: One more thing you could try: find the label 'load_prototypes' in 'script.rpy' and put a 'pause 0' at the very beginning, before 'python:'. If that doesn't work either, I'm out of ideas for now, and suggest you ask about this on the Ren'Py forums. I can't really debug this if I can't reproduce it, and I know very little about Ren'Py internals themselves. Enough to know I don't really want to mess with them.
 
Last edited:

Neodart

New Member
Apr 6, 2019
8
41
Tried deleting the files you told me to, only change was it took 1-2 seconds longer to get the "new" (identical) traceback.txt... Nothing in the renpy folder is "young" enough to have happened on my computer so the files are still supposedly the exact same files that were downloaded. I didn't think it would have worked either since then only one of the three version I have (the version I played yesterday, the version I downloaded today and wouldn't start right from the start and the 1.1.1 version which, again, wouldn't start right from the start either, all in separate folders) would have had the problem...

As for trying the others Renpy games? I understand enough of renpy to know they all have a self-contained launcher. I just checked in case a background update (Graphic card or the like) had slightly changed how some function or another worked and renpy couldn't interact with it anymore. Like I said, I know enough coding to intuit what some parts mean (by seeing how close they are in syntax to other coding languages I know) but not enough to truly understand what the problem is. As an example, the get_size() function call at the end, without any argument, when just above it need the "img" argument? It could mean they are two different functions, they are the same function but can be used with or without an argument depending on how it's called, or it could be the same function and the second call is the problem because, for one reason or another, it expect an argument to be given and crash when called empty...
 
Aug 18, 2020
85
10
Another thing to add to Techsupport, aka Jman9: Is there a way to natively attach a .yaml file on f95? I am unused to this forum.

My idea for the other problem is that maybe installation was done incorrectly? If I were you I would try to uninstall and reinstall, maybe even wipe the AppData/Roaming file as well before a reinstallation, though that should not matter. Prob want to back up your saves if you do that option, tho. Then again, if you were able to play and successfully access the game and its functions, I dunno why it would change today, and again, I aint a techie really

EDIT: I mean only the AppData/Roaming/Renpy/Time_for_Dragons folder, though that only contains saves, and that probably shouldn't affest the startup process?
 

Jman9

Engaged Member
Jul 17, 2019
2,295
958
Tried deleting the files you told me to, only change was it took 1-2 seconds longer to get the "new" (identical) traceback.txt...
The extra time is just recompiling the scripts. Well, shoot, that didn't work.

Did the 'pause 0' do anything?

As for trying the others Renpy games? I understand enough of renpy to know they all have a self-contained launcher.
It's not just the launcher, Ren'Py pretty much comes with source code attached. So in theory, I could troubleshoot this to all eternity. In practice, that's not going to be particularly productive. :cautious:

truly understand what the problem is
As far as I can glean, the problem is that creating images is sensitive to the order in which the game, especially the GUI, is initialised. What to do about it, I don't know.

As an example, the get_size() function call at the end, without any argument, when just above it need the "img" argument? It could mean they are two different functions...
They are, one is a class function and the other is a 'global' function. Not that it helps us any, since initialising a ProportionalScale object calls renpy.render(), and that's forbidden during certain steps of the initialisation process. Why yours is different from others', and different now, I don't really know.

Edit:
Is there a way to natively attach a .yaml file on f95?
Zip it?

My idea for the other problem is that maybe installation was done incorrectly? If I were you I would try to uninstall and reinstall, maybe even wipe the AppData/Roaming file as well before a reinstallation
If the game worked before and now doesn't, I doubt it. Wiping the user data might help, but if all three installations don't work, that isn't likely to help, either.

Then again, if you were able to play and successfully access the game and its functions, I dunno why it would change today, and again, I aint a techie really
Neither am I. :p And this is pretty puzzling behaviour.
 
Aug 18, 2020
85
10
Here are my files that I fucked with. As well as a little change log. Have not actually evolved any of the added or modded evolutions yet, but with limited knowledge of how coding works, it should work. One thing I cannot figure out is how to align the text of the descriptions, they center right.
 
  • Like
Reactions: Jman9

Neodart

New Member
Apr 6, 2019
8
41
I reloaded the page between your two edits so I didn't see it. Tried with "pause 0" aligned with the label, got an error about unexpected indentation in the line after it. So I added a tabulation to align it with "python" and suddenly the game was on but I was directly put on the map in a "save that doesn't exist" (Red dragon where mine was a black, name I didn't recognize, etc...) and had four buttons in the lower right that weren't there yesterday ("Event" and "Knight" where the recap of the changes to fury, infamy, etc... are situated, as well "x" and "y" close to the "sky" one). I was able to load my save (the extra buttons were still there) but in checking the preferences, I saw that I had Debug mod on. I turned it of and restarted the game and now it start normally.

From this, I think what might have happened was that while playing yesterday I somehow turned debug mod on (don't remember doing it but I was pretty tired) and, since the change probably doesn't take place until you restart the game, I was able to continue without trouble then. Then I closed the game to go to bed and when I tried to continue to play today, the game tried to start in debug mod but couldn't, causing my problem. With debug mode off I deleted the "pause 0" line and now I can still start the game without any problem... And the two other versions too...

Maybe deleting the "roaming" files would have had the same effect, since it should have made the game "forget" that debug mode was turned on and would have then defaulted back to off...

Thanks for the help anyway. It seems like, like the majority of the time, the problem with the software came from what was in front of the screen...
 

Jman9

Engaged Member
Jul 17, 2019
2,295
958
Here are my files that I fucked with.
Nice! I don't agree with all of this, but I think I can use some of the changes, if you don't mind.

One fundamental thing is about heads is that they're supposed to be a modular system that allows you to customize your dragon for different challenges. I don't really see a good alternative via specials, especially if the heads themselves stay as they are as well.

Maybe an option to switch between one-headed and multi-headed dragons as purely flavour, converting all mention of heads into something else? That would remove the need for many of your additions, which make an OP dragon even more OP. I don't really know what to call them, though.

Magic resistance missing for the dragon is a design choice, so that there's something you always have to be wary of. I could give some kind of head +5%, maybe.

One thing I cannot figure out is how to align the text of the descriptions, they center right.
What do you mean? Most of the descriptions are justified, are they not?

debug mode
It's weird that debug mode causes this, because I obviously use it a lot, without similar issues.

Maybe deleting the "roaming" files would have had the same effect, since it should have made the game "forget" that debug mode was turned on
Deleting all 'persistent' files, both in the install directory and under 'AppData' would have done this, yes.
 

zzczys

Active Member
Jul 20, 2019
911
186
Magic resistance missing for the dragon is a design choice, so that there's something you always have to be wary of. I could give some kind of head +5%, maybe.
Perhaps putting that into one of the special evolutions?
 

Jman9

Engaged Member
Jul 17, 2019
2,295
958
Perhaps putting that into one of the special evolutions?
I'm putting it on the rainbow head. Special evolutions can't be swapped, so that way all dragons are going to end up with magic resistance. But I want magic resistance to be rare and have an opportunity cost.

Too many minions, engine limit?
Looks like it. I guess I'll try doing some paging. Fuck, more dev time spent on bugs instead of features. :(
 
Aug 18, 2020
85
10
BTW, those lines instead of characters is also found in the Squads menu if you have too many minions. The evolution text, if more than one line is had, has secondary lines centered right to the furthest right point on the first line, like in the screenshots.

If I write up a few evoltions about scales, and have them mutually exclusive, ie leaden or impenetrable, serrated or aerodynamic, veined or pleated, and then some more like special evos that you can just take at no opportunity cost, like spines and general reinforcement and polished and other such things, could it be coded that only some can be mutated into some others, and some not be mutated at all? Like, the mutually exclusive ones being able to mutated with each other but not anything else? And also, in what file would I go to to start fucking around with adding this feature, and where would I also go about to add a new evolution tab for scales?
 

Jman9

Engaged Member
Jul 17, 2019
2,295
958
BTW, those lines instead of characters is also found in the Squads menu if you have too many minions.
I'll try some paging there as well.

The evolution text, if more than one line is had, has secondary lines centered right to the furthest right point on the first line, like in the screenshots.
That's normal justified text. Although I usually refer to that direction as left. :p I'll cut the text back from the edges a little.

...could it be coded that only some can be mutated into some others, and some not be mutated at all?
Specials can't be mutated, now can they? Anyway, you'd be basically looking to add a new mutation category for each 'scale family' like heads/paws/wings, which will need some new UI, at least. And non-mutable ones would remain specials.

Like, the mutually exclusive ones being able to mutated with each other but not anything else? And also, in what file would I go to to start fucking around with adding this feature, and where would I also go about to add a new evolution tab for scales?
'lair - screen.rpy' for the UI and 'lair - label.rpy' for the effects. Look for 'recolor' and 'mutation'.

Frankly, I'd rather rename 'heads' to 'scales' and put in a 'one-headed dragon' setting that changes the names around. Otherwise your dragon is going to be really invincible.
 
3.50 star(s) 8 Votes