{\r
private readonly QuestInfo _questInfo;\r
private readonly ItemInventory _itemInventory;\r
+ private readonly ShipInventory _shipInventory;\r
private readonly BattleInfo _battleInfo;\r
private readonly SortedDictionary<int, QuestStatus> _quests;\r
private int _map;\r
}\r
}\r
\r
- public QuestCounter(QuestInfo questInfo, ItemInventory itemInventory, BattleInfo battleInfo)\r
+ public QuestCounter(QuestInfo questInfo, ItemInventory itemInventory, ShipInventory shipInventory, BattleInfo battleInfo)\r
{\r
_questInfo = questInfo;\r
_quests = questInfo.QuestDictionary;\r
_itemInventory = itemInventory;\r
+ _shipInventory = shipInventory;\r
_battleInfo = battleInfo;\r
}\r
\r
}\r
}\r
\r
- public void InspectPowerUp(dynamic json)\r
+ public void InspectPowerUp(string request, dynamic json)\r
{\r
if ((int)json.api_powerup_flag == 0)\r
return;\r
var count = quest.Count;\r
if (!(count.Spec is QuestPowerUp))\r
continue;\r
+ if (quest.Id == 714)\r
+ {\r
+ var values = HttpUtility.ParseQueryString(request);\r
+ if (_shipInventory[int.Parse(values["api_id"])].Spec.ShipType != 2)\r
+ return;\r
+ var ships = values["api_id_items"].Split(',').Select(id => _shipInventory[int.Parse(id)]);\r
+ if (ships.Count(s => s.Spec.ShipType == 2) < 3)\r
+ return;\r
+ }\r
Increment(count);\r
}\r
}\r