         
         self.level = level
         
+        if let defeated:Int = snapshotDict[
+            FDbAlgoHostileItem.defeated] as? Int
+        {
+            self.defeated = defeated
+        }
+        else
+        {
+            defeated = kInitialDefeated
+        }
+        
         super.init(snapshot:snapshot)
     }
     
     override func json() -> Any?
     {
         var json:[String:Any] = [
-            FDbAlgoHostileItem.level:level]
+            FDbAlgoHostileItem.level:level,
+            FDbAlgoHostileItem.defeated:defeated]
         
         if let superJson:[String:Any] = super.json() as? [String:Any]
         {

class FDbAlgoHostileItem:FDbAlgoItem
{
    static let level:String = "level"
    
    let level:Int
    
    init(
        latitude:Double,

        level:Int)
    {
        self.level = level
        defeated = kInitialDefeated
        
        super.init(
            latitude:latitude,
