Shards of a Broken Sun [Megaten/Shugo Chara/Exalted]

If Naoto tried to do that, I get the feeling Amu would be the first to help her run away.
Amu isn't going to help Kana run just because Kana doesn't want to go. If it looks like JP's is the best place for Kana, Amu is going to try to convince Kana to go along, not try to break her out.

Gotta point out that bringing in JP's would be an even bigger thing than a still mostly-informal situation involving Hikaru, Kazuomi and Utau.

Whether we want to make it a Thing is another story entirely - but if we did, the Easter option is the easier way to do it, as the Scavengers would probably like the idea of trying to pump Hikaru for candy far more than the kind of power imbalance they'd be subject to relying on JP's. Utau is also a girl around their age and therefore looks far more bullyable (in theory) than.... well.... Hotsuin.
If we need people who can defend themselves from mental attack, JP's is a better bet than Easter.
 
Last edited:
Amu isn't going to help Kana run just because Kana doesn't want to go. If it looks like JP's is the best place for Kana, Amu is going to try to convince Kana to go along, not try to break her out.
This is accurate. At worst you'd get to vote on it.

Amu likes Kana a lot, to be sure, but would have trouble going on the run with her—or even just helping her escape—even if that genuinely were the best option. Given that it really isn't…
 
We weren't just talking about "Kana not wanting to go".

The scenario in question being posed was:
she can take Kana to JP's, whether Kana likes it or not.
For Naoto to actually be able to accomplish this in spite of any and all objections from Kana would require either for Kana to already be incapacitated at the point the decision is being made..... or for Naoto to be using overwhelming brute force, enough to overpower Kana's psionics and render her incapacitated thus allowing Naoto to make the involuntary decision for her.

That means pointing her gun at her and unleashing her Persona.

There's resorting to violence to prevent her from killing her own Shadow and then there's doing it to drag her away to JP's. Which basically amounts to arresting her, especially if she's not going willingly.

Are you going to tell me Amu would not have objections to that?

She wouldn't go on the run with Kana as she has her own family to think about. But I'd think Amu's opinion of Naoto would take a sharp nosedive at the very least, if Naoto were to forcibly arrest her.
 
Yes...

The thing to keep in mind is that Amu gets exceedingly indecisive in social conflicts. She's gotten better at it, if compared to her earlier self—she's honestly a lot more confident than the average thirteen-year-old. That last sentence fragment does a lot of work, however.

In the scenario you're sketching, Amu would neither be helping to capture Kana nor, most likely, helping her escape. She'd be waffling about while mentally agonising, in a way calculated to make me want to avoid the whole scenario.
 
Last edited:
In the scenario you're sketching, Amu would neither be helping to capture Kana nor, most likely, helping her escape. She'd be waffling about while mentally agonising, in a way calculated to make me try to avoid the whole scenario.
I can easily see that being the immediate case, assuming that Kana wouldn't abuse her telepathy/mind-meld with Amu to try and elicit assistance from her while Naoto was slapping on the cuffs.

After that, in the aftermath?

I imagine that after being brought to JP's, Kana would wind up cuffed to a hospital bed until she recovers from whatever mental abrasion she had after which she would probably get put in a holding cell somewhere. The stay would not be short. And Amu would probably pay her a visit or two during this time.

This is going to leave Amu with plenty of time to stew over her friend's state of affairs and sort out her own feelings about it. And if Kana telepathically started begging her for help during one of those visits?

Hmm.
 
There'd be a vote. The vote might be whether or not to make Amu aware of the problem, but I'm not throwing you into a scenario like that without a choice. As it stands I don't think it's a likely scenario at all.

As for the update: It's been held up a little bit by the bureaucracy of mortgage applications. That general sort of thing might become a theme soon... but I still expect to finish it this weekend, and have no intent of ever going on hiatus. More concretely, it's half-written. I also had to replay part of Persona 4 to get the shadow fight right.

 
Last edited:
I said I'd write a program to automate the training process. So I did, and this happened: shards/xp.py at master · Baughn/shards

Which has some output:
Code:
Time began at 2009-10-01.
2009-10-01: Amu has joined the simulation.
2009-10-01: Amu has a new limit on Integrity: 1 hours per day.
2009-10-01: Amu has set a bonus for ['Dreamwalking', 'Integrity'] while Sleeping
2009-10-01: Amu has stunted ['Dreamwalking', 'Integrity'] together, with a 0.25 bonus.
2009-10-01: Amu has started training in Dreamwalking to rank 2.
  This will cost 1.5 xp and take 60.0 hours.
