Files
xczjhk/behavior_pack_kcH4M5u0/Script_dn_sa/ambulanceServer.py
T
2026-10-09 18:23:57 +08:00

1121 lines
58 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# -*- coding: utf-8 -*-
#
# 救护车(主方块渲染整车 + 透明占位方块提供碰撞)
# ---------------------------------------------------------------------------
# 支持多个车型(dn_sa:ambulance_car / dn_sa:ambulance_car_broken / dn_sa:ambulance_car_destroyed):
# - 每个车型有一套主方块 dn_sa:<tag>_main_<0|90|180|270>,各带一个 client_entity,
# 渲染「已预先旋转好」的整车几何体(见 models/entity/<tag>_geo.json)。
# - 每个车型有一套占位方块 dn_sa:<tag>_ph_<NN>:全透明(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',
},
},
}