Author Topic: Character Side Missions  (Read 15376 times)

Offline saibotlieh

Character Side Missions
« on: June 11, 2015, 11:30:03 pm »
Character Side Missions for Mask of Arcadius

Although it has practical no influence on the game (so far), there is already an affection system integrated in Mask of Arcadius. The mod files I will upload here will make use of this system to trigger missions evolving around specific characters once their affection towards Kayto becomes high enough. I am aiming to create at least one mission for each character, but I don't see any reason why not to upload the missions I have already completed so far.

I am trying to make these missions as modular as possible, meaning that each missions has its own rpy file. This way, one can easily choose which missions shall be added to the game and which not. To make these files directly recognisable, each file begins with "Mod_". To add a mission to the game, just copy the file into the "...\Sunrider\game" folder. To remove it again, just remove the file and the .rpyc file with the same name from that folder. Beside the individual mission file, all missions also need the "Mod_SL_SM_Main.rpy" file to be in the folder (this file contains functions and variables shared by several missions).

Furthermore the missions need The Bigfoot's "ModFramework.rpy" file to work (many thanks for providing the code). Beside providing the code to enable custom made character buttons for the ship map (which is used in the missions) the file also removes the limitation to the range of movement to 4 spaces in battle. If this limitation should be reinstalled (for example to reduce potential lag), just find these lines in the file:
Code: [Select]
    if unlimited_movement:
        get_movement_tiles = MovTile2
        MouseTracker.event = MTeventMod
and change them to:
Code: [Select]
#    if unlimited_movement:
#        get_movement_tiles = MovTile2
#        MouseTracker.event = MTeventMod

As mentioned above, these missions will be available once your Kayto gained enough affection with the specific character. You will always get the chance to put the missions on hold after the introduction, so do not hold back taking a peek. Some missions might also need further triggers, for example an item that needs to be bought from the miners union first.

These missions are now also available for The Bigfoot's "First Arrival and Mask of Arcadius
in Liberation Day" port
.
They are collected in the "Mod_SL_Character_Sidemissions_LD_MoA.zip" file. Just download that file, unzip it and copy the resulting "Mod" folder into the "...\Sunrider Liberation Day\game" folder. The "ModFramework.rpy" file is not needed in that case.

Missions available thus far:

For Queen and Country (Mod_SL_SM_AsagaMission) After the fall of Ryuvia Prime, the crew of a small Ryuvian outpost wants to join the fight against PACT. Will Asaga be able to fulfill her royal duty?

MIA (Mod_SL_SM_AvaMission) Ava found evidences that another Ceran battleship might have escaped the PACT forces. Could there be new allies to be found?

Quantum Jump (Mod_SL_SM_ChigaraMission) The Mining Union has a mysterious Ryuvian artifact for offer. Might Chigara be able to find out its secrets?

A Boost of the Morale (Mod_SL_SM_ClaudeMission) Claude proposes a mission to boost morale rather than funds. Will Ava approve? Of course not, but will Kayto?

Queen of Spades (Mod_SL_SM_IcariMission) - Icari requests Shields to help in reacquiring a piece of equipment that she had to leave behind in past events. S-surely not because she l-likes him or anything, r-right?

Sword and Shield (Mod_SL_SM_KryskaMission) - Kryska conveys a request from the Alliance to hunt down a band of pirates. Will the Sunrider be up to this task?

Gemini (Mod_SL_SM_SolaMission) - Sola reveals that her Ryder misses essential equipment. Can replacements be found in an ancient Ryuvian research station?

Treasure Here! (Mod_SL_SM_ExtraMission ) - One day a mysterious entry appears on the star map. Is it really a good idea to jump to these coordinates?

These missions are of course not canon in any way and, while tested at least once, might not work as properly as intended. Saving the game before each missions is recommended. That said, of course I appreciate any report about problems and feedback in general.

The files can easily be changed to make the missions available without grinding the necessary affection.  Just search for --> set to 0 for testing <-- entries in the mission and the main file and set the marked variables to 0.

