diff --git a/src/script/functions/editor.cpp b/src/script/functions/editor.cpp index 0c9ad735..6deaa3b9 100644 --- a/src/script/functions/editor.cpp +++ b/src/script/functions/editor.cpp @@ -382,6 +382,22 @@ SCRIPT_FUNCTION(count_chosen) { SCRIPT_RETURN(count); } } +} + +// ----------------------------------------------------------------------------- : Extra Card Fields + +SCRIPT_FUNCTION(extra_data) { + SCRIPT_PARAM_C(String, input); + SCRIPT_PARAM_C(CardP, card); + SCRIPT_PARAM_C(StyleSheetP, stylesheet); + + FOR_EACH(valueP, card->extraDataFor(*stylesheet)) { + if (valueP->fieldP->name == input) { + SCRIPT_RETURN(valueP); + } + } + + return delay_error(ScriptErrorNoMember("extra_data()", input)); } // ----------------------------------------------------------------------------- : Init @@ -395,5 +411,6 @@ void init_script_editor_functions(Context& ctx) { ctx.setVariable(_("require_choice"), script_require_choice); ctx.setVariable(_("exclusive_choice"), script_exclusive_choice); ctx.setVariable(_("require_exclusive_choice"), script_require_exclusive_choice); - ctx.setVariable(_("remove_choice"), script_remove_choice); + ctx.setVariable(_("remove_choice"), script_remove_choice); + ctx.setVariable(_("extra_data"), script_extra_data); }