Posts: 400
Threads: 13
Joined: Mar 2010
I've made an overdrive/limit-break-esque system for my game from scratch, with it being surprisingly unpainful. In the least, it only took somewhere about two-three days, and any frustrations weren't really with trying to do something so much as me being a dumb.
My only concern now is the power of the skills themselves. Since they're supposed to be combos between characters, they should use the combined power of those characters... and I'm not sure how to do that. Would creating a fake Actor instance to serve as the caster of the skill work, maybe?
Posts: 71
Threads: 10
Joined: Jun 2015
If both characters are in the party, you could make party skills like those seen in Chrono Cross...oh, im gonna go look at that game. Have not seem much reproduced from that lately. But yea, maybe use the party class as a base for stats behind the skill. im not sure which engine you use so I cant say for certain what option would be best.
Posts: 400
Threads: 13
Joined: Mar 2010
I'm using VXAce, and my problem is, is that as far as I'm aware, VXAce will refer to the Battler using the skill - so I need someone to have those stats, I can't just define them as it is. Hence, creating a fake Actor/Battler that'll get those stats added up, and be referred to in damage calculation.
Of course, then the engine might have a spat about other functions when trying to deal with an actor I just had it create on the fly.
Posts: 422
Threads: 23
Joined: Aug 2011
I think the best way to do a combo would be to edit the damage formula of the skill to take into account the multiple users? If you don't know how to do that, maybe open a thread about it and we can get it worked out.
Posts: 400
Threads: 13
Joined: Mar 2010
Theory One: Make "@subject" (the caster/active battler) an array, and all subsequent references to @subject loop through the contents over a single battler.
PHP Code:
<?php
@subject = []
for a in real_item.unity_conditions[:actors]
@subject.push($game_actors[a])
end
@subject.each {|a|
a.make_actions; a.current_action.set_skill(real_item.id)
}
Problem with that I discover though, is that it could run into trouble down the line - I could end up with every characters in the combo set trying to use the skill, each one after another! Not quite what I want. (I'm not saying this
does happen, but it probably would if I wasn't careful.)
Theory Two: Only have reference to an array of battlers in the conditions they're expected.
PHP Code:
<?php
@unity_subjects = []
for a in real_item.unity_conditions[:actors]
@unity_subjects.push($game_actors[a])
end
@subject.current_action.set_skill(real_item.id)
With this, I then wrapped animated battler processes for casting animations in code to play casting animations from an array of casters. It would either only contain @subject, or the users of the combo in @unity_subjects.
The first theory was my initial plan. While it would be adaptable for other systems down the line or other projects, it could easily turn my code into a convoluted mess if I got lost or screwed up, and I didn't want to risk that. The second theory sort of follows MP's suggestion in that it tries to focus on specific elements to edit.
The first also assumed I would later edit a lot more code, but this sounded a bad idea, and as it turns out... unnecessary. Ace lets me write my own formulas
per-skill! Why would I make things harder for myself? All I needed was to put something like
$game_actors[1].mat+$game_actors[2].mat in as the formula in the
database, and it would work.