News:

A forum for users of LackeyCCG

Main Menu

General questions about Lackey

Started by Yamato, June 12, 2014, 10:22:57 AM

Previous topic - Next topic

Yamato

Hi there.

I'm trying to implement a LCG into Lackey, but I'm getting problems to achieve certain functions that I'm not sure if Lakey allows it.

1.- When I'm testing the game/plugin, I create a sample deck with some random cards using the deck editor, then I click "Load entire deck to you". But now, when I return to the game board, the deck is loaded into "Test Dummy" player instead of me. Now I don't know how to load a deck into both players. Is this any possible, at least for offline testing purposes? I know there is a "Load recent deck" option, but I need to load a deck from the deck editor to a specified or selected player, but I cannot find how to do it.


2.- The game I'm trying to implement into Lackey has a deck, a hand a discard and a remove stack for each player. I need that each player gets 6 cards from deck when either the game starts or when the player loads his deck. is this possible? I mean, something like a "Initial hand = 6 cards" parameter into plugininfo or something, like the initial value of the players' health, but for the cards that are automatically drawn when the match starts.

3.- The LCG uses an energy system to play cards. Each player has his own energy, which I set the same as with health points. Now, I need some way to deduct the energy when the card is played accordingly to the card energy cost but just clicking a single button or by going to a context menu and clicking directly on the card's energy cost, something like a card function that allows me to deduct from my energy storage the cards' energy cost.
I know I can click on the energy bar (like with health bar) and select the amount to deduct, but it would be easier and faster to use a card function or something similar.

4.- Is it possible or is there any plan to do "phase functions", for example, to perform some actions when a certain turn's phase triggers? Lets say if I was playing Mtg, I would like to automatically draw a card when I change to drawing card phase.

Well, I think that's all.

Thanks a lot for your help.

Trevor

If you click the dummy in solitaire mode, it makes lackey think that's you. So "load to you" loaded it to the dummy. Maybe you accidentally clicked the dummy avatar, but you can click it back to you.
There's many different was to do everything. You can load each zone individually, you can load them by right clicking the players avatar, and other ways.

For an initial hand, the best there are a several ways to do that. You can just have people draw cards one by one, or draw them all at once, you click a button that draws them all at once, and there's many different ways to do each of those. It's not a good idea to automate too many things because the more you do, the more it introduces the likelihood of automation doing something you don't want it to do. When you do a new game, it wipes the game state. People don't have a deck loaded at that point. And if you wanted an automatic draw x when a deck is loaded, then that is a pain if honey ever wanted to load a deck and not draw cards immediately, or draw a different amount, as some games do with mulligans. There's lots of ways to easily draw x cards manually, and I think that's probably the best solution.

You can make functions that increment and decrement energy, and these can run manually or automatically. But I would be careful about trying to automate too much. Lackey was designed to simulate real games, and in a real game you need to keep track of stuff like that. There's ways to keep track of it in lackey, and ways to automate it, but I would caution you that just because something can be done automatically doesn't it mean it should be.

Phase functions I think would be more trouble than they are worth. Consider the case where someone accidently advances the phase prematurely. If that causes a gameplay effect, it could mess up the game. I think phase indicators are best used kind of like directional blinkers on a car-- they are used to help communicate to other players your intent, but they don't do anything functional in and of themselves.

Yamato

One more question: is it possible to create generic counters "on the fly"? I need to set counters to some cards and also create blank cards that represent things, such as in Mtg a creature token. Is it possible? How?

Quote from: Trevor on June 12, 2014, 11:45:29 AM
If you click the dummy in solitaire mode, it makes lackey think that's you. So "load to you" loaded it to the dummy. Maybe you accidentally clicked the dummy avatar, but you can click it back to you.
There's many different was to do everything. You can load each zone individually, you can load them by right clicking the players avatar, and other ways.

Yes, it solved the problem.

Quote from: Trevor on June 12, 2014, 11:45:29 AM
For an initial hand, the best there are a several ways to do that. You can just have people draw cards one by one, or draw them all at once, you click a button that draws them all at once, and there's many different ways to do each of those. It's not a good idea to automate too many things because the more you do, the more it introduces the likelihood of automation doing something you don't want it to do. When you do a new game, it wipes the game state. People don't have a deck loaded at that point. And if you wanted an automatic draw x when a deck is loaded, then that is a pain if honey ever wanted to load a deck and not draw cards immediately, or draw a different amount, as some games do with mulligans. There's lots of ways to easily draw x cards manually, and I think that's probably the best solution.

Actually drawing x cards when the deck is loaded is a mandatory step in my LCG. There is no mulligan concept or a chance to draw a different number of initial cards, so the player must draw always that exact amount of cards, that's why asked for an automated first-hand draw when the deck is loaded.

Quote from: Trevor on June 12, 2014, 11:45:29 AM
You can make functions that increment and decrement energy, and these can run manually or automatically. But I would be careful about trying to automate too much. Lackey was designed to simulate real games, and in a real game you need to keep track of stuff like that. There's ways to keep track of it in lackey, and ways to automate it, but I would caution you that just because something can be done automatically doesn't it mean it should be.