I welcome any kind of further modification done on and with these mods. If you want to continue story threads started in these missions, please do so. If you like any part of the code for your own mod, please use it. If you think you can improve my stories and/or writing, please do not hold back. I am looking forward to anything that might evolve from my work.

How to install the missions:

- Download The Bigfoot's "ModFramework.rpy"
- Download the "Mod_SL_SM_Main" zip file
- Download the zip files of the missions you want to install
- Unzip all zip files
- Put all rpy files into the "...\Sunrider\game" folder of your Sunrider installation
- For Mod_SL_SM_ExtraMission, the zip file also contains a folder called "Mod".  Put this folder into the "...\Sunrider\game" folder of your Sunrider installation as well

For anybody who is using the Astral's Extensive Mod, there is a variable in the main file called "SL_SM_ExtensiveModUsed" that should make the missions compatible with that mod by changing it to "True".

For my modding I found The Bigfoot's tutorial and Rhi's short side-mission branch most helpful, many thanks to both for these.

Also I want to express my thanks to 7twenty, Spart117MC, Inaho Rowe, Shanix, Drath, blahgony, warchief-williams and The Bigfoot for their feedback and suggestions how to improve the mods.
« Last Edit: September 16, 2017, 10:06:22 pm by saibotlieh »

Offline The Bigfoot

Re: Character Side Missions
« Reply #1 on: June 12, 2015, 01:42:59 am »
Fantastic! Will test these in my run through with 7.2 (nice timeing btw) and look forward to playing them.
I make spaceships! - http://innomenpro.com/forums/index.php?topic=1366.0
Massive Modding tutorial here: http://innomenpro.com/forums/index.php?topic=1251.0
New Award: John Titor [Sep 17, 2015, 10:16:07 PM]:   BigFoot is the official Evil Genius fro mteh forum

Offline 7twenty

Re: Character Side Missions
« Reply #2 on: June 12, 2015, 10:18:10 am »
I am testing them right now. I will post a review sometime tonight. If this works, I will be very happy. I have been wanting to see a lot more side quests for this game! Thanks for the more. Once more, into the Abyss...

Updated: June 12, 2015, 11:32:05 am
I just started Ava's quest and I noticed 2 issues. 1: the text needs not only spell checking, but grammar editing as well. This is easily resolved by copy/pasting the text into a word program and using the program's spell check, than reading the text to yourself out loud to get the grammar issues. 2: After going to meet Ava's Informant, I got an error screen. The combat screen that popped up when I ignored it loaded, ended the moment I clicked on something, and another error showed up that I couldn't ignore. If it matters, I am using the 7.2 Extensive Mod with these. I do not know if that make's any difference.

Updated: June 12, 2015, 11:49:17 am
Here is the Error Report: I'm sorry, but an uncaught exception occurred.

While running game code:
  File "game/Mod_SL_SM_AvaMission.rpy", line 416, in script call
    call SL_SM_AvaMission_NiamhDefence_BM_Init # sets mission variables
  File "game/Mod_SL_SM_AvaMission.rpy", line 423, in script
    python:                                #
  File "game/Mod_SL_SM_AvaMission.rpy", line 434, in <module>
    BM.xadj.value = 872
AttributeError: 'float' object has no attribute 'value'

-- Full Traceback ------------------------------------------------------------

Full traceback:
  File "game/Mod_SL_SM_AvaMission.rpy", line 416, in script call
    call SL_SM_AvaMission_NiamhDefence_BM_Init # sets mission variables
  File "game/Mod_SL_SM_AvaMission.rpy", line 423, in script
    python:                                #
  File "C:\Program Files (x86)\Steam\steamapps\common\Sunrider\renpy\ast.py", line 785, in execute
    renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
  File "C:\Program Files (x86)\Steam\steamapps\common\Sunrider\renpy\python.py", line 1445, in py_exec_bytecode
    exec bytecode in globals, locals
  File "game/Mod_SL_SM_AvaMission.rpy", line 434, in <module>
    BM.xadj.value = 872
