08-31-2013, 06:07 PM
(08-31-2013, 03:46 PM)Phaze Wrote: Well, since Ridge's project is called off for now, I reckon I should try to make headway on other things since I really need to start being useful again...[spoiler]Heh you're not the only one. I'm still working on that editor and guess what. I found a sweet visual studio-like docking tool.
http://sourceforge.net/projects/dockpanelsuite/
(more up to date) https://github.com/dockpanelsuite
I've decided to remove the "shared" and "resources" idea too. That was a headache to implement.
[/spoiler]
Quote:say, I had some Bowser card variation that summoned weak minions for stat boosts and stuff, or a Yux that [summons a] Mini-Yux to defend itself; I'd need to make a generic Effect like SummonMinions that I could apply arguments to in order to add that functionality to Mask.
[spoiler]
(Sorry, This is just brainstorming. I'm aware it's a bit redundant. If I didn't come back to edit this.........oops
)So some (example) functionality you need is an effect to summon minions. You also need an effect that boosts stats. It seems that a Mini-Yux defending is up to Mini-Yux, not the effect. So that shouldn't be an issue for effect.
Creating an effect that summons minions seems like a good solution. It's similar to how I was going to implement character movesets. The compiled game provides methods (more like Behavior tree nodes since they're very easy to dynamically program flow and whatnot without hardcoding) and the scripts just add them to a list that gets executed in order. I would provide anything and everything that's required to execute a move.
[/spoiler]
[spoiler]
(Think in the context of an MnL battle)
-Mario Hammer Attack Script:
-PlayAnimation("Hammer")
-Asynchronous(X)
-GenerateAttack(ID,x,y,z, damage)
-if(AttackConnected(ID))
--PlaySoundEffect("Hooray!")
--GenerateGFX("Stars",xyz)
-end
The animation will play, and at frame X, an attack will be generated. If it connects (which is up to some higher up system, or the opponent), then a sound effect is played and a gfx shows. The beauty of behavior trees is that this is similar to how it would actually look and be built. The interface I allowed the scripts to use would only be the behavior tree nodes. They each get executed in order and the functionality of a node is very simple. If you wanted to add another "node type", either hardcode the functionality or script it. For "script" nodes, you could simply make a node take in a script file name and execute it when it needs to update. Look up Behavior trees for a better understanding of what I'm trying to get at.
[/spoiler]
I altered your quot Wrote:I was originally thinking of making a Handler interface with a method or two to handle and respond to effects and attacks(like when a card is damaged by an attack; might want to block it if the damaged has a spiked ability and the attacker has no spike shield badge)[spoiler]
The quote above seems like a good (high level) solution to the issue. The attacker should simply "attempt" to attack. The receiver, or some higher up responder, should be the one to decide on whether the receiver actually gets hit.
If the attacker uses a spike ability, but the receiver is wearing a spike shield badge, then the receiver or responder should decide the result damage (reduced, none, or critical). This is how I would approach the issue at a high level. I'd be glad to hear if you or anyone has a better solution.[/spoiler]
TL;dr I'm aware I didn't reply to all your questions. I don't really have any good experience in the issues you have, but I figured that I would describe how I would tackle some issues.

