Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions doc/function/get_card_styling.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
Function: get_card_styling

--Usage--
> get_card_styling(card, set: set)

Get the styling data of a [[type:card]].

This is for use in exporter scripts. In card scripts, use the "styling" predefined variable instead.

--Parameters--
! Parameter Type Description
| @input@ [[type:card]] The card you want to retrieve the styling data from.
| @set@ [[type:set]] The set the card belongs to. In an exporter script, this can be ommited since "set" is a predefined variable.

--Examples--
> # Retrieve the value "is foil" from the card's styling options
> card_is_foil := get_card_styling(card)["is_foil"] or else false
1 change: 1 addition & 0 deletions doc/function/index.txt
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,7 @@ These functions are built into the program, other [[type:function]]s can be defi

! Cards <<<
| [[fun:new_card]] Construct a new [[type:card]] object.
| [[fun:get_card_styling]] Get the styling data of a [[type:card]].

! HTML export <<<
| [[fun:to_html]] Convert [[type:tagged text]] to html.
Expand Down
12 changes: 12 additions & 0 deletions src/script/functions/basic.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -655,6 +655,17 @@ SCRIPT_FUNCTION(random_select_many) {
return ret;
}

SCRIPT_FUNCTION(get_card_styling) {
SCRIPT_PARAM_C(ScriptValueP, input);
SCRIPT_PARAM_C(ScriptValueP, set);
ScriptObject<CardP>* c = dynamic_cast<ScriptObject<CardP>*>(input.get());
ScriptObject<Set*>* s = dynamic_cast<ScriptObject<Set*>*>(set.get());
if (s && c) {
return to_script(&s->getValue()->stylingDataFor(c->getValue()));
}
throw ScriptError(_("invalid set or card argument"));
}

// ----------------------------------------------------------------------------- : Keywords


Expand Down Expand Up @@ -741,6 +752,7 @@ void init_script_basic_functions(Context& ctx) {
ctx.setVariable(_("to_date"), script_to_date);
ctx.setVariable(_("to_code"), script_to_code);
ctx.setVariable(_("type_name"), script_type_name);
ctx.setVariable(_("get_card_styling"), script_get_card_styling);
// math
ctx.setVariable(_("abs"), script_abs);
ctx.setVariable(_("random_real"), script_random_real);
Expand Down
1 change: 1 addition & 0 deletions tools/website/drupal/mse-drupal-modules/highlight.inc
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ $built_in_functions = array(
'random_shuffle' =>'',
'random_select' =>'',
'random_select_many' =>'',
'get_card_styling' =>'',
// keywords
'expand_keywords' =>'', 'expand_keywords_rule'=>'expand_keywords',
'keyword_usage' =>'',
Expand Down