2009-10-01: Amu has started training in Illusion to rank 2.
  This will cost 1.5 xp and take 60.0 hours.
2009-10-01: Amu has started training in Lore to rank 1.5.
  This will cost 1.0 xp and take 40.0 hours.
2009-11-21: Amu has completed training in Dreamwalking to 2.
2009-11-27: Amu has completed training in Lore to 1.5.
2009-12-07: Amu has completed training in Illusion to 2.
2009-12-08: All training completed.

This is your time to find all the bugs, before I wake up in the morning and try it myself. :V

(The increment to psionics xp cost isn't one, but isn't something I'm certain of either.)
 
As for the update: It's been held up a little bit by the bureaucracy of mortgage applications. That general sort of thing might become a theme soon...
Mortgage Arc, let's go!
I said I'd write a program to automate the training process. So I did, and this happened: shards/xp.py at master · Baughn/shards
Which has some output:
Code:
Time began at 2009-10-01.
2009-10-01: Amu has joined the simulation.
2009-10-01: Amu has a new limit on Integrity: 1 hours per day.
2009-10-01: Amu has set a bonus for ['Dreamwalking', 'Integrity'] while Sleeping
2009-10-01: Amu has stunted ['Dreamwalking', 'Integrity'] together, with a 0.25 bonus.
2009-10-01: Amu has started training in Dreamwalking to rank 2.
  This will cost 1.5 xp and take 60.0 hours.
2009-10-01: Amu has started training in Illusion to rank 2.
  This will cost 1.5 xp and take 60.0 hours.
2009-10-01: Amu has started training in Lore to rank 1.5.
  This will cost 1.0 xp and take 40.0 hours.
2009-11-21: Amu has completed training in Dreamwalking to 2.
2009-11-27: Amu has completed training in Lore to 1.5.
2009-12-07: Amu has completed training in Illusion to 2.
2009-12-08: All training completed.

This is your time to find all the bugs, before I wake up in the morning and try it myself. :V

(The increment to psionics xp cost isn't one, but isn't something I'm certain of either.)
I see some issues:
Code:
COST_NEW = {
    # Exalted assumes 40 hours training per week.
    # This is (xp, time in hours).
    'Ability': (3, 3*40),
    'Psionics': (2, 2*40),
}
COST_UPGRADE = {
    # Defined as the cost to upgrade from n.
    'Attribute': lambda n: (n*4, n*40*4),
    'Ability': lambda n: (n*2, n*2*40),
    'Psionics': lambda n: (n*1.5, n*1.5*40),
}
Exalted assumes 48 hours of training a week, not 40. Also, the psi and ability upgrade times shouldn't have the "*1.5" or "*2" multipliers.

You said the psi XP cost isn't a bug. Are you changing the pricing again?

Code:
                    for limit in person.limits:
                        if limit.skill in training_desired:
                            training_desired[limit.skill] = min(training_hours[limit.skill], limit.hours_per_day)
I don't see a definition for a training_hours variable anywhere. I see a lot of very similarly-named variables, but no training_hours.

Code:
        Training('Amu', 'Dreamwalking', 2),
        Training('Amu', 'Illusion', 2),
        Training('Amu', 'Lore', 1.5),
The Integrity training is missing.

Code:
        Start(datetime.date(2009, 10, 1)),
This is the wrong start date.

Code:
            schedule=Schedule(
                person='Amu',
                hours_per_day=2),
Just 2 (waking) hours a day? Darnit. We were trying to get more than that. Everything's going to take forever like this.
 
Last edited:
Exalted assumes 48 hours of training a week, not 40. Also, the psi and ability upgrade times shouldn't have the "*1.5" or "*2" multipliers.

You said the psi XP cost isn't a bug. Are you changing the pricing again?
Probably not. The costs aren't currently used anywhere, so nothing stopped me plugging in that number to see what it'd look like, but certainly not for anything you've already paid for.

I don't see a definition for a training_hours variable anywhere. I see a lot of very similarly-named variables, but no training_hours.
...dangit. Which means that code isn't being run at all, or it'd have crashed.

I'll need to go through this by hand, huh. :V

Just 2 (waking) hours a day? Darnit. We were trying to get more than that. Everything's going to take forever like this.
Well, prior to all the bonuses...
 
...dangit. Which means that code isn't being run at all, or it'd have crashed.

I'll need to go through this by hand, huh. :V
It's probably not running because you forgot the Integrity training, which was the only one with a limit on it.

Well, prior to all the bonuses...
We were trying to hit a baseline of at least 4 hours a day before bonuses.

Examining things further,

Code:
        Limit('Amu', 'Integrity', hours_per_day=1),  # More is unsafe.
I thought this limit was supposed to be 2 hours, not 1.

Also,

Code:
                        for skill in training_desired:
                            trained_time = min(training_desired[skill], time_per_skill)
                            trained_hours[skill] += trained_time
                            training_desired[skill] -= trained_time
                            total_time -= trained_time
                            if training_desired[skill] <= 0:
                                training_desired.pop(skill)
you're modifying training_desired while iterating over it.
 
The encapsulation aside, this is horribly complicated even for a programmer-in-training :V

Mind explaining in psuedocode the intended logic, so we can check whether the implementation matches up?

(Most obvious problem is that the bonus condition isn't checked for at all, unless that is intentional; and this system will choke and die if we end up getting our controllable characters to tutor each other in the future)

Test Output w/o Said said:
Time began at 2009-10-01.
2009-10-01: Amu has joined the simulation.
2009-10-01: Amu has a new limit on Integrity: 1 hours per day.
2009-10-01: Amu has set a bonus for ['Dreamwalking', 'Integrity'] while Sleeping
2009-10-01: Amu has stunted ['Dreamwalking', 'Integrity'] together, with a 0.25 bonus.
2009-10-01: Amu has started training in Dreamwalking to rank 2.
This will cost 1.5 xp and take 60.0 hours.
2009-10-01: Amu has started training in Illusion to rank 2.
This will cost 1.5 xp and take 60.0 hours.
2009-10-01: Amu has started training in Lore to rank 1.5.
This will cost 1.0 xp and take 40.0 hours.
2009-11-21: Amu has completed training in Dreamwalking to 2.
2009-11-27: Amu has completed training in Lore to 1.5.
2009-12-07: Amu has completed training in Illusion to 2.
2009-12-08: All training completed.

=== Code Execution Successful ===

As you can see, that seems to take ...a little longer than any of us were expecting due to the bugs and/or incorrect base numbers likely present?
And fixing the lack of Integrity training breaks the code due to the training_hours issue mentioned above
 
Last edited:
I ran an adjusted version of the code with known issues addressed. Assuming training starts on October 15, the output is as follows:

Code:
Time began at 2009-10-15.
2009-10-15: Amu has joined the simulation.
2009-10-15: Amu has a new limit on Integrity: 2 hours per day.
2009-10-15: Amu has set a bonus for ['Dreamwalking', 'Integrity'] while Sleeping
2009-10-15: Amu has stunted ['Dreamwalking', 'Integrity'] together, with a 0.25 bonus.
2009-10-15: Amu has started training in Dreamwalking to rank 2.
  This will cost 1 xp and take 48 hours.
2009-10-15: Amu has started training in Illusion to rank 2.
  This will cost 1 xp and take 48 hours.
2009-10-15: Amu has started training in Lore to rank 1.5.
  This will cost 1.0 xp and take 24.0 hours.
2009-10-15: Amu has started training in Integrity to rank 3.
  This will cost 4 xp and take 96 hours.
2009-12-01: Amu has completed training in Lore to 1.5.
2009-12-04: Amu has completed training in Dreamwalking to 2.
2009-12-26: Amu has completed training in Illusion to 2.
2010-01-03: Amu has completed training in Integrity to 3.
2010-01-04: All training completed.
Even Lore 1.5 isn't finishing until December, and that was the fastest thing on the list. The other tasks on the list only finish as quickly as they do here because tasks that finish aren't getting replaced. This is also assuming we get to sleep-train Integrity even after Dreamwalking 2 finishes.

It's still October 21. We've got "Expected timespan: Two months." for low-intensity events before... whatever comes next. We might not even finish Illusion 2 by then.

One of the problems is that we don't seem to be getting any training done during school time. Freeing up school time for training was one of the big reasons we went for Lore 1.5. Not getting that means everything takes way longer than we were hoping.
 
One of the problems is that we don't seem to be getting any training done during school time.
We basically need three (or more) schedules: 1 for sleeping (heavily restricted skill training list), 1 for general free time, and 1 for school time (restricted skill training list, variable amount depending on Amu tolerance levels).

Total hours required is 196, and the no stunt or bonus whatsoever result of ~196/(2*30) = 3.2 months is not very dissimilar to what's currently generated, although the Bonus/Limit/Overlap features seem to be working at first glance and in combination so that's good.
Though: We can't actually meaningfully train Dreamwalking during the day given the 10:1 nerf, and I'm not sure that's being captured properly?



Mechanically speaking, if the code is written correctly taking Integrity out of the list buffs everything faster by one month except for Integrity even after losing the Stunt effect - should we consider that next round?
Integrity will reach 3 dots by about the apocalypse if we prevent the bonus from being shared with Dreamwalking and leave it to passive 0.5h/day Integrity training while sleeping.
 
Last edited:
One of the problems is that we don't seem to be getting any training done during school time. Freeing up school time for training was one of the big reasons we went for Lore 1.5. Not getting that means everything takes way longer than we were hoping.
We should be getting more than 2 hours a day on the current stunt.

The stunt to train Illusion was meant to operate during school hours, I don't know if she can do that now that Miki is Big Miki but if she can't, there are other Illusions she can maintain while at school (in fact the training stunt I have written for Telekinesis 4 has something that she would actively be maintaining for most of the day).

And for this first week or so, Amu isn't even in school, so she's had more or less has the full 8 hours to do anything she wants, including training Lore. Especially since the stunt focused on her cramming before actually heading to school (can the calculator actually handle one-off things like this with the way the bonuses are calculated? I only skimmed the code but I didn't get that impression). Afterwards, Lore is trainable in school just by her reading ahead on her textbooks while attending.

What the actual number of hours would be (including bonuses given), would need to be decided and supplied by the QM however.
 
can the calculator actually handle one-off things like this with the way the bonuses are calculated? I only skimmed the code but I didn't get that impression
It can't, but the QM could simply handle each time segment with a separate set of schedules, once the whole "can't represent school hours or sleeping hours effectively thing is fixed".

If school hours are not a thing we need to trashcan Integrity for the time being or maybe the idea of training more than 2 stunted skills at the same time; Integrity delays our other skill dot readiness by way too much right now
 
Last edited:
If school hours are not a thing we need to trashcan Integrity for the time being or maybe the idea of training more than 2 stunted skills at the same time; Integrity delays our other skill dot readiness by way too much right now
No. If anything, we should be trashing other skills to speed up Integrity, if it comes down to that.

It's the only one we can't SOS buy on an emergency without serious side effects. Everything else can be bought with emergency boost.

Considering its uses, it's simply too important to not train. If we had to pick just one to do at a time, it would be Integrity.
 
Last edited:
trashing other skills to speed up Integrity
We can't, due to the training time limit (2 hours), default free time (still 2 hours) and default bonus/stunt for Dreamwalking + Integrity (0.5 hours total, counts towards Integrity time limit) we'd still have unused free time if we go with just Integrity.

Unless we want to go with just Dreamwalking + Integrity and run into another event without more relevant dots?
 
Last edited:
(Most obvious problem is that the bonus condition isn't checked for at all, unless that is intentional; and this system will choke and die if we end up getting our controllable characters to tutor each other in the future)
The bonus condition is just something like 'Sleeping' - it represents why we're getting the bonus time. Something like "reason" or "when" might be a better term. Bonus time is also how school-time training would probably be handled under this system.
 
Last edited:
We can't, due to the training time limit (2 hours), default free time (still 2 hours) and default bonus/stunt for Dreamwalking + Integrity (0.5 hours total, counts towards Integrity time limit) we'd still have unused free time if we go with just Integrity.
If we are currently only getting 0.5 hours a day in Integrity under the current regime, trashing all the other stuff will give us the full 2 hours in it, speeding up its training by 4x.

Not that I suggest we necessarily do that.

If we had to pick 1 thing to drop, it would probably be Dreamwalking, because we are likely to be able to immediately SOS buy it right now during the fight against Kana. Not sure how healthy that is for Amu, but it's an option that is not available for Integrity.

Reminder that Integrity is what gets used to mitigate the damage of doing that. Along with using psionics in general, being able to buy more Overgrowth and resisting mental effects.
 
Last edited:
0.5 hours a day in Integrity under the current regime
Nope, if that were actually the case it'd only finish 196/.5 = after the apocalypse starts - it's about 1 hour per day, then 1.5, then 2 hours per day after all bonuses in practice (dropping Dreamwalking doesn't actually help as much as it looks like it will btw).

Using the latest simulator, if we drop Lore & Illusion, Integrity will complete in early-Dec, and if we then drop Dreamwalking as well the change would be just shifting it a week or so forward (nevermind that Dreamwalking can't really be trained while awake due to the 10:1 nerf, and so Dreamwalking is irrelevant to daytime Integrity training - this simulator's numbers don't work with that kept in mind)
 
Last edited:
(nevermind that Dreamwalking can't really be trained while awake due to the 10:1 nerf, and so Dreamwalking is irrelevant to daytime Integrity training - this simulator's numbers don't work with that kept in mind)
Other way around, Dreamwalking can't be properly trained while asleep at night. Amu apparently needs to be "conscious" during the day to train it properly, which means sleeping (lucid dreaming?) in the daytime.

In theory, that can be done in school too. In practice, there are issues.
 
In practice, there are issues.
Hey, if you have Astral Projection dots (idk how many are needed for this; I'm not sure if Dreamwalking always automatically consumes one projection if you are able to make them), Illusion 2 and some Mind Control/Telekinesis you can fake it just fine by Illusion'ing yourself as paying attention, using Astral Projection to actually pay attention, and Mind Control/Fine Control TK to respond if called out? :rofl: :lol: :rofl:
 
Hey, if you have Astral Projection dots (idk how many are needed for this; I'm not sure if Dreamwalking always automatically consumes one projection if you are able to make them), Illusion 2 and some Mind Control/Telekinesis you can fake it just fine by Illusion'ing yourself as paying attention, using Astral Projection to actually pay attention, and Mind Control/Fine Control TK to respond if called out? :rofl: :lol: :rofl:
That... would be a viable stunt. She'd still come off as spectacularly distracted, as there is a significant difference between "run an astral projection" and "split your mind" — at least at low levels. Even for something like a Shadow-Self, it's... arguable; they're never fully coherent.

Dreamwalking does not always require astral projection. But using them in combination removes a lot of restrictions, to be sure.

=

As regards the XP sim, that was written at 2am in a hurry. I wouldn't take it too seriously. What I think we've proven is that the forum is a spectacularly poor way to code or debug programs, but I'll keep you posted on progress in that regards... and provide some pseudocode later.
 
More than you ever wanted to think about training
You don't need to read this.

So let's see. The XP sim was essentially attempting to maximize training efficiency. Given a set of constraints -- training time, training time limits, and also some obvious things like "training time must be nonnegative" -- it should maximize the amount of progress made on any given day. Of course I wrote that at 2AM, so instead of doing the sensible thing I instead tried to reason out the Single Most Optimal Path... which does not exist. In the process I coded a lot of bugs. That was predictable, really.

So let's do this the sensible way: With good_lp. And MapLit.

Code:
Maximize sum(increments[*][*])
Subject to
# Apply time limits.
  sum(training[*][schedule]) <= schedule_limit[schedule]
  sum(training[skill][*]) <= skill_limit[skill]

# Maintain causality.
  training[x][y] >= 0

# Overlap is a little harder to compute. It can only happen for things which are actually being trained simultaneously,
# so to model that as a linear program we'll need a variable that reflects the degree of overlap.
#
# Schedules are independent; they might be better thought of as 'time segments'.
#
# So, we'll define a new overlapped_training variable where the 'skill' subscript constitutes instead a unique
# combination of overlapped skills.
#
# To generate the 'training' variable from this overlapped_training will also contain definitions for all the
# non-overlapped training period, of course w/o any skill increment bonuses.
  training[s][schedule] = sum(overlapped_training[s1..sN][schedule] / n)

# Maintain causality.
 overlapped_training[x][y] >= 0

# Now that overlapped_training exists, we can generate skill increments from it.
  increments[skill][schedule] = sum(overlapped_training[skill][schedule]) * OVERLAP

# Stop training when the goal is reached.
# This barely makes a difference, but is easy to add.
  sum(increments[skill][*]) <= goal[skill]

Is this fun? Kinda yes. Would I do it again? Probably not. :V

The constraints above sum up to maximizing total progress achieved per day. You could use a different metric, though I don't know why you would work your way through this sort of thing. The pseudocode above is not at all something I can feed into the solver. In practice, we'll get something like this for the current training vote. Let's see if I get this right...

Voting result, and corresponding intent.

In general everything has to be of the form "Var[x] * constant + (..arbitrary number of other variables) <= VarY (or some constant)". This does mean that e.g. if you wanted to finish integrity first it could be prioritized by multiplying the effective training time by some arbitrarily large value in the 'maximize' chain. *1000, for example, gets maximum training time allocated in that direction... but still uses any remainder in the most efficient way possible.

This sort of thing is usually used to optimize the production chains of large companies, not the life schedule of a 13-year-old. Aren't we lucky?

Code:
TT: Training time (hours per day)
TI: Increment (effective hours per day)
OT: Overlapped training

In linear programming terms these are all just independent variables, not tables.
You can think of it either way. Here's an example of how it'd work out, although not a fully coherent one;
I pulled this together from a mixture of too many posts.

Maximize TI[Dreamwalking] + TI[Illusion] + TI[Lore] + TI[Integrity]
Subject to
  TT[DW][Daytime] + TT[Illusion][Daytime] + TT[Lore][Daytime] + TT[Integrity][Daytime] <= 2  # Schedule limit.
  TT[DW][Sleep] + TT[Illusion][Sleep] + TT[Integrity][Sleep] <= 0.5  # Schedule limit. You can't reasonably train Lore while sleeping. With what you've recently experienced, you can train Integrity that way. I'm back-dating this for my own sanity.
  TT[Lore][Sleep] = 0  # And so on for anything but DW/Integrity/Illusion.
  TT[Integrity][Daytime] + TT[Integrity][Sleep] <= 2  # Safety limit / 'skill limit'.
  TT[Illusion][Daytime] >= 0
  (…and so on for all of them. Can't have negative values.)
  # Bonuses for overlapped training:
  TI[Illusion] = OT[Dreamwalking_Illusion] / 2 * 1.25 + OT[Illusion]
  TI[Dreamwalking] = OT[Dreamwalking_Illusion] / 2 * 1.25 + OT[Dreamwalking_Integrity] / 2 * 1.25 + OT[Dreamwalking]
  TI[Integrity] = OT[Dreamwalking_Integrity] / 2 * 1.25 + OT[Integrity]
  # As usual none of these can be negative.
  OT[Illusion] >= 0, OT[Illusion_Precognition] >= 0 and so on.
  # TT is defined in terms of TI
  TT[Illusion] = OT[Dreamwalking_Illusion] / 2 + OT[Illusion]
  (...and so on)
  # Finally, just..
  TI[Illusion] <= Remaining Training Time Required
  # And so on.

Which seems fairly simple and straightforward.

One thing you'll immediately notice is that this only has two 'schedules' -- I skipped defining 'school' vs. 'evening'. It's not supposed to be fully accurate to the vote, by the way. That's mostly because it'd be twice as large if it was; it'll be in the final definition. Which is going to look more like this:

Code:
Baseline(Amu, {'Dreamwalking': 1, 'Illusion': 1, 'Integrity': 2, 'Lore': 1})
Schedule(Amu, {'School': 1, 'Afternoon': 2, 'Evening': 1, 'Sleep': 0.5})
SafetyLimit('Amu', {'Integrity': 2})
# Any time segment without limits will not generate any corresponding constraints.
ScheduleLimit(Amu, {'School': ['Illusion', 'Lore'], 'Sleep': ['Dreamwalking', 'Integrity']})
Overlap('Amu', ['Illusion', 'Dreamwalking'], 1.25)
Overlap('Amu', ['Dreamwalking', 'Integrity'], 1.25)
Overlap('Amu', ['Lore', 'Integrity'], 1.1)
Target('Dreamwalking', 2)
Target('Illusion', 2)
Target('Lore', 1.5)
Target('Integrity', 3)

Feel free to point out bugs, but let's not start a derail on the subject of Amu's training goals. This schedule is going to frazzle her a lot and leave her extremely distracted, yes; we talked about that back when it got voted on.

= =

The time crunch you're expecting may fail to materialize. We shall see.
 
Last edited:
Back
Top