News:

A forum for users of LackeyCCG

Main Menu

Multi-effect functions

Started by m4dn3zz, February 15, 2014, 10:07:18 PM

Previous topic - Next topic

m4dn3zz

Is there a way to create a function that has multiple effects? I'd like to create a general function for a plugin that essentially does
   <kind>ALLYOURCARDSMAKERIGHT0DEGREES</kind>
   <kind>DRAWCARD</kind>
in one function.

If this isn't something that's currently supported, could it be implemented?

Also, is it possible for a function to play a sound as part of its effect? If no, could this be implemented?

Thank you.

m4dn3zz

The other idea I had is making part of a zone viewable by one or more players but not the rest of it. I'm specifically thinking the top card, but it might apply in other cases as well. There are some Magic cards (Oracle of Mul Daya, for example) that make the top card of the library constantly visible to all, and it's also a state I'd like to give a zone for a plugin I'm building.

Trevor

The problem with combining things is it can quickly get complicated. For example, if you have a function that unturns all cards and draws a card, you'd still probably want a function that unturns all cards, and one to draw a card. So if you do this a few times, you can very quickly get interface bloat. You can do this sort of thing with command functions, which can be saved in canned messages buttons.

Regarding making the top card constantly visible, you can do that right now by just dragging the top card to the table and drawing that when you draw instead of from the top of the deck. While I could make it more automated, there is a problem with automation in that when it can't work perfectly all the time, people get especially annoyed when it doesn't work. For example, if I were to automate it, and you were to draw 4 cards at once, all players should be able to know what each of those cards are since they were each on top for an instant, but it would be more complicated to do that.

In general, I think trying to automate everything makes the interface cluttered and unwieldy, and I'm not sure its worth it to do that for functions you will only use a small percentage of time, and especially when it's fairly easy to do them now without the clutter.

m4dn3zz

Quote from: Trevor on February 16, 2014, 02:35:49 PM
The problem with combining things is it can quickly get complicated. For example, if you have a function that unturns all cards and draws a card, you'd still probably want a function that unturns all cards, and one to draw a card. So if you do this a few times, you can very quickly get interface bloat. You can do this sort of thing with command functions, which can be saved in canned messages buttons.

That's a completely valid position, but I still think it'd be a nice thing to have. Canned messages are the way I'll work with it unless/until you decide to allow multiple functions to a button, but I can definitely see where it's not priority.

Quote from: Trevor on February 16, 2014, 02:35:49 PM
Regarding making the top card constantly visible, you can do that right now by just dragging the top card to the table and drawing that when you draw instead of from the top of the deck. While I could make it more automated, there is a problem with automation in that when it can't work perfectly all the time, people get especially annoyed when it doesn't work. For example, if I were to automate it, and you were to draw 4 cards at once, all players should be able to know what each of those cards are since they were each on top for an instant, but it would be more complicated to do that.

In general, I think trying to automate everything makes the interface cluttered and unwieldy, and I'm not sure its worth it to do that for functions you will only use a small percentage of time, and especially when it's fairly easy to do them now without the clutter.

I can also see exactly where you're coming from here. With that said, the MTG plugin I use has scripted cards, and that would create a bunch of cleanup. I'm still gonna say it's a feature I'd like to see (and one that would be nice in the game I'm working on) but I will definitely concede that you have higher priorities at the moment.

With regards to automating, I have to say that I both agree and disagree. In general, at least from the perspective of the program, automation is fairly unnecessary. From the perspective of the plugin, however, I feel that in many cases it's beneficial. Scripted cards (Captain of the Watch automatically spawning its tokens, for example) can really streamline the play process. But that comes down to a priorities and balancing perspective, and your program isn't about playing game X perfectly so much as playing games A through ZZZZZ well.

m4dn3zz

I did have a couple more suggestions for implementation

If I have a stack of 5 tokens and I clone them, it doesn't clone them as a stack. Is there any way for it to duplicate the relative locations of a group of cards when cloning? Say, that stack of 5 gets cloned and it creates another stack of 5 in the open space it uses for placing new spawned cards? With token decks managing token positions can get to be more time intensive than actual play.

The other is another mass function. As you can set the rotation of all of your cards simultaneously, would it also be possible to add/remove/set counters on all of them simultaneously?

Trevor

Quote from: m4dn3zz on March 17, 2014, 12:36:08 PM
I did have a couple more suggestions for implementation

If I have a stack of 5 tokens and I clone them, it doesn't clone them as a stack. Is there any way for it to duplicate the relative locations of a group of cards when cloning? Say, that stack of 5 gets cloned and it creates another stack of 5 in the open space it uses for placing new spawned cards? With token decks managing token positions can get to be more time intensive than actual play.

The other is another mass function. As you can set the rotation of all of your cards simultaneously, would it also be possible to add/remove/set counters on all of them simultaneously?
Even real life token decks can be unweildy. Instead of having a hundred spawned tokens in lackey, I think you're better off just having 1 of each kind, or possibly 1 for one state and one for another. I don't think thats a better solution than trying to manage a ton of tokens.

You can select any number of cards (by box selecting, or shift clicking, etc.) and right click one and set counters to X or add X counters. Similarly, you can also add notes or do other functions.