Is it possible to have a context menu or a button somewhere to reduce by 1 the amount of energy? And the same question goes to health. Because clicking on the healt/energy bars and having to click the amount to deduct can be a bit confusing. For example if I need to deduct 5 energy, I prefer to deduct 5 times 1 energy than 1 time 5 energy because the 5 times 1 energy gets announced 5 times in the chat window so the opponent sees it better imo. If you know a program to play Mtg called Apprentice, it has a button that reduces your health by 1, and it gets announced in the chat window when you press it. It is like a more visual and smooth way to see the health changes.

Jynks

Quote from: Yamato on June 12, 2014, 04:50:48 PM
One more question: is it possible to create generic counters "on the fly"? I need to set counters to some cards and also create blank cards that represent things, such as in Mtg a creature token. Is it possible? How?

If you mean automatically spawning token cards or putting a card into play and it automatically gaining tokens, or putting a card into play and it automatically adjusting a player stat .... this can be done with "scripts". This is a new and as yet not fully documented feature. Basically it allows you to run /commands as the card enters play. If you install my ANR plugin and drag a Corporation ID to the table you can see this in action. Search for scripts to find out more.

Quote from: Yamato on June 12, 2014, 04:50:48 PM
Actually drawing x cards when the deck is loaded is a mandatory step in my LCG. There is no mulligan concept or a chance to draw a different number of initial cards, so the player must draw always that exact amount of cards, that's why asked for an automated first-hand draw when the deck is loaded.

There is a fundamental design concept to lackey, that is different to say OCTGN. That being the core idea of "automation". Lackey,by design, is not tying to automate the card game process, it is trying to recreate the table top experience. There is some simple scripting, but proper automation is not only not in the app, but sorta against its entire design philosophy.

The best thing to do is make a button with the /darw X command. To quickly draw a entire hand in 1 button press.

Quote from: Yamato on June 12, 2014, 04:50:48 PM
Is it possible to have a context menu or a button somewhere to reduce by 1 the amount of energy? And the same question goes to health. Because clicking on the healt/energy bars and having to click the amount to deduct can be a bit confusing. For example if I need to deduct 5 energy, I prefer to deduct 5 times 1 energy than 1 time 5 energy because the 5 times 1 energy gets announced 5 times in the chat window so the opponent sees it better imo. If you know a program to play Mtg called Apprentice, it has a button that reduces your health by 1, and it gets announced in the chat window when you press it. It is like a more visual and smooth way to see the health changes.

I'm a little confused as to what your asking... but I think you are asking for a command to allow you to change player stats? If so.. then yes. If you have a player stat called "Energy" you can make a context button to adjust it through increments. This will go into chat menu and all that...

The command is ... /player stat1 -1 or !-Threat!/player stat1 +1

These commands are adjusting player stat 1 by 1. If you had 3 player stats and wanted to increment the 2nd the command would be "/player stat2 +1"

Yamato

#4
Quote from: Tragic on June 12, 2014, 05:52:06 PM
Quote from: Yamato on June 12, 2014, 04:50:48 PM
One more question: is it possible to create generic counters "on the fly"? I need to set counters to some cards and also create blank cards that represent things, such as in Mtg a creature token. Is it possible? How?

If you mean automatically spawning token cards or putting a card into play and it automatically gaining tokens, or putting a card into play and it automatically adjusting a player stat .... this can be done with "scripts". This is a new and as yet not fully documented feature. Basically it allows you to run /commands as the card enters play. If you install my ANR plugin and drag a Corporation ID to the table you can see this in action. Search for scripts to find out more.

I was refering to setting counters to a card and also spawning counter like a 1/1 skeleton token in Mtg.
Both things I found how to do it. Thanks for your help I will take look into your script and pluging, it seems interesting.

To spawn a 1/1 skeleton token or similar tokens, I set a SPAWNCARD general effect in my plugininfo, which works as intended. The problem with this is that SPAWNCARD spawns a card with an image of the cards' background, and I would like it to have another image, because having a token with such image can be taken for a upside-down card. I read somewhere that it is possible to have several cards backs, but I don't know how specify here the image of the token.

Also I read that it is possible to create a token card, which seem quite simple, but now, I don't know how to "spawn" them to game. And also, I'm not sure if those tokens are counters added to an existing card, or they are a "1/1 skeleton creature token".


Forget it, I found how to do it. Thanks anyway.

Quote from: Tragic on June 12, 2014, 05:52:06 PM
I'm a little confused as to what your asking... but I think you are asking for a command to allow you to change player stats? If so.. then yes. If you have a player stat called "Energy" you can make a context button to adjust it through increments. This will go into chat menu and all that...

The command is ... /player stat1 -1 or !-Threat!/player stat1 +1

These commands are adjusting player stat 1 by 1. If you had 3 player stats and wanted to increment the 2nd the command would be "/player stat2 +1"

I'm asking for the possibility to place a button somewhere in the Lackey interface that allows the player to increase or decrease certain player stat. The same as

<generalfunction>
<label>Draw</label>
<kind>DRAWCARD</kind>
<includeasbutton>yes</includeasbutton>
</generalfunction>

but instead drawing a card, increase or decrease a specific player player stat.


Your method works (the /player stat1 -1), but now, is it possible place that into a clickable button like a <generalfunction>?


Thanks.

Jynks

not that I know of,  but you can make it a chat button. Either right click on a button once you have the command in the chatwindow or type it into the macro area in the options.

What you then do is include this data in a "defaultchat.xml" file. So when new installs happen they automatically have these buttons.

Trevor

If you click a player stat, a window pops up with a bunch of options, like +5, or -3, or set to 7.