AttributeError: 'float' object has no attribute 'value'

Windows-8-6.2.9200
Ren'Py 6.99.3.404
Sunrider Mask of Arcadius  Beta 7.2 Extensive Mod
« Last Edit: June 12, 2015, 11:49:17 am by 7twenty »
Its not the great who are strong. Its the strong who are great.

Offline saibotlieh

Re: Character Side Missions
« Reply #3 on: June 12, 2015, 12:56:18 pm »
Thank you both for testing these missions, I hope you will enjoy them.

For the spelling I in fact loaded each file in word and made a spell check, but I might have overlooked some of the errors within the text (lots more flash up in the code lines). For the grammar I would like to blame the fact that English is not my first language, but I am also not the best in this when it comes to my native one. I can have a look again, but I most probably will miss a fair bit still. So if you can point out at least the most severe mistakes that would already help me quite a bit.

For the problem with the combat screen, that might in fact be a problem with the Extensive Mod, all missions worked fine for me with the beta 7.2 vanilla version. Can you access the combat screens of the other two missions? Also, do you have a link where I could download the Extensive Mod? I would like to see if I can make the mission work for that as well.

Updated: June 12, 2015, 08:08:07 pm
Edit: Okay, I have downloaded the Extensive Mod myself now (confused it with Britnoth's mod that is not available anymore). I got the battle working by exchanging the code lines
Code: [Select]
        BM.xadj.value = 872
        BM.yadj.value = 370
with
Code: [Select]
        BM.xadj = 872
        BM.yadj = 370
I don't see a way at the moment to make the same file working with both the Beta 7.2 and the 7.2 Extensive Mod, but hopefully this should be the only problem here.

I took another look at Ava's mission and already fixed some things, but of course I am still thankfull for any further input.
« Last Edit: June 12, 2015, 08:09:20 pm by saibotlieh »

Offline 7twenty

Re: Character Side Missions
« Reply #4 on: June 13, 2015, 04:04:33 am »
No problem! I can run through the quest and post what I can. Largely, my gripes are minor issues of punctuation, so it isn't a huge issue. I will put the list of issues in a notepad document, along with the corrected spelling and grammar (as best I can).
Its not the great who are strong. Its the strong who are great.

Offline The Bigfoot

Re: Character Side Missions
« Reply #5 on: June 14, 2015, 07:48:27 am »
Played through them last night, I liked the use of modified images and the missions blended nicely with the main story. The menu use in Ava's mission was pretty good but there are a few bugs in the battles.

Ava:

Firstly it crashes when you try to replay it after a loss as there are no enemy ships, it tries to go to victory screen where it attempts to divide by 0 (as no enemy's were killed). You could fix this by putting in a place-holder enemy and remove it from BM.ships so that its not visible, then when the normal enemies show up, del() it or remove it from enemy_ships.

Ava + Chigara:

The other issue is because you don't set the ship.location manually for sunrider ships, they can appear on the map in their previous location. You could try removing the ships from player_ships and BM.ships and then adding them in by menu or using ship.location = None so they don't appear beforehand.

The final issue is a general one by doing BM.mission -= 1, you try to apply a -1 to a string which traumatizes renpy, im not sure what the mission count up your trying to counter is, BM.mission is set per mission and doesn't have an increment that I can find in the code. What you could do is use the mission*_complete variables that are already in place to track what missions have been done.

The other thing to remember is if you keep track of the game progress by the BM.mission, it can be thrown out horribly by mod missions.

I really did enjoy the side-missions (Particularly Chigara's battle and Claude's story-bit, it showed her in a much better light than most of the game).

(So tempted to make Chigara's artifact a usable weapon)
I make spaceships! - http://innomenpro.com/forums/index.php?topic=1366.0
Massive Modding tutorial here: http://innomenpro.com/forums/index.php?topic=1251.0
New Award: John Titor [Sep 17, 2015, 10:16:07 PM]:   BigFoot is the official Evil Genius fro mteh forum

Offline saibotlieh

Re: Character Side Missions
« Reply #6 on: June 14, 2015, 12:48:06 pm »
Many thanks for the feedback, I am happy that you enjoyed playing the missions.

I think I got the replay right now, but it took me a bit of trial & error. It looks like that once the replay option is choosen, the game goes back to setup defined in _BM_Init label, but without actually calling that label again. So I had to set up in the _BM_Init all the ships where they should be once the real battle starts and then wipe them of the board again first thing in the _BM label. The good thing is that one directly jumps to the start of the real battle now once replay is choosen.

On that note, I think it might be better to use
Code: [Select]
    if not (turncount == BM.turn_count):
        $ turncount = BM.turn_count
instead of
Code: [Select]
    if turncount < BM.turn_count:
        $ turncount = BM.turn_count
in the battle code, just to be on the save side.

I also fixed that the location of the ships from the last battle might be carried over to the new battle (I hope).

For the BM.mission, I in fact try to use it it as a counter how far the game has progressed. At the moment that is only important for Chigara's mission, since there should be one main mission between buying the artifact and starting the mission (Chigara needs some time to figure out what the artifact does). I forgot that it is also changed in the side missions, so it might be not working as I thought. For my missions, I am now using
Code: [Select]
    $ originalBMmission = BM.mission
before I change the entry and
Code: [Select]
    $ BM.mission = originalBMmission
at the end. Hope that will work out.

And I would love to see the artifact made into a usable weapon. Please do so if you want to.

Offline 7twenty

Re: Character Side Missions
« Reply #7 on: June 15, 2015, 08:20:02 am »
So, I ran through the Ava quest again and I have been getting the same error I got last time. It is likely a compatibility issue with the Extensive Mod.
Its not the great who are strong. Its the strong who are great.

Offline Vaendryl

Re: Character Side Missions
« Reply #8 on: June 15, 2015, 08:22:46 am »
sounds like a fun mod :)

if you've got any questions about the game's code let me know.
(╯□)╯︵ uoıʇdǝɔxǝ
latest version: 7.2
RTFW
Mark 5:9

Offline saibotlieh

Re: Character Side Missions
« Reply #9 on: June 15, 2015, 07:58:26 pm »
Thanks for the offer. I am alright at the moment, but I will come back to you if I find myself in a pinch.

Maybe two smaller things:

First, I noticed that some of the missionXX_complete variables are not set to true when the mission is finished, namely for mission 7,8 & 11. Any specific reasons for that?

Second, are these the correct maximal affection points possible for the different girls?

    Asaga = 13
    Ava = 9
    Chigara = 5
    Claude = 3
    Icari = 7
    Kryska = 9
    Sola = 5
    Cosette = 3

Just would be nice to get a confirmation on that one.
« Last Edit: June 15, 2015, 08:00:20 pm by saibotlieh »

Offline NewAgeOfPower

Re: Character Side Missions
« Reply #10 on: June 16, 2015, 07:45:10 am »
Second, are these the correct maximal affection points possible for the different girls?

    Asaga = 13
    Ava = 9
    Chigara = 5
    Claude = 3
    Icari = 7
    Kryska = 9
    Sola = 5
    Cosette = 3

Just would be nice to get a confirmation on that one.

Whoa. Icari and kryska like you more than Chigara?!?

THE PLOT. IT THICKENS.
Working on a collaborative Sci-fi novella. Teaser here.

Feedback would be appreciated.

Offline The Bigfoot

Re: Character Side Missions
« Reply #11 on: June 16, 2015, 07:58:55 am »
Whoa. Icari and kryska like you more than Chigara?!?

THE PLOT. IT THICKENS.

Claude only likes you as much as cossette?!?

THE PLOT. IT THICKENS MORE.
I make spaceships! - http://innomenpro.com/forums/index.php?topic=1366.0
Massive Modding tutorial here: http://innomenpro.com/forums/index.php?topic=1251.0
New Award: John Titor [Sep 17, 2015, 10:16:07 PM]:   BigFoot is the official Evil Genius fro mteh forum

Offline Marx-93

Re: Character Side Missions
« Reply #12 on: June 16, 2015, 08:41:40 am »
Claude only likes you as much as cossette?!?

THE PLOT. IT THICKENS MORE.

CLAUDE PROBABLY LIKES IT AS THICK AS POSSIBLE

Sorry, I know it's the worst, but I coldn't help it. The stress of exams. I'll show myself out....
« Last Edit: June 16, 2015, 07:04:33 pm by Marx-93 »
Why can only the evil have empires, power and majestic theme music? I reclaim the possibility of creating the Federal-democratic-free Empire! A (democratic) tyranny fueled by the Power of Love!

Started writing. You can check it out here: Home

Offline Vaendryl

Re: Character Side Missions
« Reply #13 on: June 16, 2015, 09:17:30 am »
Thanks for the offer. I am alright at the moment, but I will come back to you if I find myself in a pinch.

Maybe two smaller things:

First, I noticed that some of the missionXX_complete variables are not set to true when the mission is finished, namely for mission 7,8 & 11. Any specific reasons for that?

Second, are these the correct maximal affection points possible for the different girls?

    Asaga = 13
    Ava = 9
    Chigara = 5
    Claude = 3
    Icari = 7
    Kryska = 9
    Sola = 5
    Cosette = 3

Just would be nice to get a confirmation on that one.

it's likely not all of the mission complete flags are set because they were forgotten and never really needed. I think only a few even had such a flag to begin with and most others were added by EnderShadow iirc simply for the sake of completion.

I'm actually not sure what the theoretical maximum values are for all the affection levels - that's more Sam's domain. I'm not even sure he knows xD
these values will be exported to LibDay though. I'm sure Sam will find a way to use them :p (that is, assuming you finish the game on version 7.2)
« Last Edit: June 16, 2015, 09:19:20 am by Vaendryl »
(╯□)╯︵ uoıʇdǝɔxǝ
latest version: 7.2
RTFW
Mark 5:9

Offline Endershadow

Re: Character Side Missions
« Reply #14 on: June 16, 2015, 06:00:36 pm »
Thanks for the offer. I am alright at the moment, but I will come back to you if I find myself in a pinch.

Maybe two smaller things:

First, I noticed that some of the missionXX_complete variables are not set to true when the mission is finished, namely for mission 7,8 & 11. Any specific reasons for that?

Second, are these the correct maximal affection points possible for the different girls?

    Asaga = 13
    Ava = 9
    Chigara = 5
    Claude = 3
    Icari = 7
    Kryska = 9
    Sola = 5
    Cosette = 3

Just would be nice to get a confirmation on that one.

it's likely not all of the mission complete flags are set because they were forgotten and never really needed. I think only a few even had such a flag to begin with and most others were added by EnderShadow iirc simply for the sake of completion.

I'm actually not sure what the theoretical maximum values are for all the affection levels - that's more Sam's domain. I'm not even sure he knows xD
these values will be exported to LibDay though. I'm sure Sam will find a way to use them :p (that is, assuming you finish the game on version 7.2)

I didn't even know that some were missing. I'll go add them now.

Please be careful not to fall into any holes in reality caused by my reality hole generator. If you do fall in though, I can assure you that there will be no adverse side effects except for the following: instantaneous mutation, loss of 1 or more vital organs, turning into banana pudding, amnesia, loss/growth of 1 or more limbs, additional vital organs, loss of DNA, insanity, hallucinations, destruction of the fabric of space and time, redundancy, redundancy, a craving for apples, the ability to see shinigami, for females: an erection lasting more than 4 hours, for males: extremely painful menstrual cramps, testicular inversion, gender swapping, the urge to watch my little pony, and/or death