Mod API Reference:CardInstance
From Warzone Wiki
(Difference between revisions)
(7 intermediate revisions by one user not shown) | |||
Line 14: | Line 14: | ||
== How to create a Card == | == How to create a Card == | ||
* Create a table | * Create a table | ||
− | * Create a card instance with '''WL.NoParameterCardInstance.Create''' (''[[Mod API Reference:CardID|CardID]]'') , then add it into the new table | + | * Create a card instance with '''WL.NoParameterCardInstance.Create''' (''[[Mod API Reference:CardID|CardID]]'') , then add it into the new table. Your element in that table is your cardInstanceID |
− | * Give the card to the player you want to have this card used on with '''addNewOrder(WL.GameOrderReceiveCard.Create'''(''' playerID ''' ''[[Mod API Reference:PlayerID|PlayerID]]'' | + | * Give the card to the player you want to have this card used on with '''addNewOrder(WL.GameOrderReceiveCard.Create'''(''' playerID ''' ''[[Mod API Reference:PlayerID|PlayerID]]'', '''cardInstanceID''' ''[[Mod API Reference:CardInstanceID|CardInstanceID]]''))''' |
+ | * Play the card with the appropriate subclass of [[Mod API Reference:GameOrderPlayCard|GameOrderPlayCard]] function | ||
+ | |||
+ | '''Example: ''' | ||
+ | local cardinstance = {} -- step 1 | ||
+ | table.insert (cardinstance , WL.NoParameterCardInstance.Create(WL.CardID.Airlift)) -- step 2 | ||
+ | addNewOrder(WL.GameOrderReceiveCard.Create(PlayerID, cardinstance)) -- step 3 | ||
+ | addNewOrder(WL.GameOrderPlayCardAirlift.Create(cardinstance[1].ID, Player.ID, TerritoryID ''[[Mod API Reference:TerritoryID|TerritoryID]]' , TerritoryID ''[[Mod API Reference:TerritoryID|TerritoryID]]' , '''Armies''' ''[[Mod API Reference:Armies|Armies]]'')) -- step 4 |
Latest revision as of 05:26, 22 November 2023
CardInstance: An actual instance of a card belonging to a player or team. For example, when a player completes their 4th piece of a 4-piece reinforcement card, an instance of CardInstance is created, assigned a random ID, and given to the player/team.
- CardID CardID:
- ID CardInstanceID:
[edit] Children
This is an abstract type. For Reinforcement cards, you should use the ReinforcementCardInstance, and for all other cards use the NoParameterCardInstance.
[edit] How to create a Card
- Create a table
- Create a card instance with WL.NoParameterCardInstance.Create (CardID) , then add it into the new table. Your element in that table is your cardInstanceID
- Give the card to the player you want to have this card used on with addNewOrder(WL.GameOrderReceiveCard.Create( playerID PlayerID, cardInstanceID CardInstanceID))
- Play the card with the appropriate subclass of GameOrderPlayCard function
Example:
local cardinstance = {} -- step 1 table.insert (cardinstance , WL.NoParameterCardInstance.Create(WL.CardID.Airlift)) -- step 2 addNewOrder(WL.GameOrderReceiveCard.Create(PlayerID, cardinstance)) -- step 3 addNewOrder(WL.GameOrderPlayCardAirlift.Create(cardinstance[1].ID, Player.ID, TerritoryID TerritoryID' , TerritoryID TerritoryID' , Armies Armies)) -- step 4