extension Ship {
- class func keyPathsForValuesAffectingName() -> Set<String> {
+ @objc class func keyPathsForValuesAffectingName() -> Set<String> {
return ["ship_id"]
}
@objc dynamic var name: String { return master_ship.name }
- class func keyPathsForValuesAffectingShortTypeName() -> Set<String> {
+ @objc class func keyPathsForValuesAffectingShortTypeName() -> Set<String> {
return ["ship_id"]
}
return shortSTypeNames[index]
}
- class func keyPathsForValuesAffectingNext() -> Set<String> {
+ @objc class func keyPathsForValuesAffectingNext() -> Set<String> {
return ["exp"]
}
return (1_000_000 + nextExp - exp) as NSNumber
}
- class func keyPathsForValuesAffectingStatus() -> Set<String> {
+ @objc class func keyPathsForValuesAffectingStatus() -> Set<String> {
return ["nowhp", "maxph"]
}
return 0
}
- class func keyPathsForValuesAffectingPlanColor() -> Set<String> {
+ @objc class func keyPathsForValuesAffectingPlanColor() -> Set<String> {
return ["sally_area"]
}
@objc dynamic var maxBull: Int { return master_ship.bull_max }
@objc dynamic var maxFuel: Int { return master_ship.fuel_max }
- class func keyPathsForValuesAffectingIsMaxKaryoku() -> Set<String> {
+ @objc class func keyPathsForValuesAffectingIsMaxKaryoku() -> Set<String> {
return ["karyoku_1", "kyouka_0"]
}
return initial + growth >= max
}
- class func keyPathsForValuesAffectingIsMaxRaisou() -> Set<String> {
+ @objc class func keyPathsForValuesAffectingIsMaxRaisou() -> Set<String> {
return ["raisou_1", "kyouka_1"]
}
return initial + growth >= max
}
- class func keyPathsForValuesAffectingIsMaxTaiku() -> Set<String> {
+ @objc class func keyPathsForValuesAffectingIsMaxTaiku() -> Set<String> {
return ["taiku_1", "kyouka_2"]
}
return initial + growth >= max
}
- class func keyPathsForValuesAffectingIsMaxSoukou() -> Set<String> {
+ @objc class func keyPathsForValuesAffectingIsMaxSoukou() -> Set<String> {
return ["soukou_1", "kyouka_3"]
}
return initial + growth >= max
}
- class func keyPathsForValuesAffectingIsMaxLucky() -> Set<String> {
+ @objc class func keyPathsForValuesAffectingIsMaxLucky() -> Set<String> {
return ["lucky_1", "kyouka_4"]
}
return initial + growth >= max
}
- class func keyPathsForValuesAffectingUpgradeLevel() -> Set<String> {
+ @objc class func keyPathsForValuesAffectingUpgradeLevel() -> Set<String> {
return ["ship_id"]
}
@objc dynamic var upgradeLevel: Int { return master_ship.afterlv }
- class func keyPathsForValuesAffectingUpgradeExp() -> Set<String> {
+ @objc class func keyPathsForValuesAffectingUpgradeExp() -> Set<String> {
return ["exp"]
}
return true
}
- class func keyPathsForValuesAffectingSteelRequiredInRepair() -> Set<String> {
+ @objc class func keyPathsForValuesAffectingSteelRequiredInRepair() -> Set<String> {
return ["nowhp"]
}
return Int(Double(maxFuel) * 0.06 * Double(maxhp - nowhp))
}
- class func keyPathsForValuesAffectingFuelRequiredInRepair() -> Set<String> {
+ @objc class func keyPathsForValuesAffectingFuelRequiredInRepair() -> Set<String> {
return ["nowhp"]
}
return (0...4).map(slotItemMax).reduce(0, +)
}
- class func keyPathsForValuesAffectingSeiku() -> Set<String> {
+ @objc class func keyPathsForValuesAffectingSeiku() -> Set<String> {
return ["slot_0", "slot_1", "slot_2", "slot_3", "slot_4",
"onslot_0", "onslot_1", "onslot_2", "onslot_3", "onslot_4"]