return ["ship_id"]
}
dynamic var shortTypeName: String? {
- if shortSTypeNames.count < master_ship.stype.id { return nil }
- return shortSTypeNames[master_ship.stype.id - 1]
+ let index = master_ship.stype.id - 1
+ guard 0..<shortSTypeNames.count ~= index
+ else { return nil }
+ return shortSTypeNames[index]
}
class func keyPathsForValuesAffectingNext() -> Set<String> {
return ["exp"]
}
dynamic var next: NSNumber? {
- if lv >= levelUpExps.count { return nil }
+ guard 0..<levelUpExps.count ~= lv else { return nil }
if lv == 99 { return nil }
let nextExp = levelUpExps[lv]
if lv < 99 { return (nextExp - exp) as NSNumber }
}
-fileprivate let seikuEffectiveTypes: [Int] = [6, 7, 8, 11, 45]
+fileprivate let seikuEffectiveTypes: [Int] = [6, 7, 8, 11, 45, 56, 57, 58]
fileprivate let fighterTypes: [Int] = [6]
fileprivate let bomberTypes: [Int] = [7]
}
private func slotItem(_ index: Int) -> SlotItem? {
- return ServerDataStore.default.slotItem(byId: slotItemId(index))
+ return ServerDataStore.default.slotItem(by: slotItemId(index))
}
private func typeBonus(_ type: Int) -> [Double]? {
switch type {
if itemId == -1 { return .notEquip(maxCount) }
if let item = slotItem(index),
- allPlaneTypes.contains(item.master_slotItem.type_2)
- { return .equiped(slotItemCount(index), maxCount) }
+ allPlaneTypes.contains(item.master_slotItem.type_2) {
+ return .equiped(slotItemCount(index), maxCount)
+ }
return .notEquip(maxCount)
}
private func planeString(_ index: Int) -> String? {