Author Topic: [7.2] Extensive Mod! (Personal Re-balance & Improvements to Animations & UI)  (Read 26052 times)

Offline Mr. Chaos

I don't know if you are still working on the mod, but what i have seen until now, it's a great and interessting mod.
I started today a new Playthrough and encountered some errors at the sidemission by the secret science outpost you can get before you rescue the diplomats from the alliance. At the start of each battle i get the error BM.xadj is of type 'int' and has no attribute 'value'. i can ignore them and it seems to work fine. i have all the time chosen the second branch(first choice:attempt to board, second choice: board and destroy the station. after the second battle(should be missionSQB1_mission_2_2 in file SQBranch1_v1.rpy) you just get an empty window. It didn't load any background, music or characters. I don't know much about Ren'py, but compared to the code of other missions it looks like it should work.
I can provide you with savefiles if necessary.
On a sidenote, is it possible that Sunrider use more than max 1.3 GB RAM which it never crossed by me. I put down the image_cache to 25 and it didn_t cause an outOfMemoryException the last battle, but there is plenty of more RAM accesible.
Thanks in advance

Offline Void

I don't know if you are still working on the mod, but what i have seen until now, it's a great and interessting mod.
I started today a new Playthrough and encountered some errors at the sidemission by the secret science outpost you can get before you rescue the diplomats from the alliance. At the start of each battle i get the error BM.xadj is of type 'int' and has no attribute 'value'. i can ignore them and it seems to work fine. i have all the time chosen the second branch(first choice:attempt to board, second choice: board and destroy the station. after the second battle(should be missionSQB1_mission_2_2 in file SQBranch1_v1.rpy) you just get an empty window. It didn't load any background, music or characters. I don't know much about Ren'py, but compared to the code of other missions it looks like it should work.
I can provide you with savefiles if necessary.
On a sidenote, is it possible that Sunrider use more than max 1.3 GB RAM which it never crossed by me. I put down the image_cache to 25 and it didn_t cause an outOfMemoryException the last battle, but there is plenty of more RAM accesible.
Thanks in advance

Ah, well, problem is I just added that mission from someone else's mod into a compilation with said person's permission. It was like that originally, so as an option you could just ignore the side mission since it's not obligatory & just a custom mission. Tried to fix it & it did reduce the error, but sadly there are still cases like these.

Haven't worked on the mod in ages since the A.I went kaput & I had to reverse it to a previous version. I'm planning to make a new one for LD after I put Bigfoot's mods into play. The new one will work with LD which in combination with Bigfoot's mod, will have all 3 parts in one game, from FA, MoA, & finally LD.

But I haven't started yet since I've been busy these days, so I can't put an ETA on when I'll get to working to the mod or if I'll be working on it.
The only way to truly hurt a man, is to take everything that he valued and degrade it and remind him of it everyday of his life. But by doing this, you also create a monster, and you will regret ever harming that man, because he will be your greatest horror.

Offline Mr. Chaos

hmm, ok. Luckily i have a save from before that mission. Too bad, these 5 additional missiles would have been convenient...
Good Luck and fun making this mod for LD.

Updated: May 10, 2016, 12:15:21 pm
Have found the bug. Apparently executing a BM.battle() after BM.you_win() is not a good idea. Does make sense.
Here is the corrected file, you can use it.

Updated: May 10, 2016, 02:08:13 pm
As for your Problem with the max upgrades you could use something similar to this:
Code: [Select]
$ max_upgrade_hp = {
        sunrider: 12500,
        blackjack: 1250,
        liberty: 875,
        phoenix: 1000,
        bianca: 900,
        seraphim: 800,
        paladin: 1500
    }
if ship.max_hp < max_upgrade_hp[ship]:
        $ upgrade_list.append(ship.upgrades['max_hp'])
I'm not quite sure where you should put this, maybe once at the load of a save. I also don't know what happen if you get a ship after the initialisation of the dictionary. Depend on how intelligent renpy is and how a dictionary initialise a class, which is not yet used. So propably these dictionary have to be updated once you get a new ryder. Or just make every time a new dictionary in the upgrade screen. Should't need that much time.
« Last Edit: May 10, 2016, 02:13:54 pm by Mr. Chaos »

Offline Void

Hmm... maybe I'll try it out on LD. I'm trying to find a way to put in my mod there. Thanks.
The only way to truly hurt a man, is to take everything that he valued and degrade it and remind him of it everyday of his life. But by doing this, you also create a monster, and you will regret ever harming that man, because he will be your greatest horror.

Offline Mr. Chaos

I have still something a bit different and more complex in mind since I examined the files, but i haven't yet time to test it out. This thursday is holiday and i haven't planned anything yet, maybe i will tinker a bit. If you want you can have the changes when they are ready and working unless you are someone like me, who have more fun finding the solution by yourself.
If it work like i have it in mind, it will support the maximum upgrade count and will still be visible when the max is reached. I don't know if i can push it that far, but if it is possible i will also change the cost preview for future upgrades. So that it only show the preview for possible upgrades.
Ok i now have made up my mind, i now have plans for thursday. That will be fun. Maybe a bit frustrating if it doesn't work, but thats part of the fun making it work.

Offline Void

I have still something a bit different and more complex in mind since I examined the files, but i haven't yet time to test it out. This thursday is holiday and i haven't planned anything yet, maybe i will tinker a bit. If you want you can have the changes when they are ready and working unless you are someone like me, who have more fun finding the solution by yourself.
If it work like i have it in mind, it will support the maximum upgrade count and will still be visible when the max is reached. I don't know if i can push it that far, but if it is possible i will also change the cost preview for future upgrades. So that it only show the preview for possible upgrades.
Ok i now have made up my mind, i now have plans for thursday. That will be fun. Maybe a bit frustrating if it doesn't work, but thats part of the fun making it work.

Feel free to tinker with it. I couldn't find the solution myself, if you can actually make it work I'd love to know what code you use. I already found a way to mod LD but this one will be tricky since I need to adjust some things plus applying it isn't as easy as in MoA due to the extracting & repacking stuff. Good luck on your tinkering.

EDIT: Hmm... I'm seeing a new code in LD's store about upgrade lvls. It seems they managed to cap it at lvl 20 but I don't know, would need to see it for myself if they did implement a max upgrade limit. If so then I just need to adjust the upgrade value.

Updated: May 23, 2016, 08:51:39 am
Oh well, they managed to put a max limit for the upgrades, though it's universal instead of individual. Maybe the individual ones can be put in...
« Last Edit: May 23, 2016, 08:51:39 am by Void »
The only way to truly hurt a man, is to take everything that he valued and degrade it and remind him of it everyday of his life. But by doing this, you also create a monster, and you will regret ever harming that man, because he will be your greatest horror.

Offline Mr. Chaos

Im ready and everything i planed and wrote in my last Post is implemented.
I made comments were i thought they are needed. If you still have some question to my changes ask.
The dictionary i implemented, will be created everytime (possible every frame?) new in the upgrade screen. I couldn't find out to make this dictionary a global variable. When you now where these are declared you can move it. But i didn't recognize any delay in the upgrade screen. So maybe it's not that a big problem.
I couldn't test all Riders because i only have a save with the blackjack and liberty. So if you have one, test it maybe beforehand. And yes i'm still at that secret Outpost Mission. The third Mission is impossible and needs a bit balancing. 4 out of 7 tries i lost in the first round. and the other 3 were not really better.

Updated: May 26, 2016, 05:08:10 pm
I just looked how LD does it with the upgrades. It's theoretical the same principle like in MoA. only that there is used the upgradelevel instead of the actual value. But because they are interchangeable, it's theoretical the same, just different written. The Method i used can be applied in LD too.

Updated: May 26, 2016, 05:33:02 pm
or you leave the level 20 as max level and just adjust how much each update increase the value. Maybe thats the easiest way to do this.

Updated: May 26, 2016, 07:00:45 pm
just added an extra line to prevent showing "Futur costs" alone when there are no future upgrades. This one was really bugging me.
« Last Edit: May 26, 2016, 07:04:20 pm by Mr. Chaos »

Offline Void

Im ready and everything i planed and wrote in my last Post is implemented.
I made comments were i thought they are needed. If you still have some question to my changes ask.
The dictionary i implemented, will be created everytime (possible every frame?) new in the upgrade screen. I couldn't find out to make this dictionary a global variable. When you now where these are declared you can move it. But i didn't recognize any delay in the upgrade screen. So maybe it's not that a big problem.
I couldn't test all Riders because i only have a save with the blackjack and liberty. So if you have one, test it maybe beforehand. And yes i'm still at that secret Outpost Mission. The third Mission is impossible and needs a bit balancing. 4 out of 7 tries i lost in the first round. and the other 3 were not really better.

Updated: May 26, 2016, 05:08:10 pm
I just looked how LD does it with the upgrades. It's theoretical the same principle like in MoA. only that there is used the upgradelevel instead of the actual value. But because they are interchangeable, it's theoretical the same, just different written. The Method i used can be applied in LD too.

Updated: May 26, 2016, 05:33:02 pm
or you leave the level 20 as max level and just adjust how much each update increase the value. Maybe thats the easiest way to do this.

Updated: May 26, 2016, 07:00:45 pm
just added an extra line to prevent showing "Futur costs" alone when there are no future upgrades. This one was really bugging me.

Nice work, though I haven't had the time to test it yet since I'm focused on LD now.

Right now I'm trying to find where the new combat animations are being stored. The speed of some of the projectile feels a bit slow for me & I want to speed them up.
The only way to truly hurt a man, is to take everything that he valued and degrade it and remind him of it everyday of his life. But by doing this, you also create a monster, and you will regret ever harming that man, because he will be your greatest horror.

Offline Mr. Chaos

In the meantime i have all ryders and the upgrades i have maxed out, are working.

for the animation in LD:
the graphics are in gameplay/animations
how the animation looks is found in "dynamic animations.rpy" and "attack animations.rpy".
let's take line 26-28 from "attack animations.rpy" as example:
Code: [Select]
show sunrider_kineticround1:
        xpos 1180 ypos 455
        linear 0.15 xpos 2150 ypos 430
line 1: the name of the graphic shown.
line 2: the startposition of said graphic
line 3: linear movement of the graphic. first parameter is the time in seconds and the other two the target position.

but don't take it for granted, just a quick guess.
« Last Edit: June 06, 2016, 06:23:05 pm by Mr. Chaos »

Offline Void

In the meantime i have all ryders and the upgrades i have maxed out, are working.

for the animation in LD:
the graphics are in gameplay/animations
how the animation looks is found in "dynamic animations.rpy" and "attack animations.rpy".
let's take line 26-28 from "attack animations.rpy" as example:
Code: [Select]
show sunrider_kineticround1:
        xpos 1180 ypos 455
        linear 0.15 xpos 2150 ypos 430
line 1: the name of the graphic shown.
line 2: the startposition of said graphic
line 3: linear movement of the graphic. first parameter is the time in seconds and the other two the target position.

but don't take it for granted, just a quick guess.

LD uses a different animation than MoA.

Bigfoot already showed me though, but thanks anyway. It was a pain in the ass to maneuver through all the clutter though.
The only way to truly hurt a man, is to take everything that he valued and degrade it and remind him of it everyday of his life. But by doing this, you also create a monster, and you will regret ever harming that man, because he will be your greatest horror.

Offline Void

Okay, so I've decided to do a mass re-balance once more, though this will take a while since I would need to copy the balance on LD to MoA.

I managed to find a good balance in LD & decided to apply that to this mod as well on a later date, but don't know when it'll be completed since I'm still busy atm plus the mods in LD also takes time.
The only way to truly hurt a man, is to take everything that he valued and degrade it and remind him of it everyday of his life. But by doing this, you also create a monster, and you will regret ever harming that man, because he will be your greatest horror.