/*---------------------------------------------------------------------*//** デフォルトアイテムの追加 **//*---------------------------------------------------------------------*/ void StoryManager::setupDefaultItems() { ItemManager* itmmng = ((MyParty*)Game::getGame()->getMyParty())->getItemManager(); // 武器が無い場合 { ItemArray itmarr = itmmng->findByCategory(ItemDef::CAT_WEAPON, true); if(itmarr.getCount() <= 0) // 武器がない { // デフォルトのこん棒を追加 itmmng->newItem(ItemIdDef::ITEMDID_WEP_FIRST, 0L, Item::F_NOEDIT, true); // 編集不可で末尾に追加 } } // 盾が無い場合 { ItemArray itmarr = itmmng->findByCategory(ItemDef::CAT_SHIELD, true); if(itmarr.getCount() <= 0) // 盾がない { itmarr = itmmng->findByItemDefId(ItemIdDef::ITEMDID_DUMMY, true); if(itmarr.getCount() <= 0) // 盾入手場所確保用のダミーアイテムもない { // 盾入手場所確保用のダミーアイテムを追加 itmmng->newItem(ItemIdDef::ITEMDID_DUMMY, 0L, Item::F_NOEDIT, true); // 編集不可で末尾に追加 } // ダミーを盾に変更 if(_storyid >= StoryIdDef::STID_EP01_ASA__START_) { itmarr = itmmng->findByItemDefId(ItemIdDef::ITEMDID_DUMMY, true); // 予約用ダミーの検索 if(itmarr.getCount() > 0) { // 盾入手場所確保用のダミーアイテムを削除 Item* item = itmarr.item(0); itmmng->removeItem(item->getItemGenId()); // 盾の追加 itmmng->newItem(ItemIdDef::ITEMDID_SHLD_FIRST, 0L, Item::F_NOEDIT, true); // 編集不可を末尾に } } } } // 最強装備に Party* party = Game::getGame()->getMyParty(); ASSERT(party != 0L); PartnerUnit* unitPc2 = (PartnerUnit*)party->pcUnit(MyParty::PC_PTN); unitPc2->equipBest(); }
SRCR_BEGIN_NS //////////////////////////////////////////////////////////////////////////// // クラス //========================================================================== // StEmp_10201_1001_GetShield メソッド // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // 外部サービス /*---------------------------------------------------------------------*//** 開始 **//*---------------------------------------------------------------------*/ void StEmp_10201_1001_GetShield::begin(u32 param) { MyParty* party = (MyParty*)Game::getGame()->getMyParty(); ASSERT(party != 0L); ItemManager* itmmng = party->getItemManager(); ASSERT(itmmng != 0L); // 盾入手 ItemArray itmarr = itmmng->findByItemDefId(ItemIdDef::ITEMDID_DUMMY, true); // 予約用ダミーの検索 if(itmarr.getCount() > 0) { // 盾入手場所確保用のダミーアイテムを削除 Item* item = itmarr.item(0); itmmng->removeItem(item->getItemGenId()); // 盾の追加 itmmng->newItem(ItemIdDef::ITEMDID_SHLD_FIRST, 0L, Item::F_NOEDIT, true); // 編集不可を末尾に // 盾の装備 PartnerUnit* unitPc2 = (PartnerUnit*)party->pcUnit(MyParty::PC_PTN); unitPc2->equipBest(); unitPc2->updateEquipModelObjVisibility(); } StEmp::begin(param); }