# -*- coding: utf-8 -*- # # 救护车(主方块渲染整车 + 透明占位方块提供碰撞) # --------------------------------------------------------------------------- # 支持多个车型(dn_sa:ambulance_car / dn_sa:ambulance_car_broken / dn_sa:ambulance_car_destroyed): # - 每个车型有一套主方块 dn_sa:_main_<0|90|180|270>,各带一个 client_entity, # 渲染「已预先旋转好」的整车几何体(见 models/entity/_geo.json)。 # - 每个车型有一套占位方块 dn_sa:_ph_:全透明(netease_model 指向空白模型), # 每种变体代表一种「格内碰撞盒」,由几何体逐格求交集得到,误差 <= 1/8 格。 # 放置:手持对应物品对着方块右键,按玩家面朝方向选择朝向, # 校验范围内全为空气后放置 1 个主方块 + 若干占位方块。 # 拆除:破坏主方块或任意占位方块,整辆车一起清除并掉落对应物品。 # # 碰撞数据(EXTRA_BY_FACING / CARS)由生成器写入文件末尾,请勿手工修改。 import math import mod.server.extraServerApi as serverApi compFactory = serverApi.GetEngineCompFactory() BLOCK_AIR = "minecraft:air" DEFAULT_ITEM = "dn_sa:ambulance_car" # 兼容旧索引数据的回退车型 # 点击面 -> 法线偏移(0下 1上 2北 3南 4西 5东) FACE_OFFSET = { 0: (0, -1, 0), 1: (0, 1, 0), 2: (0, 0, -1), 3: (0, 0, 1), 4: (-1, 0, 0), 5: (1, 0, 0), } # 世界自定义数据键:{"维度:x,y,z": "物品名|朝向,主方块x,主方块y,主方块z"} INDEX_KEY = "dn_sa_ambulance_index" class AmbulanceServer(serverApi.GetServerSystemCls()): def __init__(self, namespace, name): super(AmbulanceServer, self).__init__(namespace, name) self.levelId = serverApi.GetLevelId() self.ListenForEvent(serverApi.GetEngineNamespace(), serverApi.GetEngineSystemName(), "ServerItemUseOnEvent", self, self.OnItemUseOn) self.ListenForEvent(serverApi.GetEngineNamespace(), serverApi.GetEngineSystemName(), "ServerPlayerTryDestroyBlockEvent", self, self.OnTryDestroy) # ---------- 基础工具 ---------- def _blockComp(self): return compFactory.CreateBlockInfo(self.levelId) def _extraComp(self): return compFactory.CreateExtraData(self.levelId) @staticmethod def _key(dim, x, y, z): return "%d:%d,%d,%d" % (dim, x, y, z) def _getIndex(self): data = self._extraComp().GetExtraData(INDEX_KEY) return data if isinstance(data, dict) else {} def _saveIndex(self, data): self._extraComp().SetExtraData(INDEX_KEY, data, True) def _getBlockName(self, x, y, z, dim): info = self._blockComp().GetBlockNew((x, y, z), dim) if not info: return None return info.get("name") def _setBlock(self, x, y, z, dim, name): # oldBlockHandling=0(替换),isLegacy=True,updateNeighbors=False(省性能) self._blockComp().SetBlockNew((x, y, z), {"name": name, "aux": 0}, 0, dim, True, False) def _facingExtra(self, playerId): """按玩家面朝方向取整车额外 Y 旋转角;失败则回退到 0。""" try: rot = compFactory.CreateRot(playerId).GetRot() yaw = float(rot[1]) % 360.0 except Exception: return 0 quad = (int(math.floor(yaw / 90.0 + 0.5)) % 4) * 90 return EXTRA_BY_FACING.get(quad, 0) @staticmethod def _isOurBlock(fullName): for car in CARS.values(): if fullName.startswith(car["main_prefix"]) or fullName.startswith(car["ph_prefix"]): return True return False @staticmethod def _parseAnchor(val): """'物品名|朝向,ax,ay,az' -> (itemName, extra, ax, ay, az);兼容旧格式。""" if "|" in val: itemName, rest = val.split("|", 1) else: itemName, rest = DEFAULT_ITEM, val p = [int(v) for v in rest.split(",")] return itemName, p[0], p[1], p[2], p[3] # ---------- 放置 ---------- def _footprint(self, itemName, extra, ax, ay, az): """返回 (主方块位置, [(占位位置, 方块名), ...]);车型不存在返回 (None, None)。""" car = CARS.get(itemName) if not car: return None, None cells = car["cells"].get(extra) or {} spots = [((ax + dx, ay + dy, az + dz), nm) for (dx, dy, dz), nm in cells.items()] return (ax, ay, az), spots def OnItemUseOn(self, args): itemDict = args.get("itemDict") or {} itemName = itemDict.get("itemName") if itemName not in CARS: return playerId = args.get("entityId") off = FACE_OFFSET.get(args.get("face", 0)) if not playerId or off is None: return dim = args.get("dimensionId", 0) ax = args.get("x", 0) + off[0] ay = args.get("y", 0) + off[1] az = args.get("z", 0) + off[2] extra = self._facingExtra(playerId) main = CARS[itemName]["main"].get(extra) if not main: return anchor, spots = self._footprint(itemName, extra, ax, ay, az) # 目标范围必须全为空气,否则不放置(避免覆盖已有建筑) for (cx, cy, cz), _nm in spots: if self._getBlockName(cx, cy, cz, dim) != "minecraft:air": return if self._getBlockName(ax, ay, az, dim) != "minecraft:air": return # 放置主方块 + 各格对应的占位方块 self._setBlock(ax, ay, az, dim, main) for (cx, cy, cz), nm in spots: self._setBlock(cx, cy, cz, dim, nm) # 记录每一格对应的「物品名 + 朝向 + 主方块位置」 index = self._getIndex() anchorVal = "%s|%d,%d,%d,%d" % (itemName, extra, ax, ay, az) index[self._key(dim, ax, ay, az)] = anchorVal for (cx, cy, cz), _nm in spots: index[self._key(dim, cx, cy, cz)] = anchorVal self._saveIndex(index) # 消耗 1 个物品,并拦截该物品的默认行为 self._consumeOne(playerId) args["ret"] = True def _consumeOne(self, playerId): itemComp = compFactory.CreateItem(playerId) slotId = itemComp.GetSelectSlotId() itemDict = itemComp.GetPlayerItem(serverApi.GetMinecraftEnum().ItemPosType.INVENTORY, slotId, True) if not itemDict: return count = itemDict.get("count", 1) itemComp.SetInvItemNum(slotId, count - 1 if count > 1 else 0) # ---------- 拆除 ---------- def OnTryDestroy(self, args): fullName = args.get("fullName") or "" if not self._isOurBlock(fullName): return dim = args.get("dimensionId", 0) x = args.get("x", 0) y = args.get("y", 0) z = args.get("z", 0) index = self._getIndex() anchorVal = index.get(self._key(dim, x, y, z)) if not anchorVal: return itemName, extra, ax, ay, az = self._parseAnchor(anchorVal) car = CARS.get(itemName) anchor, spots = self._footprint(itemName, extra, ax, ay, az) if not car or anchor is None: return # 移除本车所有方块(仅清除仍属于本车型的格子,避免误伤其他建筑) positions = [anchor] + [pos for pos, _nm in spots] for (cx, cy, cz) in positions: bn = self._getBlockName(cx, cy, cz, dim) or "" if bn.startswith(car["main_prefix"]) or bn.startswith(car["ph_prefix"]): self._setBlock(cx, cy, cz, dim, BLOCK_AIR) index.pop(self._key(dim, cx, cy, cz), None) self._saveIndex(index) # 拦截破坏:占位方块不掉落,改掉对应车型本体物品 args["cancel"] = True args["spawnResources"] = False self._giveItem(args.get("playerId"), itemName) def _giveItem(self, playerId, itemName): if not playerId: return itemDict = {"itemName": itemName, "count": 1, "auxValue": 0} compFactory.CreateItem(playerId).SpawnItemToPlayerInv(itemDict, playerId, -1) # ==== AUTO-GENERATED LAYOUT DATA (by _gen_amb.py, do not edit) ==== # 玩家朝向象限(0=南+Z,90=西-X,180=北-Z,270=东+X) -> 车体额外 Y 旋转角 EXTRA_BY_FACING = { 0: 90, 90: 0, 180: 270, 270: 180, } # 物品名 -> 车型数据 CARS = {} CARS['dn_sa:ambulance_car'] = { 'main_prefix': 'dn_sa:ambulance_car_main', 'ph_prefix': 'dn_sa:ambulance_car_ph_', 'main': { 0: 'dn_sa:ambulance_car_main_0', 90: 'dn_sa:ambulance_car_main_90', 180: 'dn_sa:ambulance_car_main_180', 270: 'dn_sa:ambulance_car_main_270', }, 'cells': { 0: { (-3, 0, -1): 'dn_sa:ambulance_car_ph_62', (-3, 0, 0): 'dn_sa:ambulance_car_ph_61', (-3, 0, 1): 'dn_sa:ambulance_car_ph_60', (-3, 1, -1): 'dn_sa:ambulance_car_ph_66', (-3, 1, 0): 'dn_sa:ambulance_car_ph_65', (-3, 1, 1): 'dn_sa:ambulance_car_ph_64', (-2, 0, -1): 'dn_sa:ambulance_car_ph_23', (-2, 0, 0): 'dn_sa:ambulance_car_ph_36', (-2, 0, 1): 'dn_sa:ambulance_car_ph_16', (-2, 1, -2): 'dn_sa:ambulance_car_ph_70', (-2, 1, -1): 'dn_sa:ambulance_car_ph_17', (-2, 1, 0): 'dn_sa:ambulance_car_ph_17', (-2, 1, 1): 'dn_sa:ambulance_car_ph_17', (-2, 1, 2): 'dn_sa:ambulance_car_ph_69', (-2, 2, -2): 'dn_sa:ambulance_car_ph_68', (-2, 2, 2): 'dn_sa:ambulance_car_ph_67', (-1, 0, -1): 'dn_sa:ambulance_car_ph_23', (-1, 0, 0): 'dn_sa:ambulance_car_ph_36', (-1, 0, 1): 'dn_sa:ambulance_car_ph_16', (-1, 1, -1): 'dn_sa:ambulance_car_ph_17', (-1, 1, 0): 'dn_sa:ambulance_car_ph_17', (-1, 1, 1): 'dn_sa:ambulance_car_ph_17', (-1, 2, -1): 'dn_sa:ambulance_car_ph_17', (-1, 2, 0): 'dn_sa:ambulance_car_ph_17', (-1, 2, 1): 'dn_sa:ambulance_car_ph_17', (0, 0, -1): 'dn_sa:ambulance_car_ph_38', (0, 0, 1): 'dn_sa:ambulance_car_ph_35', (0, 1, -1): 'dn_sa:ambulance_car_ph_23', (0, 1, 0): 'dn_sa:ambulance_car_ph_17', (0, 1, 1): 'dn_sa:ambulance_car_ph_16', (0, 2, -1): 'dn_sa:ambulance_car_ph_23', (0, 2, 0): 'dn_sa:ambulance_car_ph_17', (0, 2, 1): 'dn_sa:ambulance_car_ph_16', (0, 3, -1): 'dn_sa:ambulance_car_ph_49', (0, 3, 0): 'dn_sa:ambulance_car_ph_45', (0, 3, 1): 'dn_sa:ambulance_car_ph_44', (1, 0, -1): 'dn_sa:ambulance_car_ph_23', (1, 0, 0): 'dn_sa:ambulance_car_ph_36', (1, 0, 1): 'dn_sa:ambulance_car_ph_16', (1, 1, -1): 'dn_sa:ambulance_car_ph_23', (1, 1, 0): 'dn_sa:ambulance_car_ph_17', (1, 1, 1): 'dn_sa:ambulance_car_ph_16', (1, 2, -1): 'dn_sa:ambulance_car_ph_23', (1, 2, 0): 'dn_sa:ambulance_car_ph_17', (1, 2, 1): 'dn_sa:ambulance_car_ph_16', (1, 3, -1): 'dn_sa:ambulance_car_ph_22', (1, 3, 0): 'dn_sa:ambulance_car_ph_14', (1, 3, 1): 'dn_sa:ambulance_car_ph_13', (2, 0, -1): 'dn_sa:ambulance_car_ph_23', (2, 0, 0): 'dn_sa:ambulance_car_ph_36', (2, 0, 1): 'dn_sa:ambulance_car_ph_16', (2, 1, -1): 'dn_sa:ambulance_car_ph_23', (2, 1, 0): 'dn_sa:ambulance_car_ph_17', (2, 1, 1): 'dn_sa:ambulance_car_ph_16', (2, 2, -1): 'dn_sa:ambulance_car_ph_23', (2, 2, 0): 'dn_sa:ambulance_car_ph_17', (2, 2, 1): 'dn_sa:ambulance_car_ph_16', (2, 3, -1): 'dn_sa:ambulance_car_ph_22', (2, 3, 0): 'dn_sa:ambulance_car_ph_14', (2, 3, 1): 'dn_sa:ambulance_car_ph_13', (3, 0, -1): 'dn_sa:ambulance_car_ph_37', (3, 0, 0): 'dn_sa:ambulance_car_ph_31', (3, 0, 1): 'dn_sa:ambulance_car_ph_30', (3, 1, -1): 'dn_sa:ambulance_car_ph_18', (3, 1, 0): 'dn_sa:ambulance_car_ph_03', (3, 1, 1): 'dn_sa:ambulance_car_ph_02', (3, 2, -1): 'dn_sa:ambulance_car_ph_20', (3, 2, 0): 'dn_sa:ambulance_car_ph_03', (3, 2, 1): 'dn_sa:ambulance_car_ph_05', (3, 3, -1): 'dn_sa:ambulance_car_ph_19', (3, 3, 0): 'dn_sa:ambulance_car_ph_01', (3, 3, 1): 'dn_sa:ambulance_car_ph_04', }, 90: { (-2, 1, 2): 'dn_sa:ambulance_car_ph_69', (-2, 2, 2): 'dn_sa:ambulance_car_ph_67', (-1, 0, -3): 'dn_sa:ambulance_car_ph_55', (-1, 0, -2): 'dn_sa:ambulance_car_ph_48', (-1, 0, -1): 'dn_sa:ambulance_car_ph_48', (-1, 0, 0): 'dn_sa:ambulance_car_ph_54', (-1, 0, 1): 'dn_sa:ambulance_car_ph_48', (-1, 0, 2): 'dn_sa:ambulance_car_ph_48', (-1, 0, 3): 'dn_sa:ambulance_car_ph_53', (-1, 1, -3): 'dn_sa:ambulance_car_ph_52', (-1, 1, -2): 'dn_sa:ambulance_car_ph_48', (-1, 1, -1): 'dn_sa:ambulance_car_ph_48', (-1, 1, 0): 'dn_sa:ambulance_car_ph_48', (-1, 1, 1): 'dn_sa:ambulance_car_ph_17', (-1, 1, 2): 'dn_sa:ambulance_car_ph_17', (-1, 1, 3): 'dn_sa:ambulance_car_ph_46', (-1, 2, -3): 'dn_sa:ambulance_car_ph_51', (-1, 2, -2): 'dn_sa:ambulance_car_ph_48', (-1, 2, -1): 'dn_sa:ambulance_car_ph_48', (-1, 2, 0): 'dn_sa:ambulance_car_ph_48', (-1, 2, 1): 'dn_sa:ambulance_car_ph_17', (-1, 3, -3): 'dn_sa:ambulance_car_ph_50', (-1, 3, -2): 'dn_sa:ambulance_car_ph_45', (-1, 3, -1): 'dn_sa:ambulance_car_ph_45', (-1, 3, 0): 'dn_sa:ambulance_car_ph_44', (0, 0, -3): 'dn_sa:ambulance_car_ph_40', (0, 0, -2): 'dn_sa:ambulance_car_ph_36', (0, 0, -1): 'dn_sa:ambulance_car_ph_36', (0, 0, 1): 'dn_sa:ambulance_car_ph_36', (0, 0, 2): 'dn_sa:ambulance_car_ph_36', (0, 0, 3): 'dn_sa:ambulance_car_ph_34', (0, 1, -3): 'dn_sa:ambulance_car_ph_28', (0, 1, -2): 'dn_sa:ambulance_car_ph_17', (0, 1, -1): 'dn_sa:ambulance_car_ph_17', (0, 1, 0): 'dn_sa:ambulance_car_ph_17', (0, 1, 1): 'dn_sa:ambulance_car_ph_17', (0, 1, 2): 'dn_sa:ambulance_car_ph_17', (0, 1, 3): 'dn_sa:ambulance_car_ph_15', (0, 2, -3): 'dn_sa:ambulance_car_ph_28', (0, 2, -2): 'dn_sa:ambulance_car_ph_17', (0, 2, -1): 'dn_sa:ambulance_car_ph_17', (0, 2, 0): 'dn_sa:ambulance_car_ph_17', (0, 2, 1): 'dn_sa:ambulance_car_ph_17', (0, 3, -3): 'dn_sa:ambulance_car_ph_27', (0, 3, -2): 'dn_sa:ambulance_car_ph_14', (0, 3, -1): 'dn_sa:ambulance_car_ph_14', (0, 3, 0): 'dn_sa:ambulance_car_ph_13', (1, 0, -3): 'dn_sa:ambulance_car_ph_39', (1, 0, -2): 'dn_sa:ambulance_car_ph_11', (1, 0, -1): 'dn_sa:ambulance_car_ph_11', (1, 0, 0): 'dn_sa:ambulance_car_ph_33', (1, 0, 1): 'dn_sa:ambulance_car_ph_11', (1, 0, 2): 'dn_sa:ambulance_car_ph_11', (1, 0, 3): 'dn_sa:ambulance_car_ph_32', (1, 1, -3): 'dn_sa:ambulance_car_ph_26', (1, 1, -2): 'dn_sa:ambulance_car_ph_11', (1, 1, -1): 'dn_sa:ambulance_car_ph_11', (1, 1, 0): 'dn_sa:ambulance_car_ph_11', (1, 1, 1): 'dn_sa:ambulance_car_ph_17', (1, 1, 2): 'dn_sa:ambulance_car_ph_17', (1, 1, 3): 'dn_sa:ambulance_car_ph_09', (1, 2, -3): 'dn_sa:ambulance_car_ph_25', (1, 2, -2): 'dn_sa:ambulance_car_ph_11', (1, 2, -1): 'dn_sa:ambulance_car_ph_11', (1, 2, 0): 'dn_sa:ambulance_car_ph_11', (1, 2, 1): 'dn_sa:ambulance_car_ph_17', (1, 3, -3): 'dn_sa:ambulance_car_ph_24', (1, 3, -2): 'dn_sa:ambulance_car_ph_08', (1, 3, -1): 'dn_sa:ambulance_car_ph_08', (1, 3, 0): 'dn_sa:ambulance_car_ph_07', (2, 1, 2): 'dn_sa:ambulance_car_ph_41', (2, 2, 2): 'dn_sa:ambulance_car_ph_00', }, 180: { (-3, 0, -1): 'dn_sa:ambulance_car_ph_62', (-3, 0, 0): 'dn_sa:ambulance_car_ph_61', (-3, 0, 1): 'dn_sa:ambulance_car_ph_60', (-3, 1, -1): 'dn_sa:ambulance_car_ph_66', (-3, 1, 0): 'dn_sa:ambulance_car_ph_65', (-3, 1, 1): 'dn_sa:ambulance_car_ph_64', (-3, 2, -1): 'dn_sa:ambulance_car_ph_59', (-3, 2, 0): 'dn_sa:ambulance_car_ph_65', (-3, 2, 1): 'dn_sa:ambulance_car_ph_57', (-3, 3, -1): 'dn_sa:ambulance_car_ph_58', (-3, 3, 0): 'dn_sa:ambulance_car_ph_63', (-3, 3, 1): 'dn_sa:ambulance_car_ph_56', (-2, 0, -1): 'dn_sa:ambulance_car_ph_23', (-2, 0, 0): 'dn_sa:ambulance_car_ph_36', (-2, 0, 1): 'dn_sa:ambulance_car_ph_16', (-2, 1, -1): 'dn_sa:ambulance_car_ph_23', (-2, 1, 0): 'dn_sa:ambulance_car_ph_17', (-2, 1, 1): 'dn_sa:ambulance_car_ph_16', (-2, 2, -1): 'dn_sa:ambulance_car_ph_23', (-2, 2, 0): 'dn_sa:ambulance_car_ph_17', (-2, 2, 1): 'dn_sa:ambulance_car_ph_16', (-2, 3, -1): 'dn_sa:ambulance_car_ph_22', (-2, 3, 0): 'dn_sa:ambulance_car_ph_14', (-2, 3, 1): 'dn_sa:ambulance_car_ph_13', (-1, 0, -1): 'dn_sa:ambulance_car_ph_23', (-1, 0, 0): 'dn_sa:ambulance_car_ph_36', (-1, 0, 1): 'dn_sa:ambulance_car_ph_16', (-1, 1, -1): 'dn_sa:ambulance_car_ph_23', (-1, 1, 0): 'dn_sa:ambulance_car_ph_17', (-1, 1, 1): 'dn_sa:ambulance_car_ph_16', (-1, 2, -1): 'dn_sa:ambulance_car_ph_23', (-1, 2, 0): 'dn_sa:ambulance_car_ph_17', (-1, 2, 1): 'dn_sa:ambulance_car_ph_16', (-1, 3, -1): 'dn_sa:ambulance_car_ph_22', (-1, 3, 0): 'dn_sa:ambulance_car_ph_14', (-1, 3, 1): 'dn_sa:ambulance_car_ph_13', (0, 0, -1): 'dn_sa:ambulance_car_ph_38', (0, 0, 1): 'dn_sa:ambulance_car_ph_35', (0, 1, -1): 'dn_sa:ambulance_car_ph_23', (0, 1, 0): 'dn_sa:ambulance_car_ph_17', (0, 1, 1): 'dn_sa:ambulance_car_ph_16', (0, 2, -1): 'dn_sa:ambulance_car_ph_23', (0, 2, 0): 'dn_sa:ambulance_car_ph_17', (0, 2, 1): 'dn_sa:ambulance_car_ph_16', (0, 3, -1): 'dn_sa:ambulance_car_ph_21', (0, 3, 0): 'dn_sa:ambulance_car_ph_08', (0, 3, 1): 'dn_sa:ambulance_car_ph_07', (1, 0, -1): 'dn_sa:ambulance_car_ph_23', (1, 0, 0): 'dn_sa:ambulance_car_ph_36', (1, 0, 1): 'dn_sa:ambulance_car_ph_16', (1, 1, -1): 'dn_sa:ambulance_car_ph_17', (1, 1, 0): 'dn_sa:ambulance_car_ph_17', (1, 1, 1): 'dn_sa:ambulance_car_ph_17', (1, 2, -1): 'dn_sa:ambulance_car_ph_17', (1, 2, 0): 'dn_sa:ambulance_car_ph_17', (1, 2, 1): 'dn_sa:ambulance_car_ph_17', (2, 0, -1): 'dn_sa:ambulance_car_ph_23', (2, 0, 0): 'dn_sa:ambulance_car_ph_36', (2, 0, 1): 'dn_sa:ambulance_car_ph_16', (2, 1, -2): 'dn_sa:ambulance_car_ph_42', (2, 1, -1): 'dn_sa:ambulance_car_ph_17', (2, 1, 0): 'dn_sa:ambulance_car_ph_17', (2, 1, 1): 'dn_sa:ambulance_car_ph_17', (2, 1, 2): 'dn_sa:ambulance_car_ph_41', (2, 2, -2): 'dn_sa:ambulance_car_ph_29', (2, 2, 2): 'dn_sa:ambulance_car_ph_00', (3, 0, -1): 'dn_sa:ambulance_car_ph_37', (3, 0, 0): 'dn_sa:ambulance_car_ph_31', (3, 0, 1): 'dn_sa:ambulance_car_ph_30', (3, 1, -1): 'dn_sa:ambulance_car_ph_18', (3, 1, 0): 'dn_sa:ambulance_car_ph_03', (3, 1, 1): 'dn_sa:ambulance_car_ph_02', }, 270: { (-2, 1, -2): 'dn_sa:ambulance_car_ph_70', (-2, 2, -2): 'dn_sa:ambulance_car_ph_68', (-1, 0, -3): 'dn_sa:ambulance_car_ph_55', (-1, 0, -2): 'dn_sa:ambulance_car_ph_48', (-1, 0, -1): 'dn_sa:ambulance_car_ph_48', (-1, 0, 0): 'dn_sa:ambulance_car_ph_54', (-1, 0, 1): 'dn_sa:ambulance_car_ph_48', (-1, 0, 2): 'dn_sa:ambulance_car_ph_48', (-1, 0, 3): 'dn_sa:ambulance_car_ph_53', (-1, 1, -3): 'dn_sa:ambulance_car_ph_52', (-1, 1, -2): 'dn_sa:ambulance_car_ph_17', (-1, 1, -1): 'dn_sa:ambulance_car_ph_17', (-1, 1, 0): 'dn_sa:ambulance_car_ph_48', (-1, 1, 1): 'dn_sa:ambulance_car_ph_48', (-1, 1, 2): 'dn_sa:ambulance_car_ph_48', (-1, 1, 3): 'dn_sa:ambulance_car_ph_46', (-1, 2, -1): 'dn_sa:ambulance_car_ph_17', (-1, 2, 0): 'dn_sa:ambulance_car_ph_48', (-1, 2, 1): 'dn_sa:ambulance_car_ph_48', (-1, 2, 2): 'dn_sa:ambulance_car_ph_48', (-1, 2, 3): 'dn_sa:ambulance_car_ph_47', (-1, 3, 0): 'dn_sa:ambulance_car_ph_49', (-1, 3, 1): 'dn_sa:ambulance_car_ph_45', (-1, 3, 2): 'dn_sa:ambulance_car_ph_45', (-1, 3, 3): 'dn_sa:ambulance_car_ph_43', (0, 0, -3): 'dn_sa:ambulance_car_ph_40', (0, 0, -2): 'dn_sa:ambulance_car_ph_36', (0, 0, -1): 'dn_sa:ambulance_car_ph_36', (0, 0, 1): 'dn_sa:ambulance_car_ph_36', (0, 0, 2): 'dn_sa:ambulance_car_ph_36', (0, 0, 3): 'dn_sa:ambulance_car_ph_34', (0, 1, -3): 'dn_sa:ambulance_car_ph_28', (0, 1, -2): 'dn_sa:ambulance_car_ph_17', (0, 1, -1): 'dn_sa:ambulance_car_ph_17', (0, 1, 0): 'dn_sa:ambulance_car_ph_17', (0, 1, 1): 'dn_sa:ambulance_car_ph_17', (0, 1, 2): 'dn_sa:ambulance_car_ph_17', (0, 1, 3): 'dn_sa:ambulance_car_ph_15', (0, 2, -1): 'dn_sa:ambulance_car_ph_17', (0, 2, 0): 'dn_sa:ambulance_car_ph_17', (0, 2, 1): 'dn_sa:ambulance_car_ph_17', (0, 2, 2): 'dn_sa:ambulance_car_ph_17', (0, 2, 3): 'dn_sa:ambulance_car_ph_15', (0, 3, 0): 'dn_sa:ambulance_car_ph_22', (0, 3, 1): 'dn_sa:ambulance_car_ph_14', (0, 3, 2): 'dn_sa:ambulance_car_ph_14', (0, 3, 3): 'dn_sa:ambulance_car_ph_12', (1, 0, -3): 'dn_sa:ambulance_car_ph_39', (1, 0, -2): 'dn_sa:ambulance_car_ph_11', (1, 0, -1): 'dn_sa:ambulance_car_ph_11', (1, 0, 0): 'dn_sa:ambulance_car_ph_33', (1, 0, 1): 'dn_sa:ambulance_car_ph_11', (1, 0, 2): 'dn_sa:ambulance_car_ph_11', (1, 0, 3): 'dn_sa:ambulance_car_ph_32', (1, 1, -3): 'dn_sa:ambulance_car_ph_26', (1, 1, -2): 'dn_sa:ambulance_car_ph_17', (1, 1, -1): 'dn_sa:ambulance_car_ph_17', (1, 1, 0): 'dn_sa:ambulance_car_ph_11', (1, 1, 1): 'dn_sa:ambulance_car_ph_11', (1, 1, 2): 'dn_sa:ambulance_car_ph_11', (1, 1, 3): 'dn_sa:ambulance_car_ph_09', (1, 2, -1): 'dn_sa:ambulance_car_ph_17', (1, 2, 0): 'dn_sa:ambulance_car_ph_11', (1, 2, 1): 'dn_sa:ambulance_car_ph_11', (1, 2, 2): 'dn_sa:ambulance_car_ph_11', (1, 2, 3): 'dn_sa:ambulance_car_ph_10', (1, 3, 0): 'dn_sa:ambulance_car_ph_21', (1, 3, 1): 'dn_sa:ambulance_car_ph_08', (1, 3, 2): 'dn_sa:ambulance_car_ph_08', (1, 3, 3): 'dn_sa:ambulance_car_ph_06', (2, 1, -2): 'dn_sa:ambulance_car_ph_42', (2, 2, -2): 'dn_sa:ambulance_car_ph_29', }, }, } CARS['dn_sa:ambulance_car_broken'] = { 'main_prefix': 'dn_sa:ambulance_car_broken_main', 'ph_prefix': 'dn_sa:ambulance_car_broken_ph_', 'main': { 0: 'dn_sa:ambulance_car_broken_main_0', 90: 'dn_sa:ambulance_car_broken_main_90', 180: 'dn_sa:ambulance_car_broken_main_180', 270: 'dn_sa:ambulance_car_broken_main_270', }, 'cells': { 0: { (-3, 0, -1): 'dn_sa:ambulance_car_broken_ph_21', (-3, 0, 0): 'dn_sa:ambulance_car_broken_ph_45', (-3, 0, 1): 'dn_sa:ambulance_car_broken_ph_33', (-3, 1, -1): 'dn_sa:ambulance_car_broken_ph_53', (-3, 1, 0): 'dn_sa:ambulance_car_broken_ph_52', (-3, 1, 1): 'dn_sa:ambulance_car_broken_ph_51', (-2, 0, -1): 'dn_sa:ambulance_car_broken_ph_21', (-2, 0, 0): 'dn_sa:ambulance_car_broken_ph_45', (-2, 0, 1): 'dn_sa:ambulance_car_broken_ph_16', (-2, 1, -2): 'dn_sa:ambulance_car_broken_ph_76', (-2, 1, -1): 'dn_sa:ambulance_car_broken_ph_18', (-2, 1, 0): 'dn_sa:ambulance_car_broken_ph_18', (-2, 1, 1): 'dn_sa:ambulance_car_broken_ph_18', (-2, 1, 2): 'dn_sa:ambulance_car_broken_ph_75', (-2, 2, -2): 'dn_sa:ambulance_car_broken_ph_73', (-2, 2, 2): 'dn_sa:ambulance_car_broken_ph_70', (-1, 0, -1): 'dn_sa:ambulance_car_broken_ph_46', (-1, 0, 0): 'dn_sa:ambulance_car_broken_ph_45', (-1, 0, 1): 'dn_sa:ambulance_car_broken_ph_43', (-1, 1, -1): 'dn_sa:ambulance_car_broken_ph_21', (-1, 1, 0): 'dn_sa:ambulance_car_broken_ph_18', (-1, 1, 1): 'dn_sa:ambulance_car_broken_ph_16', (-1, 2, -1): 'dn_sa:ambulance_car_broken_ph_27', (-1, 2, 0): 'dn_sa:ambulance_car_broken_ph_18', (-1, 2, 1): 'dn_sa:ambulance_car_broken_ph_16', (0, 0, -1): 'dn_sa:ambulance_car_broken_ph_46', (0, 0, 1): 'dn_sa:ambulance_car_broken_ph_43', (0, 1, -1): 'dn_sa:ambulance_car_broken_ph_21', (0, 1, 0): 'dn_sa:ambulance_car_broken_ph_18', (0, 1, 1): 'dn_sa:ambulance_car_broken_ph_16', (0, 2, -1): 'dn_sa:ambulance_car_broken_ph_27', (0, 2, 0): 'dn_sa:ambulance_car_broken_ph_18', (0, 2, 1): 'dn_sa:ambulance_car_broken_ph_17', (0, 3, -1): 'dn_sa:ambulance_car_broken_ph_26', (0, 3, 0): 'dn_sa:ambulance_car_broken_ph_14', (0, 3, 1): 'dn_sa:ambulance_car_broken_ph_13', (1, 0, -1): 'dn_sa:ambulance_car_broken_ph_18', (1, 0, 0): 'dn_sa:ambulance_car_broken_ph_38', (1, 0, 1): 'dn_sa:ambulance_car_broken_ph_16', (1, 1, -1): 'dn_sa:ambulance_car_broken_ph_21', (1, 1, 0): 'dn_sa:ambulance_car_broken_ph_18', (1, 1, 1): 'dn_sa:ambulance_car_broken_ph_16', (1, 2, -1): 'dn_sa:ambulance_car_broken_ph_27', (1, 2, 0): 'dn_sa:ambulance_car_broken_ph_18', (1, 2, 1): 'dn_sa:ambulance_car_broken_ph_17', (1, 3, -1): 'dn_sa:ambulance_car_broken_ph_26', (1, 3, 0): 'dn_sa:ambulance_car_broken_ph_14', (1, 3, 1): 'dn_sa:ambulance_car_broken_ph_13', (2, 0, -1): 'dn_sa:ambulance_car_broken_ph_18', (2, 0, 0): 'dn_sa:ambulance_car_broken_ph_38', (2, 0, 1): 'dn_sa:ambulance_car_broken_ph_16', (2, 1, -1): 'dn_sa:ambulance_car_broken_ph_27', (2, 1, 0): 'dn_sa:ambulance_car_broken_ph_18', (2, 1, 1): 'dn_sa:ambulance_car_broken_ph_16', (2, 2, -1): 'dn_sa:ambulance_car_broken_ph_27', (2, 2, 0): 'dn_sa:ambulance_car_broken_ph_18', (2, 2, 1): 'dn_sa:ambulance_car_broken_ph_17', (2, 3, -1): 'dn_sa:ambulance_car_broken_ph_26', (2, 3, 0): 'dn_sa:ambulance_car_broken_ph_14', (2, 3, 1): 'dn_sa:ambulance_car_broken_ph_12', (3, 0, -1): 'dn_sa:ambulance_car_broken_ph_39', (3, 0, 0): 'dn_sa:ambulance_car_broken_ph_38', (3, 0, 1): 'dn_sa:ambulance_car_broken_ph_37', (3, 1, -1): 'dn_sa:ambulance_car_broken_ph_24', (3, 1, 0): 'dn_sa:ambulance_car_broken_ph_18', (3, 1, 1): 'dn_sa:ambulance_car_broken_ph_16', (3, 2, -1): 'dn_sa:ambulance_car_broken_ph_24', (3, 2, 0): 'dn_sa:ambulance_car_broken_ph_02', (3, 2, 1): 'dn_sa:ambulance_car_broken_ph_16', (3, 3, -1): 'dn_sa:ambulance_car_broken_ph_23', (3, 3, 0): 'dn_sa:ambulance_car_broken_ph_01', (3, 3, 1): 'dn_sa:ambulance_car_broken_ph_00', }, 90: { (-2, 1, 2): 'dn_sa:ambulance_car_broken_ph_83', (-2, 2, 2): 'dn_sa:ambulance_car_broken_ph_80', (-1, 0, -3): 'dn_sa:ambulance_car_broken_ph_54', (-1, 0, -2): 'dn_sa:ambulance_car_broken_ph_18', (-1, 0, -1): 'dn_sa:ambulance_car_broken_ph_18', (-1, 0, 0): 'dn_sa:ambulance_car_broken_ph_55', (-1, 0, 1): 'dn_sa:ambulance_car_broken_ph_55', (-1, 0, 2): 'dn_sa:ambulance_car_broken_ph_52', (-1, 0, 3): 'dn_sa:ambulance_car_broken_ph_52', (-1, 1, -3): 'dn_sa:ambulance_car_broken_ph_62', (-1, 1, -2): 'dn_sa:ambulance_car_broken_ph_60', (-1, 1, -1): 'dn_sa:ambulance_car_broken_ph_52', (-1, 1, 0): 'dn_sa:ambulance_car_broken_ph_52', (-1, 1, 1): 'dn_sa:ambulance_car_broken_ph_52', (-1, 1, 2): 'dn_sa:ambulance_car_broken_ph_18', (-1, 1, 3): 'dn_sa:ambulance_car_broken_ph_59', (-1, 2, -3): 'dn_sa:ambulance_car_broken_ph_62', (-1, 2, -2): 'dn_sa:ambulance_car_broken_ph_60', (-1, 2, -1): 'dn_sa:ambulance_car_broken_ph_60', (-1, 2, 0): 'dn_sa:ambulance_car_broken_ph_60', (-1, 2, 1): 'dn_sa:ambulance_car_broken_ph_60', (-1, 3, -3): 'dn_sa:ambulance_car_broken_ph_63', (-1, 3, -2): 'dn_sa:ambulance_car_broken_ph_58', (-1, 3, -1): 'dn_sa:ambulance_car_broken_ph_58', (-1, 3, 0): 'dn_sa:ambulance_car_broken_ph_58', (0, 0, -3): 'dn_sa:ambulance_car_broken_ph_38', (0, 0, -2): 'dn_sa:ambulance_car_broken_ph_38', (0, 0, -1): 'dn_sa:ambulance_car_broken_ph_38', (0, 0, 1): 'dn_sa:ambulance_car_broken_ph_45', (0, 0, 2): 'dn_sa:ambulance_car_broken_ph_45', (0, 0, 3): 'dn_sa:ambulance_car_broken_ph_45', (0, 1, -3): 'dn_sa:ambulance_car_broken_ph_18', (0, 1, -2): 'dn_sa:ambulance_car_broken_ph_18', (0, 1, -1): 'dn_sa:ambulance_car_broken_ph_18', (0, 1, 0): 'dn_sa:ambulance_car_broken_ph_18', (0, 1, 1): 'dn_sa:ambulance_car_broken_ph_18', (0, 1, 2): 'dn_sa:ambulance_car_broken_ph_18', (0, 1, 3): 'dn_sa:ambulance_car_broken_ph_17', (0, 2, -3): 'dn_sa:ambulance_car_broken_ph_29', (0, 2, -2): 'dn_sa:ambulance_car_broken_ph_18', (0, 2, -1): 'dn_sa:ambulance_car_broken_ph_18', (0, 2, 0): 'dn_sa:ambulance_car_broken_ph_18', (0, 2, 1): 'dn_sa:ambulance_car_broken_ph_18', (0, 3, -3): 'dn_sa:ambulance_car_broken_ph_30', (0, 3, -2): 'dn_sa:ambulance_car_broken_ph_14', (0, 3, -1): 'dn_sa:ambulance_car_broken_ph_14', (0, 3, 0): 'dn_sa:ambulance_car_broken_ph_14', (1, 0, -3): 'dn_sa:ambulance_car_broken_ph_35', (1, 0, -2): 'dn_sa:ambulance_car_broken_ph_07', (1, 0, -1): 'dn_sa:ambulance_car_broken_ph_07', (1, 0, 0): 'dn_sa:ambulance_car_broken_ph_41', (1, 0, 1): 'dn_sa:ambulance_car_broken_ph_41', (1, 0, 2): 'dn_sa:ambulance_car_broken_ph_07', (1, 0, 3): 'dn_sa:ambulance_car_broken_ph_32', (1, 1, -3): 'dn_sa:ambulance_car_broken_ph_07', (1, 1, -2): 'dn_sa:ambulance_car_broken_ph_07', (1, 1, -1): 'dn_sa:ambulance_car_broken_ph_07', (1, 1, 0): 'dn_sa:ambulance_car_broken_ph_07', (1, 1, 1): 'dn_sa:ambulance_car_broken_ph_07', (1, 1, 2): 'dn_sa:ambulance_car_broken_ph_18', (1, 1, 3): 'dn_sa:ambulance_car_broken_ph_06', (1, 2, -3): 'dn_sa:ambulance_car_broken_ph_07', (1, 2, -2): 'dn_sa:ambulance_car_broken_ph_10', (1, 2, -1): 'dn_sa:ambulance_car_broken_ph_10', (1, 2, 0): 'dn_sa:ambulance_car_broken_ph_10', (1, 2, 1): 'dn_sa:ambulance_car_broken_ph_07', (1, 3, -3): 'dn_sa:ambulance_car_broken_ph_31', (1, 3, -2): 'dn_sa:ambulance_car_broken_ph_04', (1, 3, -1): 'dn_sa:ambulance_car_broken_ph_08', (1, 3, 0): 'dn_sa:ambulance_car_broken_ph_08', (2, 1, 2): 'dn_sa:ambulance_car_broken_ph_48', (2, 2, 2): 'dn_sa:ambulance_car_broken_ph_22', }, 180: { (-3, 0, -1): 'dn_sa:ambulance_car_broken_ph_40', (-3, 0, 0): 'dn_sa:ambulance_car_broken_ph_38', (-3, 0, 1): 'dn_sa:ambulance_car_broken_ph_74', (-3, 1, -1): 'dn_sa:ambulance_car_broken_ph_27', (-3, 1, 0): 'dn_sa:ambulance_car_broken_ph_18', (-3, 1, 1): 'dn_sa:ambulance_car_broken_ph_71', (-3, 2, -1): 'dn_sa:ambulance_car_broken_ph_27', (-3, 2, 0): 'dn_sa:ambulance_car_broken_ph_72', (-3, 2, 1): 'dn_sa:ambulance_car_broken_ph_71', (-3, 3, -1): 'dn_sa:ambulance_car_broken_ph_79', (-3, 3, 0): 'dn_sa:ambulance_car_broken_ph_78', (-3, 3, 1): 'dn_sa:ambulance_car_broken_ph_77', (-2, 0, -1): 'dn_sa:ambulance_car_broken_ph_27', (-2, 0, 0): 'dn_sa:ambulance_car_broken_ph_38', (-2, 0, 1): 'dn_sa:ambulance_car_broken_ph_18', (-2, 1, -1): 'dn_sa:ambulance_car_broken_ph_27', (-2, 1, 0): 'dn_sa:ambulance_car_broken_ph_18', (-2, 1, 1): 'dn_sa:ambulance_car_broken_ph_16', (-2, 2, -1): 'dn_sa:ambulance_car_broken_ph_21', (-2, 2, 0): 'dn_sa:ambulance_car_broken_ph_18', (-2, 2, 1): 'dn_sa:ambulance_car_broken_ph_16', (-2, 3, -1): 'dn_sa:ambulance_car_broken_ph_26', (-2, 3, 0): 'dn_sa:ambulance_car_broken_ph_14', (-2, 3, 1): 'dn_sa:ambulance_car_broken_ph_12', (-1, 0, -1): 'dn_sa:ambulance_car_broken_ph_27', (-1, 0, 0): 'dn_sa:ambulance_car_broken_ph_38', (-1, 0, 1): 'dn_sa:ambulance_car_broken_ph_18', (-1, 1, -1): 'dn_sa:ambulance_car_broken_ph_27', (-1, 1, 0): 'dn_sa:ambulance_car_broken_ph_18', (-1, 1, 1): 'dn_sa:ambulance_car_broken_ph_17', (-1, 2, -1): 'dn_sa:ambulance_car_broken_ph_21', (-1, 2, 0): 'dn_sa:ambulance_car_broken_ph_18', (-1, 2, 1): 'dn_sa:ambulance_car_broken_ph_16', (-1, 3, -1): 'dn_sa:ambulance_car_broken_ph_20', (-1, 3, 0): 'dn_sa:ambulance_car_broken_ph_14', (-1, 3, 1): 'dn_sa:ambulance_car_broken_ph_12', (0, 0, -1): 'dn_sa:ambulance_car_broken_ph_47', (0, 0, 1): 'dn_sa:ambulance_car_broken_ph_44', (0, 1, -1): 'dn_sa:ambulance_car_broken_ph_27', (0, 1, 0): 'dn_sa:ambulance_car_broken_ph_18', (0, 1, 1): 'dn_sa:ambulance_car_broken_ph_17', (0, 2, -1): 'dn_sa:ambulance_car_broken_ph_21', (0, 2, 0): 'dn_sa:ambulance_car_broken_ph_18', (0, 2, 1): 'dn_sa:ambulance_car_broken_ph_16', (0, 3, -1): 'dn_sa:ambulance_car_broken_ph_20', (0, 3, 0): 'dn_sa:ambulance_car_broken_ph_14', (0, 3, 1): 'dn_sa:ambulance_car_broken_ph_12', (1, 0, -1): 'dn_sa:ambulance_car_broken_ph_47', (1, 0, 0): 'dn_sa:ambulance_car_broken_ph_45', (1, 0, 1): 'dn_sa:ambulance_car_broken_ph_44', (1, 1, -1): 'dn_sa:ambulance_car_broken_ph_27', (1, 1, 0): 'dn_sa:ambulance_car_broken_ph_18', (1, 1, 1): 'dn_sa:ambulance_car_broken_ph_17', (1, 2, -1): 'dn_sa:ambulance_car_broken_ph_27', (1, 2, 0): 'dn_sa:ambulance_car_broken_ph_18', (1, 2, 1): 'dn_sa:ambulance_car_broken_ph_16', (2, 0, -1): 'dn_sa:ambulance_car_broken_ph_27', (2, 0, 0): 'dn_sa:ambulance_car_broken_ph_45', (2, 0, 1): 'dn_sa:ambulance_car_broken_ph_17', (2, 1, -2): 'dn_sa:ambulance_car_broken_ph_68', (2, 1, -1): 'dn_sa:ambulance_car_broken_ph_18', (2, 1, 0): 'dn_sa:ambulance_car_broken_ph_18', (2, 1, 1): 'dn_sa:ambulance_car_broken_ph_18', (2, 1, 2): 'dn_sa:ambulance_car_broken_ph_69', (2, 2, -2): 'dn_sa:ambulance_car_broken_ph_64', (2, 2, 2): 'dn_sa:ambulance_car_broken_ph_56', (3, 0, -1): 'dn_sa:ambulance_car_broken_ph_34', (3, 0, 0): 'dn_sa:ambulance_car_broken_ph_45', (3, 0, 1): 'dn_sa:ambulance_car_broken_ph_17', (3, 1, -1): 'dn_sa:ambulance_car_broken_ph_25', (3, 1, 0): 'dn_sa:ambulance_car_broken_ph_10', (3, 1, 1): 'dn_sa:ambulance_car_broken_ph_09', }, 270: { (-2, 1, -2): 'dn_sa:ambulance_car_broken_ph_82', (-2, 2, -2): 'dn_sa:ambulance_car_broken_ph_81', (-1, 0, -3): 'dn_sa:ambulance_car_broken_ph_65', (-1, 0, -2): 'dn_sa:ambulance_car_broken_ph_60', (-1, 0, -1): 'dn_sa:ambulance_car_broken_ph_67', (-1, 0, 0): 'dn_sa:ambulance_car_broken_ph_67', (-1, 0, 1): 'dn_sa:ambulance_car_broken_ph_60', (-1, 0, 2): 'dn_sa:ambulance_car_broken_ph_60', (-1, 0, 3): 'dn_sa:ambulance_car_broken_ph_66', (-1, 1, -3): 'dn_sa:ambulance_car_broken_ph_61', (-1, 1, -2): 'dn_sa:ambulance_car_broken_ph_18', (-1, 1, -1): 'dn_sa:ambulance_car_broken_ph_60', (-1, 1, 0): 'dn_sa:ambulance_car_broken_ph_60', (-1, 1, 1): 'dn_sa:ambulance_car_broken_ph_60', (-1, 1, 2): 'dn_sa:ambulance_car_broken_ph_60', (-1, 1, 3): 'dn_sa:ambulance_car_broken_ph_60', (-1, 2, -1): 'dn_sa:ambulance_car_broken_ph_60', (-1, 2, 0): 'dn_sa:ambulance_car_broken_ph_52', (-1, 2, 1): 'dn_sa:ambulance_car_broken_ph_52', (-1, 2, 2): 'dn_sa:ambulance_car_broken_ph_52', (-1, 2, 3): 'dn_sa:ambulance_car_broken_ph_60', (-1, 3, 0): 'dn_sa:ambulance_car_broken_ph_50', (-1, 3, 1): 'dn_sa:ambulance_car_broken_ph_50', (-1, 3, 2): 'dn_sa:ambulance_car_broken_ph_58', (-1, 3, 3): 'dn_sa:ambulance_car_broken_ph_57', (0, 0, -3): 'dn_sa:ambulance_car_broken_ph_45', (0, 0, -2): 'dn_sa:ambulance_car_broken_ph_45', (0, 0, -1): 'dn_sa:ambulance_car_broken_ph_45', (0, 0, 1): 'dn_sa:ambulance_car_broken_ph_38', (0, 0, 2): 'dn_sa:ambulance_car_broken_ph_38', (0, 0, 3): 'dn_sa:ambulance_car_broken_ph_38', (0, 1, -3): 'dn_sa:ambulance_car_broken_ph_21', (0, 1, -2): 'dn_sa:ambulance_car_broken_ph_18', (0, 1, -1): 'dn_sa:ambulance_car_broken_ph_18', (0, 1, 0): 'dn_sa:ambulance_car_broken_ph_18', (0, 1, 1): 'dn_sa:ambulance_car_broken_ph_18', (0, 1, 2): 'dn_sa:ambulance_car_broken_ph_18', (0, 1, 3): 'dn_sa:ambulance_car_broken_ph_18', (0, 2, -1): 'dn_sa:ambulance_car_broken_ph_18', (0, 2, 0): 'dn_sa:ambulance_car_broken_ph_18', (0, 2, 1): 'dn_sa:ambulance_car_broken_ph_18', (0, 2, 2): 'dn_sa:ambulance_car_broken_ph_18', (0, 2, 3): 'dn_sa:ambulance_car_broken_ph_15', (0, 3, 0): 'dn_sa:ambulance_car_broken_ph_14', (0, 3, 1): 'dn_sa:ambulance_car_broken_ph_14', (0, 3, 2): 'dn_sa:ambulance_car_broken_ph_14', (0, 3, 3): 'dn_sa:ambulance_car_broken_ph_11', (1, 0, -3): 'dn_sa:ambulance_car_broken_ph_10', (1, 0, -2): 'dn_sa:ambulance_car_broken_ph_10', (1, 0, -1): 'dn_sa:ambulance_car_broken_ph_42', (1, 0, 0): 'dn_sa:ambulance_car_broken_ph_42', (1, 0, 1): 'dn_sa:ambulance_car_broken_ph_18', (1, 0, 2): 'dn_sa:ambulance_car_broken_ph_18', (1, 0, 3): 'dn_sa:ambulance_car_broken_ph_36', (1, 1, -3): 'dn_sa:ambulance_car_broken_ph_19', (1, 1, -2): 'dn_sa:ambulance_car_broken_ph_18', (1, 1, -1): 'dn_sa:ambulance_car_broken_ph_10', (1, 1, 0): 'dn_sa:ambulance_car_broken_ph_10', (1, 1, 1): 'dn_sa:ambulance_car_broken_ph_10', (1, 1, 2): 'dn_sa:ambulance_car_broken_ph_07', (1, 1, 3): 'dn_sa:ambulance_car_broken_ph_05', (1, 2, -1): 'dn_sa:ambulance_car_broken_ph_07', (1, 2, 0): 'dn_sa:ambulance_car_broken_ph_07', (1, 2, 1): 'dn_sa:ambulance_car_broken_ph_07', (1, 2, 2): 'dn_sa:ambulance_car_broken_ph_07', (1, 2, 3): 'dn_sa:ambulance_car_broken_ph_05', (1, 3, 0): 'dn_sa:ambulance_car_broken_ph_04', (1, 3, 1): 'dn_sa:ambulance_car_broken_ph_04', (1, 3, 2): 'dn_sa:ambulance_car_broken_ph_04', (1, 3, 3): 'dn_sa:ambulance_car_broken_ph_03', (2, 1, -2): 'dn_sa:ambulance_car_broken_ph_49', (2, 2, -2): 'dn_sa:ambulance_car_broken_ph_28', }, }, } CARS['dn_sa:ambulance_car_destroyed'] = { 'main_prefix': 'dn_sa:ambulance_car_destroyed_main', 'ph_prefix': 'dn_sa:ambulance_car_destroyed_ph_', 'main': { 0: 'dn_sa:ambulance_car_destroyed_main_0', 90: 'dn_sa:ambulance_car_destroyed_main_90', 180: 'dn_sa:ambulance_car_destroyed_main_180', 270: 'dn_sa:ambulance_car_destroyed_main_270', }, 'cells': { 0: { (-3, 0, -1): 'dn_sa:ambulance_car_destroyed_ph_72', (-3, 0, 0): 'dn_sa:ambulance_car_destroyed_ph_70', (-3, 0, 1): 'dn_sa:ambulance_car_destroyed_ph_67', (-3, 1, -1): 'dn_sa:ambulance_car_destroyed_ph_71', (-3, 1, 0): 'dn_sa:ambulance_car_destroyed_ph_65', (-3, 1, 1): 'dn_sa:ambulance_car_destroyed_ph_64', (-2, 0, -1): 'dn_sa:ambulance_car_destroyed_ph_32', (-2, 0, 0): 'dn_sa:ambulance_car_destroyed_ph_29', (-2, 0, 1): 'dn_sa:ambulance_car_destroyed_ph_26', (-2, 1, -1): 'dn_sa:ambulance_car_destroyed_ph_32', (-2, 1, 0): 'dn_sa:ambulance_car_destroyed_ph_29', (-2, 1, 1): 'dn_sa:ambulance_car_destroyed_ph_28', (-1, 0, -1): 'dn_sa:ambulance_car_destroyed_ph_32', (-1, 0, 0): 'dn_sa:ambulance_car_destroyed_ph_29', (-1, 0, 1): 'dn_sa:ambulance_car_destroyed_ph_26', (-1, 1, -1): 'dn_sa:ambulance_car_destroyed_ph_32', (-1, 1, 0): 'dn_sa:ambulance_car_destroyed_ph_29', (-1, 1, 1): 'dn_sa:ambulance_car_destroyed_ph_26', (-1, 2, -1): 'dn_sa:ambulance_car_destroyed_ph_37', (-1, 2, 0): 'dn_sa:ambulance_car_destroyed_ph_29', (-1, 2, 1): 'dn_sa:ambulance_car_destroyed_ph_26', (0, 0, -1): 'dn_sa:ambulance_car_destroyed_ph_32', (0, 0, 1): 'dn_sa:ambulance_car_destroyed_ph_26', (0, 1, -1): 'dn_sa:ambulance_car_destroyed_ph_32', (0, 1, 0): 'dn_sa:ambulance_car_destroyed_ph_29', (0, 1, 1): 'dn_sa:ambulance_car_destroyed_ph_26', (0, 2, -1): 'dn_sa:ambulance_car_destroyed_ph_37', (0, 2, 0): 'dn_sa:ambulance_car_destroyed_ph_29', (0, 2, 1): 'dn_sa:ambulance_car_destroyed_ph_27', (0, 3, -1): 'dn_sa:ambulance_car_destroyed_ph_59', (0, 3, 0): 'dn_sa:ambulance_car_destroyed_ph_57', (0, 3, 1): 'dn_sa:ambulance_car_destroyed_ph_55', (1, 0, -1): 'dn_sa:ambulance_car_destroyed_ph_32', (1, 0, 0): 'dn_sa:ambulance_car_destroyed_ph_29', (1, 0, 1): 'dn_sa:ambulance_car_destroyed_ph_26', (1, 1, -1): 'dn_sa:ambulance_car_destroyed_ph_32', (1, 1, 0): 'dn_sa:ambulance_car_destroyed_ph_29', (1, 1, 1): 'dn_sa:ambulance_car_destroyed_ph_26', (1, 2, -1): 'dn_sa:ambulance_car_destroyed_ph_37', (1, 2, 0): 'dn_sa:ambulance_car_destroyed_ph_29', (1, 2, 1): 'dn_sa:ambulance_car_destroyed_ph_26', (1, 3, -1): 'dn_sa:ambulance_car_destroyed_ph_36', (1, 3, 0): 'dn_sa:ambulance_car_destroyed_ph_23', (1, 3, 1): 'dn_sa:ambulance_car_destroyed_ph_21', (2, 0, -1): 'dn_sa:ambulance_car_destroyed_ph_32', (2, 0, 0): 'dn_sa:ambulance_car_destroyed_ph_29', (2, 0, 1): 'dn_sa:ambulance_car_destroyed_ph_26', (2, 1, -1): 'dn_sa:ambulance_car_destroyed_ph_32', (2, 1, 0): 'dn_sa:ambulance_car_destroyed_ph_29', (2, 1, 1): 'dn_sa:ambulance_car_destroyed_ph_26', (2, 2, -1): 'dn_sa:ambulance_car_destroyed_ph_32', (2, 2, 0): 'dn_sa:ambulance_car_destroyed_ph_29', (2, 2, 1): 'dn_sa:ambulance_car_destroyed_ph_26', (2, 3, -1): 'dn_sa:ambulance_car_destroyed_ph_36', (2, 3, 0): 'dn_sa:ambulance_car_destroyed_ph_23', (2, 3, 1): 'dn_sa:ambulance_car_destroyed_ph_21', (3, 0, -1): 'dn_sa:ambulance_car_destroyed_ph_31', (3, 0, 0): 'dn_sa:ambulance_car_destroyed_ph_11', (3, 0, 1): 'dn_sa:ambulance_car_destroyed_ph_09', (3, 1, -1): 'dn_sa:ambulance_car_destroyed_ph_30', (3, 1, 0): 'dn_sa:ambulance_car_destroyed_ph_03', (3, 1, 1): 'dn_sa:ambulance_car_destroyed_ph_02', (3, 2, -1): 'dn_sa:ambulance_car_destroyed_ph_34', (3, 2, 0): 'dn_sa:ambulance_car_destroyed_ph_03', (3, 2, 1): 'dn_sa:ambulance_car_destroyed_ph_02', (3, 3, -1): 'dn_sa:ambulance_car_destroyed_ph_33', (3, 3, 0): 'dn_sa:ambulance_car_destroyed_ph_01', (3, 3, 1): 'dn_sa:ambulance_car_destroyed_ph_00', }, 90: { (-1, 0, -3): 'dn_sa:ambulance_car_destroyed_ph_53', (-1, 0, -2): 'dn_sa:ambulance_car_destroyed_ph_52', (-1, 0, -1): 'dn_sa:ambulance_car_destroyed_ph_52', (-1, 0, 0): 'dn_sa:ambulance_car_destroyed_ph_52', (-1, 0, 1): 'dn_sa:ambulance_car_destroyed_ph_52', (-1, 0, 2): 'dn_sa:ambulance_car_destroyed_ph_52', (-1, 0, 3): 'dn_sa:ambulance_car_destroyed_ph_51', (-1, 1, -3): 'dn_sa:ambulance_car_destroyed_ph_54', (-1, 1, -2): 'dn_sa:ambulance_car_destroyed_ph_52', (-1, 1, -1): 'dn_sa:ambulance_car_destroyed_ph_52', (-1, 1, 0): 'dn_sa:ambulance_car_destroyed_ph_52', (-1, 1, 1): 'dn_sa:ambulance_car_destroyed_ph_52', (-1, 1, 2): 'dn_sa:ambulance_car_destroyed_ph_52', (-1, 1, 3): 'dn_sa:ambulance_car_destroyed_ph_50', (-1, 2, -3): 'dn_sa:ambulance_car_destroyed_ph_60', (-1, 2, -2): 'dn_sa:ambulance_car_destroyed_ph_52', (-1, 2, -1): 'dn_sa:ambulance_car_destroyed_ph_58', (-1, 2, 0): 'dn_sa:ambulance_car_destroyed_ph_58', (-1, 2, 1): 'dn_sa:ambulance_car_destroyed_ph_58', (-1, 3, -3): 'dn_sa:ambulance_car_destroyed_ph_61', (-1, 3, -2): 'dn_sa:ambulance_car_destroyed_ph_57', (-1, 3, -1): 'dn_sa:ambulance_car_destroyed_ph_57', (-1, 3, 0): 'dn_sa:ambulance_car_destroyed_ph_56', (0, 0, -3): 'dn_sa:ambulance_car_destroyed_ph_45', (0, 0, -2): 'dn_sa:ambulance_car_destroyed_ph_29', (0, 0, -1): 'dn_sa:ambulance_car_destroyed_ph_29', (0, 0, 1): 'dn_sa:ambulance_car_destroyed_ph_29', (0, 0, 2): 'dn_sa:ambulance_car_destroyed_ph_29', (0, 0, 3): 'dn_sa:ambulance_car_destroyed_ph_26', (0, 1, -3): 'dn_sa:ambulance_car_destroyed_ph_49', (0, 1, -2): 'dn_sa:ambulance_car_destroyed_ph_29', (0, 1, -1): 'dn_sa:ambulance_car_destroyed_ph_29', (0, 1, 0): 'dn_sa:ambulance_car_destroyed_ph_29', (0, 1, 1): 'dn_sa:ambulance_car_destroyed_ph_29', (0, 1, 2): 'dn_sa:ambulance_car_destroyed_ph_29', (0, 1, 3): 'dn_sa:ambulance_car_destroyed_ph_24', (0, 2, -3): 'dn_sa:ambulance_car_destroyed_ph_49', (0, 2, -2): 'dn_sa:ambulance_car_destroyed_ph_29', (0, 2, -1): 'dn_sa:ambulance_car_destroyed_ph_29', (0, 2, 0): 'dn_sa:ambulance_car_destroyed_ph_29', (0, 2, 1): 'dn_sa:ambulance_car_destroyed_ph_29', (0, 3, -3): 'dn_sa:ambulance_car_destroyed_ph_48', (0, 3, -2): 'dn_sa:ambulance_car_destroyed_ph_23', (0, 3, -1): 'dn_sa:ambulance_car_destroyed_ph_23', (0, 3, 0): 'dn_sa:ambulance_car_destroyed_ph_22', (1, 0, -3): 'dn_sa:ambulance_car_destroyed_ph_39', (1, 0, -2): 'dn_sa:ambulance_car_destroyed_ph_11', (1, 0, -1): 'dn_sa:ambulance_car_destroyed_ph_11', (1, 0, 0): 'dn_sa:ambulance_car_destroyed_ph_11', (1, 0, 1): 'dn_sa:ambulance_car_destroyed_ph_11', (1, 0, 2): 'dn_sa:ambulance_car_destroyed_ph_11', (1, 0, 3): 'dn_sa:ambulance_car_destroyed_ph_09', (1, 1, -3): 'dn_sa:ambulance_car_destroyed_ph_47', (1, 1, -2): 'dn_sa:ambulance_car_destroyed_ph_11', (1, 1, -1): 'dn_sa:ambulance_car_destroyed_ph_11', (1, 1, 0): 'dn_sa:ambulance_car_destroyed_ph_11', (1, 1, 1): 'dn_sa:ambulance_car_destroyed_ph_11', (1, 1, 2): 'dn_sa:ambulance_car_destroyed_ph_19', (1, 1, 3): 'dn_sa:ambulance_car_destroyed_ph_06', (1, 2, -3): 'dn_sa:ambulance_car_destroyed_ph_47', (1, 2, -2): 'dn_sa:ambulance_car_destroyed_ph_11', (1, 2, -1): 'dn_sa:ambulance_car_destroyed_ph_11', (1, 2, 0): 'dn_sa:ambulance_car_destroyed_ph_16', (1, 2, 1): 'dn_sa:ambulance_car_destroyed_ph_11', (1, 3, -3): 'dn_sa:ambulance_car_destroyed_ph_46', (1, 3, -2): 'dn_sa:ambulance_car_destroyed_ph_05', (1, 3, -1): 'dn_sa:ambulance_car_destroyed_ph_05', (1, 3, 0): 'dn_sa:ambulance_car_destroyed_ph_04', }, 180: { (-3, 0, -1): 'dn_sa:ambulance_car_destroyed_ph_75', (-3, 0, 0): 'dn_sa:ambulance_car_destroyed_ph_70', (-3, 0, 1): 'dn_sa:ambulance_car_destroyed_ph_69', (-3, 1, -1): 'dn_sa:ambulance_car_destroyed_ph_81', (-3, 1, 0): 'dn_sa:ambulance_car_destroyed_ph_79', (-3, 1, 1): 'dn_sa:ambulance_car_destroyed_ph_78', (-3, 2, -1): 'dn_sa:ambulance_car_destroyed_ph_81', (-3, 2, 0): 'dn_sa:ambulance_car_destroyed_ph_79', (-3, 2, 1): 'dn_sa:ambulance_car_destroyed_ph_68', (-3, 3, -1): 'dn_sa:ambulance_car_destroyed_ph_80', (-3, 3, 0): 'dn_sa:ambulance_car_destroyed_ph_77', (-3, 3, 1): 'dn_sa:ambulance_car_destroyed_ph_76', (-2, 0, -1): 'dn_sa:ambulance_car_destroyed_ph_45', (-2, 0, 0): 'dn_sa:ambulance_car_destroyed_ph_29', (-2, 0, 1): 'dn_sa:ambulance_car_destroyed_ph_28', (-2, 1, -1): 'dn_sa:ambulance_car_destroyed_ph_45', (-2, 1, 0): 'dn_sa:ambulance_car_destroyed_ph_29', (-2, 1, 1): 'dn_sa:ambulance_car_destroyed_ph_28', (-2, 2, -1): 'dn_sa:ambulance_car_destroyed_ph_45', (-2, 2, 0): 'dn_sa:ambulance_car_destroyed_ph_29', (-2, 2, 1): 'dn_sa:ambulance_car_destroyed_ph_28', (-2, 3, -1): 'dn_sa:ambulance_car_destroyed_ph_43', (-2, 3, 0): 'dn_sa:ambulance_car_destroyed_ph_23', (-2, 3, 1): 'dn_sa:ambulance_car_destroyed_ph_22', (-1, 0, -1): 'dn_sa:ambulance_car_destroyed_ph_45', (-1, 0, 0): 'dn_sa:ambulance_car_destroyed_ph_29', (-1, 0, 1): 'dn_sa:ambulance_car_destroyed_ph_28', (-1, 1, -1): 'dn_sa:ambulance_car_destroyed_ph_45', (-1, 1, 0): 'dn_sa:ambulance_car_destroyed_ph_29', (-1, 1, 1): 'dn_sa:ambulance_car_destroyed_ph_28', (-1, 2, -1): 'dn_sa:ambulance_car_destroyed_ph_45', (-1, 2, 0): 'dn_sa:ambulance_car_destroyed_ph_29', (-1, 2, 1): 'dn_sa:ambulance_car_destroyed_ph_27', (-1, 3, -1): 'dn_sa:ambulance_car_destroyed_ph_43', (-1, 3, 0): 'dn_sa:ambulance_car_destroyed_ph_23', (-1, 3, 1): 'dn_sa:ambulance_car_destroyed_ph_22', (0, 0, -1): 'dn_sa:ambulance_car_destroyed_ph_45', (0, 0, 1): 'dn_sa:ambulance_car_destroyed_ph_28', (0, 1, -1): 'dn_sa:ambulance_car_destroyed_ph_45', (0, 1, 0): 'dn_sa:ambulance_car_destroyed_ph_29', (0, 1, 1): 'dn_sa:ambulance_car_destroyed_ph_28', (0, 2, -1): 'dn_sa:ambulance_car_destroyed_ph_37', (0, 2, 0): 'dn_sa:ambulance_car_destroyed_ph_29', (0, 2, 1): 'dn_sa:ambulance_car_destroyed_ph_27', (0, 3, -1): 'dn_sa:ambulance_car_destroyed_ph_40', (0, 3, 0): 'dn_sa:ambulance_car_destroyed_ph_14', (0, 3, 1): 'dn_sa:ambulance_car_destroyed_ph_13', (1, 0, -1): 'dn_sa:ambulance_car_destroyed_ph_45', (1, 0, 0): 'dn_sa:ambulance_car_destroyed_ph_29', (1, 0, 1): 'dn_sa:ambulance_car_destroyed_ph_28', (1, 1, -1): 'dn_sa:ambulance_car_destroyed_ph_45', (1, 1, 0): 'dn_sa:ambulance_car_destroyed_ph_29', (1, 1, 1): 'dn_sa:ambulance_car_destroyed_ph_28', (1, 2, -1): 'dn_sa:ambulance_car_destroyed_ph_45', (1, 2, 0): 'dn_sa:ambulance_car_destroyed_ph_29', (1, 2, 1): 'dn_sa:ambulance_car_destroyed_ph_27', (2, 0, -1): 'dn_sa:ambulance_car_destroyed_ph_45', (2, 0, 0): 'dn_sa:ambulance_car_destroyed_ph_29', (2, 0, 1): 'dn_sa:ambulance_car_destroyed_ph_28', (2, 1, -1): 'dn_sa:ambulance_car_destroyed_ph_32', (2, 1, 0): 'dn_sa:ambulance_car_destroyed_ph_29', (2, 1, 1): 'dn_sa:ambulance_car_destroyed_ph_28', (3, 0, -1): 'dn_sa:ambulance_car_destroyed_ph_39', (3, 0, 0): 'dn_sa:ambulance_car_destroyed_ph_11', (3, 0, 1): 'dn_sa:ambulance_car_destroyed_ph_10', (3, 1, -1): 'dn_sa:ambulance_car_destroyed_ph_38', (3, 1, 0): 'dn_sa:ambulance_car_destroyed_ph_08', (3, 1, 1): 'dn_sa:ambulance_car_destroyed_ph_07', }, 270: { (-1, 0, -3): 'dn_sa:ambulance_car_destroyed_ph_75', (-1, 0, -2): 'dn_sa:ambulance_car_destroyed_ph_70', (-1, 0, -1): 'dn_sa:ambulance_car_destroyed_ph_70', (-1, 0, 0): 'dn_sa:ambulance_car_destroyed_ph_70', (-1, 0, 1): 'dn_sa:ambulance_car_destroyed_ph_70', (-1, 0, 2): 'dn_sa:ambulance_car_destroyed_ph_70', (-1, 0, 3): 'dn_sa:ambulance_car_destroyed_ph_67', (-1, 1, -3): 'dn_sa:ambulance_car_destroyed_ph_74', (-1, 1, -2): 'dn_sa:ambulance_car_destroyed_ph_52', (-1, 1, -1): 'dn_sa:ambulance_car_destroyed_ph_70', (-1, 1, 0): 'dn_sa:ambulance_car_destroyed_ph_70', (-1, 1, 1): 'dn_sa:ambulance_car_destroyed_ph_70', (-1, 1, 2): 'dn_sa:ambulance_car_destroyed_ph_70', (-1, 1, 3): 'dn_sa:ambulance_car_destroyed_ph_66', (-1, 2, -1): 'dn_sa:ambulance_car_destroyed_ph_70', (-1, 2, 0): 'dn_sa:ambulance_car_destroyed_ph_58', (-1, 2, 1): 'dn_sa:ambulance_car_destroyed_ph_70', (-1, 2, 2): 'dn_sa:ambulance_car_destroyed_ph_70', (-1, 2, 3): 'dn_sa:ambulance_car_destroyed_ph_66', (-1, 3, 0): 'dn_sa:ambulance_car_destroyed_ph_73', (-1, 3, 1): 'dn_sa:ambulance_car_destroyed_ph_63', (-1, 3, 2): 'dn_sa:ambulance_car_destroyed_ph_63', (-1, 3, 3): 'dn_sa:ambulance_car_destroyed_ph_62', (0, 0, -3): 'dn_sa:ambulance_car_destroyed_ph_45', (0, 0, -2): 'dn_sa:ambulance_car_destroyed_ph_29', (0, 0, -1): 'dn_sa:ambulance_car_destroyed_ph_29', (0, 0, 1): 'dn_sa:ambulance_car_destroyed_ph_29', (0, 0, 2): 'dn_sa:ambulance_car_destroyed_ph_29', (0, 0, 3): 'dn_sa:ambulance_car_destroyed_ph_26', (0, 1, -3): 'dn_sa:ambulance_car_destroyed_ph_44', (0, 1, -2): 'dn_sa:ambulance_car_destroyed_ph_29', (0, 1, -1): 'dn_sa:ambulance_car_destroyed_ph_29', (0, 1, 0): 'dn_sa:ambulance_car_destroyed_ph_29', (0, 1, 1): 'dn_sa:ambulance_car_destroyed_ph_29', (0, 1, 2): 'dn_sa:ambulance_car_destroyed_ph_29', (0, 1, 3): 'dn_sa:ambulance_car_destroyed_ph_25', (0, 2, -1): 'dn_sa:ambulance_car_destroyed_ph_29', (0, 2, 0): 'dn_sa:ambulance_car_destroyed_ph_29', (0, 2, 1): 'dn_sa:ambulance_car_destroyed_ph_29', (0, 2, 2): 'dn_sa:ambulance_car_destroyed_ph_29', (0, 2, 3): 'dn_sa:ambulance_car_destroyed_ph_25', (0, 3, 0): 'dn_sa:ambulance_car_destroyed_ph_36', (0, 3, 1): 'dn_sa:ambulance_car_destroyed_ph_23', (0, 3, 2): 'dn_sa:ambulance_car_destroyed_ph_23', (0, 3, 3): 'dn_sa:ambulance_car_destroyed_ph_20', (1, 0, -3): 'dn_sa:ambulance_car_destroyed_ph_42', (1, 0, -2): 'dn_sa:ambulance_car_destroyed_ph_19', (1, 0, -1): 'dn_sa:ambulance_car_destroyed_ph_19', (1, 0, 0): 'dn_sa:ambulance_car_destroyed_ph_19', (1, 0, 1): 'dn_sa:ambulance_car_destroyed_ph_19', (1, 0, 2): 'dn_sa:ambulance_car_destroyed_ph_19', (1, 0, 3): 'dn_sa:ambulance_car_destroyed_ph_18', (1, 1, -3): 'dn_sa:ambulance_car_destroyed_ph_41', (1, 1, -2): 'dn_sa:ambulance_car_destroyed_ph_19', (1, 1, -1): 'dn_sa:ambulance_car_destroyed_ph_19', (1, 1, 0): 'dn_sa:ambulance_car_destroyed_ph_19', (1, 1, 1): 'dn_sa:ambulance_car_destroyed_ph_19', (1, 1, 2): 'dn_sa:ambulance_car_destroyed_ph_19', (1, 1, 3): 'dn_sa:ambulance_car_destroyed_ph_17', (1, 2, -1): 'dn_sa:ambulance_car_destroyed_ph_16', (1, 2, 0): 'dn_sa:ambulance_car_destroyed_ph_16', (1, 2, 1): 'dn_sa:ambulance_car_destroyed_ph_16', (1, 2, 2): 'dn_sa:ambulance_car_destroyed_ph_19', (1, 2, 3): 'dn_sa:ambulance_car_destroyed_ph_15', (1, 3, 0): 'dn_sa:ambulance_car_destroyed_ph_35', (1, 3, 1): 'dn_sa:ambulance_car_destroyed_ph_14', (1, 3, 2): 'dn_sa:ambulance_car_destroyed_ph_14', (1, 3, 3): 'dn_sa:ambulance_car_destroyed_ph_12', }, }, }