# Java 8, 719 bytes

<!-- language-all: lang-java -->

    u->{String a="______________";return r(" _"+a,"_")+r("||    x         ","|")+r("||     x       /","|")+r("||     /x'.__.' ",":")+r("|| __.'  x      ","|")+r("||'.     /x'---'",":")+r("||x '. /'  x__ _","|")+r("|| |  /.   /x ' ", ":")+r("|| |  | './  x _","|")+r("||/ '/.  /'. // ","|")+r("||__/___/___/_x","(+)")+r("||  x   x   x /","(O)")+r("||x .x'  x.' xx_",":")+r("|| |  | .'x  /  ","|")+r("|| |  x'   x/_._",":")+r("||/ .' x   /    ","|")+r("||.'_   'x/.---.",":")+r("||   '.  / __   ","|")+r("||     x/.'  '. ",":")+r("||     /       x","|")+r("||____/_________",":")+r("|/"+a,"_");}String r(String a,String b){return a.replace("x","\\")+b+(new StringBuffer(a).reverse()+"\n").replace("/","\\").replace("x","/");}

Can definitely be golfed, but it's just a start and something other Java golfers can (try to) beat. ;)

**Explanation:**

[Try it here.](https://tio.run/##bZPBcuMgDIbveQoNF8M4hnsz3cPeNz302HQY7JKtsy72YJzSSfLsqeTFjd1dZrAN4pN@ZOlgjqZoO@sOL3@uVWP6Hn6Z2p1WALUL1u9NZWFLS4DH4Gv3Gyr@UB5sFSCKDe5fVvjYgoN7uA7Fj1M6Ze6ZXgy28TYM3oHnDDTLzZppJnJcnc/kPcI02Jqd55Yvk/rHomImtZYZMXdflnFnouZMJieqKIpszkRAmyJKa1Q3j4ORlBwpoDgwC4SmM4KKgi0gBRkxipyqhQStlZ5mRAPPxe1GEaZJV@UP4iZPRhKH94pRLy47apAZYupb6shhRt6UlgtGAfmBkVgyMtO4k0UlMUFyEQcoQ0ho/d9fpCjleOIbk2LQiWUW/uYglcaNUVNhbC6rzYgr2LYBOuMDtHsIrxbKj2CLqh1cWKVi83yqunX6KMUplZuR3nYNljFnJGG3w0hlzp19TwX9c9jvredG4MGj9b3lImc7x8QNVAlculKk8grQDWVTV9AHE/B1bOsXeMMeSpqensGI1EAffbBvsh2C7NAURhHUblxIJyvuhqYRqaku108)

    u->{                          // Method (1) with unused Object parameter and String return-type
      String a="______________";  //  Temp String we use multiple times
      return r(" _"+a,"_")+r("||    x         ","|")+r("||     x       /","|")+r("||     /x'.__.' ",":")+r("|| __.'  x      ","|")+r("||'.     /x'---'",":")+r("||x '. /'  x__ _","|")+r("|| |  /.   /x ' ", ":")+r("|| |  | './  x _","|")+r("||/ '/.  /'. // ","|")+r("||__/___/___/_x","(+)")+r("||  x   x   x /","(O)")+r("||x .x'  x.' xx_",":")+r("|| |  | .'x  /  ","|")+r("|| |  x'   x/_._",":")+r("||/ .' x   /    ","|")+r("||.'_   'x/.---.",":")+r("||   '.  / __   ","|")+r("||     x/.'  '. ",":")+r("||     /       x","|")+r("||____/_________",":")+r("|/"+a,"_");
                                  //  Return the result
    }                             // End of method (1)
    
    String r(String a,String b){  // Method (2) with two String parameters and String return-type
      return a.replace("x","\\")  //  Return the first halve of the row
             +b                   //   + the middle character(s)
             +(new StringBuffer(a).reverse()+"\n").replace("/","\\").replace("x","/");
                                  //   + the reversed first halve
    }                             //  End of method (2)