return 0;
}
+int Block_enable_if(lua_State *L)
+{
+ assert(lua_gettop(L) == 2);
+ Block *block = *(Block **)luaL_checkudata(L, 1, "Block");
+
+ if (block->alternatives.size() != 2 ||
+ block->alternatives[1]->effect_type != IDENTITY_EFFECT) {
+ luaL_error(L, "enable_if() called on something that wasn't added with add_optional_effect()");
+ }
+ bool enabled = checkbool(L, 2);
+ block->currently_chosen_alternative = enabled ? 0 : 1;
+ return 0;
+}
+
int Block_disable(lua_State *L)
{
assert(lua_gettop(L) == 1);