void InventoryState::onAutoequip(Action *) { // don't act when moving items if (_inv->getSelectedItem() != 0) { return; } BattleUnit *unit = _battleGame->getSelectedUnit(); Tile *groundTile = unit->getTile(); std::vector<BattleItem*> *groundInv = groundTile->getInventory(); Mod *mod = _game->getMod(); RuleInventory *groundRuleInv = mod->getInventory("STR_GROUND", true); int worldShade = _battleGame->getGlobalShade(); std::vector<BattleUnit*> units; units.push_back(unit); BattlescapeGenerator::autoEquip(units, mod, NULL, groundInv, groundRuleInv, worldShade, true, true); // refresh ui _inv->arrangeGround(false); updateStats(); _refreshMouse(); // give audio feedback _game->getMod()->getSoundByDepth(_battleGame->getDepth(), Mod::ITEM_DROP)->play(); }