Beispiel #1
0
/**
 * \brief Calls the on_ability_used() method of a Lua equipment item.
 *
 * Does nothing if the method is not defined.
 *
 * \param item An equipment item.
 * \param ability The ability just used.
 */
void LuaContext::item_on_ability_used(EquipmentItem& item, Ability ability) {

  if (!userdata_has_field(item, "on_ability_used")) {
    return;
  }

  push_item(l, item);
  on_ability_used(ability);
  lua_pop(l, 1);
}
Beispiel #2
0
/**
 * \brief Calls the on_ability_used() method of a Lua equipment item.
 *
 * Does nothing if the method is not defined.
 *
 * \param item An equipment item.
 * \param ability_name The ability just used.
 */
void LuaContext::item_on_ability_used(EquipmentItem& item, const std::string& ability_name) {

  if (!userdata_has_field(item, "on_ability_used")) {
    return;
  }

  push_item(l, item);
  on_ability_used(ability_name);
  lua_pop(l, 1);
}