twistile

The beginnings of a server for a tile-based game using Crossfire assets.
git clone https://code.literati.org/twistile.git
Log | Files | Refs

commit 1e9b03ca63e5aa5f988f3487e1c6eedccb55f31c
Author: Sean Lynch <seanl@li258-210.members.linode.com>
Date:   Wed, 24 Aug 2011 00:46:03 -0400

Initial parser for Deliantra archetypes

Diffstat:
A.gitignore | 2++
Aarchetypes.py | 603+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Acompile_arc.py | 413+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Acompile_types.py | 71+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aobjects.py | 26663+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Atwistile.py | 3+++
Atypes.h | 151++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
7 files changed, 27906 insertions(+), 0 deletions(-)

diff --git a/.gitignore b/.gitignore @@ -0,0 +1,2 @@ +*.pyc + diff --git a/archetypes.py b/archetypes.py @@ -0,0 +1,603 @@ +class Archetype(object): + def __init__(self, **kw): + self.__dict__.update(kw) + + +class Player(Archetype): + pass + + +class Transport(Archetype): + pass + + +class Rod(Archetype): + pass + + +class Treasure(Archetype): + pass + + +class Potion(Archetype): + pass + + +class Food(Archetype): + pass + + +class Poison(Archetype): + pass + + +class Book(Archetype): + pass + + +class Clock(Archetype): + pass + + +class Vein(Archetype): + pass + + +class Ranged(Archetype): + pass + + +class Skillscroll(Archetype): + pass + + +class Arrow(Archetype): + pass + + +class Bow(Archetype): + pass + + +class Weapon(Archetype): + pass + + +class Armour(Archetype): + pass + + +class Pedestal(Archetype): + pass + + +class Altar(Archetype): + pass + + +class TMatch(Archetype): + pass + + +class LockedDoor(Archetype): + pass + + +class SpecialKey(Archetype): + pass + + +class Map(Archetype): + pass + + +class Door(Archetype): + pass + + +class Key(Archetype): + pass + + +class Physics(Archetype): + pass + + +class TimedGate(Archetype): + pass + + +class Trigger(Archetype): + pass + + +class Grimreaper(Archetype): + pass + + +class MagicEar(Archetype): + pass + + +class TriggerButton(Archetype): + pass + + +class TriggerAltar(Archetype): + pass + + +class TriggerPedestal(Archetype): + pass + + +class Shield(Archetype): + pass + + +class Helmet(Archetype): + pass + + +class Horn(Archetype): + pass + + +class Money(Archetype): + pass + + +class Class(Archetype): + pass + + +class Gravestone(Archetype): + pass + + +class Amulet(Archetype): + pass + + +class Playermover(Archetype): + pass + + +class Teleporter(Archetype): + pass + + +class Creator(Archetype): + pass + + +class Skill(Archetype): + pass + + +class IdentifyAltar(Archetype): + pass + + +class Earthwall(Archetype): + pass + + +class Golem(Archetype): + pass + + +class DeepSwamp(Archetype): + pass + + +class ThrownObj(Archetype): + pass + + +class Blindness(Archetype): + pass + + +class God(Archetype): + pass + + +class Detector(Archetype): + pass + + +class TriggerMarker(Archetype): + pass + + +class DeadObject(Archetype): + pass + + +class Drink(Archetype): + pass + + +class Marker(Archetype): + pass + + +class HolyAltar(Archetype): + pass + + +class PlayerChanger(Archetype): + pass + + +class Battleground(Archetype): + pass + + +class Peacemaker(Archetype): + pass + + +class Gem(Archetype): + pass + + +class Menu(Archetype): + pass + + +class Firewall(Archetype): + pass + + +class Anvil(Archetype): + pass + + +class CheckInv(Archetype): + pass + + +class MoodFloor(Archetype): + pass + + +class Exit(Archetype): + pass + + +class Encounter(Archetype): + pass + + +class ShopFloor(Archetype): + pass + + +class ShopMat(Archetype): + pass + + +class Ring(Archetype): + pass + + +class Flesh(Archetype): + pass + + +class Inorganic(Archetype): + pass + + +class SkillTool(Archetype): + pass + + +class Lighter(Archetype): + pass + + +class BuildableWall(Archetype): + pass + + +class MiscObject(Archetype): + pass + + +class Torch(Archetype): + pass + + +class Lamp(Archetype): + pass + + +class Duplicator(Archetype): + pass + + +class Spellbook(Archetype): + pass + + +class Cloak(Archetype): + pass + + +class Mapscript(Archetype): + pass + + +class SafeGround(Archetype): + pass + + +class Spinner(Archetype): + pass + + +class Gate(Archetype): + pass + + +class Button(Archetype): + pass + + +class THandle(Archetype): + pass + + +class Hole(Archetype): + pass + + +class Trapdoor(Archetype): + pass + + +class Rune(Archetype): + pass + + +class Trap(Archetype): + pass + + +class Sign(Archetype): + pass + + +class Boots(Archetype): + pass + + +class Gloves(Archetype): + pass + + +class Spell(Archetype): + pass + + +class SpellEffect(Archetype): + pass + + +class Converter(Archetype): + pass + + +class Bracers(Archetype): + pass + + +class Poisoning(Archetype): + pass + + +class Savebed(Archetype): + pass + + +class Disease(Archetype): + pass + + +class Symptom(Archetype): + pass + + +class Wand(Archetype): + pass + + +class Inscribable(Archetype): + pass + + +class Scroll(Archetype): + pass + + +class Director(Archetype): + pass + + +class Girdle(Archetype): + pass + + +class Force(Archetype): + pass + + +class PotionEffect(Archetype): + pass + + +class EventConnector(Archetype): + pass + + +class ItemTransformer(Archetype): + pass + + +class PowerCrystal(Archetype): + pass + + +class Corpse(Archetype): + pass + + +class CloseCon(Archetype): + pass + + +class Container(Archetype): + pass + + +class ArmourImprover(Archetype): + pass + + +class WeaponImprover(Archetype): + pass + + +class Builder(Archetype): + pass + + +class Material(Archetype): + pass + + +types = { + 0: Archetype, + 1: Player, + 2: Transport, + 3: Rod, + 4: Treasure, + 5: Potion, + 6: Food, + 7: Poison, + 8: Book, + 9: Clock, + 10: Vein, + 11: Ranged, + 12: Skillscroll, + 13: Arrow, + 14: Bow, + 15: Weapon, + 16: Armour, + 17: Pedestal, + 18: Altar, + 19: TMatch, + 20: LockedDoor, + 21: SpecialKey, + 22: Map, + 23: Door, + 24: Key, + 25: Physics, + 26: TimedGate, + 27: Trigger, + 28: Grimreaper, + 29: MagicEar, + 30: TriggerButton, + 31: TriggerAltar, + 32: TriggerPedestal, + 33: Shield, + 34: Helmet, + 35: Horn, + 36: Money, + 37: Class, + 38: Gravestone, + 39: Amulet, + 40: Playermover, + 41: Teleporter, + 42: Creator, + 43: Skill, + 44: IdentifyAltar, + 45: Earthwall, + 46: Golem, + 47: DeepSwamp, + 48: ThrownObj, + 49: Blindness, + 50: God, + 51: Detector, + 52: TriggerMarker, + 53: DeadObject, + 54: Drink, + 55: Marker, + 56: HolyAltar, + 57: PlayerChanger, + 58: Battleground, + 59: Peacemaker, + 60: Gem, + 61: Menu, + 62: Firewall, + 63: Anvil, + 64: CheckInv, + 65: MoodFloor, + 66: Exit, + 67: Encounter, + 68: ShopFloor, + 69: ShopMat, + 70: Ring, + 72: Flesh, + 73: Inorganic, + 74: SkillTool, + 75: Lighter, + 77: BuildableWall, + 79: MiscObject, + 81: Torch, + 82: Lamp, + 83: Duplicator, + 85: Spellbook, + 87: Cloak, + 88: Mapscript, + 89: SafeGround, + 90: Spinner, + 91: Gate, + 92: Button, + 93: THandle, + 94: Hole, + 95: Trapdoor, + 96: Rune, + 97: Trap, + 98: Sign, + 99: Boots, + 100: Gloves, + 101: Spell, + 102: SpellEffect, + 103: Converter, + 104: Bracers, + 105: Poisoning, + 106: Savebed, + 107: Disease, + 108: Symptom, + 109: Wand, + 110: Inscribable, + 111: Scroll, + 112: Director, + 113: Girdle, + 114: Force, + 115: PotionEffect, + 116: EventConnector, + 117: ItemTransformer, + 118: PowerCrystal, + 119: Corpse, + 121: CloseCon, + 122: Container, + 123: ArmourImprover, + 124: WeaponImprover, + 125: Builder, + 126: Material, + } diff --git a/compile_arc.py b/compile_arc.py @@ -0,0 +1,413 @@ +#!/usr/bin/env python +import json +import os +import re +import sys + +from itertools import chain +from operator import attrgetter + +import archetypes + + +class Image(object): + pattern = re.compile('^(?P<name>[^\.]+\.x\d\d)\.(?P<width>\d+)x' + '(?P<height>\d+)\.png$') + def __init__(self, path, name, width, height): + self.path = path + self.name = '' + self.width = width + self.height = height + if width != 32 or height != 32: + print >> sys.stderr, path, width, height + + @classmethod + def from_path(klass, path): + filename = os.path.basename(path) + m = klass.pattern.search(filename) + if m is None: + return None + + return klass(path, m.group('name'), int(m.group('width')), + int(m.group('height'))) + + +def cmds(fp): + for line in fp: + line = line.strip() + if not line or line.startswith('#'): + continue + l = line.split(' ', 1) + yield l if len(l) == 2 else (l[0], '') + + +class Obj(object): + flags = ( + 'activate_on_push', + 'activate_on_release', + 'alive', + 'applied', + 'auto_apply', + 'berserk', + 'blocksview', + 'can_cast_spell', + 'can_roll', + 'can_see_in_dark', + 'can_use_armour', + 'can_use_bow', + 'can_use_horn', + 'can_use_ring', + 'can_use_rod', + 'can_use_scroll', + 'can_use_shield', + 'can_use_skill', + 'can_use_wand', + 'can_use_weapon', + 'changing', + 'cursed', + 'damned', + 'friendly', + 'generator', + 'hitback', + 'identified', + 'invisible', + 'is_animated', + 'is_blind', + 'is_cauldron', + 'is_door', + 'is_floor', + 'is_hilly', + 'is_lightable', + 'is_quad', + 'is_thrown', + 'is_transparent_floor', + 'is_turnable', + 'is_used_up', + 'is_water', + 'is_wooded', + 'known_cursed', + 'known_magical', + 'lifesave', + 'make_invisible', + 'monster', + 'need_an', + 'neutral', + 'no_attack', + 'no_drop', + 'no_magic', + 'no_pick', + 'no_steal', + 'no_strength', + 'one_hit', + 'only_attack', + 'precious', + 'random_movement', + 'reflect_missile', + 'reflect_spell', + 'reflecting', + 'scared', + 'see_anywhere', + 'see_invisible', + 'sleep', + 'splitting', + 'stand_still', + 'startequip', + 'stealth', + 'tear_down', + 'treasure_env', + 'unaggressive', + 'undead', + 'xrays') + float_props = ('anim_speed', 'con', 'pow', 'speed', 'speed_left') + int_props = ( + 'ac', + 'attack_movement', + 'attacktype', + 'armour', + 'body_arm', + 'body_combat', + 'body_finger', + 'body_foot', + 'body_hand', + 'body_head', + 'body_neck', + 'body_range', + 'body_shield', + 'body_shoulder', + 'body_skill', + 'body_torso', + 'body_waist', + 'body_wrist', + 'carrying', + 'casting_time', + 'cha', + 'client_type', + 'container', + 'dam', + 'dam_modifier', + 'dex', + 'direction', + 'duration', + 'duration_modifier', + 'editable', + 'exp', + 'food', + 'gen_sp_armour', + 'glow_radius', + 'grace', + 'hp', + 'int', + 'item_power', + 'last_eat', + 'last_grace', + 'last_heal', + 'last_sp', + 'level', + 'luck', + 'magic', + 'maxgrace', + 'maxhp', + 'maxsp', + 'movement_type', + 'nrof', + 'path_attuned', + 'path_denied', + 'path_repelled', + 'pick_up', + 'range', + 'range_modifier', + 'resist_acid', + 'resist_blind', + 'resist_cancellation', + 'resist_chaos', + 'resist_cold', + 'resist_confusion', + 'resist_counterspell', + 'resist_death', + 'resist_deplete', + 'resist_disease', + 'resist_drain', + 'resist_electricity', + 'resist_fear', + 'resist_fire', + 'resist_ghosthit', + 'resist_godpower', + 'resist_holyword', + 'resist_magic', + 'resist_paralyze', + 'resist_physical', + 'resist_poison', + 'resist_slow', + 'resist_turn_undead', + 'resist_weaponmagic', + 'run_away', + 'smoothlevel', + 'sp', + 'str', + 'subtype', + 'value', + 'wc', + 'weapontype', + 'weight', + 'will_apply', + 'wis', + 'x', + 'y') + json_props = ('attach',) + str_props = ( + 'animation', + 'editor_folder', + 'face', + 'move_block', + 'move_type', + 'name', + 'name_pl', + 'on_use_yield', + 'other_arch', + 'race', + 'randomitems', + 'materialname', + 'move_allow', + 'move_off', + 'move_on', + 'move_slow', + 'move_slow_penalty', + 'slaying', + 'sound', + 'sound_destroy', + 'skill', + 'title') + list_props = ('smoothface',) + + def __init__(self, shortname, fp): + self.shortname = shortname + self.tiles = [] + for cmd, arg in cmds(fp): + if cmd == 'anim': + assert not hasattr(self, 'anim') + self.parse_anim(fp) + elif cmd == 'end': + break + elif cmd == 'inherit': + self.parent = arg + elif cmd == 'msg': + self.parse_msg(fp) + elif cmd == 'type': + self.type = archetypes.types[int(arg)] + elif cmd in self.flags: + assert not hasattr(self, cmd) + if arg == '0': + setattr(self, cmd, False) + elif arg == '1': + setattr(self, cmd, True) + else: + raise ValueError, 'Value for {0!r} not 0 or 1: {1!r}'.format(cmd, arg) + elif cmd in self.float_props: + assert not hasattr(self, cmd) + setattr(self, cmd, float(arg)) + elif cmd in self.json_props: + assert not hasattr(self, cmd) + setattr(self, cmd, json.loads(arg)) + elif cmd in self.str_props: + assert not hasattr(self, cmd) + setattr(self, cmd, arg) + elif cmd in self.int_props: + assert not hasattr(self, cmd) + try: + v = int(arg) + except ValueError: + raise ValueError, 'Got something other than an int for {0!r}: {1!r}'.format(cmd, arg) + else: + setattr(self, cmd, v) + elif cmd in self.list_props: + assert not hasattr(self, cmd) + setattr(self, cmd, arg.split()) + else: + raise ValueError, 'unknown keyword {0!r} {1!r}'.format(cmd, arg) + + @property + def props(self): + return {p: getattr(self, p) for p in chain( + self.flags, self.float_props, self.int_props, self.str_props, + self.list_props) if hasattr(self, p)} + + def add_tile(self, obj): + self.tiles.append(obj) + + def parse_msg(self, fp): + assert not hasattr(self, 'msg') + lines = [] + for line in fp: + line = line.strip() + if line == 'endmsg': + self.msg = ' '.join(lines) + break + + lines.append(line) + else: + raise ValueError, 'No endmsg!' + + def parse_anim(self, fp): + frames = []; + for cmd, arg in cmds(fp): + if cmd == 'facings': + self.facings = int(arg) + elif cmd == 'mina': + break + else: + assert arg == '' + _, attrs = cmd.split('.') + assert attrs[0] == 'x' + frames.append(arg) + + self.anim = frames + + @classmethod + def parse_arc(klass, path): + objects = [] + fp = open(path) + more = None + prev_more = None + o = None + for cmd, arg in cmds(fp): + if cmd == 'object': + o = klass(arg, fp) + objects.append(o) + if more is not None: + more.add_tile(o) + prev_more = more + more = None + elif cmd == 'more': + assert more is None + if prev_more is not None: + more = prev_more + elif o is not None: + more = o + else: + raise ValueError, 'Bad more' + else: + raise ValueError, 'Unknown keyword {0} {1}'.format(cmd, arg) + + return objects + + @property + def source(self): + if hasattr(self, 'parent'): + assert not hasattr(self, 'type') + base = self.parent + else: + base = '_a.' + self.type.__name__ + + s = ['class {name}({base}):'.format(name=self.shortname, + base=base)] + for k in sorted(self.props): + s.append(' {0} = {1!r}'.format(k, self.props[k])) + + s.append('\n') + + return '\n'.join(s) + + +def write_objs(objs, waiting_objs): + for obj in sorted(objs, key=attrgetter('shortname')): + print obj.source + name = obj.shortname + if name in waiting_objs: + write_objs(waiting_objs[name]) + del waiting_objs[name] + + +def main(): + images = {} + print 'import archetypes as _a' + print + objs = [] + waiting_objs = {} + for dirpath, dirnames, filenames in os.walk(sys.argv[1]): + for filename in filenames: + path = os.path.join(dirpath, filename) + _, ext = os.path.splitext(filename) + if ext == '.png': + im = Image.from_path(path) + if im is not None: + images[im.name] = im + elif ext == '.arc': + #print >> sys.stderr, 'parsing', path + for o in Obj.parse_arc(path): + if hasattr(o, 'parent'): + assert not hasattr(o, 'type') + waiting_objs.setdefault(o.parent, []).append(o) + else: + objs.append(o) + + if 'CVS' in dirnames: + dirnames.remove('CVS') + + if 'dev' in dirnames: + dirnames.remove('dev') + + write_objs(objs, waiting_objs) + + +if __name__ == '__main__': + main() diff --git a/compile_types.py b/compile_types.py @@ -0,0 +1,71 @@ +#!/usr/bin/env python +import os +import sys + +from compile_arc import Obj + + +def toCamelCase(t): + return ''.join([w.capitalize() for w in t.split('_')]) + + +def main(): + print """class Archetype(object): + def __init__(self, **kw): + self.__dict__.update(kw) + +""" + + in_comment = False + types = {0: "Archetype"} + for line in sys.stdin: + if in_comment: + i = line.find('*/') + if i == -1: + continue + else: + line = line[i+2:] + in_comment = False + else: + i = line.find('/*') + if i != -1: + j = line.find('*/', i+2) + if j != -1: + line = line[:i] + line[j+2:] + else: + line = line[:i] + in_comment = True + + i = line.find('//') + if i != -1: + line = line[:i] + + line = line.strip() + if not line: + continue + + l = line.split() + if len(l) != 3: + raise ValueError, "Wrong number of tokens: {0!r}".format(l) + + if l[0] != '#define': + raise ValueError, "Got line that doesn't start with #define: {0!r}".format(l) + + t = toCamelCase(l[1]) + n = int(l[2]) + print """class {cls}(Archetype): + pass + +""".format(cls=t) + + types[n] = t + + print "types = {" + for n in sorted(types): + print " {0}: {1},".format(n, types[n]) + + print " }" + + +if __name__ == '__main__': + main() diff --git a/objects.py b/objects.py @@ -0,0 +1,26663 @@ +import archetypes as _a + + + + + + + + + + + + + + + + + +type_mineral = _a.Gem( + identified: True, + materialname: 'stone', + nrof: 1, + race: 'gold and jewels', + weight: 200, + ) + + + +pretty_ruby = _a.Gem( + client_type: 2011, + face: 9, + identified: True, + name: 'pretty ruby', + name_pl: 'pretty rubies', + nrof: 1, + race: 'gold and jewels', + speed: -0.1, + value: 2000, + weight: 200, + ) +ruby = _a.Gem( + client_type: 2011, + face: 11, + identified: True, + name_pl: 'rubies', + nrof: 1, + race: 'gold and jewels', + speed: -0.1, + value: 200, + weight: 50, + ) +zincore1kg = _a.Inorganic( + client_type: 2005, + face: 12, + identified: False, + materialname: 'rock', + name: 'ore', + name_pl: 'ores', + nrof: 1, + race: 'gold and jewels', + title: 'of zinc', + value: 1, + weight: 1000, + ) +worthlessoresmall_y = _a.Inorganic( + client_type: 2005, + face: 13, + identified: False, + materialname: 'rock', + name: 'ore', + name_pl: 'ores', + nrof: 1, + race: 'gold and jewels', + title: 'of nothing', + value: 1, + weight: 1000, + ) +worthlessore_y = _a.Inorganic( + client_type: 2005, + face: 14, + identified: False, + materialname: 'rock', + name: 'ore', + name_pl: 'ores', + nrof: 1, + race: 'gold and jewels', + title: 'of nothing', + value: 1, + weight: 20000, + ) +tourmaline = _a.Gem( + client_type: 2011, + face: 15, + identified: False, + materialname: 'stone', + name: 'tourmaline', + name_pl: 'tourmalines', + nrof: 1, + race: 'gold and jewels', + speed: -0.1, + value: 46, + weight: 50, + ) +ironingot = _a.Inorganic( + client_type: 2005, + face: 16, + identified: True, + materialname: 'iron', + name: 'iron ingot', + name_pl: 'iron ingots', + nrof: 1, + race: 'gold and jewels', + value: 50, + weight: 5000, + ) +mithril = _a.Inorganic( + client_type: 2011, + face: 17, + identified: True, + materialname: 'mithril', + name: 'mithril crystal', + name_pl: 'mithril crystals', + nrof: 1, + race: 'gold and jewels', + speed: 0.2, + value: 800, + weight: 50, + ) +silverore1kg = _a.Inorganic( + client_type: 2005, + face: 12, + identified: False, + materialname: 'rock', + name: 'ore', + name_pl: 'ores', + nrof: 1, + race: 'gold and jewels', + title: 'of silver', + value: 10, + weight: 1000, + ) +silvercoin = _a.Money( + client_type: 2001, + face: 18, + materialname: 'silver', + name: 'silver coin', + name_pl: 'silver coins', + nrof: 1, + race: 'gold and jewels', + value: 1, + weight: 10, + ) +copperbar = _a.Inorganic( + client_type: 2005, + face: 19, + identified: True, + materialname: 'copper', + name: 'copper bar', + name_pl: 'copper bars', + nrof: 1, + race: 'gold and jewels', + value: 500, + weight: 10000, + ) +depleteduraniumbar = _a.Inorganic( + client_type: 2005, + face: 20, + identified: True, + materialname: 'depleted uranium', + name: 'depleted uranium bar', + name_pl: 'depleted uranium bars', + nrof: 1, + race: 'gold and jewels', + value: 20, + weight: 10000, + ) +enricheduraniumbar = _a.Inorganic( + attacktype: 4, + client_type: 2005, + dam: 5, + face: 20, + glow_radius: 1, + identified: True, + materialname: 'enriched uranium', + name: 'enriched uranium bar', + name_pl: 'enriched uranium bars', + nrof: 1, + race: 'gold and jewels', + speed: 0.1, + value: 400000, + weight: 10000, + ) +uraniumbar = _a.Inorganic( + client_type: 2005, + face: 20, + identified: True, + materialname: 'uranium', + name: 'uranium bar', + name_pl: 'uranium bars', + nrof: 1, + race: 'gold and jewels', + value: 50, + weight: 10000, + ) +zincingot = _a.Inorganic( + client_type: 2005, + face: 21, + identified: True, + materialname: 'zinc', + name: 'zinc ingot', + name_pl: 'zinc ingots', + nrof: 1, + race: 'gold and jewels', + value: 25, + weight: 5000, + ) +platinacoin = _a.Money( + client_type: 2001, + face: 22, + materialname: 'platinum', + name: 'platinum coin', + name_pl: 'platinum coins', + nrof: 1, + race: 'gold and jewels', + value: 10000, + weight: 10, + ) +amethyst = _a.Gem( + client_type: 2011, + face: 23, + identified: True, + materialname: 'stone', + name: 'amethyst', + name_pl: 'amethysts', + nrof: 1, + race: 'gold and jewels', + speed: -0.1, + value: 126, + weight: 50, + ) +platblock = _a.Gem( + client_type: 2005, + face: 24, + identified: True, + materialname: 'platinum', + name: 'platinum block', + name_pl: 'platinum blocks', + nrof: 1, + race: 'gold and jewels', + value: 5000000, + weight: 1000000, + ) +ambercoin = _a.Money( + client_type: 2001, + editor_folder: 'deprecated/jewel', + face: 25, + materialname: 'amberium', + name: 'amberium coin', + name_pl: 'amberium coins', + nrof: 1, + race: 'gold and jewels', + value: 500000, + weight: 23, + ) +silverbar = _a.Gem( + client_type: 2005, + face: 26, + identified: True, + materialname: 'silver', + name: 'silver bar', + name_pl: 'silver bars', + nrof: 1, + race: 'gold and jewels', + value: 1000, + weight: 10000, + ) +worthlessoresmall_b = _a.Inorganic( + client_type: 2005, + face: 12, + identified: False, + materialname: 'rock', + name: 'ore', + name_pl: 'ores', + nrof: 1, + race: 'gold and jewels', + title: 'of nothing', + value: 1, + weight: 1000, + ) +chrysoberyl = _a.Gem( + client_type: 2011, + face: 27, + identified: False, + name: 'chrysoberyl', + name_pl: 'chrysoberyls', + nrof: 1, + race: 'gold and jewels', + speed: -0.1, + value: 60, + weight: 50, + ) +aquamarine_gem = _a.Gem( + client_type: 2011, + face: 28, + identified: False, + materialname: 'stone', + name: 'aquamarine', + name_pl: 'aquamarines', + nrof: 1, + race: 'gold and jewels', + speed: -0.1, + value: 70, + weight: 50, + ) +goldingot = _a.Gem( + client_type: 2005, + face: 29, + identified: True, + materialname: 'gold', + name: 'gold ingot', + name_pl: 'gold ingots', + nrof: 1, + race: 'gold and jewels', + value: 5000, + weight: 5000, + ) +smallnugget = _a.Inorganic( + client_type: 2005, + face: 30, + materialname: 'gold', + name: 'small gold nugget', + name_pl: 'small gold nuggets', + nrof: 1, + race: 'gold and jewels', + value: 10, + weight: 20, + ) +chalcedony = _a.Gem( + client_type: 2011, + face: 31, + identified: False, + name: 'chalcedony', + name_pl: 'chalcedonies', + nrof: 1, + race: 'gold and jewels', + speed: -0.1, + value: 20, + weight: 50, + ) +platround = _a.Gem( + client_type: 2005, + face: 32, + identified: True, + materialname: 'platinum', + name: 'platinum round', + name_pl: 'platinum rounds', + nrof: 1, + race: 'gold and jewels', + value: 5000, + weight: 1000, + ) +pearl = _a.Gem( + client_type: 2011, + face: 33, + identified: True, + materialname: 'stone', + name_pl: 'pearls', + nrof: 1, + race: 'gold and jewels', + speed: -0.1, + value: 50, + weight: 50, + ) +worthlessore_r = _a.Inorganic( + client_type: 2005, + face: 34, + identified: False, + materialname: 'rock', + name: 'ore', + name_pl: 'ores', + nrof: 1, + race: 'gold and jewels', + title: 'of nothing', + value: 1, + weight: 20000, + ) +jadecoin = _a.Money( + client_type: 2001, + editor_folder: 'deprecated/jewel', + face: 35, + materialname: 'jade', + name: 'jade coin', + name_pl: 'jade coins', + nrof: 1, + race: 'gold and jewels', + value: 5000, + weight: 10, + ) +goldcoin = _a.Money( + client_type: 2001, + face: 36, + materialname: 'gold', + name: 'gold coin', + name_pl: 'gold coins', + nrof: 1, + race: 'gold and jewels', + value: 100, + weight: 10, + ) +ironore1kg = _a.Inorganic( + client_type: 2005, + face: 37, + identified: False, + materialname: 'rock', + name: 'ore', + name_pl: 'ores', + nrof: 1, + race: 'gold and jewels', + title: 'of iron', + value: 1, + weight: 1000, + ) +goldbar = _a.Gem( + client_type: 2005, + face: 38, + identified: True, + materialname: 'gold', + name: 'gold bar', + name_pl: 'gold bars', + nrof: 1, + race: 'gold and jewels', + value: 10000, + weight: 10000, + ) +coppercoin = _a.Money( + client_type: 2001, + editor_folder: 'deprecated/jewel', + face: 39, + materialname: 'copper', + name: 'copper coin', + name_pl: 'copper coins', + nrof: 1, + race: 'gold and jewels', + value: 0, + weight: 2, + ) +goldround = _a.Gem( + client_type: 2005, + face: 40, + identified: True, + materialname: 'gold', + name: 'gold round', + name_pl: 'gold rounds', + nrof: 1, + race: 'gold and jewels', + value: 1000, + weight: 1000, + ) +tinore = _a.Inorganic( + client_type: 2005, + face: 41, + identified: False, + materialname: 'rock', + name: 'ore', + name_pl: 'ores', + nrof: 1, + race: 'gold and jewels', + title: 'of tin', + value: 10, + weight: 20000, + ) +peridot = _a.Gem( + client_type: 2011, + face: 42, + identified: False, + name: 'peridot', + name_pl: 'peridots', + need_an: True, + nrof: 1, + race: 'gold and jewels', + speed: -0.1, + value: 80, + weight: 50, + ) +worthlessore_b = _a.Inorganic( + client_type: 2005, + face: 41, + identified: False, + materialname: 'rock', + name: 'ore', + name_pl: 'ores', + nrof: 1, + race: 'gold and jewels', + title: 'of nothing', + value: 1, + weight: 20000, + ) +bronzebar = _a.Inorganic( + client_type: 2005, + face: 43, + identified: True, + materialname: 'bronze', + name: 'bronze bar', + name_pl: 'bronze bars', + nrof: 1, + race: 'gold and jewels', + value: 675, + weight: 10000, + ) +garnet = _a.Gem( + client_type: 2011, + face: 44, + identified: False, + name: 'garnet', + name_pl: 'garnets', + need_an: True, + nrof: 1, + race: 'gold and jewels', + speed: -0.1, + value: 60, + weight: 50, + ) +quartz = _a.Gem( + client_type: 2011, + face: 45, + identified: False, + materialname: 'stone', + name: 'quartz', + name_pl: 'quartzes', + nrof: 1, + race: 'gold and jewels', + speed: -0.1, + value: 26, + weight: 50, + ) +jacinth = _a.Gem( + client_type: 2011, + face: 46, + identified: False, + name: 'jacinth', + name_pl: 'jacinths', + nrof: 1, + race: 'gold and jewels', + speed: -0.1, + value: 192, + weight: 50, + ) +zincbar = _a.Inorganic( + client_type: 2005, + face: 47, + identified: True, + materialname: 'zinc', + name: 'zinc bar', + name_pl: 'zinc bars', + nrof: 1, + race: 'gold and jewels', + value: 50, + weight: 10000, + ) +uraniumore = _a.Inorganic( + client_type: 2005, + face: 48, + identified: False, + materialname: 'rock', + name: 'ore', + name_pl: 'ores', + nrof: 1, + race: 'gold and jewels', + title: 'of uranium', + value: 10, + weight: 20000, + ) +ironore = _a.Inorganic( + client_type: 2005, + face: 34, + identified: False, + materialname: 'rock', + name: 'ore', + name_pl: 'ores', + nrof: 1, + race: 'gold and jewels', + title: 'of iron', + value: 20, + weight: 20000, + ) +onyx = _a.Gem( + client_type: 2011, + face: 49, + identified: False, + name: 'onyx', + name_pl: 'onyxes', + nrof: 1, + race: 'gold and jewels', + speed: -0.1, + value: 55, + weight: 50, + ) +tiningot = _a.Inorganic( + client_type: 2005, + face: 50, + identified: True, + materialname: 'tin', + name: 'tin ingot', + name_pl: 'tin ingots', + nrof: 1, + race: 'gold and jewels', + value: 25, + weight: 5000, + ) +steelbar = _a.Inorganic( + client_type: 2005, + face: 51, + identified: True, + materialname: 'steel', + name: 'steel bar', + name_pl: 'steel bars', + nrof: 1, + race: 'gold and jewels', + value: 150, + weight: 10000, + ) +platingot = _a.Gem( + client_type: 2005, + face: 52, + identified: True, + materialname: 'platinum', + name: 'platinum ingot', + name_pl: 'platinum ingots', + nrof: 1, + race: 'gold and jewels', + value: 25000, + weight: 5000, + ) +copperore1kg = _a.Inorganic( + client_type: 2005, + face: 53, + identified: False, + materialname: 'rock', + name: 'ore', + name_pl: 'ores', + nrof: 1, + race: 'gold and jewels', + title: 'of copper', + value: 5, + weight: 1000, + ) +platore = _a.Inorganic( + client_type: 2005, + face: 41, + identified: False, + materialname: 'rock', + name: 'ore', + name_pl: 'ores', + nrof: 1, + race: 'gold and jewels', + title: 'of platinum', + value: 10000, + weight: 20000, + ) +gem = _a.Gem( + client_type: 2011, + face: 54, + identified: True, + materialname: 'stone', + name: 'diamond', + name_pl: 'diamonds', + nrof: 1, + race: 'gold and jewels', + speed: -0.1, + value: 400, + weight: 50, + ) +pretty_crystal = _a.Spinner( + client_type: 2011, + face: 55, + identified: True, + materialname: 'stone', + name: 'diamond', + name_pl: 'diamonds', + nrof: 1, + race: 'gold and jewels', + speed: -0.1, + value: 4000, + weight: 200, + ) +tinbar = _a.Inorganic( + client_type: 2005, + face: 56, + identified: True, + materialname: 'tin', + name: 'tin bar', + name_pl: 'tin bars', + nrof: 1, + race: 'gold and jewels', + value: 50, + weight: 10000, + ) +uraniumore1kg = _a.Inorganic( + client_type: 2005, + face: 57, + identified: False, + materialname: 'rock', + name: 'ore', + name_pl: 'ores', + nrof: 1, + race: 'gold and jewels', + title: 'of uranium', + value: 1, + weight: 1000, + ) +topaz = _a.Gem( + client_type: 2011, + face: 58, + identified: False, + materialname: 'stone', + name: 'topaz', + name_pl: 'topazes', + nrof: 1, + race: 'gold and jewels', + speed: -0.1, + value: 86, + weight: 50, + ) +agate = _a.Gem( + client_type: 2011, + face: 59, + identified: False, + name: 'agate', + name_pl: 'agates', + nrof: 1, + race: 'gold and jewels', + speed: -0.1, + value: 30, + weight: 50, + ) +silverround = _a.Gem( + client_type: 2005, + face: 60, + identified: True, + materialname: 'silver', + name: 'silver round', + name_pl: 'silver rounds', + nrof: 1, + race: 'gold and jewels', + value: 100, + weight: 1000, + ) +copperingot = _a.Inorganic( + client_type: 2005, + face: 61, + identified: True, + materialname: 'copper', + name: 'copper ingot', + name_pl: 'copper ingots', + nrof: 1, + race: 'gold and jewels', + value: 250, + weight: 5000, + ) +silveringot = _a.Gem( + client_type: 2005, + face: 62, + identified: True, + materialname: 'silver', + name: 'silver ingot', + name_pl: 'silver ingots', + nrof: 1, + race: 'gold and jewels', + value: 500, + weight: 5000, + ) +platbar = _a.Gem( + client_type: 2005, + face: 63, + identified: True, + materialname: 'platinum', + name: 'platinum bar', + name_pl: 'platinum bars', + nrof: 1, + race: 'gold and jewels', + value: 50000, + weight: 10000, + ) +platore1kg = _a.Inorganic( + client_type: 2005, + face: 12, + identified: False, + materialname: 'rock', + name: 'ore', + name_pl: 'ores', + nrof: 1, + race: 'gold and jewels', + title: 'of platinum', + value: 500, + weight: 1000, + ) +ironbar = _a.Inorganic( + client_type: 2005, + face: 64, + identified: True, + materialname: 'iron', + name: 'iron bar', + name_pl: 'iron bars', + nrof: 1, + race: 'gold and jewels', + value: 100, + weight: 10000, + ) +silverore = _a.Inorganic( + client_type: 2005, + face: 41, + identified: False, + materialname: 'rock', + name: 'ore', + name_pl: 'ores', + nrof: 1, + race: 'gold and jewels', + title: 'of silver', + value: 200, + weight: 20000, + ) +worthlessoresmall_g = _a.Inorganic( + client_type: 2005, + face: 53, + identified: False, + materialname: 'rock', + name: 'ore', + name_pl: 'ores', + nrof: 1, + race: 'gold and jewels', + title: 'of nothing', + value: 1, + weight: 1000, + ) +leadore = _a.Inorganic( + client_type: 2005, + face: 41, + identified: False, + materialname: 'rock', + name: 'ore', + name_pl: 'ores', + nrof: 1, + race: 'gold and jewels', + title: 'of lead', + value: 20, + weight: 20000, + ) +largenugget = _a.Inorganic( + client_type: 2005, + face: 65, + materialname: 'gold', + name: 'large gold nugget', + name_pl: 'large gold nuggets', + nrof: 1, + race: 'gold and jewels', + value: 100, + weight: 180, + ) +goldore = _a.Inorganic( + client_type: 2005, + face: 14, + identified: False, + materialname: 'rock', + name: 'ore', + name_pl: 'ores', + nrof: 1, + race: 'gold and jewels', + title: 'of gold', + value: 2000, + weight: 20000, + ) +leadore1kg = _a.Inorganic( + client_type: 2005, + face: 12, + identified: False, + materialname: 'rock', + name: 'ore', + name_pl: 'ores', + nrof: 1, + race: 'gold and jewels', + title: 'of lead', + value: 1, + weight: 1000, + ) +worthlessore_g = _a.Inorganic( + client_type: 2005, + face: 66, + identified: False, + materialname: 'rock', + name: 'ore', + name_pl: 'ores', + nrof: 1, + race: 'gold and jewels', + title: 'of nothing', + value: 1, + weight: 20000, + ) +copperore = _a.Inorganic( + client_type: 2005, + face: 66, + identified: False, + materialname: 'rock', + name: 'ore', + name_pl: 'ores', + nrof: 1, + race: 'gold and jewels', + title: 'of copper', + value: 100, + weight: 20000, + ) +worthlessoresmall_r = _a.Inorganic( + client_type: 2005, + face: 37, + identified: False, + materialname: 'rock', + name: 'ore', + name_pl: 'ores', + nrof: 1, + race: 'gold and jewels', + title: 'of nothing', + value: 1, + weight: 1000, + ) +goldblock = _a.Gem( + client_type: 2005, + face: 67, + identified: True, + materialname: 'gold', + name: 'gold block', + name_pl: 'gold blocks', + nrof: 1, + race: 'gold and jewels', + value: 1000000, + weight: 1000000, + ) +leadbar = _a.Inorganic( + client_type: 2005, + face: 68, + identified: True, + materialname: 'lead', + name: 'lead bar', + name_pl: 'lead bars', + nrof: 1, + race: 'gold and jewels', + value: 100, + weight: 10000, + ) +pretty_sapphire = _a.Gem( + client_type: 2011, + face: 69, + identified: True, + name: 'pretty sapphire', + name_pl: 'pretty sapphires', + nrof: 1, + race: 'gold and jewels', + speed: -0.1, + value: 1850, + weight: 200, + ) +sapphire = _a.Gem( + client_type: 2011, + face: 70, + identified: True, + name_pl: 'sapphires', + nrof: 1, + race: 'gold and jewels', + speed: -0.1, + value: 185, + weight: 50, + ) +zincore = _a.Inorganic( + client_type: 2005, + face: 41, + identified: False, + materialname: 'rock', + name: 'ore', + name_pl: 'ores', + nrof: 1, + race: 'gold and jewels', + title: 'of zinc', + value: 10, + weight: 20000, + ) +goldore1kg = _a.Inorganic( + client_type: 2005, + face: 13, + identified: False, + materialname: 'rock', + name: 'ore', + name_pl: 'ores', + nrof: 1, + race: 'gold and jewels', + title: 'of gold', + value: 100, + weight: 1000, + ) +hugenugget = _a.Inorganic( + client_type: 2005, + face: 71, + materialname: 'gold', + name: 'huge gold nugget', + name_pl: 'huge gold nuggets', + nrof: 1, + race: 'gold and jewels', + value: 177777, + weight: 700000000, + ) +tinore1kg = _a.Inorganic( + client_type: 2005, + face: 12, + identified: False, + materialname: 'rock', + name: 'ore', + name_pl: 'ores', + nrof: 1, + race: 'gold and jewels', + title: 'of tin', + value: 1, + weight: 1000, + ) +silverblock = _a.Gem( + client_type: 2005, + face: 72, + identified: True, + materialname: 'silver', + name: 'silver block', + name_pl: 'silver blocks', + nrof: 1, + race: 'gold and jewels', + value: 100000, + weight: 1000000, + ) +emerald = _a.Gem( + client_type: 2011, + face: 73, + identified: True, + name_pl: 'emeralds', + need_an: True, + nrof: 1, + race: 'gold and jewels', + speed: -0.1, + value: 160, + weight: 50, + ) +pretty_emerald = _a.Gem( + client_type: 2011, + face: 74, + identified: True, + name: 'pretty emerald', + name_pl: 'pretty emeralds', + need_an: True, + nrof: 1, + race: 'gold and jewels', + speed: -0.1, + value: 1600, + weight: 200, + ) + + + + +type_player = _a.Player( + body_combat: 1, + body_range: 1, + body_shield: 1, + body_skill: 1, + ) +type_rod = _a.Rod( + skill: 'use magic item', + ) +type_book = _a.Book( + materialname: 'paper', + skill: 'literacy', + sound: 'elmex/paper_crumble', + ) +type_vein = _a.Vein( + ac: 50, + face: 75, + food: 1, + invisible: True, + race: 'mining', + ) +type_ranged = _a.Ranged( + body_range: -1, + ) + +type_bow = _a.Bow( + ) +type_weapon = _a.Weapon( + body_combat: -1, + ) +type_locked_door = _a.LockedDoor( + sound_destroy: 'misc/doorkickopen', + ) +type_door = _a.Door( + ac: 10, + alive: True, + exp: 1, + hp: 400, + level: 1, + move_block: 'all', + name: 'door', + no_pick: True, + randomitems: 'door', + sound_destroy: 'open_door', + ) +type_shield = _a.Shield( + body_shield: -1, + ) +type_horn = _a.Horn( + skill: 'use magic item', + ) +type_skill = _a.Skill( + body_skill: -1, + ) + +type_skill_tool = _a.SkillTool( + ) +type_spell = _a.Spell( + ) +type_wand = _a.Wand( + skill: 'use magic item', + ) +type_force = _a.Force( + face: 76, + invisible: True, + no_drop: True, + ) + + +type_quad_material = _a.Material( + nrof: 1, + subtype: 4, + weight: 1000, + ) +gaea_general_info = _a.Book( + invisible: True, + name: 'message', + ) +ruggilli_avatar_info = _a.Book( + invisible: True, + name: 'avatar', + other_arch: 'ruggilli_avatar', + ) +gaea_avatar_info = _a.Book( + invisible: True, + name: 'avatar', + other_arch: 'gaea_avatar', + ) +Ixalovh = _a.God( + ac: -5, + alive: True, + attacktype: 17, + can_cast_spell: True, + can_use_armour: True, + can_use_shield: True, + can_use_weapon: True, + con: 30.0, + dam: 60, + dex: 30, + exp: 1, + face: 77, + hp: 400, + int: 30, + is_animated: True, + level: 15, + maxhp: 400, + monster: True, + path_attuned: 16388, + path_denied: 65536, + path_repelled: 514, + pow: 30.0, + race: 'chaotic_water_creatures', + randomitems: 'Ixalovh', + resist_cold: 80, + resist_fire: -30, + resist_magic: 20, + resist_physical: 20, + slaying: 'consuming_fire_creatures', + speed: 0.5, + str: 30, + title: 'Ruggilli', + wc: -3, + weight: 500000, + wis: 30, + ) +Gaea = _a.God( + ac: -5, + alive: True, + animation: 'panther', + attacktype: 16384, + can_cast_spell: True, + can_use_armour: True, + can_use_shield: True, + con: 30.0, + dam: 50, + dex: 30, + exp: 1, + face: 78, + hp: 500, + int: 30, + is_animated: True, + last_grace: 3, + last_heal: 2, + level: 15, + maxhp: 500, + monster: True, + path_attuned: 65, + path_denied: 393216, + pow: 30.0, + race: 'animal,bird,slime,insect,reptile,water_elemental,earth_elemental,air_elemental,fire_elemental', + randomitems: 'Gaea', + resist_death: 100, + resist_deplete: 100, + resist_drain: 100, + resist_fear: -100, + slaying: 'undead,unnatural', + speed: 0.18, + str: 30, + title: 'Devourers', + wc: -1, + weight: 500000, + wis: 30, + ) + +Sorig = _a.God( + ac: -5, + alive: True, + animation: 'para_lightning', + attacktype: 8, + can_cast_spell: True, + can_use_armour: True, + can_use_shield: True, + can_use_weapon: True, + con: 30.0, + dam: 40, + dex: 30, + exp: 1, + face: 79, + hp: 300, + int: 30, + is_animated: True, + level: 15, + maxhp: 300, + monster: True, + path_attuned: 131096, + path_denied: 65537, + path_repelled: 256, + pow: 30.0, + race: 'air_elemental', + randomitems: 'Sorig', + resist_electricity: 100, + speed: 0.4, + str: 30, + wc: -1, + weight: 1, + wis: 30, + ) +sorig_avatar_info = _a.Book( + invisible: True, + name: 'avatar', + other_arch: 'sorig_avatar', + ) + +sorig_general_info = _a.Book( + invisible: True, + name: 'message', + ) +gaea_holy_servant_info = _a.Book( + invisible: True, + name: 'holy servant', + other_arch: 'para_earth', + ) +ixalovh_general_info = _a.Book( + invisible: True, + name: 'message', + ) +ixalovh_avatar_info = _a.Book( + invisible: True, + name: 'avatar', + other_arch: 'ixalovh_avatar', + ) +ruggilli_general_info = _a.Book( + invisible: True, + name: 'message', + ) + +sorig_holy_servant_info = _a.Book( + invisible: True, + name: 'holy servant', + other_arch: 'para_lightning', + ) + +ruggilli_holy_servant_info = _a.Book( + invisible: True, + name: 'holy servant', + other_arch: 'dragon', + ) +ixalovh_holy_servant_info = _a.Book( + invisible: True, + name: 'holy servant', + other_arch: 'water_witch', + ) +Ruggilli = _a.God( + ac: -5, + alive: True, + animation: 'fire_elemental', + attacktype: 5, + can_cast_spell: True, + can_use_weapon: True, + con: 30.0, + dam: 60, + dex: 30, + exp: 1, + face: 80, + hp: 400, + int: 30, + is_animated: True, + last_eat: -1, + last_heal: 1, + level: 15, + maxhp: 400, + monster: True, + path_attuned: 131074, + path_denied: 65536, + path_repelled: 2308, + pow: 30.0, + race: 'consuming_fire_creatures', + randomitems: 'Ruggilli', + reflect_missile: True, + resist_cold: -30, + resist_fire: 100, + resist_magic: 30, + resist_physical: 30, + slaying: 'chaotic_water_creatures', + speed: 0.5, + str: 30, + title: 'Ixalovh', + wc: -3, + weight: 500000, + wis: 30, + ) + + +mithril_ar_ele_sorig = _a.Armour( + ac: 4, + animation: 'mithril_ar_ele', + body_torso: -1, + client_type: 250, + dex: 1, + exp: 1, + face: 84, + gen_sp_armour: 2, + item_power: 10, + last_sp: 27, + magic: 5, + name: 'mithril chainmail of lightning of Sorig', + name_pl: 'mithril chainmails of lightning of Sorig', + nrof: 1, + resist_electricity: 40, + resist_physical: 40, + speed: 0.3, + startequip: True, + str: 1, + value: 4000, + weight: 15000, + ) +tear_gaea = _a.Potion( + client_type: 650, + face: 85, + level: 10, + name: "Gaea's tear", + name_pl: "Gaea's tears", + nrof: 1, + sp: 35, + speed: 0.25, + weight: 10, + ) +bracers_gnarg = _a.Bracers( + body_wrist: -2, + client_type: 310, + dam: 15, + face: 86, + hp: 1, + name: 'bracers', + name_pl: 'bracers', + nrof: 1, + resist_cold: 20, + resist_physical: 30, + startequip: True, + str: 2, + title: 'of strength of Wargs', + value: 65000, + weight: 9000, + ) + + +helmet_gnarg = _a.Helmet( + ac: 3, + body_head: -1, + client_type: 270, + dex: 1, + face: 89, + gen_sp_armour: 1, + name: "Gnarg's Orc Helmet", + name_pl: "Gnarg's Orc Helmets", + nrof: 1, + resist_physical: 20, + resist_poison: 30, + startequip: True, + weight: 7000, + ) + +mail_mostrai = _a.Armour( + ac: 3, + body_torso: -1, + client_type: 250, + face: 91, + gen_sp_armour: 9, + item_power: 4, + last_sp: 13, + magic: 2, + name: "Thorin's Plate Mail", + name_pl: "Thorin's Plate Mails", + nrof: 1, + resist_fire: 30, + resist_physical: 50, + startequip: True, + str: 1, + weight: 50000, + ) + + +glovesofsun = _a.Gloves( + ac: 1, + attacktype: 5, + body_hand: -2, + client_type: 300, + dam: 2, + dex: 2, + face: 94, + magic: 1, + materialname: 'leather', + name: 'Gloves of the Sun', + name_pl: 'Gloves of the Sun', + nrof: 1, + speed: 0.25, + startequip: True, + value: 20000, + wc: 2, + weight: 900, + ) +god_minor_healing = _a.Book( + invisible: True, + name: 'heal spell', + slaying: 'spell_minor_healing', + ) +god_restore_spellpoints_medium = _a.Book( + invisible: True, + maxsp: 100, + name: 'restore spellpoints', + ) +god_cure_blindness = _a.Book( + invisible: True, + name: 'heal spell', + slaying: 'spell_cure_blindness', + ) +god_cure_confusion = _a.Book( + invisible: True, + name: 'heal spell', + slaying: 'spell_cure_confusion', + ) +god_grace_limit_low = _a.Book( + face: 95, + grace: 100, + invisible: True, + name: 'grace limit', + ) +god_enchant_weapon_medium = _a.Book( + face: 76, + invisible: True, + level: 6, + name: 'enchant weapon', + ) +god_spellbook_protection_from_fire = _a.Spellbook( + face: 96, + identified: True, + materialname: 'paper', + name: 'prayerbook', + nrof: 1, + skill: 'literacy', + slaying: 'protection from fire', + startequip: True, + value: 0, + weight: 5000, + ) +god_enchant_weapon_high = _a.Book( + face: 76, + invisible: True, + level: 4, + name: 'enchant weapon', + ) +god_grace_limit_insane = _a.Book( + face: 95, + grace: 1000, + invisible: True, + name: 'grace limit', + ) +god_grace_limit_high = _a.Book( + face: 95, + grace: 600, + invisible: True, + name: 'grace limit', + ) +god_restore_grace = _a.Book( + invisible: True, + name: 'restore grace', + ) +god_cure_poison = _a.Book( + invisible: True, + name: 'heal spell', + slaying: 'spell_cure_poison', + ) +god_medium_healing = _a.Book( + invisible: True, + name: 'heal spell', + slaying: 'spell_medium_healing', + ) +god_restore_spellpoints_low = _a.Book( + invisible: True, + maxsp: 80, + name: 'restore spellpoints', + ) +god_restore_spellpoints_very_high = _a.Book( + invisible: True, + maxsp: 200, + name: 'restore spellpoints', + ) +god_major_healing = _a.Book( + invisible: True, + name: 'heal spell', + slaying: 'spell_major_healing', + ) +god_remove_curse = _a.Book( + invisible: True, + name: 'remove curse', + ) +god_restore_spellpoints_high = _a.Book( + invisible: True, + maxsp: 150, + name: 'restore spellpoints', + ) +god_remove_depletion = _a.Book( + invisible: True, + name: 'heal depletion', + ) +god_cure_disease = _a.Book( + invisible: True, + name: 'heal spell', + slaying: 'spell_cure_disease', + ) +god_restore_hitpoints = _a.Book( + invisible: True, + name: 'restore hitpoints', + ) +god_grace_limit_medium = _a.Book( + face: 95, + grace: 300, + invisible: True, + name: 'grace limit', + ) +god_remove_damnation = _a.Book( + invisible: True, + name: 'remove damnation', + ) +god_enchant_weapon_low = _a.Book( + face: 76, + invisible: True, + level: 10, + name: 'enchant weapon', + ) +lythander_avatar_info = _a.Book( + invisible: True, + name: 'avatar', + other_arch: 'lythander_avatar', + ) + +mostrai_general_info = _a.Book( + invisible: True, + name: 'message', + ) +mostrai_holy_servant_info = _a.Book( + invisible: True, + name: 'holy servant', + other_arch: 'dwarf', + ) +gnarg_general_info = _a.Book( + invisible: True, + name: 'message', + ) +lythander_general_info = _a.Book( + invisible: True, + name: 'message', + ) +Gnarg = _a.God( + ac: -5, + alive: True, + animation: 'small_troll', + attacktype: 1024, + can_cast_spell: True, + can_use_armour: True, + can_use_shield: True, + can_use_weapon: True, + con: 30.0, + dam: 50, + dex: 30, + exp: 1, + face: 98, + hp: 500, + int: 30, + is_animated: True, + level: 15, + maxhp: 500, + monster: True, + path_attuned: 131088, + path_repelled: 65537, + pow: 30.0, + race: 'goblin,giant,troll', + randomitems: 'Gnarg', + resist_magic: -20, + resist_poison: 100, + slaying: 'faerie,dwarf', + speed: 0.25, + str: 30, + title: 'Lythander', + wc: -3, + weight: 500000, + wis: 30, + ) +gnarg_avatar_info = _a.Book( + invisible: True, + name: 'avatar', + other_arch: 'gnarg_avatar', + ) +mostrai_avatar_info = _a.Book( + invisible: True, + name: 'avatar', + other_arch: 'mostrai_avatar', + ) +Mostrai = _a.God( + ac: -10, + alive: True, + animation: 'dwarf', + attacktype: 256, + can_cast_spell: True, + can_use_armour: True, + can_use_shield: True, + can_use_weapon: True, + con: 30.0, + dam: 50, + dex: 30, + exp: 1, + face: 99, + hp: 350, + int: 30, + is_animated: True, + level: 15, + maxhp: 350, + monster: True, + path_attuned: 18432, + path_repelled: 64, + pow: 30.0, + race: 'dwarf', + randomitems: 'Mostrai', + resist_confusion: -10, + resist_fire: 20, + resist_slow: -50, + slaying: 'goblin,giant', + speed: 0.2, + str: 30, + title: 'Gnarg', + wc: -6, + weight: 100000, + wis: 30, + ) +lythander_holy_servant_info = _a.Book( + invisible: True, + name: 'holy servant', + other_arch: 'unicorn', + ) +gnarg_holy_servant_info = _a.Book( + invisible: True, + name: 'holy servant', + other_arch: 'small_troll', + ) +Lythander = _a.God( + ac: -7, + alive: True, + animation: 'elf_1', + attacktype: 2080, + can_cast_spell: True, + can_use_armour: True, + can_use_shield: True, + can_use_weapon: True, + con: 30.0, + dam: 40, + dex: 30, + exp: 1, + face: 97, + hp: 350, + int: 30, + is_animated: True, + last_sp: 1, + level: 15, + luck: 2, + maxhp: 350, + monster: True, + path_attuned: 65552, + path_denied: 512, + pow: 30.0, + race: 'faerie', + randomitems: 'Lythander', + resist_acid: -15, + resist_confusion: 100, + resist_poison: -30, + slaying: 'goblin,troll', + speed: 0.25, + stealth: True, + str: 30, + title: 'Gnarg', + wc: -1, + weight: 500000, + wis: 30, + ) + + +gorokh_holy_servant_info = _a.Book( + invisible: True, + name: 'holy servant', + other_arch: 'devil', + ) +Gorokh = _a.God( + ac: -5, + alive: True, + animation: 'devil', + attacktype: 16384, + can_cast_spell: True, + can_use_armour: True, + can_use_shield: True, + can_use_weapon: True, + con: 30.0, + dam: 50, + dex: 30, + exp: 1, + face: 100, + hp: 350, + int: 30, + is_animated: True, + last_heal: -2, + last_sp: -1, + level: 15, + luck: -1, + maxhp: 350, + monster: True, + path_attuned: 131072, + path_repelled: 257, + pow: 30.0, + race: 'demon', + randomitems: 'Gorokh', + resist_cold: -5, + resist_fear: 100, + resist_magic: 30, + slaying: 'angel', + speed: 0.25, + str: 30, + title: 'Valriel', + wc: -3, + weight: 400000, + wis: 30, + ) +Valriel = _a.God( + ac: -7, + alive: True, + attacktype: 4194304, + can_cast_spell: True, + can_use_armour: True, + can_use_shield: True, + can_use_weapon: True, + con: 30.0, + dam: 50, + dex: 30, + exp: 1, + face: 101, + hp: 350, + int: 30, + is_animated: True, + level: 15, + maxhp: 350, + monster: True, + path_attuned: 1025, + path_denied: 393216, + pow: 30.0, + race: 'angel', + randomitems: 'Valriel', + resist_blind: 100, + resist_confusion: 20, + resist_fear: 100, + slaying: 'demon', + speed: 0.25, + str: 30, + title: 'Gorokh', + wc: -1, + weight: 100000, + wis: 30, + ) +valriel_general_info = _a.Book( + invisible: True, + name: 'message', + ) +valriel_player_glow = _a.Sign( + face: 101, + glow_radius: 9, + invisible: True, + name: "valriel's light", + startequip: True, + ) + +Devourers = _a.God( + ac: -12, + alive: True, + animation: 'grimreaper', + attacktype: 16973824, + can_cast_spell: True, + can_see_in_dark: True, + can_use_armour: True, + can_use_shield: True, + can_use_weapon: True, + con: 30.0, + dam: 50, + dex: 30, + exp: 1, + face: 102, + hp: 350, + int: 30, + is_animated: True, + last_eat: 60, + last_heal: -1, + level: 15, + maxhp: 350, + monster: True, + path_attuned: 393216, + path_denied: 65536, + path_repelled: 524547, + pow: 30.0, + race: 'undead', + randomitems: 'Devourers', + resist_cold: 15, + resist_death: 100, + resist_deplete: 100, + resist_drain: 100, + resist_fear: 100, + resist_fire: -5, + resist_ghosthit: 50, + resist_poison: 100, + speed: 0.35, + str: 30, + title: 'Gaea', + undead: True, + wc: -1, + weight: 1, + wis: 30, + ) +devourers_general_info = _a.Book( + invisible: True, + name: 'message', + ) + +gorokh_avatar_info = _a.Book( + invisible: True, + name: 'avatar', + other_arch: 'gorokh_avatar', + ) + +valriel_avatar_info = _a.Book( + invisible: True, + name: 'avatar', + other_arch: 'valriel_avatar', + ) +devourers_holy_servant_info = _a.Book( + invisible: True, + name: 'holy servant', + other_arch: 'wight', + ) +devourers_avatar_info = _a.Book( + invisible: True, + name: 'avatar', + other_arch: 'devourers_avatar', + ) +valriel_holy_servant_info = _a.Book( + invisible: True, + name: 'holy servant', + other_arch: 'angel', + ) +gorokh_general_info = _a.Book( + invisible: True, + name: 'message', + ) +altar_ruggilli = _a.HolyAltar( + face: 103, + level: 100, + name: 'Altar of Ruggilli', + no_pick: True, + other_arch: 'Ruggilli', + ) +altar_mostrai = _a.HolyAltar( + face: 104, + level: 100, + name: 'Altar of Mostrai', + no_pick: True, + other_arch: 'Mostrai', + ) +altar_lythander = _a.HolyAltar( + face: 105, + level: 100, + name: 'Altar of Lythander', + no_pick: True, + other_arch: 'Lythander', + ) +altar_devourers = _a.HolyAltar( + face: 106, + level: 100, + name: 'Altar of Devourers', + no_pick: True, + other_arch: 'Devourers', + resist_physical: 100, + ) +altar_valriel = _a.HolyAltar( + face: 107, + level: 100, + name: 'Altar of Valriel', + no_pick: True, + other_arch: 'Valriel', + resist_physical: 100, + ) +altar_gaea = _a.HolyAltar( + face: 108, + level: 100, + name: 'Altar of Gaea', + no_pick: True, + other_arch: 'Gaea', + ) +altar_none = _a.HolyAltar( + face: 109, + name: 'altar', + no_pick: True, + ) +altar_gnarg = _a.HolyAltar( + face: 110, + level: 100, + name: 'Altar of Gnarg', + no_pick: True, + other_arch: 'Gnarg', + ) +altar_gorokh = _a.HolyAltar( + face: 111, + level: 100, + name: 'Altar of Gorokh', + no_pick: True, + other_arch: 'Gorokh', + ) +altar_ixalovh = _a.HolyAltar( + face: 112, + level: 100, + name: 'Altar of Ixalovh', + no_pick: True, + other_arch: 'Ixalovh', + ) +altar_sorig = _a.HolyAltar( + face: 113, + level: 100, + name: 'Altar of Sorig', + no_pick: True, + other_arch: 'Sorig', + ) +altar_hanuk = _a.HolyAltar( + face: 114, + level: 100, + name: 'Altar of the Dark Angel', + no_pick: True, + other_arch: 'Gorokh', + resist_physical: 100, + ) +burning_guild = _a.Exit( + client_type: 25012, + face: 115, + move_block: 'all', + name: 'burning guild', + no_pick: True, + ) +burning_guild_2 = _a.Exit( + face: 115, + move_block: 'all', + name: 'burning guild', + no_pick: True, + x: 1, + ) +burning_guild_3 = _a.Exit( + face: 115, + name: 'burning guild', + no_pick: True, + y: 1, + ) +burning_guild_4 = _a.Exit( + face: 115, + name: 'burning guild', + no_pick: True, + x: 1, + y: 1, + ) +burning_shrine = _a.Exit( + client_type: 25012, + face: 116, + name: 'burning shrine', + no_pick: True, + ) +burning_courthouse = _a.Exit( + client_type: 25012, + face: 117, + move_block: 'all', + no_pick: True, + ) +burning_courthouse_2 = _a.Exit( + face: 117, + move_block: 'all', + name: 'burning courthouse', + no_pick: True, + x: 1, + ) +burning_courthouse_3 = _a.Exit( + face: 117, + name: 'burning courthouse', + no_pick: True, + y: 1, + ) +burning_courthouse_4 = _a.Exit( + face: 117, + name: 'burning courthouse', + no_pick: True, + x: 1, + y: 1, + ) +burning_collesium = _a.Exit( + client_type: 25012, + face: 118, + name: 'burning collesium', + no_pick: True, + ) +burning_collesium_2 = _a.Exit( + face: 118, + name: 'burning collesium', + no_pick: True, + x: 1, + ) +burning_collesium_3 = _a.Exit( + face: 118, + name: 'burning collesium', + no_pick: True, + x: 2, + ) +burning_collesium_4 = _a.Exit( + face: 118, + name: 'burning collesium', + no_pick: True, + x: 3, + ) +burning_collesium_5 = _a.Exit( + face: 118, + name: 'burning collesium', + no_pick: True, + x: 4, + ) +burning_collesium_6 = _a.Exit( + face: 118, + name: 'burning collesium', + no_pick: True, + y: 1, + ) +burning_collesium_7 = _a.Exit( + face: 118, + name: 'burning collesium', + no_pick: True, + x: 1, + y: 1, + ) +burning_collesium_8 = _a.Exit( + face: 118, + name: 'burning collesium', + no_pick: True, + x: 2, + y: 1, + ) +burning_collesium_9 = _a.Exit( + face: 118, + name: 'burning collesium', + no_pick: True, + x: 3, + y: 1, + ) +burning_collesium_10 = _a.Exit( + face: 118, + name: 'burning collesium', + no_pick: True, + x: 4, + y: 1, + ) +burning_collesium_11 = _a.Exit( + face: 118, + name: 'burning collesium', + no_pick: True, + y: 2, + ) +burning_collesium_12 = _a.Exit( + face: 118, + name: 'burning collesium', + no_pick: True, + x: 1, + y: 2, + ) +burning_collesium_13 = _a.Exit( + face: 118, + name: 'burning collesium', + no_pick: True, + x: 2, + y: 2, + ) +burning_collesium_14 = _a.Exit( + face: 118, + name: 'burning collesium', + no_pick: True, + x: 3, + y: 2, + ) +burning_collesium_15 = _a.Exit( + face: 118, + name: 'burning collesium', + no_pick: True, + x: 4, + y: 2, + ) +burning_store_alchemy = _a.Exit( + client_type: 25012, + face: 119, + move_block: 'all', + name: 'burning shop', + no_pick: True, + ) +burning_store_alchemy_2 = _a.Exit( + face: 119, + move_block: 'all', + name: 'burning shop', + no_pick: True, + x: 1, + ) +burning_store_alchemy_3 = _a.Exit( + face: 119, + name: 'burning shop', + no_pick: True, + y: 1, + ) +burning_store_alchemy_4 = _a.Exit( + face: 119, + name: 'burning shop', + no_pick: True, + x: 1, + y: 1, + ) +burning_market1 = _a.Exit( + client_type: 25012, + face: 120, + name: 'burning market', + no_pick: True, + ) +burning_store_general = _a.Exit( + client_type: 25012, + face: 121, + move_block: 'all', + name: 'burning shop', + no_pick: True, + ) +burning_store_general_2 = _a.Exit( + face: 121, + move_block: 'all', + name: 'burning shop', + no_pick: True, + x: 1, + ) +burning_store_general_3 = _a.Exit( + face: 121, + name: 'burning shop', + no_pick: True, + y: 1, + ) +burning_store_general_4 = _a.Exit( + face: 121, + name: 'burning shop', + no_pick: True, + x: 1, + y: 1, + ) +burning_store_weapons = _a.Exit( + client_type: 25012, + face: 122, + move_block: 'all', + name: 'burning shop', + no_pick: True, + ) +burning_store_weapons_2 = _a.Exit( + face: 122, + move_block: 'all', + name: 'burning shop', + no_pick: True, + x: 1, + ) +burning_store_weapons_3 = _a.Exit( + face: 122, + name: 'burning shop', + no_pick: True, + y: 1, + ) +burning_store_weapons_4 = _a.Exit( + face: 122, + name: 'burning shop', + no_pick: True, + x: 1, + y: 1, + ) +burning_house_small = _a.Exit( + client_type: 25012, + face: 123, + name: 'burning small house', + no_pick: True, + ) +coldmagma = _a.SpellEffect( + attacktype: 4, + dam: 75, + face: 124, + generator: True, + is_animated: True, + is_floor: True, + level: 30000, + lifesave: True, + maxsp: 5000, + move_on: 'walk', + name: 'cold magma', + no_pick: True, + other_arch: 'fire_elemental', + speed: 0.15, + subtype: 7, + wc: -30, + ) +burning_small_temple = _a.Exit( + client_type: 25012, + face: 125, + name: 'burning small temple', + no_pick: True, + ) +lava_well = _a.Exit( + client_type: 25012, + face: 126, + no_pick: True, + ) +burning_fountain = _a.Encounter( + face: 127, + move_on: 'walk', + name: 'burning fountain', + no_pick: True, + speed: 0.5, + ) +burning_barn = _a.Exit( + client_type: 25012, + face: 128, + no_pick: True, + ) +burning_barn_2 = _a.Exit( + face: 128, + name: 'burning barn', + no_pick: True, + x: 1, + ) +burning_barn_3 = _a.Exit( + face: 128, + name: 'burning barn', + no_pick: True, + y: 1, + ) +burning_barn_4 = _a.Exit( + face: 128, + name: 'burning barn', + no_pick: True, + x: 1, + y: 1, + ) +burning_house_long = _a.Exit( + client_type: 25012, + face: 129, + name: 'burning house', + no_pick: True, + ) +burning_house_long_2 = _a.Exit( + face: 129, + name: 'burning house', + no_pick: True, + x: 1, + ) +burning_house_up = _a.Exit( + client_type: 25012, + face: 130, + name: 'burning house', + no_pick: True, + ) +burning_house_up_2 = _a.Exit( + face: 130, + name: 'burning house', + no_pick: True, + y: 1, + ) +burning_temple1 = _a.Exit( + client_type: 25012, + face: 131, + move_block: 'all', + name: 'burning temple', + no_pick: True, + ) +burning_temple1_2 = _a.Exit( + face: 131, + move_block: 'all', + name: 'temple', + no_pick: True, + x: 1, + ) +burning_temple1_3 = _a.Exit( + face: 131, + name: 'temple', + no_pick: True, + y: 1, + ) +burning_temple1_4 = _a.Exit( + face: 131, + name: 'temple', + no_pick: True, + x: 1, + y: 1, + ) +burning_church = _a.Exit( + client_type: 25012, + face: 132, + name: 'burning church', + no_pick: True, + ) +burning_church_2 = _a.Exit( + face: 132, + name: 'burning church', + no_pick: True, + x: 1, + ) +burning_church_3 = _a.Exit( + face: 132, + name: 'burning church', + no_pick: True, + y: 1, + ) +burning_church_4 = _a.Exit( + face: 132, + name: 'burning church', + no_pick: True, + x: 1, + y: 1, + ) +burning_l_shop1 = _a.Exit( + client_type: 25012, + face: 133, + move_block: 'all', + name: 'burning shop', + no_pick: True, + ) +burning_l_shop1_2 = _a.Exit( + face: 133, + move_block: 'all', + name: 'burning shop', + no_pick: True, + x: 1, + ) +burning_l_shop1_3 = _a.Exit( + face: 133, + name: 'burning shop', + no_pick: True, + y: 1, + ) +burning_l_shop1_4 = _a.Exit( + face: 133, + name: 'burning shop', + no_pick: True, + x: 1, + y: 1, + ) +burning_market3 = _a.Exit( + client_type: 25012, + face: 134, + name: 'burning market', + no_pick: True, + ) +burning_market2 = _a.Exit( + client_type: 25012, + face: 135, + name: 'burning market', + no_pick: True, + ) +burning_house_largish = _a.Exit( + client_type: 25012, + face: 136, + name: 'burning house', + no_pick: True, + ) +burning_house_largish_2 = _a.Exit( + face: 136, + name: 'burning house', + no_pick: True, + x: 1, + ) +burning_cathedral = _a.Exit( + client_type: 25012, + face: 137, + move_block: 'all', + name: 'burning cathedral', + no_pick: True, + ) +burning_cathedral_2 = _a.Exit( + face: 137, + move_block: 'all', + name: 'burning cathedral', + no_pick: True, + x: 1, + ) +burning_cathedral_3 = _a.Exit( + face: 137, + move_block: 'all', + name: 'burning cathedral', + no_pick: True, + x: 2, + ) +burning_cathedral_4 = _a.Exit( + face: 137, + move_block: 'all', + name: 'burning cathedral', + no_pick: True, + y: 1, + ) +burning_cathedral_5 = _a.Exit( + face: 137, + move_block: 'all', + name: 'burning cathedral', + no_pick: True, + x: 1, + y: 1, + ) +burning_cathedral_6 = _a.Exit( + face: 137, + move_block: 'all', + name: 'burning cathedral', + no_pick: True, + x: 2, + y: 1, + ) +burning_cathedral_7 = _a.Exit( + face: 137, + move_block: 'all', + name: 'burning cathedral', + no_pick: True, + y: 2, + ) +burning_cathedral_8 = _a.Exit( + face: 137, + move_block: 'all', + name: 'burning cathedral', + no_pick: True, + x: 1, + y: 2, + ) +burning_cathedral_9 = _a.Exit( + face: 137, + move_block: 'all', + name: 'burning cathedral', + no_pick: True, + x: 2, + y: 2, + ) +burning_cathedral_10 = _a.Exit( + face: 137, + move_block: 'all', + name: 'burning cathedral', + no_pick: True, + y: 3, + ) +burning_cathedral_11 = _a.Exit( + face: 137, + move_block: 'all', + name: 'burning cathedral', + no_pick: True, + x: 1, + y: 3, + ) +burning_cathedral_12 = _a.Exit( + face: 137, + move_block: 'all', + name: 'burning cathedral', + no_pick: True, + x: 2, + y: 3, + ) +burning_t_house2 = _a.Exit( + client_type: 25012, + face: 138, + move_block: 'all', + name: 'burning town house', + no_pick: True, + ) +burning_t_house2_2 = _a.Exit( + face: 138, + move_block: 'all', + name: 'burning town house', + no_pick: True, + x: 1, + ) +burning_t_house2_3 = _a.Exit( + face: 138, + name: 'burning town house', + no_pick: True, + y: 1, + ) +burning_t_house2_4 = _a.Exit( + face: 138, + name: 'burning town house', + no_pick: True, + x: 1, + y: 1, + ) +burning_store_armour = _a.Exit( + client_type: 25012, + face: 139, + move_block: 'all', + name: 'burning shop', + no_pick: True, + ) +burning_store_armour_2 = _a.Exit( + face: 139, + move_block: 'all', + name: 'burning shop', + no_pick: True, + x: 1, + ) +burning_store_armour_3 = _a.Exit( + face: 139, + name: 'burning shop', + no_pick: True, + y: 1, + ) +burning_store_armour_4 = _a.Exit( + face: 139, + name: 'burning shop', + no_pick: True, + x: 1, + y: 1, + ) +burning_fort_sym = _a.Exit( + client_type: 25012, + face: 140, + name: 'burning fortress', + no_pick: True, + ) +magma = _a.SpellEffect( + attacktype: 4, + dam: 75, + face: 141, + generator: True, + is_animated: True, + is_floor: True, + level: 30000, + lifesave: True, + maxsp: 5000, + move_on: 'walk', + no_pick: True, + other_arch: 'fire_elemental', + speed: 0.15, + subtype: 7, + wc: -30, + ) +burning_store_magic = _a.Exit( + client_type: 25012, + face: 142, + move_block: 'all', + name: 'burning shop', + no_pick: True, + ) +burning_store_magic_2 = _a.Exit( + face: 142, + move_block: 'all', + name: 'burning shop', + no_pick: True, + x: 1, + ) +burning_store_magic_3 = _a.Exit( + face: 142, + name: 'burning shop', + no_pick: True, + y: 1, + ) +burning_store_magic_4 = _a.Exit( + face: 142, + name: 'burning shop', + no_pick: True, + x: 1, + y: 1, + ) +burning_house_1 = _a.Exit( + client_type: 25012, + face: 143, + name: 'burning house', + no_pick: True, + ) +burning_fort = _a.Exit( + client_type: 25012, + face: 144, + name: 'burning fortress', + no_pick: True, + ) +burning_fort_2 = _a.Exit( + face: 144, + name: 'burning fortress', + no_pick: True, + x: 1, + ) +burning_fort_3 = _a.Exit( + face: 144, + name: 'burning fortress', + no_pick: True, + y: 1, + ) +burning_fort_4 = _a.Exit( + face: 144, + name: 'burning fortress', + no_pick: True, + x: 1, + y: 1, + ) +flaming_tower = _a.Exit( + client_type: 25012, + face: 145, + is_animated: True, + name: 'fire tower', + no_pick: True, + speed: 0.5, + ) +flaming_tower_2 = _a.Exit( + face: 145, + is_animated: True, + name: 'fire tower', + no_pick: True, + speed: 0.5, + y: 1, + ) +burning_stronghold = _a.Exit( + client_type: 25012, + face: 146, + move_block: 'all', + no_pick: True, + ) +burning_stronghold_2 = _a.Exit( + face: 146, + move_block: 'all', + name: 'burning stronghold', + no_pick: True, + x: 1, + ) +burning_stronghold_3 = _a.Exit( + face: 146, + move_block: 'all', + name: 'burning stronghold', + no_pick: True, + x: 2, + ) +burning_stronghold_4 = _a.Exit( + face: 146, + move_block: 'all', + name: 'burning stronghold', + no_pick: True, + y: 1, + ) +burning_stronghold_5 = _a.Exit( + face: 146, + move_block: 'all', + name: 'burning stronghold', + no_pick: True, + x: 1, + y: 1, + ) +burning_stronghold_6 = _a.Exit( + face: 146, + move_block: 'all', + name: 'burning stronghold', + no_pick: True, + x: 2, + y: 1, + ) +burning_stronghold_7 = _a.Exit( + face: 146, + move_block: 'all', + name: 'burning stronghold', + no_pick: True, + y: 2, + ) +burning_stronghold_8 = _a.Exit( + face: 146, + name: 'burning stronghold', + no_pick: True, + x: 1, + y: 2, + ) +burning_stronghold_9 = _a.Exit( + face: 146, + move_block: 'all', + name: 'burning stronghold', + no_pick: True, + x: 2, + y: 2, + ) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +trap_spikes2 = _a.Trap( + attacktype: 1, + cha: 20, + dam: 20, + face: 219, + hp: 1, + invisible: True, + is_animated: False, + level: 1, + move_on: 'walk', + name: 'spikes', + no_pick: True, + speed: 1.0, + ) +trap = _a.Trap( + attacktype: 1, + cha: 20, + dam: 90, + face: 220, + hp: 1, + invisible: True, + is_animated: False, + level: 1, + move_on: 'walk', + name: 'trap', + no_pick: True, + speed: 1.0, + ) +trap_rocks = _a.Trap( + attacktype: 1, + cha: 20, + dam: 50, + face: 221, + hp: 1, + invisible: True, + is_animated: False, + level: 1, + move_on: 'walk', + name: 'falling rocks trap', + no_pick: True, + speed: 1.0, + ) +trap_needle = _a.Trap( + attacktype: 1025, + cha: 20, + dam: 10, + face: 222, + hp: 1, + invisible: True, + is_animated: False, + level: 1, + move_on: 'walk', + name: 'poison needle', + no_pick: True, + speed: 1.0, + ) +trap_blades = _a.Trap( + attacktype: 1, + cha: 20, + dam: 90, + face: 223, + hp: 1, + invisible: True, + is_animated: False, + level: 1, + move_on: 'walk', + name: 'Blades trap', + no_pick: True, + speed: 1.0, + ) +trap_spike_pit = _a.Trap( + attacktype: 1, + cha: 15, + dam: 40, + face: 224, + hp: 1, + invisible: True, + is_animated: False, + level: 1, + move_on: 'walk', + name: 'spiked pit', + no_pick: True, + speed: 1.0, + ) +apple_eighth = _a.Food( + client_type: 601, + face: 225, + food: 3, + identified: True, + materialname: 'organic', + name: 'apple eighth', + name_pl: 'apple eighths', + need_an: True, + nrof: 1, + value: 1, + weight: 12, + ) +apple_fourth = _a.Food( + client_type: 601, + face: 226, + food: 6, + identified: True, + materialname: 'organic', + name: 'apple fourth', + name_pl: 'apple fourths', + need_an: True, + nrof: 1, + slaying: 'b_slicingknife:2 apple_eighth', + value: 1, + weight: 25, + ) +apple_half = _a.Food( + client_type: 601, + face: 227, + food: 12, + identified: True, + materialname: 'organic', + name: 'apple halve', + name_pl: 'apple halves', + need_an: True, + nrof: 1, + slaying: 'b_slicingknife:2 apple_fourth', + value: 1, + weight: 50, + ) +cheeseburger = _a.Food( + client_type: 601, + face: 228, + food: 350, + identified: True, + materialname: 'organic', + name_pl: 'cheeseburgers', + nrof: 1, + value: 10, + weight: 6500, + ) +cake = _a.Food( + client_type: 601, + face: 229, + food: 125, + identified: True, + materialname: 'organic', + name_pl: 'cakes', + nrof: 1, + value: 8, + weight: 3000, + ) +uf6 = _a.Drink( + client_type: 611, + face: 230, + food: 1, + materialname: 'organic', + name: 'uranium hexafluoride gas', + name_pl: 'uranium hexafluoride gas', + nrof: 1, + on_use_yield: 'wbottle_empty', + value: 155, + weight: 11500, + ) +rose_black = _a.Food( + client_type: 601, + face: 231, + food: 5, + materialname: 'organic', + name: 'black rose', + name_pl: 'black roses', + nrof: 1, + value: 160, + weight: 2, + ) +rose_pink = _a.Food( + client_type: 601, + face: 232, + food: 5, + materialname: 'organic', + name: 'pink rose', + name_pl: 'pink roses', + nrof: 1, + value: 60, + weight: 2, + ) +rose_red = _a.Food( + client_type: 601, + face: 233, + food: 5, + materialname: 'organic', + name: 'red rose', + name_pl: 'red roses', + nrof: 1, + value: 80, + weight: 2, + ) +rose_white = _a.Food( + client_type: 601, + face: 234, + food: 5, + materialname: 'organic', + name: 'white rose', + name_pl: 'white roses', + nrof: 1, + value: 45, + weight: 2, + ) +rose_yellow = _a.Food( + client_type: 601, + face: 235, + food: 5, + materialname: 'organic', + name: 'yellow rose', + name_pl: 'yellow roses', + nrof: 1, + value: 45, + weight: 2, + ) +mushroom_3 = _a.Food( + client_type: 601, + face: 236, + food: 100, + materialname: 'organic', + name: 'mushroom', + name_pl: 'mushrooms', + nrof: 1, + value: 7, + weight: 50, + ) +chocolate = _a.Food( + client_type: 601, + face: 237, + food: 50, + identified: True, + materialname: 'organic', + name_pl: 'chocolates', + nrof: 1, + value: 20, + weight: 100, + ) +chocolate_w = _a.Food( + client_type: 601, + face: 238, + food: 75, + identified: True, + materialname: 'organic', + name: 'white chocolate', + name_pl: 'white chocolate pieces', + nrof: 1, + value: 80, + weight: 100, + ) +booze = _a.Drink( + client_type: 611, + face: 239, + food: 100, + identified: True, + materialname: 'organic', + name_pl: 'boozes', + nrof: 1, + on_use_yield: 'boozebottle_empty', + slaying: 'vial_poison:poison', + value: 5, + weight: 6500, + ) +blackroot = _a.Food( + client_type: 601, + face: 240, + food: 15, + identified: True, + materialname: 'organic', + name: 'blackroot', + name_pl: 'blackroot', + nrof: 1, + value: 300, + weight: 300, + ) +bag_popcorn = _a.Food( + client_type: 601, + face: 241, + food: 50, + identified: True, + materialname: 'organic', + name: 'bag of popcorn', + name_pl: 'bags of popcorn', + nrof: 1, + value: 6, + weight: 250, + ) +cabbage = _a.Food( + client_type: 601, + face: 242, + food: 80, + identified: True, + materialname: 'organic', + name_pl: 'cabbages', + nrof: 1, + value: 4, + weight: 1500, + ) +apple = _a.Food( + client_type: 601, + face: 243, + food: 25, + identified: True, + materialname: 'organic', + name_pl: 'apples', + need_an: True, + nrof: 1, + slaying: 'b_slicingknife:2 apple_half', + value: 2, + weight: 100, + ) +s_weasel = _a.Food( + client_type: 601, + face: 244, + food: 30, + identified: True, + materialname: 'organic', + name: 'sizzling weasel on a stick', + name_pl: 'sizzling weasels on sticks', + nrof: 1, + value: 5, + weight: 10, + ) +dragon_steak = _a.Flesh( + client_type: 624, + face: 245, + food: 400, + identified: True, + materialname: 'organic', + name: 'steak', + name_pl: 'steaks', + nrof: 1, + value: 10, + weight: 5, + ) +fishfood = _a.Food( + client_type: 601, + face: 246, + food: 100, + identified: True, + materialname: 'organic', + name: 'fish', + name_pl: 'fishes', + nrof: 1, + value: 4, + weight: 3500, + ) +potato = _a.Food( + client_type: 601, + face: 247, + food: 200, + identified: True, + materialname: 'organic', + name: 'potatoes', + name_pl: 'potatoes', + nrof: 1, + value: 7, + weight: 4000, + ) +roast_bird = _a.Food( + client_type: 601, + face: 248, + food: 450, + identified: True, + materialname: 'organic', + name: 'roast bird', + name_pl: 'roast birds', + nrof: 1, + value: 40, + weight: 7500, + ) +haggis = _a.Food( + client_type: 601, + face: 249, + food: 500, + identified: True, + materialname: 'organic', + name: 'haggis', + name_pl: 'haggis', + nrof: 1, + value: 80, + weight: 8000, + ) +pear = _a.Food( + client_type: 601, + face: 250, + food: 25, + identified: True, + materialname: 'organic', + name_pl: 'pears', + nrof: 1, + value: 2, + weight: 100, + ) +carrot = _a.Food( + client_type: 601, + face: 251, + food: 20, + identified: True, + materialname: 'organic', + name: 'carrots', + name_pl: 'carrots', + nrof: 1, + value: 1, + weight: 100, + ) +wine = _a.Drink( + client_type: 611, + face: 252, + food: 75, + identified: True, + materialname: 'glass', + name: 'bottle of wine', + name_pl: 'bottles of wine', + nrof: 1, + on_use_yield: 'winebottle_empty', + slaying: 'vial_poison:wine_poison', + value: 10, + weight: 1000, + ) + +banana = _a.Food( + client_type: 601, + face: 254, + food: 50, + identified: True, + materialname: 'organic', + name_pl: 'bananas', + nrof: 1, + value: 2, + weight: 100, + ) +mint = _a.Food( + client_type: 601, + face: 255, + food: 5, + materialname: 'organic', + name: 'mint sprig', + name_pl: 'mint sprigs', + nrof: 1, + value: 5, + weight: 100, + ) +food = _a.Food( + client_type: 601, + face: 256, + food: 200, + identified: True, + materialname: 'organic', + name_pl: 'foods', + nrof: 1, + value: 10, + weight: 6500, + ) +onion = _a.Food( + client_type: 601, + face: 257, + food: 50, + identified: True, + materialname: 'organic', + name: 'onion', + name_pl: 'onions', + need_an: True, + nrof: 1, + value: 2, + weight: 100, + ) +water = _a.Drink( + client_type: 611, + face: 258, + food: 5, + materialname: 'organic', + name_pl: 'waters', + nrof: 1, + on_use_yield: 'wbottle_empty', + slaying: 'vial_poison:water_poison', + value: 5, + weight: 1500, + ) +coffee = _a.Food( + client_type: 601, + face: 259, + food: 10, + identified: True, + materialname: 'organic', + name: 'cup of coffee', + name_pl: 'cups of coffee', + nrof: 1, + on_use_yield: 'coffee_empty', + value: 1, + weight: 100, + ) +clover = _a.Food( + client_type: 601, + face: 260, + food: 5, + materialname: 'organic', + name_pl: 'clovers', + nrof: 1, + value: 5, + weight: 100, + ) +orange = _a.Food( + client_type: 601, + face: 261, + food: 25, + identified: True, + materialname: 'organic', + name: 'orange', + name_pl: 'oranges', + need_an: True, + nrof: 1, + value: 2, + weight: 100, + ) +mushroom_1 = _a.Food( + client_type: 601, + face: 262, + food: 50, + materialname: 'organic', + name: 'mushroom', + name_pl: 'mushrooms', + nrof: 1, + value: 5, + weight: 100, + ) +lemon = _a.Food( + client_type: 601, + face: 263, + food: 22, + identified: True, + materialname: 'organic', + name: 'lemon', + name_pl: 'lemons', + need_an: True, + nrof: 1, + value: 2, + weight: 100, + ) +loaf = _a.Food( + client_type: 601, + face: 264, + food: 100, + identified: True, + materialname: 'organic', + name: 'bread', + name_pl: 'breads', + nrof: 1, + value: 5, + weight: 3000, + ) +grape = _a.Food( + client_type: 601, + face: 265, + food: 25, + identified: True, + materialname: 'organic', + name: 'grapes', + name_pl: 'grapes', + nrof: 1, + value: 2, + weight: 100, + ) +cherry = _a.Food( + client_type: 601, + face: 266, + food: 15, + identified: True, + materialname: 'organic', + name: 'cherries', + name_pl: 'cherries', + nrof: 1, + value: 2, + weight: 100, + ) +tomato = _a.Food( + client_type: 601, + face: 267, + food: 50, + identified: True, + materialname: 'organic', + name: 'tomato', + name_pl: 'tomatoes', + nrof: 1, + value: 7, + weight: 1000, + ) +tomato_big = _a.Food( + client_type: 601, + face: 268, + food: 200, + identified: True, + materialname: 'organic', + name: 'very large tomato', + name_pl: 'very large tomatoes', + nrof: 1, + value: 14, + weight: 1000, + ) +mandrake_root = _a.Food( + client_type: 601, + face: 269, + food: 15, + identified: True, + materialname: 'organic', + name: 'mandrake root', + name_pl: 'mandrake roots', + nrof: 1, + value: 300, + weight: 300, + ) +orcchop = _a.Food( + client_type: 624, + face: 270, + food: 10, + identified: True, + materialname: 'organic', + name: 'orc chop', + name_pl: 'orc chops', + need_an: True, + nrof: 1, + value: 1, + weight: 650, + ) +pipeweed = _a.Food( + client_type: 601, + face: 271, + food: 5, + materialname: 'organic', + name: 'pipeweed', + name_pl: 'pipeweeds', + nrof: 1, + value: 300, + weight: 32, + ) +mushroom_2 = _a.Food( + client_type: 601, + face: 272, + food: 150, + materialname: 'organic', + name: 'mushroom', + name_pl: 'mushrooms', + nrof: 1, + value: 6, + weight: 100, + ) +leg_mutton = _a.Food( + client_type: 601, + face: 256, + food: 150, + identified: True, + materialname: 'organic', + name: 'leg of mutton', + name_pl: 'leg of mutton', + nrof: 1, + value: 50, + weight: 1500, + ) +pineapple = _a.Food( + client_type: 601, + face: 273, + food: 100, + identified: True, + materialname: 'organic', + name_pl: 'pineapples', + nrof: 1, + value: 2, + weight: 100, + ) +w_glass = _a.Drink( + client_type: 611, + face: 274, + food: 10, + identified: True, + materialname: 'glass', + name: 'glass of wine', + name_pl: 'glasses of wine', + nrof: 1, + on_use_yield: 'w_glass_empty', + slaying: 'vial_poison:w_glass_poison', + value: 2, + weight: 1000, + ) +waybread = _a.Food( + client_type: 601, + face: 275, + food: 500, + identified: True, + materialname: 'organic', + name_pl: 'waybreads', + nrof: 1, + value: 30, + weight: 1000, + ) +poison = _a.Poison( + client_type: 611, + cursed: True, + face: 239, + identified: False, + known_cursed: False, + materialname: 'organic', + name: 'booze', + name_pl: 'boozes', + nrof: 1, + on_use_yield: 'boozebottle_empty', + title: 'of poison', + weight: 6500, + ) +w_glass_poison = _a.Poison( + client_type: 611, + cursed: True, + face: 274, + food: 10, + identified: False, + known_cursed: False, + materialname: 'glass', + name: 'glass of wine', + name_pl: 'glasses of wine', + nrof: 1, + title: 'of poison', + value: 2, + weight: 1000, + ) +water_poison = _a.Poison( + client_type: 611, + cursed: True, + face: 258, + food: 5, + identified: False, + known_cursed: False, + materialname: 'organic', + name: 'water', + name_pl: 'waters', + nrof: 1, + on_use_yield: 'wbottle_empty', + title: 'of poison', + value: 5, + weight: 1500, + ) +wine_poison = _a.Poison( + client_type: 611, + cursed: True, + face: 252, + food: 75, + identified: False, + known_cursed: False, + materialname: 'glass', + name: 'bottle of wine', + name_pl: 'bottles of wine', + nrof: 1, + on_use_yield: 'winebottle_empty', + title: 'of poison', + value: 10, + weight: 1000, + ) +strawberry = _a.Food( + client_type: 601, + face: 276, + food: 20, + identified: True, + materialname: 'organic', + name_pl: 'strawberries', + nrof: 1, + value: 2, + weight: 100, + ) + +snowstorm_0 = _a.Firewall( + ac: 3, + activate_on_push: True, + activate_on_release: True, + blocksview: False, + dam: 1, + exp: 50, + face: 278, + invisible: True, + level: 10, + move_block: '-all', + other_arch: 'spell_icestorm', + resist_cold: 100, + sp: 0, + speed: -0.02, + ) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +wall_large_door1 = _a.Door( + face: 381, + materialname: 'iron', + move_block: '-all', + name: 'large door', + no_pick: True, + ) +wall_large_door2 = _a.Door( + face: 381, + materialname: 'iron', + move_block: '-all', + name: 'large door', + no_pick: True, + x: 1, + ) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +magentaguard_house_1 = _a.Exit( + blocksview: True, + face: 422, + move_on: 'walk fly_low', + name: 'Guard House', + no_pick: True, + ) +magentaguard_house_2 = _a.Exit( + blocksview: True, + face: 423, + move_on: 'walk fly_low', + name: 'Guard House', + no_pick: True, + ) +magentaguard_house_3 = _a.Exit( + blocksview: True, + face: 424, + move_on: 'walk fly_low', + name: 'Guard House', + no_pick: True, + ) +magentaguard_house_4 = _a.Exit( + blocksview: True, + face: 425, + move_on: 'walk fly_low', + name: 'Guard House', + no_pick: True, + ) + + + + + + + + + + + + + + + + +firewall = _a.Firewall( + ac: 3, + activate_on_push: True, + activate_on_release: True, + alive: True, + blocksview: True, + dam: 1, + exp: 50, + face: 442, + hp: 250, + level: 1, + maxhp: 250, + other_arch: 'spell_small_fireball', + resist_fire: 100, + speed: -0.02, + ) +firewall_1 = _a.Firewall( + activate_on_push: True, + activate_on_release: True, + blocksview: True, + dam: 1, + face: 443, + level: 1, + move_block: 'all', + name: 'firewall', + other_arch: 'spell_small_fireball', + sp: 1, + speed: -0.02, + ) +firewall_2 = _a.Firewall( + activate_on_push: True, + activate_on_release: True, + blocksview: True, + dam: 1, + face: 444, + level: 1, + move_block: 'all', + name: 'firewall', + other_arch: 'spell_small_fireball', + sp: 2, + speed: -0.02, + ) +firewall_3 = _a.Firewall( + activate_on_push: True, + activate_on_release: True, + blocksview: True, + dam: 1, + face: 445, + level: 1, + move_block: 'all', + name: 'firewall', + other_arch: 'spell_small_fireball', + sp: 3, + speed: -0.02, + ) +firewall_4 = _a.Firewall( + activate_on_push: True, + activate_on_release: True, + blocksview: True, + dam: 1, + face: 446, + level: 1, + move_block: 'all', + name: 'firewall', + other_arch: 'spell_small_fireball', + sp: 4, + speed: -0.02, + ) +firewall_5 = _a.Firewall( + activate_on_push: True, + activate_on_release: True, + blocksview: True, + dam: 1, + face: 447, + level: 1, + move_block: 'all', + name: 'firewall', + other_arch: 'spell_small_fireball', + sp: 5, + speed: -0.02, + ) +firewall_6 = _a.Firewall( + activate_on_push: True, + activate_on_release: True, + blocksview: True, + dam: 1, + face: 448, + level: 1, + move_block: 'all', + name: 'firewall', + other_arch: 'spell_small_fireball', + sp: 6, + speed: -0.02, + ) +firewall_7 = _a.Firewall( + activate_on_push: True, + activate_on_release: True, + blocksview: True, + dam: 1, + face: 449, + level: 1, + move_block: 'all', + name: 'firewall', + other_arch: 'spell_small_fireball', + sp: 7, + speed: -0.02, + ) +firewall_8 = _a.Firewall( + activate_on_push: True, + activate_on_release: True, + blocksview: True, + dam: 1, + face: 450, + level: 1, + move_block: 'all', + name: 'firewall', + other_arch: 'spell_small_fireball', + sp: 8, + speed: -0.02, + ) + + + + + + + + + + + + + + + + + + + + + + + + +lbulletwall = _a.Firewall( + activate_on_push: True, + activate_on_release: True, + blocksview: True, + dam: 29, + face: 475, + is_animated: False, + level: 1, + move_block: 'all', + name: 'large bulletwall', + other_arch: 'spell_lg_magic_bullet', + speed: -0.16, + ) +lbulletwall_1 = _a.Firewall( + activate_on_push: True, + activate_on_release: True, + blocksview: True, + dam: 29, + face: 476, + level: 1, + move_block: 'all', + name: 'large bulletwall', + other_arch: 'spell_lg_magic_bullet', + sp: 1, + speed: -0.04, + ) +lbulletwall_2 = _a.Firewall( + activate_on_push: True, + activate_on_release: True, + blocksview: True, + dam: 29, + face: 477, + level: 1, + move_block: 'all', + name: 'large bulletwall', + other_arch: 'spell_lg_magic_bullet', + sp: 2, + speed: -0.04, + ) +lbulletwall_3 = _a.Firewall( + activate_on_push: True, + activate_on_release: True, + blocksview: True, + dam: 29, + face: 478, + level: 1, + move_block: 'all', + name: 'large bulletwall', + other_arch: 'spell_lg_magic_bullet', + sp: 3, + speed: -0.04, + ) +lbulletwall_4 = _a.Firewall( + activate_on_push: True, + activate_on_release: True, + blocksview: True, + dam: 29, + face: 479, + level: 1, + move_block: 'all', + name: 'large bulletwall', + other_arch: 'spell_lg_magic_bullet', + sp: 4, + speed: -0.04, + ) +lbulletwall_5 = _a.Firewall( + activate_on_push: True, + activate_on_release: True, + blocksview: True, + dam: 29, + face: 480, + level: 1, + move_block: 'all', + name: 'large bulletwall', + other_arch: 'spell_lg_magic_bullet', + sp: 5, + speed: -0.04, + ) +lbulletwall_6 = _a.Firewall( + activate_on_push: True, + activate_on_release: True, + blocksview: True, + dam: 29, + face: 481, + level: 1, + move_block: 'all', + name: 'large bulletwall', + other_arch: 'spell_lg_magic_bullet', + sp: 6, + speed: -0.04, + ) +lbulletwall_7 = _a.Firewall( + activate_on_push: True, + activate_on_release: True, + blocksview: True, + dam: 29, + face: 482, + level: 1, + move_block: 'all', + name: 'large bulletwall', + other_arch: 'spell_lg_magic_bullet', + sp: 7, + speed: -0.04, + ) +lbulletwall_8 = _a.Firewall( + activate_on_push: True, + activate_on_release: True, + blocksview: True, + dam: 29, + face: 483, + level: 1, + move_block: 'all', + name: 'large bulletwall', + other_arch: 'spell_lg_magic_bullet', + sp: 8, + speed: -0.04, + ) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +bulletwall = _a.Firewall( + activate_on_push: True, + activate_on_release: True, + blocksview: True, + face: 504, + level: 1, + move_block: 'all', + name: 'bulletwall', + other_arch: 'spell_magic_bullet', + speed: -0.4, + ) +bulletwall_1 = _a.Firewall( + activate_on_push: True, + activate_on_release: True, + blocksview: True, + face: 505, + level: 1, + move_block: 'all', + name: 'bulletwall', + other_arch: 'spell_magic_bullet', + sp: 1, + speed: -0.1, + ) +bulletwall_2 = _a.Firewall( + activate_on_push: True, + activate_on_release: True, + blocksview: True, + face: 506, + level: 1, + move_block: 'all', + name: 'bulletwall', + other_arch: 'spell_magic_bullet', + sp: 2, + speed: -0.1, + ) +bulletwall_3 = _a.Firewall( + activate_on_push: True, + activate_on_release: True, + blocksview: True, + face: 507, + level: 1, + move_block: 'all', + name: 'bulletwall', + other_arch: 'spell_magic_bullet', + sp: 3, + speed: -0.1, + ) +bulletwall_4 = _a.Firewall( + activate_on_push: True, + activate_on_release: True, + blocksview: True, + face: 508, + level: 1, + move_block: 'all', + name: 'bulletwall', + other_arch: 'spell_magic_bullet', + sp: 4, + speed: -0.1, + ) +bulletwall_5 = _a.Firewall( + activate_on_push: True, + activate_on_release: True, + blocksview: True, + face: 509, + level: 1, + move_block: 'all', + name: 'bulletwall', + other_arch: 'spell_magic_bullet', + sp: 5, + speed: -0.1, + ) +bulletwall_6 = _a.Firewall( + activate_on_push: True, + activate_on_release: True, + blocksview: True, + face: 510, + level: 1, + move_block: 'all', + name: 'bulletwall', + other_arch: 'spell_magic_bullet', + sp: 6, + speed: -0.1, + ) +bulletwall_7 = _a.Firewall( + activate_on_push: True, + activate_on_release: True, + blocksview: True, + face: 511, + level: 1, + move_block: 'all', + name: 'bulletwall', + other_arch: 'spell_magic_bullet', + sp: 7, + speed: -0.1, + ) +bulletwall_8 = _a.Firewall( + activate_on_push: True, + activate_on_release: True, + blocksview: True, + face: 512, + level: 1, + move_block: 'all', + name: 'bulletwall', + other_arch: 'spell_magic_bullet', + sp: 8, + speed: -0.1, + ) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +block_door_closed = _a.Gate( + activate_on_push: True, + activate_on_release: True, + blocksview: True, + dam: 5, + face: 442, + is_animated: False, + maxsp: 0, + move_block: 'all', + name: 'stone block', + no_pick: True, + wc: 5, + ) +block_door_open = _a.Gate( + activate_on_push: True, + activate_on_release: True, + dam: 5, + face: 584, + is_animated: False, + maxsp: 1, + name: 'stone block', + no_pick: True, + wc: 0, + ) +earthwall = _a.Earthwall( + ac: 30, + alive: True, + blocksview: True, + face: 442, + hp: 24, + is_animated: False, + level: 1, + maxhp: 24, + no_pick: True, + race: 'wall', + resist_acid: 100, + resist_cold: 100, + resist_confusion: 100, + resist_drain: 100, + resist_electricity: 100, + resist_fire: 100, + resist_magic: 100, + tear_down: True, + ) + + + + + + + + + + + + + + + + + +hedge = _a.Earthwall( + ac: 20, + alive: True, + blocksview: True, + face: 601, + hp: 24, + is_animated: False, + level: 1, + maxhp: 24, + no_pick: True, + resist_acid: 100, + resist_cold: 100, + resist_confusion: 100, + resist_drain: 100, + resist_electricity: 100, + resist_fire: 30, + resist_magic: 100, + tear_down: True, + ) +redguard_house_1 = _a.Exit( + blocksview: True, + face: 602, + move_on: 'walk fly_low', + name: 'Guard House', + no_pick: True, + ) +redguard_house_2 = _a.Exit( + blocksview: True, + face: 603, + move_on: 'walk fly_low', + name: 'Guard House', + no_pick: True, + ) +redguard_house_3 = _a.Exit( + blocksview: True, + face: 604, + move_on: 'walk fly_low', + name: 'Guard House', + no_pick: True, + ) +redguard_house_4 = _a.Exit( + blocksview: True, + face: 605, + move_on: 'walk fly_low', + name: 'Guard House', + no_pick: True, + ) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +bwall-gray_earthwall = _a.Earthwall( + ac: 30, + alive: True, + blocksview: True, + face: 644, + hp: 400, + is_animated: False, + level: 1, + maxhp: 800, + no_pick: True, + race: 'wall', + resist_acid: 100, + resist_cold: 100, + resist_confusion: 100, + resist_drain: 100, + resist_electricity: 100, + resist_fire: 100, + resist_magic: 100, + tear_down: True, + ) +bwall-gray_stoneblock_door_closed = _a.Gate( + activate_on_push: True, + activate_on_release: True, + blocksview: True, + dam: 5, + face: 644, + is_animated: False, + maxsp: 0, + move_block: 'all', + name: 'stone block', + no_pick: True, + wc: 5, + ) +bwall-gray_stoneblock_door_open = _a.Gate( + activate_on_push: True, + activate_on_release: True, + dam: 5, + face: 645, + is_animated: False, + maxsp: 1, + name: 'stone block', + no_pick: True, + wc: 0, + ) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +mine_secret_1_1 = _a.TimedGate( + activate_on_push: True, + activate_on_release: True, + blocksview: True, + dam: 10, + face: 673, + hp: 50, + is_animated: False, + maxhp: 50, + maxsp: 0, + move_block: 'all', + name: 'secret door', + no_pick: True, + speed: 0.35, + value: 1, + wc: 8, + ) +mine_secret_1_2 = _a.TimedGate( + activate_on_push: True, + activate_on_release: True, + blocksview: True, + dam: 10, + face: 673, + hp: 50, + is_animated: False, + maxhp: 50, + maxsp: 0, + move_block: 'all', + name: 'secret door', + no_pick: True, + speed: 0.35, + value: 1, + wc: 8, + x: 1, + ) +mine_secret_2_1 = _a.TimedGate( + activate_on_push: True, + activate_on_release: True, + blocksview: True, + dam: 10, + face: 674, + hp: 50, + is_animated: False, + maxhp: 50, + maxsp: 0, + move_block: 'all', + name: 'secret door', + no_pick: True, + speed: 0.35, + value: 1, + wc: 8, + ) +mine_secret_2_2 = _a.TimedGate( + activate_on_push: True, + activate_on_release: True, + blocksview: True, + dam: 10, + face: 674, + hp: 50, + is_animated: False, + maxhp: 50, + maxsp: 0, + move_block: 'all', + name: 'secret door', + no_pick: True, + speed: 0.35, + value: 1, + wc: 8, + y: 1, + ) +speedballwall = _a.Firewall( + activate_on_push: True, + activate_on_release: True, + blocksview: True, + dam: 56, + face: 675, + level: 1, + move_block: 'all', + name: 'speedball wall', + other_arch: 'spell_small_speedball', + speed: -0.03, + ) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +westguard_house_1 = _a.Exit( + blocksview: True, + client_type: 25012, + face: 757, + move_on: 'walk fly_low', + name: 'Guard House', + no_pick: True, + ) +westguard_house_2 = _a.Exit( + blocksview: True, + client_type: 25012, + face: 758, + move_on: 'walk fly_low', + name: 'Guard House', + no_pick: True, + ) +westguard_house_3 = _a.Exit( + blocksview: True, + client_type: 25012, + face: 759, + move_on: 'walk fly_low', + name: 'Guard House', + no_pick: True, + ) +westguard_house_4 = _a.Exit( + blocksview: True, + client_type: 25012, + face: 760, + move_on: 'walk fly_low', + name: 'Guard House', + no_pick: True, + ) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +guard_house_1 = _a.Exit( + blocksview: True, + client_type: 25012, + face: 827, + move_on: 'walk fly_low', + name: 'Guard House', + no_pick: True, + ) +guard_house_2 = _a.Exit( + blocksview: True, + client_type: 25012, + face: 828, + move_on: 'walk fly_low', + name: 'Guard House', + no_pick: True, + ) +guard_house_3 = _a.Exit( + blocksview: True, + client_type: 25012, + face: 829, + move_on: 'walk fly_low', + name: 'Guard House', + no_pick: True, + ) +guard_house_4 = _a.Exit( + blocksview: True, + client_type: 25012, + face: 830, + move_on: 'walk fly_low', + name: 'Guard House', + no_pick: True, + ) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +lightningwall = _a.Firewall( + activate_on_push: True, + activate_on_release: True, + blocksview: True, + dam: 5, + face: 958, + level: 1, + move_block: 'all', + name: 'lightningwall', + other_arch: 'spell_sm_lightning', + speed: -0.1, + ) +lightningwall_1 = _a.Firewall( + activate_on_push: True, + activate_on_release: True, + blocksview: True, + dam: 5, + face: 959, + level: 1, + move_block: 'all', + name: 'lightningwall', + other_arch: 'spell_sm_lightning', + sp: 1, + speed: -0.04, + ) +lightningwall_2 = _a.Firewall( + activate_on_push: True, + activate_on_release: True, + blocksview: True, + dam: 5, + face: 960, + level: 1, + move_block: 'all', + name: 'lightningwall', + other_arch: 'spell_sm_lightning', + sp: 2, + speed: -0.04, + ) +lightningwall_3 = _a.Firewall( + activate_on_push: True, + activate_on_release: True, + blocksview: True, + dam: 5, + face: 961, + level: 1, + move_block: 'all', + name: 'lightningwall', + other_arch: 'spell_sm_lightning', + sp: 3, + speed: -0.04, + ) +lightningwall_4 = _a.Firewall( + activate_on_push: True, + activate_on_release: True, + blocksview: True, + dam: 5, + face: 962, + level: 1, + move_block: 'all', + name: 'lightningwall', + other_arch: 'spell_sm_lightning', + sp: 4, + speed: -0.04, + ) +lightningwall_5 = _a.Firewall( + activate_on_push: True, + activate_on_release: True, + blocksview: True, + dam: 5, + face: 963, + level: 1, + move_block: 'all', + name: 'lightningwall', + other_arch: 'spell_sm_lightning', + sp: 5, + speed: -0.04, + ) +lightningwall_6 = _a.Firewall( + activate_on_push: True, + activate_on_release: True, + blocksview: True, + dam: 5, + face: 964, + level: 1, + move_block: 'all', + name: 'lightningwall', + other_arch: 'spell_sm_lightning', + sp: 6, + speed: -0.04, + ) +lightningwall_7 = _a.Firewall( + activate_on_push: True, + activate_on_release: True, + blocksview: True, + dam: 5, + face: 965, + level: 1, + move_block: 'all', + name: 'lightningwall', + other_arch: 'spell_sm_lightning', + sp: 7, + speed: -0.04, + ) +lightningwall_8 = _a.Firewall( + activate_on_push: True, + activate_on_release: True, + blocksview: True, + dam: 5, + face: 966, + level: 1, + move_block: 'all', + name: 'lightningwall', + other_arch: 'spell_sm_lightning', + sp: 8, + speed: -0.04, + ) +lightningwall_t = _a.Firewall( + activate_on_push: True, + activate_on_release: True, + blocksview: True, + dam: 5, + face: 959, + is_animated: False, + level: 1, + maxsp: 1, + move_block: 'all', + name: 'lightningwall', + other_arch: 'spell_sm_lightning', + sp: 1, + speed: -0.04, + ) +jcity_0 = _a.Exit( + blocksview: True, + client_type: 25012, + face: 967, + name: 'wall', + no_pick: True, + ) +jcity_1_1 = _a.Exit( + blocksview: True, + client_type: 25012, + face: 968, + name: 'wall', + no_pick: True, + ) +jcity_1_2 = _a.Exit( + blocksview: True, + client_type: 25012, + face: 969, + name: 'wall', + no_pick: True, + ) +jcity_1_3 = _a.Exit( + blocksview: True, + client_type: 25012, + face: 970, + name: 'wall', + no_pick: True, + ) +jcity_1_4 = _a.Exit( + blocksview: True, + client_type: 25012, + face: 971, + name: 'wall', + no_pick: True, + ) +jcity_2_1_1 = _a.Exit( + blocksview: True, + client_type: 25012, + face: 972, + name: 'wall', + no_pick: True, + ) +jcity_2_1_2 = _a.Exit( + blocksview: True, + client_type: 25012, + face: 973, + name: 'wall', + no_pick: True, + ) +jcity_2_2_1 = _a.Exit( + blocksview: True, + client_type: 25012, + face: 974, + name: 'wall', + no_pick: True, + ) +jcity_2_2_2 = _a.Exit( + blocksview: True, + client_type: 25012, + face: 975, + name: 'wall', + no_pick: True, + ) +jcity_2_2_3 = _a.Exit( + blocksview: True, + client_type: 25012, + face: 976, + name: 'wall', + no_pick: True, + ) +jcity_2_2_4 = _a.Exit( + blocksview: True, + client_type: 25012, + face: 977, + name: 'wall', + no_pick: True, + ) +jcity_3_1 = _a.Exit( + blocksview: True, + client_type: 25012, + face: 978, + name: 'wall', + no_pick: True, + ) +jcity_3_2 = _a.Exit( + blocksview: True, + client_type: 25012, + face: 979, + name: 'wall', + no_pick: True, + ) +jcity_3_3 = _a.Exit( + blocksview: True, + client_type: 25012, + face: 980, + name: 'wall', + no_pick: True, + ) +jcity_3_4 = _a.Exit( + blocksview: True, + client_type: 25012, + face: 981, + name: 'wall', + no_pick: True, + ) +jcity_4 = _a.Exit( + blocksview: True, + client_type: 25012, + face: 982, + name: 'wall', + no_pick: True, + ) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +scroll_literacy = _a.Skillscroll( + client_type: 1021, + face: 1172, + identified: True, + materialname: 'paper', + name: 'scroll of literacy', + name_pl: 'scrolls of literacy', + nrof: 1, + race: 'scrolls', + skill: 'literacy', + sp: 8, + value: 1500, + weight: 200, + ) +scroll_bargaining = _a.Skillscroll( + client_type: 1021, + face: 1172, + identified: True, + materialname: 'paper', + name: 'scroll of bargaining', + name_pl: 'scrolls of bargaining', + nrof: 1, + race: 'scrolls', + skill: 'bargaining', + sp: 9, + value: 19500, + weight: 200, + ) +scroll_two_handed_weapons = _a.Skillscroll( + client_type: 1021, + face: 1172, + identified: True, + materialname: 'paper', + name: 'scroll of two handed weapons', + name_pl: 'scrolls of two handed weapons', + nrof: 1, + race: 'scrolls', + skill: 'two handed weapons', + sp: 23, + value: 5500, + weight: 200, + ) +scroll_oratory = _a.Skillscroll( + client_type: 1021, + face: 1172, + identified: True, + materialname: 'paper', + name: 'scroll of oratory', + name_pl: 'scrolls of oratory', + nrof: 1, + race: 'scrolls', + skill: 'oratory', + sp: 12, + value: 3500, + weight: 200, + ) +scroll_sense_mag = _a.Skillscroll( + client_type: 1021, + face: 1172, + identified: True, + materialname: 'paper', + name: 'scroll of sense magic', + name_pl: 'scrolls of sense magic', + nrof: 1, + race: 'scrolls', + skill: 'sense magic', + sp: 11, + value: 6500, + weight: 200, + ) +scroll_hiding = _a.Skillscroll( + client_type: 1021, + face: 1172, + identified: True, + materialname: 'paper', + name: 'scroll of hiding', + name_pl: 'scrolls of hiding', + nrof: 1, + race: 'scrolls', + skill: 'hiding', + sp: 2, + value: 3500, + weight: 200, + ) +scroll_find_traps = _a.Skillscroll( + client_type: 1021, + face: 1172, + identified: True, + materialname: 'paper', + name: 'scroll of finding traps', + name_pl: 'scrolls of finding traps', + nrof: 1, + race: 'scrolls', + skill: 'find traps', + sp: 15, + value: 3500, + weight: 200, + ) +scroll_alchemy = _a.Skillscroll( + client_type: 1021, + face: 1172, + identified: True, + materialname: 'paper', + name: 'scroll of alchemistry', + name_pl: 'scrolls of alchemistry', + nrof: 1, + race: 'scrolls', + skill: 'alchemy', + sp: 6, + value: 3500, + weight: 200, + ) +scroll_climbing = _a.Skillscroll( + client_type: 1021, + face: 1172, + identified: True, + materialname: 'paper', + name: 'scroll of climbing', + name_pl: 'scrolls of climbing', + nrof: 1, + race: 'scrolls', + skill: 'climbing', + sp: 20, + value: 3500, + weight: 200, + ) +scroll_one_handed_weapons = _a.Skillscroll( + client_type: 1021, + face: 1172, + identified: True, + materialname: 'paper', + name: 'scroll of one handed weapons', + name_pl: 'scrolls of one handed weapons', + nrof: 1, + race: 'scrolls', + skill: 'one handed weapons', + sp: 23, + value: 5500, + weight: 200, + ) +scroll_jewelry = _a.Skillscroll( + client_type: 1021, + face: 1172, + identified: True, + materialname: 'paper', + name: 'scroll of jeweler', + name_pl: 'scrolls of jeweler', + nrof: 1, + race: 'scrolls', + skill: 'jeweler', + sp: 5, + value: 3500, + weight: 200, + ) +scroll_lockpicking = _a.Skillscroll( + client_type: 1021, + face: 1172, + identified: True, + materialname: 'paper', + name: 'scroll of lockpicking', + name_pl: 'scrolls of lockpicking', + nrof: 1, + race: 'scrolls', + skill: 'lockpicking', + sp: 13, + value: 3500, + weight: 200, + ) +scroll_evocation = _a.Skillscroll( + client_type: 1021, + face: 1172, + identified: True, + materialname: 'paper', + name: 'scroll of evocation', + name_pl: 'scrolls of evocation', + nrof: 1, + race: 'scrolls', + skill: 'evocation', + sp: 26, + value: 5500, + weight: 200, + ) +scroll_summoning = _a.Skillscroll( + client_type: 1021, + face: 1172, + identified: True, + materialname: 'paper', + name: 'scroll of summoning', + name_pl: 'scrolls of summoning', + nrof: 1, + race: 'scrolls', + skill: 'summoning', + sp: 26, + value: 5500, + weight: 200, + ) +scroll_punching = _a.Skillscroll( + client_type: 1021, + face: 1172, + identified: True, + materialname: 'paper', + name: 'scroll of punching', + name_pl: 'scrolls of punching', + nrof: 1, + race: 'scrolls', + skill: 'punching', + sp: 17, + value: 3500, + weight: 200, + ) +scroll_bowyer = _a.Skillscroll( + client_type: 1021, + face: 1172, + identified: True, + materialname: 'paper', + name: 'scroll of bowyery', + name_pl: 'scrolls of bowyery', + nrof: 1, + race: 'scrolls', + skill: 'bowyer', + sp: 4, + value: 3500, + weight: 200, + ) +scroll_pyromancy = _a.Skillscroll( + client_type: 1021, + face: 1172, + identified: True, + materialname: 'paper', + name: 'scroll of pyromancy', + name_pl: 'scrolls of pyromancy', + nrof: 1, + race: 'scrolls', + skill: 'pyromancy', + sp: 26, + value: 5500, + weight: 200, + ) +scroll_disarm_traps = _a.Skillscroll( + client_type: 1021, + face: 1172, + identified: True, + materialname: 'paper', + name: 'scroll of disarming traps', + name_pl: 'scrolls of disarming traps', + nrof: 1, + race: 'scrolls', + skill: 'disarm traps', + sp: 15, + value: 3500, + weight: 200, + ) +scroll_missile_weap = _a.Skillscroll( + client_type: 1021, + face: 1172, + identified: True, + materialname: 'paper', + name: 'scroll of missile weapons', + name_pl: 'scrolls of missile weapons', + nrof: 1, + race: 'scrolls', + skill: 'missile weapons', + sp: 24, + value: 5500, + weight: 200, + ) +scroll_singing = _a.Skillscroll( + client_type: 1021, + face: 1172, + identified: True, + materialname: 'paper', + name: 'scroll of singing', + name_pl: 'scrolls of singing', + nrof: 1, + race: 'scrolls', + skill: 'singing', + sp: 13, + value: 3500, + weight: 200, + ) +scroll_mining = _a.Skillscroll( + client_type: 1021, + face: 1172, + identified: True, + materialname: 'paper', + name: 'scroll of mining', + name_pl: 'scrolls of mining', + nrof: 1, + race: 'scrolls', + skill: 'mining', + sp: 13, + value: 3500, + weight: 200, + ) +scroll_throwing = _a.Skillscroll( + client_type: 1021, + face: 1172, + identified: True, + materialname: 'paper', + name: 'scroll of throwing', + name_pl: 'scrolls of throwing', + nrof: 1, + race: 'scrolls', + skill: 'throwing', + sp: 26, + value: 3500, + weight: 200, + ) +scroll_inscription = _a.Skillscroll( + client_type: 1021, + face: 1172, + identified: True, + materialname: 'paper', + name: 'scroll of inscription', + name_pl: 'scrolls of inscription', + nrof: 1, + race: 'scrolls', + skill: 'inscription', + sp: 8, + value: 1500, + weight: 200, + ) +scroll_set_traps = _a.Skillscroll( + client_type: 1021, + face: 1172, + identified: True, + materialname: 'paper', + name: 'scroll of snares', + name_pl: 'scrolls of snares', + nrof: 1, + race: 'scrolls', + skill: 'set traps', + sp: 28, + value: 5500, + weight: 200, + ) +scroll_jumping = _a.Skillscroll( + client_type: 1021, + face: 1172, + identified: True, + materialname: 'paper', + name: 'scroll of jumping', + name_pl: 'scrolls of jumping', + nrof: 1, + race: 'scrolls', + skill: 'jumping', + sp: 10, + value: 3500, + weight: 200, + ) +scroll_sense_curse = _a.Skillscroll( + client_type: 1021, + face: 1172, + identified: True, + materialname: 'paper', + name: 'scroll of sense curse', + name_pl: 'scrolls of sense curse', + nrof: 1, + race: 'scrolls', + skill: 'sense curse', + sp: 14, + value: 6500, + weight: 200, + ) +scroll_woodsman = _a.Skillscroll( + client_type: 1021, + face: 1172, + identified: True, + materialname: 'paper', + name: 'scroll of wood lore', + name_pl: 'scrolls of wood lore', + nrof: 1, + race: 'scrolls', + skill: 'woodsman', + sp: 21, + value: 3500, + weight: 200, + ) +scroll_praying = _a.Skillscroll( + client_type: 1021, + face: 1172, + identified: True, + materialname: 'paper', + name: 'scroll of praying', + name_pl: 'scrolls of praying', + nrof: 1, + race: 'scrolls', + skill: 'praying', + sp: 30, + value: 2500, + weight: 200, + ) +scroll_stealing = _a.Skillscroll( + client_type: 1021, + face: 1172, + identified: True, + materialname: 'paper', + name: 'scroll of stealing', + name_pl: 'scrolls of stealing', + nrof: 1, + race: 'scrolls', + skill: 'stealing', + sp: 0, + value: 5500, + weight: 200, + ) +scroll_thaumaturgy = _a.Skillscroll( + client_type: 1021, + face: 1172, + identified: True, + materialname: 'paper', + name: 'scroll of thaumaturgy', + name_pl: 'scrolls of thaumaturgy', + nrof: 1, + race: 'scrolls', + skill: 'thaumaturgy', + sp: 7, + value: 3500, + weight: 200, + ) +scroll_smithing = _a.Skillscroll( + client_type: 1021, + face: 1172, + identified: True, + materialname: 'paper', + name: 'scroll of smithing', + name_pl: 'scrolls of smithing', + nrof: 1, + race: 'scrolls', + skill: 'smithery', + sp: 3, + value: 19500, + weight: 200, + ) +scroll_sorcery = _a.Skillscroll( + client_type: 1021, + face: 1172, + identified: True, + materialname: 'paper', + name: 'scroll of sorcery', + name_pl: 'scrolls of sorcery', + nrof: 1, + race: 'scrolls', + skill: 'sorcery', + sp: 26, + value: 5500, + weight: 200, + ) +scroll_karate = _a.Skillscroll( + client_type: 1021, + face: 1172, + identified: True, + materialname: 'paper', + name: 'scroll of karate', + name_pl: 'scrolls of karate', + nrof: 1, + race: 'scrolls', + skill: 'karate', + sp: 19, + value: 3500, + weight: 200, + ) +scroll_use_magic_item = _a.Skillscroll( + client_type: 1021, + face: 1172, + identified: True, + materialname: 'paper', + name: 'scroll of use magic item', + name_pl: 'scrolls of use magic item', + nrof: 1, + race: 'scrolls', + skill: 'use magic item', + sp: 26, + value: 3500, + weight: 200, + ) + +talisman = _a.Amulet( + body_neck: -1, + client_type: 451, + face: 1174, + materialname: 'runestone', + name: 'talisman', + name_pl: 'talismans', + nrof: 1, + value: 300, + weight: 1000, + ) + + + + + + +rowboat = _a.Exit( + client_type: 25012, + face: 1177, + move_allow: 'walk', + move_block: 'boat', + no_pick: True, + ) +rowboat_2 = _a.Exit( + face: 1177, + move_allow: 'walk', + move_block: 'boat', + name: 'rowboat', + no_pick: True, + x: 1, + ) +travelguide = _a.Sign( + face: 1178, + move_block: 'all', + name: 'Travel Guide', + no_pick: True, + sound: 'fx/signature-31', + subtype: 43, + value: 2000, + ) +zeppelin1 = _a.Transport( + client_type: 25012, + face: 1179, + move_allow: 'walk', + move_block: 'flying', + name: 'Luftschiff', + no_pick: True, + speed: 1.0, + ) +zeppelin1_2 = _a.Transport( + face: 1179, + move_allow: 'walk', + move_block: 'boat', + name: 'Luftschiff', + no_pick: True, + speed: 1.0, + x: 1, + ) +zeppelin1_3 = _a.Transport( + face: 1179, + move_allow: 'walk', + move_block: 'flying', + name: 'Luftschiff', + no_pick: True, + speed: 1.0, + y: 1, + ) +zeppelin1_4 = _a.Transport( + face: 1179, + move_allow: 'walk', + move_block: 'flying', + name: 'Luftschiff', + no_pick: True, + speed: 1.0, + x: 1, + y: 1, + ) +fishboat = _a.Exit( + client_type: 25012, + face: 1180, + move_allow: 'walk', + move_block: 'boat', + name: 'fishing boat', + no_pick: True, + ) +fishboat_2 = _a.Exit( + face: 1180, + move_allow: 'walk', + move_block: 'boat', + name: 'fishing boat', + no_pick: True, + x: 1, + ) +dragon_exit = _a.Exit( + client_type: 25012, + face: 1181, + name: 'dragon', + no_pick: True, + speed: 0.4, + ) +dragon_exit_2 = _a.Exit( + face: 1181, + name: 'dragon', + no_pick: True, + weight: 4000000, + x: 1, + ) +dragon_exit_3 = _a.Exit( + face: 1181, + name: 'dragon', + no_pick: True, + weight: 4000000, + x: 2, + ) +dragon_exit_4 = _a.Exit( + face: 1181, + name: 'dragon', + no_pick: True, + weight: 4000000, + y: 1, + ) +dragon_exit_5 = _a.Exit( + face: 1181, + name: 'dragon', + no_pick: True, + weight: 4000000, + x: 1, + y: 1, + ) +dragon_exit_6 = _a.Exit( + face: 1181, + name: 'dragon', + no_pick: True, + weight: 4000000, + x: 2, + y: 1, + ) +longship = _a.Exit( + client_type: 25012, + face: 1182, + move_allow: 'walk', + move_block: 'boat', + name: 'longship', + no_pick: True, + ) +longship_2 = _a.Exit( + face: 1182, + move_allow: 'walk', + move_block: 'boat', + name: 'longship', + no_pick: True, + x: 1, + ) +s_ship = _a.Exit( + client_type: 25012, + face: 1183, + move_allow: 'walk', + move_block: 'boat', + name: 'Ship', + no_pick: True, + ) +s_ship2 = _a.Exit( + face: 1183, + move_allow: 'walk', + move_block: 'boat', + name: 'big galleon', + no_pick: True, + x: 1, + ) +s_ship3 = _a.Exit( + face: 1183, + move_allow: 'walk', + move_block: 'boat', + name: 'big galleon', + no_pick: True, + y: 1, + ) +s_ship4 = _a.Exit( + face: 1183, + move_allow: 'walk', + move_block: 'boat', + name: 'big galleon', + no_pick: True, + x: 1, + y: 1, + ) +galleon = _a.Exit( + client_type: 25012, + face: 1184, + move_allow: 'walk', + move_block: 'boat', + no_pick: True, + ) +galleonfacings = _a.Exit( + client_type: 25012, + face: 1184, + move_allow: 'walk', + move_block: 'boat', + no_pick: True, + ) +big_galleon = _a.Exit( + client_type: 25012, + face: 1185, + move_allow: 'walk', + move_block: 'boat', + name: 'big galleon', + no_pick: True, + ) +big_galleon_2 = _a.Exit( + face: 1185, + move_allow: 'walk', + move_block: 'boat', + name: 'big galleon', + no_pick: True, + x: 1, + ) +big_galleon_3 = _a.Exit( + face: 1185, + move_allow: 'walk', + move_block: 'boat', + name: 'big galleon', + no_pick: True, + y: 1, + ) +big_galleon_4 = _a.Exit( + face: 1185, + move_allow: 'walk', + move_block: 'boat', + name: 'big galleon', + no_pick: True, + x: 1, + y: 1, + ) +wagon = _a.Exit( + client_type: 25012, + face: 1186, + no_pick: True, + ) +uraniumoxide = _a.Inorganic( + client_type: 641, + face: 1187, + materialname: 'uranium', + name: 'pile', + name_pl: 'piles', + nrof: 1, + title: 'of uraniumoxide', + value: 2, + weight: 5000, + ) +dust_effect = _a.Mapscript( + attacktype: 4194304, + client_type: 641, + dam: 1, + face: 1188, + level: 1, + move_type: 'fly_low', + name: 'cloud of dust', + name_pl: 'clouds of dust', + no_pick: True, + speed: 1.0, + wc: -3, + ) +gravedirt = _a.Inorganic( + client_type: 641, + face: 1189, + identified: True, + materialname: 'stone', + name: 'graveyard dirt', + name_pl: 'graveyard dirts', + nrof: 1, + value: 1, + weight: 100, + ) +vial_poison = _a.ItemTransformer( + client_type: 649, + face: 1190, + food: 2, + materialname: 'glass', + name: 'vial', + name_pl: 'vials', + nrof: 1, + slaying: 'taint', + title: 'poison', + value: 1000, + weight: 100, + ) +depleteduraniumpile = _a.Inorganic( + client_type: 641, + face: 1191, + materialname: 'depleted uranium', + name: 'pile', + name_pl: 'piles', + nrof: 1, + title: 'of depleted uranium', + value: 10, + weight: 5000, + ) +enricheduraniumpile = _a.Inorganic( + client_type: 641, + face: 1191, + glow_radius: 1, + materialname: 'enriched uranium', + name: 'pile', + name_pl: 'piles', + nrof: 1, + title: 'of enriched uranium', + value: 4000, + weight: 5000, + ) +uraniumpile = _a.Inorganic( + client_type: 641, + face: 1191, + materialname: 'uranium', + name: 'pile', + name_pl: 'piles', + nrof: 1, + title: 'of uranium', + value: 25, + weight: 5000, + ) +rock2 = _a.Inorganic( + client_type: 641, + face: 1192, + materialname: 'stone', + name: 'rock', + name_pl: 'rocks', + nrof: 1, + value: 100, + weight: 220, + ) +field_stone = _a.Inorganic( + client_type: 641, + face: 1193, + materialname: 'stone', + name: 'stone', + name_pl: 'stones', + nrof: 1, + resist_acid: 100, + value: 1, + weight: 800, + ) +mountain_stone = _a.Inorganic( + client_type: 641, + face: 1193, + materialname: 'stone', + name: 'mountain stone', + name_pl: 'mountain stones', + nrof: 1, + resist_acid: 100, + value: 1, + weight: 800, + ) +river_stone = _a.Inorganic( + client_type: 641, + face: 1193, + materialname: 'stone', + name: 'river stone', + name_pl: 'river stones', + nrof: 1, + resist_acid: 100, + value: 1, + weight: 800, + ) +lead = _a.Inorganic( + client_type: 642, + face: 1194, + materialname: 'lead', + name_pl: 'leads', + nrof: 1, + resist_acid: 100, + resist_magic: 30, + value: 100, + weight: 5000, + ) +cinnabar = _a.Inorganic( + client_type: 641, + face: 1195, + materialname: 'cinnabar', + name: 'pile', + name_pl: 'piles', + nrof: 1, + title: 'of cinnabar', + value: 70, + weight: 3000, + ) +graphite = _a.Inorganic( + client_type: 641, + face: 1196, + materialname: 'graphite', + name: 'pile', + name_pl: 'piles', + nrof: 1, + resist_acid: 100, + resist_electricity: -100, + resist_fire: -100, + title: 'of graphite', + value: 1, + weight: 500, + ) +gypsum = _a.Inorganic( + client_type: 641, + face: 1197, + materialname: 'gypsum', + name: 'pile', + name_pl: 'piles', + nrof: 1, + resist_acid: 100, + title: 'of gypsum', + value: 9, + weight: 1500, + ) +min_oil = _a.Inorganic( + client_type: 641, + face: 1198, + materialname: 'glass', + name: 'bottle', + name_pl: 'bottles', + nrof: 1, + resist_fire: -100, + title: 'of mineral oil', + value: 40, + weight: 2500, + ) +phosphorus = _a.Inorganic( + client_type: 641, + face: 1199, + materialname: 'phosphorus', + name: 'pile', + name_pl: 'piles', + nrof: 1, + resist_acid: 100, + resist_electricity: -100, + resist_fire: -100, + title: 'of phosphorus', + value: 45, + weight: 1000, + ) +pyrite = _a.Inorganic( + client_type: 641, + face: 1200, + materialname: 'pyrite', + name: 'pile', + name_pl: 'piles', + nrof: 1, + title: 'of pyrite', + value: 8, + weight: 40, + ) +pyrite2 = _a.Inorganic( + client_type: 641, + face: 1201, + materialname: 'pyrite', + name: 'large clump', + name_pl: 'large clumps', + nrof: 1, + title: 'of pyrite', + value: 800, + weight: 2500, + ) +pyrite3 = _a.Inorganic( + client_type: 641, + face: 1202, + materialname: 'pyrite', + name: 'enormous clump', + name_pl: 'enormous clumps', + nrof: 1, + title: 'of pyrite', + value: 8000, + weight: 20000, + ) +salt = _a.Inorganic( + client_type: 641, + face: 1203, + materialname: 'salt', + name: 'pile', + name_pl: 'piles', + nrof: 1, + title: 'of salt', + value: 10, + weight: 500, + ) +sulphur = _a.Inorganic( + client_type: 641, + face: 1187, + materialname: 'sulphur', + name: 'pile', + name_pl: 'piles', + nrof: 1, + resist_acid: 100, + resist_fire: -100, + title: 'of sulphur', + value: 15, + weight: 500, + ) +phil_oil = _a.Inorganic( + client_type: 642, + face: 1198, + materialname: 'glass', + name: 'bottle', + name_pl: 'bottles', + nrof: 1, + resist_fire: -100, + title: 'of philosophical oil', + value: 280, + weight: 500, + ) +phil_phosphorus = _a.Inorganic( + client_type: 642, + face: 1204, + materialname: 'stone', + name: 'pile', + name_pl: 'piles', + nrof: 1, + resist_acid: 100, + resist_electricity: -100, + resist_fire: -100, + speed: -0.45, + title: 'of philosophical phosphorus', + value: 350, + weight: 1000, + ) +phil_salt = _a.Inorganic( + client_type: 642, + face: 1205, + materialname: 'stone', + name: 'pile', + name_pl: 'piles', + nrof: 1, + speed: -0.3, + title: 'of philosophical salt', + value: 80, + weight: 500, + ) +phil_sulphur = _a.Inorganic( + client_type: 642, + face: 1206, + materialname: 'stone', + name: 'pile', + name_pl: 'piles', + nrof: 1, + resist_acid: 100, + resist_fire: -100, + speed: -0.35, + title: 'of philosophical sulphur', + value: 110, + weight: 500, + ) +true_lead = _a.Inorganic( + client_type: 642, + face: 1207, + materialname: 'lead', + name: 'block', + name_pl: 'blocks', + nrof: 1, + resist_acid: 100, + resist_fire: 100, + title: 'of true lead', + value: 530, + weight: 5000, + ) +rockcoal1 = _a.Inorganic( + client_type: 641, + face: 1208, + materialname: 'coal', + name: 'anthracite', + name_pl: 'anthracites', + nrof: 1, + value: 2, + weight: 220, + ) +duf6pile = _a.Inorganic( + client_type: 641, + face: 1209, + materialname: 'uranium', + name: 'pile', + name_pl: 'piles', + nrof: 1, + title: 'of depleted uranium hexafluoride', + value: 5, + weight: 5000, + ) +euf6pile = _a.Inorganic( + client_type: 641, + face: 1209, + materialname: 'uranium', + name: 'pile', + name_pl: 'piles', + nrof: 1, + title: 'of enriched uranium hexafluoride', + value: 200, + weight: 5000, + ) +uf6pile = _a.Inorganic( + client_type: 641, + face: 1209, + materialname: 'uranium', + name: 'pile', + name_pl: 'piles', + nrof: 1, + title: 'of uranium hexafluoride', + value: 77, + weight: 5000, + ) +fix_mercury = _a.Inorganic( + client_type: 642, + face: 1210, + materialname: 'mercury', + name: 'block', + name_pl: 'blocks', + nrof: 1, + resist_acid: 100, + resist_electricity: 100, + speed: 0.5, + title: 'of fixed mercury', + value: 400, + weight: 8000, + ) +mercury = _a.Inorganic( + client_type: 642, + face: 1211, + identified: True, + materialname: 'mercury', + name_pl: 'mercuries', + nrof: 1, + resist_acid: 100, + resist_electricity: 100, + value: 210, + weight: 3000, + ) +create_dragon_mail = _a.Converter( + face: 1212, + food: 5, + move_on: 'walk', + name: 'dragonmail: five dragon scales', + no_pick: True, + other_arch: 'dragon_mail', + precious: True, + slaying: 'dragon_scale', + ) +store_armour_east = _a.Exit( + client_type: 25012, + face: 1213, + move_block: 'all', + name: '\xe5\xba\x97', + name_pl: 'mise', + no_pick: True, + ) +store_armour_2_east = _a.Exit( + face: 1213, + move_block: 'all', + name: '\xe5\xba\x97', + name_pl: 'mise', + no_pick: True, + x: 1, + ) +store_armour_3_east = _a.Exit( + face: 1213, + name: '\xe5\xba\x97', + name_pl: 'mise', + no_pick: True, + y: 1, + ) +store_armour_4_east = _a.Exit( + face: 1213, + name: '\xe5\xba\x97', + name_pl: 'mise', + no_pick: True, + x: 1, + y: 1, + ) +store_magic_goth = _a.Exit( + client_type: 25012, + face: 1214, + move_block: 'all', + name: 'Zauberladen', + no_pick: True, + ) +store_magic_2_goth = _a.Exit( + face: 1214, + move_block: 'all', + name: 'Zauberladen', + no_pick: True, + x: 1, + ) +store_magic_3_goth = _a.Exit( + face: 1214, + name: 'Zauberladen', + no_pick: True, + y: 1, + ) +store_magic_4_goth = _a.Exit( + face: 1214, + name: 'Zauberladen', + no_pick: True, + x: 1, + y: 1, + ) +store_magic_east = _a.Exit( + client_type: 25012, + face: 1215, + move_block: 'all', + name: '\xe5\xba\x97', + name_pl: 'mise', + no_pick: True, + ) +store_magic_2_east = _a.Exit( + face: 1215, + move_block: 'all', + name: '\xe5\xba\x97', + name_pl: 'mise', + no_pick: True, + x: 1, + ) +store_magic_3_east = _a.Exit( + face: 1215, + name: '\xe5\xba\x97', + name_pl: 'mise', + no_pick: True, + y: 1, + ) +store_magic_4_east = _a.Exit( + face: 1215, + name: '\xe5\xba\x97', + name_pl: 'mise', + no_pick: True, + x: 1, + y: 1, + ) +store_general_goth = _a.Exit( + client_type: 25012, + face: 1216, + move_block: 'all', + name: 'Laden', + no_pick: True, + ) +store_general_2_goth = _a.Exit( + face: 1216, + move_block: 'all', + name: 'Laden', + no_pick: True, + x: 1, + ) +store_general_3_goth = _a.Exit( + face: 1216, + name: 'Laden', + no_pick: True, + y: 1, + ) +store_general_4_goth = _a.Exit( + face: 1216, + name: 'Laden', + no_pick: True, + x: 1, + y: 1, + ) +store_general = _a.Exit( + client_type: 25012, + face: 1217, + move_block: 'all', + name: 'shop', + no_pick: True, + ) +store_general_2 = _a.Exit( + face: 1217, + move_block: 'all', + name: 'shop', + no_pick: True, + x: 1, + ) +store_general_3 = _a.Exit( + face: 1217, + name: 'shop', + no_pick: True, + y: 1, + ) +store_general_4 = _a.Exit( + face: 1217, + name: 'shop', + no_pick: True, + x: 1, + y: 1, + ) +store_armour_goth = _a.Exit( + client_type: 25012, + face: 1218, + move_block: 'all', + name: 'R\xc3\xbcstungen', + no_pick: True, + ) +store_armour_2_goth = _a.Exit( + face: 1218, + move_block: 'all', + name: 'R\xc3\xbcstungen', + no_pick: True, + x: 1, + ) +store_armour_3_goth = _a.Exit( + face: 1218, + name: 'R\xc3\xbcstungen', + no_pick: True, + y: 1, + ) +store_armour_4_goth = _a.Exit( + face: 1218, + name: 'R\xc3\xbcstungen', + no_pick: True, + x: 1, + y: 1, + ) +store_general_northwest = _a.Exit( + client_type: 25012, + face: 1219, + move_block: 'all', + name: 'shop', + no_pick: True, + ) +store_general_2_northwest = _a.Exit( + face: 1219, + move_block: 'all', + name: 'shop', + no_pick: True, + x: 1, + ) +store_general_3_northwest = _a.Exit( + face: 1219, + name: 'shop', + no_pick: True, + y: 1, + ) +store_general_4_northwest = _a.Exit( + face: 1219, + name: 'shop', + no_pick: True, + x: 1, + y: 1, + ) +store_magic_northwest = _a.Exit( + face: 1220, + move_block: 'all', + name: 'shop', + no_pick: True, + ) +store_magic_2_northwest = _a.Exit( + face: 1220, + move_block: 'all', + name: 'shop', + no_pick: True, + x: 1, + ) +store_magic_3_northwest = _a.Exit( + face: 1220, + name: 'shop', + no_pick: True, + y: 1, + ) +store_magic_4_northwest = _a.Exit( + face: 1220, + name: 'shop', + no_pick: True, + x: 1, + y: 1, + ) +bank = _a.Exit( + face: 1221, + move_block: 'all', + no_pick: True, + ) +bank_2 = _a.Exit( + face: 1221, + move_block: 'all', + name: 'bank', + no_pick: True, + x: 1, + ) +bank_3 = _a.Exit( + face: 1221, + name: 'bank', + no_pick: True, + y: 1, + ) +bank_4 = _a.Exit( + face: 1221, + name: 'bank', + no_pick: True, + x: 1, + y: 1, + ) +create_mithril_ar_ele = _a.Converter( + face: 1212, + food: 500, + move_on: 'walk', + name: 'mithril chainmail: 500 mithril crystals', + no_pick: True, + other_arch: 'mithril_ar_ele', + precious: True, + slaying: 'mithril', + ) +store_weapons_fant = _a.Exit( + client_type: 25012, + face: 1222, + move_block: 'all', + name: 'shop', + no_pick: True, + ) +store_weapons_2_fant = _a.Exit( + face: 1222, + move_block: 'all', + name: 'shop', + no_pick: True, + x: 1, + ) +store_weapons_3_fant = _a.Exit( + face: 1222, + name: 'shop', + no_pick: True, + y: 1, + ) +store_weapons_4_fant = _a.Exit( + face: 1222, + name: 'shop', + no_pick: True, + x: 1, + y: 1, + ) +create_eyeshield = _a.Converter( + face: 1212, + food: 1, + move_on: 'walk', + name: 'eyeshield: one beholdereye', + no_pick: True, + other_arch: 'eyeshield', + precious: True, + slaying: 'beholdereye', + ) +store_alchemy = _a.Exit( + client_type: 25012, + face: 1223, + move_block: 'all', + name: 'shop', + no_pick: True, + ) +store_alchemy_2 = _a.Exit( + face: 1223, + move_block: 'all', + name: 'shop', + no_pick: True, + x: 1, + ) +store_alchemy_3 = _a.Exit( + face: 1223, + name: 'shop', + no_pick: True, + y: 1, + ) +store_alchemy_4 = _a.Exit( + face: 1223, + name: 'shop', + no_pick: True, + x: 1, + y: 1, + ) +coppersilver_converter = _a.Converter( + face: 1224, + food: 1, + move_on: 'walk', + name: 'convert silver into copper', + no_pick: True, + other_arch: 'coppercoin', + slaying: 'silvercoin', + sp: 10, + ) +silvercopper_converter = _a.Converter( + face: 1224, + food: 10, + move_on: 'walk', + name: 'convert copper into silver', + no_pick: True, + other_arch: 'silvercoin', + slaying: 'coppercoin', + sp: 1, + ) + +create_serpent_cloak = _a.Converter( + face: 1226, + food: 3, + move_on: 'walk', + name: 'Serpent cloak: three serpent skins', + no_pick: True, + other_arch: 'serp_cloak', + precious: True, + slaying: 'serp_skin', + ) +bank_west = _a.Exit( + face: 1227, + move_block: 'all', + name: 'bank', + no_pick: True, + ) +bank_west_2 = _a.Exit( + face: 1227, + move_block: 'all', + name: 'bank', + no_pick: True, + x: 1, + ) +bank_west_3 = _a.Exit( + face: 1227, + name: 'bank', + no_pick: True, + y: 1, + ) +bank_west_4 = _a.Exit( + face: 1227, + name: 'bank', + no_pick: True, + x: 1, + y: 1, + ) +store_magic = _a.Exit( + client_type: 25012, + face: 1228, + move_block: 'all', + name: 'shop', + no_pick: True, + ) +store_magic_2 = _a.Exit( + face: 1228, + move_block: 'all', + name: 'shop', + no_pick: True, + x: 1, + ) +store_magic_3 = _a.Exit( + face: 1228, + name: 'shop', + no_pick: True, + y: 1, + ) +store_magic_4 = _a.Exit( + face: 1228, + name: 'shop', + no_pick: True, + x: 1, + y: 1, + ) +booze_table = _a.Converter( + face: 1229, + food: 3, + move_on: 'walk', + name: 'serving booze (3 g.c @)', + no_pick: True, + other_arch: 'booze', + slaying: 'goldcoin', + ) +booze_table_rated = _a.Converter( + face: 1229, + food: 3, + hp: 1, + move_on: 'walk', + name: 'serving booze (3 g.c @)', + no_pick: True, + other_arch: 'booze', + slaying: 'goldcoin', + subtype: 2, + ) +dragon_steak_table = _a.Converter( + face: 1229, + food: 15, + move_on: 'walk', + name: 'serving dragon steak (15 g.c. @)', + no_pick: True, + other_arch: 'dragon_steak', + slaying: 'goldcoin', + ) +food_table = _a.Converter( + face: 1229, + food: 7, + move_on: 'walk', + name: 'serving food (7 g.c. @)', + no_pick: True, + other_arch: 'food', + slaying: 'goldcoin', + ) +waybread_table = _a.Converter( + face: 1229, + food: 25, + move_on: 'walk', + name: 'serving waybread (25 g.c. @)', + no_pick: True, + other_arch: 'waybread', + slaying: 'goldcoin', + ) +store_armour_west = _a.Exit( + client_type: 25012, + face: 1230, + move_block: 'all', + name: 'shop', + no_pick: True, + ) +store_armour_2_west = _a.Exit( + face: 1230, + move_block: 'all', + name: 'shop', + no_pick: True, + x: 1, + ) +store_armour_3_west = _a.Exit( + face: 1230, + name: 'shop', + no_pick: True, + y: 1, + ) +store_armour_4_west = _a.Exit( + face: 1230, + name: 'shop', + no_pick: True, + x: 1, + y: 1, + ) +store_weapons = _a.Exit( + client_type: 25012, + face: 1231, + move_block: 'all', + name: 'shop', + no_pick: True, + ) +store_weapons_2 = _a.Exit( + face: 1231, + move_block: 'all', + name: 'shop', + no_pick: True, + x: 1, + ) +store_weapons_3 = _a.Exit( + face: 1231, + name: 'shop', + no_pick: True, + y: 1, + ) +store_weapons_4 = _a.Exit( + face: 1231, + name: 'shop', + no_pick: True, + x: 1, + y: 1, + ) +alchemy_diamond_converter = _a.Converter( + face: 1232, + food: 40, + move_on: 'walk', + name: 'alchemy bath: create diamond', + no_pick: True, + other_arch: 'gem', + slaying: 'goldcoin', + speed: 0.4, + ) +alchemy_pearl_converter = _a.Converter( + face: 1232, + food: 5, + move_on: 'walk', + name: 'alchemy bath: create pearl', + no_pick: True, + other_arch: 'pearl', + slaying: 'goldcoin', + speed: 0.4, + ) +alchemy_ruby_converter = _a.Converter( + face: 1232, + food: 20, + move_on: 'walk', + name: 'alchemy bath: create ruby', + no_pick: True, + other_arch: 'ruby', + slaying: 'goldcoin', + speed: 0.4, + ) +create_Pdragon_mail = _a.Converter( + face: 1212, + food: 60, + move_on: 'walk', + name: 'Power Dragonmail: sixty dragon scales', + no_pick: True, + other_arch: 'Pdragon_mail', + precious: True, + slaying: 'dragon_scale', + ) +store_general_west = _a.Exit( + client_type: 25012, + face: 1233, + move_block: 'all', + name: 'shop', + no_pick: True, + ) +store_general_2_west = _a.Exit( + face: 1233, + move_block: 'all', + name: 'shop', + no_pick: True, + x: 1, + ) +store_general_3_west = _a.Exit( + face: 1233, + name: 'shop', + no_pick: True, + y: 1, + ) +store_general_4_west = _a.Exit( + face: 1233, + name: 'shop', + no_pick: True, + x: 1, + y: 1, + ) +store_armour_fant = _a.Exit( + client_type: 25012, + face: 1234, + move_block: 'all', + name: 'shop', + no_pick: True, + ) +store_armour_2_fant = _a.Exit( + face: 1234, + move_block: 'all', + name: 'shop', + no_pick: True, + x: 1, + ) +store_armour_3_fant = _a.Exit( + face: 1234, + name: 'shop', + no_pick: True, + y: 1, + ) +store_armour_4_fant = _a.Exit( + face: 1234, + name: 'shop', + no_pick: True, + x: 1, + y: 1, + ) +store_magic_fant = _a.Exit( + client_type: 25012, + face: 1235, + move_block: 'all', + name: 'shop', + no_pick: True, + ) +store_magic_2_fant = _a.Exit( + face: 1235, + move_block: 'all', + name: 'shop', + no_pick: True, + x: 1, + ) +store_magic_3_fant = _a.Exit( + face: 1235, + name: 'shop', + no_pick: True, + y: 1, + ) +store_magic_4_fant = _a.Exit( + face: 1235, + name: 'shop', + no_pick: True, + x: 1, + y: 1, + ) +playershop = _a.Exit( + client_type: 25012, + face: 1236, + move_block: 'all', + name: 'shop', + no_pick: True, + ) +playershop_2 = _a.Exit( + face: 1236, + move_block: 'all', + name: 'shop', + no_pick: True, + x: 1, + ) +playershop_3 = _a.Exit( + face: 1236, + name: 'shop', + no_pick: True, + y: 1, + ) +playershop_4 = _a.Exit( + face: 1236, + name: 'shop', + no_pick: True, + x: 1, + y: 1, + ) +store_magic_west = _a.Exit( + client_type: 25012, + face: 1237, + move_block: 'all', + name: 'shop', + no_pick: True, + ) +store_magic_2_west = _a.Exit( + face: 1237, + move_block: 'all', + name: 'shop', + no_pick: True, + x: 1, + ) +store_magic_3_west = _a.Exit( + face: 1237, + name: 'shop', + no_pick: True, + y: 1, + ) +store_magic_4_west = _a.Exit( + face: 1237, + name: 'shop', + no_pick: True, + x: 1, + y: 1, + ) +store_armour = _a.Exit( + client_type: 25012, + face: 1238, + move_block: 'all', + name: 'shop', + no_pick: True, + ) +store_armour_2 = _a.Exit( + face: 1238, + move_block: 'all', + name: 'shop', + no_pick: True, + x: 1, + ) +store_armour_3 = _a.Exit( + face: 1238, + name: 'shop', + no_pick: True, + y: 1, + ) +store_armour_4 = _a.Exit( + face: 1238, + name: 'shop', + no_pick: True, + x: 1, + y: 1, + ) +store_weapons_east = _a.Exit( + client_type: 25012, + face: 1239, + move_block: 'all', + name: '\xe5\xba\x97', + name_pl: 'mise', + no_pick: True, + ) +store_weapons_2_east = _a.Exit( + face: 1239, + move_block: 'all', + name: '\xe5\xba\x97', + name_pl: 'mise', + no_pick: True, + x: 1, + ) +store_weapons_3_east = _a.Exit( + face: 1239, + name: '\xe5\xba\x97', + name_pl: 'mise', + no_pick: True, + y: 1, + ) +store_weapons_4_east = _a.Exit( + face: 1239, + name: '\xe5\xba\x97', + name_pl: 'mise', + no_pick: True, + x: 1, + y: 1, + ) +store_general_fant = _a.Exit( + client_type: 25012, + face: 1240, + move_block: 'all', + name: 'shop', + no_pick: True, + ) +store_general_2_fant = _a.Exit( + face: 1240, + move_block: 'all', + name: 'shop', + no_pick: True, + x: 1, + ) +store_general_3_fant = _a.Exit( + face: 1240, + name: 'shop', + no_pick: True, + y: 1, + ) +store_general_4_fant = _a.Exit( + face: 1240, + name: 'shop', + no_pick: True, + x: 1, + y: 1, + ) +diamond_converter = _a.Converter( + face: 1224, + food: 40, + move_on: 'walk', + name: 'drop gold to buy diamonds', + no_pick: True, + other_arch: 'gem', + slaying: 'goldcoin', + ) +gold_converter = _a.Converter( + face: 1224, + food: 100, + move_on: 'walk', + name: 'convert gold into platinum', + no_pick: True, + other_arch: 'platinacoin', + slaying: 'goldcoin', + ) +jade_converter = _a.Converter( + editor_folder: 'deprecated/shop', + face: 1224, + food: 100, + move_on: 'walk', + name: 'convert jade into amberium', + no_pick: True, + other_arch: 'ambercoin', + slaying: 'jadecoin', + ) +pearl_converter = _a.Converter( + face: 1224, + food: 5, + move_on: 'walk', + name: 'drop gold to buy pearls', + no_pick: True, + other_arch: 'pearl', + slaying: 'goldcoin', + ) +platinum_converter = _a.Converter( + face: 1224, + food: 1, + move_on: 'walk', + name: 'convert platinum into gold', + no_pick: True, + other_arch: 'goldcoin', + slaying: 'platinacoin', + ) +platinum_converter2 = _a.Converter( + editor_folder: 'deprecated/shop', + face: 1224, + food: 100, + move_on: 'walk', + name: 'convert platinum into jade', + no_pick: True, + other_arch: 'jadecoin', + slaying: 'platinacoin', + ) +platinum_converter3 = _a.Converter( + face: 1224, + food: 100, + move_on: 'walk', + name: 'convert platinum into royalties', + no_pick: True, + other_arch: 'royalty', + slaying: 'platinacoin', + ) +ruby_converter = _a.Converter( + face: 1224, + food: 20, + move_on: 'walk', + name: 'drop gold to buy rubies', + no_pick: True, + other_arch: 'ruby', + slaying: 'goldcoin', + ) +silver_converter = _a.Converter( + face: 1224, + food: 100, + move_on: 'walk', + name: 'convert silver into gold', + no_pick: True, + other_arch: 'goldcoin', + slaying: 'silvercoin', + ) +identify_table = _a.IdentifyAltar( + face: 1224, + food: 200, + move_on: 'walk', + name: 'item identify table', + no_pick: True, + slaying: 'money', + ) +create_dragon_shield = _a.Converter( + face: 1212, + food: 1, + move_on: 'walk', + name: 'dragon shields: one dragon scale', + no_pick: True, + other_arch: 'dragon_shield', + precious: True, + slaying: 'dragon_scale', + ) +shop_light = _a.ShopFloor( + auto_apply: True, + damned: True, + face: 1241, + is_floor: True, + name: 'tiles', + no_magic: True, + no_pick: True, + randomitems: 'shop_light', + ) +shop_general = _a.ShopFloor( + auto_apply: True, + damned: True, + face: 1241, + is_floor: True, + name: 'tiles', + no_magic: True, + no_pick: True, + randomitems: 'shop_general', + ) +shop_weapon = _a.ShopFloor( + auto_apply: True, + damned: True, + face: 1242, + is_floor: True, + name: 'tiles', + no_magic: True, + no_pick: True, + randomitems: 'random_weapon', + ) +shop_weapon_ancient = _a.ShopFloor( + auto_apply: True, + damned: True, + face: 1242, + is_floor: True, + name: 'tiles', + no_magic: True, + no_pick: True, + randomitems: 'shopweapoancient', + ) +shop_weapon_east = _a.ShopFloor( + auto_apply: True, + damned: True, + face: 1242, + is_floor: True, + name: 'tiles', + no_magic: True, + no_pick: True, + randomitems: 'shopweapoeast', + ) +shop_weapon_west = _a.ShopFloor( + auto_apply: True, + damned: True, + face: 1242, + is_floor: True, + name: 'tiles', + no_magic: True, + no_pick: True, + randomitems: 'shopweapowest', + ) +shop_scrolls = _a.ShopFloor( + auto_apply: True, + damned: True, + face: 1243, + is_floor: True, + name: 'tiles', + no_magic: True, + no_pick: True, + randomitems: 'random_scroll', + ) +shop_empty = _a.ShopFloor( + damned: True, + face: 1244, + is_floor: True, + name: 'tiles', + no_magic: True, + no_pick: True, + ) +shop_ring = _a.ShopFloor( + auto_apply: True, + damned: True, + face: 1245, + is_floor: True, + name: 'tiles', + no_magic: True, + no_pick: True, + randomitems: 'shop_rings', + ) +shop_ring_adornment = _a.ShopFloor( + attach: [[u'ring_adornment_shop', None]], + damned: True, + face: 1245, + is_floor: True, + name: 'tiles', + no_magic: True, + no_pick: True, + ) +shop_food = _a.ShopFloor( + auto_apply: True, + damned: True, + face: 1246, + is_floor: True, + name: 'tiles', + no_magic: True, + no_pick: True, + randomitems: 'random_food', + ) +shop_wands = _a.ShopFloor( + auto_apply: True, + damned: True, + face: 1247, + is_floor: True, + name: 'tiles', + no_magic: True, + no_pick: True, + randomitems: 'random_wands', + ) + +shop_floor = _a.ShopFloor( + name: 'tiles', + ) +shop_potions = _a.ShopFloor( + auto_apply: True, + damned: True, + face: 1248, + is_floor: True, + name: 'tiles', + no_magic: True, + no_pick: True, + randomitems: 'shop_potions', + ) +shop_special = _a.ShopFloor( + auto_apply: True, + damned: True, + face: 1249, + is_floor: True, + name: 'tiles', + no_magic: True, + no_pick: True, + randomitems: 'random_special', + ) +shop_books = _a.ShopFloor( + auto_apply: True, + damned: True, + face: 1250, + is_floor: True, + name: 'tiles', + no_magic: True, + no_pick: True, + randomitems: 'random_books', + ) +shop_mat = _a.ShopMat( + damned: True, + face: 1251, + move_on: 'walk fly_low', + name: 'doormat', + no_pick: True, + ) +shop_gems = _a.ShopFloor( + auto_apply: True, + damned: True, + exp: 100000, + face: 1252, + is_floor: True, + name: 'tiles', + no_magic: True, + no_pick: True, + randomitems: 'shop_gems', + ) +shop_throw = _a.ShopFloor( + auto_apply: True, + damned: True, + face: 1253, + is_floor: True, + name: 'tiles', + no_magic: True, + no_pick: True, + randomitems: 'shoparchery', + ) +shop_amulets = _a.ShopFloor( + auto_apply: True, + damned: True, + face: 1254, + is_floor: True, + name: 'tiles', + no_magic: True, + no_pick: True, + randomitems: 'random_amulet', + ) +shop_amulets_adornment = _a.ShopFloor( + attach: [[u'amulet_adornment_shop', None]], + damned: True, + face: 1254, + is_floor: True, + name: 'tiles', + no_magic: True, + no_pick: True, + ) +shop_alchemy = _a.ShopFloor( + auto_apply: True, + damned: True, + face: 1255, + is_floor: True, + name: 'tiles', + no_magic: True, + no_pick: True, + randomitems: 'shop_alchemy', + ) +shop_minerals = _a.ShopFloor( + auto_apply: True, + damned: True, + face: 1256, + is_floor: True, + name: 'tiles', + no_magic: True, + no_pick: True, + randomitems: 'shop_minerals', + ) +shop_armour = _a.ShopFloor( + auto_apply: True, + damned: True, + face: 1257, + is_floor: True, + name: 'tiles', + no_magic: True, + no_pick: True, + randomitems: 'random_armour', + ) +s_bridge1 = _a.Encounter( + face: 1258, + move_on: 'walk', + name: 'bridge', + no_pick: True, + ) +s_bridge1a = _a.Encounter( + face: 1259, + move_on: 'walk', + name: 'bridge', + no_pick: True, + ) +s_bridge1b = _a.Encounter( + face: 1260, + move_on: 'walk', + name: 'bridge', + no_pick: True, + ) +bungalow = _a.Exit( + client_type: 25012, + face: 1261, + no_pick: True, + ) +s_bridge2 = _a.Encounter( + face: 1262, + move_on: 'walk', + name: 'bridge', + no_pick: True, + ) +s_bridge2a = _a.Encounter( + face: 1263, + move_on: 'walk', + name: 'bridge', + no_pick: True, + ) +s_bridge2b = _a.Encounter( + face: 1264, + move_on: 'walk', + name: 'bridge', + no_pick: True, + ) +darkhold_sym = _a.Exit( + client_type: 25012, + face: 1265, + name: 'darkhold', + no_pick: True, + ) +stronghold = _a.Exit( + client_type: 25012, + face: 1266, + move_block: 'all', + no_pick: True, + ) +stronghold_2 = _a.Exit( + face: 1266, + move_block: 'all', + name: 'stronghold', + no_pick: True, + x: 1, + ) +stronghold_3 = _a.Exit( + face: 1266, + move_block: 'all', + name: 'stronghold', + no_pick: True, + x: 2, + ) +stronghold_4 = _a.Exit( + face: 1266, + move_block: 'all', + name: 'stronghold', + no_pick: True, + y: 1, + ) +stronghold_5 = _a.Exit( + face: 1266, + move_block: 'all', + name: 'stronghold', + no_pick: True, + x: 1, + y: 1, + ) +stronghold_6 = _a.Exit( + face: 1266, + move_block: 'all', + name: 'stronghold', + no_pick: True, + x: 2, + y: 1, + ) +stronghold_7 = _a.Exit( + face: 1266, + move_block: 'all', + name: 'stronghold', + no_pick: True, + y: 2, + ) +stronghold_8 = _a.Exit( + face: 1266, + name: 'stronghold', + no_pick: True, + x: 1, + y: 2, + ) +stronghold_9 = _a.Exit( + face: 1266, + move_block: 'all', + name: 'stronghold', + no_pick: True, + x: 2, + y: 2, + ) +stronghold_fant_symmetrical = _a.Exit( + client_type: 25012, + face: 1267, + move_block: 'all', + no_pick: True, + ) +stronghold_2_fant_symmetrical = _a.Exit( + face: 1267, + move_block: 'all', + name: 'stronghold', + no_pick: True, + x: 1, + ) +stronghold_3_fant_symmetrical = _a.Exit( + face: 1267, + move_block: 'all', + name: 'stronghold', + no_pick: True, + x: 2, + ) +stronghold_4_fant_symmetrical = _a.Exit( + face: 1267, + move_block: 'all', + name: 'stronghold', + no_pick: True, + y: 1, + ) +stronghold_5_fant_symmetrical = _a.Exit( + face: 1267, + move_block: 'all', + name: 'stronghold', + no_pick: True, + x: 1, + y: 1, + ) +stronghold_6_fant_symmetrical = _a.Exit( + face: 1267, + move_block: 'all', + name: 'stronghold', + no_pick: True, + x: 2, + y: 1, + ) +stronghold_7_fant_symmetrical = _a.Exit( + face: 1267, + move_block: 'all', + name: 'stronghold', + no_pick: True, + y: 2, + ) +stronghold_8_fant_symmetrical = _a.Exit( + face: 1267, + name: 'stronghold', + no_pick: True, + x: 1, + y: 2, + ) +stronghold_9_fant_symmetrical = _a.Exit( + face: 1267, + move_block: 'all', + name: 'stronghold', + no_pick: True, + x: 2, + y: 2, + ) +stronghold_east = _a.Exit( + client_type: 25012, + face: 1268, + move_block: 'all', + name: '\xe6\x9c\xac\xe5\xa1\x81', + name_pl: 'honrui', + no_pick: True, + ) +stronghold_2_east = _a.Exit( + face: 1268, + move_block: 'all', + no_pick: True, + x: 1, + ) +stronghold_3_east = _a.Exit( + face: 1268, + move_block: 'all', + no_pick: True, + x: 2, + ) +stronghold_4_east = _a.Exit( + face: 1268, + move_block: 'all', + no_pick: True, + y: 1, + ) +stronghold_5_east = _a.Exit( + face: 1268, + move_block: 'all', + no_pick: True, + x: 1, + y: 1, + ) +stronghold_6_east = _a.Exit( + face: 1268, + move_block: 'all', + no_pick: True, + x: 2, + y: 1, + ) +stronghold_7_east = _a.Exit( + face: 1268, + move_block: 'all', + no_pick: True, + y: 2, + ) +stronghold_8_east = _a.Exit( + face: 1268, + no_pick: True, + x: 1, + y: 2, + ) +stronghold_9_east = _a.Exit( + face: 1268, + move_block: 'all', + no_pick: True, + x: 2, + y: 2, + ) +stronghold_greyshield = _a.Exit( + face: 1269, + move_block: 'all', + no_pick: True, + ) +stronghold_2_greyshield = _a.Exit( + face: 1269, + move_block: 'all', + name: 'stronghold', + no_pick: True, + x: 1, + ) +stronghold_3_greyshield = _a.Exit( + face: 1269, + move_block: 'all', + name: 'stronghold', + no_pick: True, + x: 2, + ) +stronghold_4_greyshield = _a.Exit( + face: 1269, + move_block: 'all', + name: 'stronghold', + no_pick: True, + y: 1, + ) +stronghold_5_greyshield = _a.Exit( + face: 1269, + move_block: 'all', + name: 'stronghold', + no_pick: True, + x: 1, + y: 1, + ) +stronghold_6_greyshield = _a.Exit( + face: 1269, + move_block: 'all', + name: 'stronghold', + no_pick: True, + x: 2, + y: 1, + ) +stronghold_7_greyshield = _a.Exit( + face: 1269, + move_block: 'all', + name: 'stronghold', + no_pick: True, + y: 2, + ) +stronghold_8_greyshield = _a.Exit( + face: 1269, + name: 'stronghold', + no_pick: True, + x: 1, + y: 2, + ) +stronghold_9_greyshield = _a.Exit( + face: 1269, + move_block: 'all', + name: 'stronghold', + no_pick: True, + x: 2, + y: 2, + ) +stronghold_fant = _a.Exit( + face: 1270, + move_block: 'all', + no_pick: True, + ) +stronghold_2_fant = _a.Exit( + face: 1270, + move_block: 'all', + name: 'stronghold', + no_pick: True, + x: 1, + ) +stronghold_3_fant = _a.Exit( + face: 1270, + move_block: 'all', + name: 'stronghold', + no_pick: True, + x: 2, + ) +stronghold_4_fant = _a.Exit( + face: 1270, + move_block: 'all', + name: 'stronghold', + no_pick: True, + y: 1, + ) +stronghold_5_fant = _a.Exit( + face: 1270, + move_block: 'all', + name: 'stronghold', + no_pick: True, + x: 1, + y: 1, + ) +stronghold_6_fant = _a.Exit( + face: 1270, + move_block: 'all', + name: 'stronghold', + no_pick: True, + x: 2, + y: 1, + ) +stronghold_7_fant = _a.Exit( + face: 1270, + move_block: 'all', + name: 'stronghold', + no_pick: True, + y: 2, + ) +stronghold_8_fant = _a.Exit( + face: 1270, + name: 'stronghold', + no_pick: True, + x: 1, + y: 2, + ) +stronghold_9_fant = _a.Exit( + face: 1270, + move_block: 'all', + name: 'stronghold', + no_pick: True, + x: 2, + y: 2, + ) +darkhold = _a.Exit( + client_type: 25012, + face: 1271, + move_block: 'all', + name: 'darkhold', + no_pick: True, + ) +darkhold_2 = _a.Exit( + face: 1271, + move_block: 'all', + name: 'darkhold', + no_pick: True, + x: 1, + ) +darkhold_3 = _a.Exit( + face: 1271, + move_block: 'all', + name: 'darkhold', + no_pick: True, + x: 2, + ) +darkhold_4 = _a.Exit( + face: 1271, + move_block: 'all', + name: 'darkhold', + no_pick: True, + y: 1, + ) +darkhold_5 = _a.Exit( + face: 1271, + move_block: 'all', + name: 'darkhold', + no_pick: True, + x: 1, + y: 1, + ) +darkhold_6 = _a.Exit( + face: 1271, + move_block: 'all', + name: 'darkhold', + no_pick: True, + x: 2, + y: 1, + ) +darkhold_7 = _a.Exit( + face: 1271, + move_block: 'all', + name: 'darkhold', + no_pick: True, + y: 2, + ) +darkhold_8 = _a.Exit( + face: 1271, + move_block: 'all', + name: 'darkhold', + no_pick: True, + x: 1, + y: 2, + ) +darkhold_9 = _a.Exit( + face: 1271, + move_block: 'all', + name: 'darkhold', + no_pick: True, + x: 2, + y: 2, + ) +darkhold_10 = _a.Exit( + face: 1271, + move_block: 'all', + name: 'darkhold', + no_pick: True, + y: 3, + ) +darkhold_11 = _a.Exit( + face: 1271, + move_block: 'all', + name: 'darkhold', + no_pick: True, + x: 1, + y: 3, + ) +darkhold_12 = _a.Exit( + face: 1271, + move_block: 'all', + name: 'darkhold', + no_pick: True, + x: 2, + y: 3, + ) +darkhold_13 = _a.Exit( + face: 1271, + move_block: 'all', + name: 'darkhold', + no_pick: True, + y: 4, + ) +darkhold_14 = _a.Exit( + face: 1271, + name: 'darkhold', + no_pick: True, + x: 1, + y: 4, + ) +darkhold_15 = _a.Exit( + face: 1271, + move_block: 'all', + name: 'darkhold', + no_pick: True, + x: 2, + y: 4, + ) +stronghold_sym = _a.Exit( + client_type: 25012, + face: 1272, + name: 'stronghold', + no_pick: True, + ) +stronghold_northwest = _a.Exit( + face: 1273, + move_block: 'all', + no_pick: True, + ) +stronghold_2_northwest = _a.Exit( + face: 1273, + move_block: 'all', + name: 'stronghold', + no_pick: True, + x: 1, + ) +stronghold_3_northwest = _a.Exit( + face: 1273, + move_block: 'all', + name: 'stronghold', + no_pick: True, + x: 2, + ) +stronghold_4_northwest = _a.Exit( + face: 1273, + move_block: 'all', + name: 'stronghold', + no_pick: True, + y: 1, + ) +stronghold_5_northwest = _a.Exit( + face: 1273, + move_block: 'all', + name: 'stronghold', + no_pick: True, + x: 1, + y: 1, + ) +stronghold_6_northwest = _a.Exit( + face: 1273, + move_block: 'all', + name: 'stronghold', + no_pick: True, + x: 2, + y: 1, + ) +stronghold_7_northwest = _a.Exit( + face: 1273, + move_block: 'all', + name: 'stronghold', + no_pick: True, + y: 2, + ) +stronghold_8_northwest = _a.Exit( + face: 1273, + name: 'stronghold', + no_pick: True, + x: 1, + y: 2, + ) +stronghold_9_northwest = _a.Exit( + face: 1273, + move_block: 'all', + name: 'stronghold', + no_pick: True, + x: 2, + y: 2, + ) +stronghold_west = _a.Exit( + client_type: 25012, + face: 1274, + move_block: 'all', + no_pick: True, + ) +stronghold_2_west = _a.Exit( + face: 1274, + move_block: 'all', + name: 'stronghold', + no_pick: True, + x: 1, + ) +stronghold_3_west = _a.Exit( + face: 1274, + move_block: 'all', + name: 'stronghold', + no_pick: True, + x: 2, + ) +stronghold_4_west = _a.Exit( + face: 1274, + move_block: 'all', + name: 'stronghold', + no_pick: True, + y: 1, + ) +stronghold_5_west = _a.Exit( + face: 1274, + move_block: 'all', + name: 'stronghold', + no_pick: True, + x: 1, + y: 1, + ) +stronghold_6_west = _a.Exit( + face: 1274, + move_block: 'all', + name: 'stronghold', + no_pick: True, + x: 2, + y: 1, + ) +stronghold_7_west = _a.Exit( + face: 1274, + move_block: 'all', + name: 'stronghold', + no_pick: True, + y: 2, + ) +stronghold_8_west = _a.Exit( + face: 1274, + name: 'stronghold', + no_pick: True, + x: 1, + y: 2, + ) +stronghold_9_west = _a.Exit( + face: 1274, + move_block: 'all', + name: 'stronghold', + no_pick: True, + x: 2, + y: 2, + ) +castle_a = _a.Exit( + client_type: 25012, + face: 1275, + name: 'castle', + no_pick: True, + speed: -0.3, + ) +castle_b = _a.Exit( + face: 1275, + name: 'castle', + no_pick: True, + x: 1, + ) +castle_c = _a.Exit( + face: 1275, + name: 'castle', + no_pick: True, + y: 1, + ) +castle_d = _a.Exit( + face: 1275, + name: 'castle', + no_pick: True, + x: 1, + y: 1, + ) +oldcastle = _a.Exit( + client_type: 25012, + face: 1276, + name: 'Old castle', + no_pick: True, + ) +castle_west = _a.Exit( + client_type: 25012, + face: 1277, + name: 'castle', + no_pick: True, + ) +castle = _a.Exit( + client_type: 25012, + face: 1278, + no_pick: True, + ) +castle_a_northwest = _a.Exit( + client_type: 25012, + face: 1279, + name: 'castle', + no_pick: True, + speed: -0.3, + ) +castle_b_northwest = _a.Exit( + face: 1279, + name: 'castle', + no_pick: True, + x: 1, + ) +castle_c_northwest = _a.Exit( + face: 1279, + name: 'castle', + no_pick: True, + y: 1, + ) +castle_d_northwest = _a.Exit( + face: 1279, + name: 'castle', + no_pick: True, + x: 1, + y: 1, + ) +castle_a_east = _a.Exit( + client_type: 25012, + face: 1280, + name: '\xe3\x82\xad\xe3\x83\xa3\xe3\x83\x83\xe3\x82\xb9\xe3\x83\xab', + name_pl: 'kyassuru', + no_pick: True, + ) +castle_b_east = _a.Exit( + face: 1280, + name: '\xe3\x82\xad\xe3\x83\xa3\xe3\x83\x83\xe3\x82\xb9\xe3\x83\xab', + name_pl: 'kyassuru', + no_pick: True, + x: 1, + ) +castle_c_east = _a.Exit( + face: 1280, + name: '\xe3\x82\xad\xe3\x83\xa3\xe3\x83\x83\xe3\x82\xb9\xe3\x83\xab', + name_pl: 'kyassuru', + no_pick: True, + y: 1, + ) +castle_d_east = _a.Exit( + face: 1280, + name: '\xe3\x82\xad\xe3\x83\xa3\xe3\x83\x83\xe3\x82\xb9\xe3\x83\xab', + name_pl: 'kyassuru', + no_pick: True, + x: 1, + y: 1, + ) +castle_a_western = _a.Exit( + client_type: 25012, + face: 1281, + name: 'castle', + no_pick: True, + speed: -0.3, + ) +castle_b_western = _a.Exit( + face: 1281, + name: 'castle', + no_pick: True, + x: 1, + ) +castle_c_western = _a.Exit( + face: 1281, + name: 'castle', + no_pick: True, + y: 1, + ) +castle_d_western = _a.Exit( + face: 1281, + name: 'castle', + no_pick: True, + x: 1, + y: 1, + ) +barrack_small = _a.Exit( + client_type: 25012, + face: 1282, + name: 'small barrack', + no_pick: True, + ) +barrack_long = _a.Exit( + client_type: 25012, + face: 1283, + name: 'barrack', + no_pick: True, + speed: -0.1, + ) +barrack_long_2 = _a.Exit( + face: 1283, + name: 'barrack', + no_pick: True, + speed: -0.1, + x: 1, + ) +barrack_long_goth = _a.Exit( + client_type: 25012, + face: 1284, + name: 'Kaserne', + no_pick: True, + speed: -0.1, + ) +barrack_long_2_goth = _a.Exit( + face: 1284, + name: 'Kaserne', + no_pick: True, + speed: -0.1, + x: 1, + ) +barrack_up = _a.Exit( + client_type: 25012, + face: 1285, + name: 'barrack', + no_pick: True, + speed: -0.1, + ) +barrack_up_2 = _a.Exit( + face: 1285, + name: 'barrack', + no_pick: True, + speed: -0.1, + y: 1, + ) +barrack_small_goth = _a.Exit( + client_type: 25012, + face: 1286, + name: 'kleine Kaserne', + no_pick: True, + ) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +hovels2 = _a.Exit( + client_type: 25012, + face: 1319, + name: 'hovels', + no_pick: True, + ) +hovels2_2 = _a.Exit( + face: 1319, + name: 'hovels', + no_pick: True, + x: 1, + ) +hovels2_3 = _a.Exit( + face: 1319, + name: 'hovels', + no_pick: True, + y: 1, + ) +hovels2_4 = _a.Exit( + face: 1319, + name: 'hovels', + no_pick: True, + x: 1, + y: 1, + ) +hovels = _a.Exit( + client_type: 25012, + face: 1320, + name: 'houses', + no_pick: True, + ) +prison_goth = _a.Exit( + client_type: 25012, + face: 1321, + move_block: 'all', + name: 'Gef\xc3\xa4ngnis', + no_pick: True, + ) +prison_2_goth = _a.Exit( + face: 1321, + move_block: 'all', + name: 'Gef\xc3\xa4ngnis', + no_pick: True, + x: 1, + ) +prison_3_goth = _a.Exit( + face: 1321, + name: 'Gef\xc3\xa4ngnis', + no_pick: True, + y: 1, + ) +prison_4_goth = _a.Exit( + face: 1321, + name: 'Gef\xc3\xa4ngnis', + no_pick: True, + x: 1, + y: 1, + ) +guild_goth = _a.Exit( + client_type: 25012, + face: 1322, + move_block: 'all', + name: 'Zunft', + no_pick: True, + ) +guild_goth_2 = _a.Exit( + face: 1322, + move_block: 'all', + name: 'Zunft', + no_pick: True, + x: 1, + ) +guild_goth_3 = _a.Exit( + face: 1322, + name: 'Zunft', + no_pick: True, + y: 1, + ) +guild_goth_4 = _a.Exit( + face: 1322, + name: 'Zunft', + no_pick: True, + x: 1, + y: 1, + ) +t_house1 = _a.Exit( + client_type: 25012, + face: 1323, + move_block: 'all', + name: 'town house', + no_pick: True, + ) +t_house1_2 = _a.Exit( + face: 1323, + move_block: 'all', + name: 'town house', + no_pick: True, + x: 1, + ) +t_house1_3 = _a.Exit( + face: 1323, + name: 'town house', + no_pick: True, + y: 1, + ) +t_house1_4 = _a.Exit( + face: 1323, + name: 'town house', + no_pick: True, + x: 1, + y: 1, + ) +market2 = _a.Exit( + client_type: 25012, + face: 1324, + name: 'market', + no_pick: True, + ) +guildtwo_west = _a.Exit( + client_type: 25012, + face: 1325, + move_block: 'all', + no_pick: True, + ) +guildtwo_2_west = _a.Exit( + face: 1325, + move_block: 'all', + name: 'guild', + no_pick: True, + x: 1, + ) +guildtwo_3_west = _a.Exit( + face: 1325, + name: 'guild', + no_pick: True, + y: 1, + ) +guildtwo_4_west = _a.Exit( + face: 1325, + name: 'guild', + no_pick: True, + x: 1, + y: 1, + ) +church = _a.Exit( + client_type: 25012, + face: 1326, + no_pick: True, + ) +church_2 = _a.Exit( + face: 1326, + name: 'church', + no_pick: True, + x: 1, + ) +church_3 = _a.Exit( + face: 1326, + name: 'church', + no_pick: True, + y: 1, + ) +church_4 = _a.Exit( + face: 1326, + name: 'church', + no_pick: True, + x: 1, + y: 1, + ) +a_bridge1 = _a.Encounter( + face: 1327, + move_on: 'walk', + name: 'bridge', + no_pick: True, + ) +rl_house2 = _a.Exit( + client_type: 25012, + face: 1328, + name: 'appartments', + no_pick: True, + ) +rl_house2_2 = _a.Exit( + face: 1328, + name: 'appartments', + no_pick: True, + x: 1, + ) +rl_house2_3 = _a.Exit( + face: 1328, + name: 'appartments', + no_pick: True, + y: 1, + ) +rl_house2_4 = _a.Exit( + face: 1328, + name: 'appartments', + no_pick: True, + x: 1, + y: 1, + ) +barn_west = _a.Exit( + client_type: 25012, + face: 1329, + name: 'barn', + no_pick: True, + ) +barn_west_2 = _a.Exit( + face: 1329, + name: 'barn', + no_pick: True, + x: 1, + ) +barn_west_3 = _a.Exit( + face: 1329, + name: 'barn', + no_pick: True, + y: 1, + ) +barn_west_4 = _a.Exit( + face: 1329, + name: 'barn', + no_pick: True, + x: 1, + y: 1, + ) +barn_goth = _a.Exit( + client_type: 25012, + face: 1330, + name: 'Scheune', + no_pick: True, + ) +barn_goth_2 = _a.Exit( + face: 1330, + name: 'Scheune', + no_pick: True, + x: 1, + ) +barn_goth_3 = _a.Exit( + face: 1330, + name: 'Scheune', + no_pick: True, + y: 1, + ) +barn_goth_4 = _a.Exit( + face: 1330, + name: 'Scheune', + no_pick: True, + x: 1, + y: 1, + ) +market2_east = _a.Exit( + client_type: 25012, + face: 1331, + name: '\xe5\xb8\x82\xe5\xa0\xb4', + name_pl: 'market', + no_pick: True, + ) +building7_east = _a.Exit( + client_type: 25012, + face: 1332, + move_block: 'all', + name: '\xe5\xbb\xba\xe7\x89\xa9', + name_pl: 'tatemono', + no_pick: True, + ) +building7_2_east = _a.Exit( + face: 1332, + move_block: 'all', + name: '\xe5\xbb\xba\xe7\x89\xa9', + name_pl: 'tatemono', + no_pick: True, + x: 1, + ) +building7_3_east = _a.Exit( + face: 1332, + name: '\xe5\xbb\xba\xe7\x89\xa9', + name_pl: 'tatemono', + no_pick: True, + y: 1, + ) +building7_4_east = _a.Exit( + face: 1332, + name: '\xe5\xbb\xba\xe7\x89\xa9', + name_pl: 'tatemono', + no_pick: True, + x: 1, + y: 1, + ) +market3 = _a.Exit( + client_type: 25012, + face: 1333, + name: 'market', + no_pick: True, + ) +t_house2 = _a.Exit( + client_type: 25012, + face: 1334, + move_block: 'all', + name: 'town house', + no_pick: True, + ) +t_house2_2 = _a.Exit( + face: 1334, + move_block: 'all', + name: 'town house', + no_pick: True, + x: 1, + ) +t_house2_3 = _a.Exit( + face: 1334, + name: 'town house', + no_pick: True, + y: 1, + ) +t_house2_4 = _a.Exit( + face: 1334, + name: 'town house', + no_pick: True, + x: 1, + y: 1, + ) +building2_east = _a.Exit( + client_type: 25012, + face: 1335, + move_block: 'all', + name: '\xe5\xbb\xba\xe7\x89\xa9', + name_pl: 'tatemono', + no_pick: True, + ) +building2_2_east = _a.Exit( + face: 1335, + move_block: 'all', + name: '\xe5\xbb\xba\xe7\x89\xa9', + name_pl: 'tatemono', + no_pick: True, + x: 1, + ) +building2_3_east = _a.Exit( + face: 1335, + name: '\xe5\xbb\xba\xe7\x89\xa9', + name_pl: 'tatemono', + no_pick: True, + y: 1, + ) +building2_4_east = _a.Exit( + face: 1335, + name: '\xe5\xbb\xba\xe7\x89\xa9', + name_pl: 'tatemono', + no_pick: True, + x: 1, + y: 1, + ) +r_house1 = _a.Exit( + client_type: 25012, + face: 1336, + name: 'appartments', + no_pick: True, + ) +barn2_northwest = _a.Exit( + client_type: 25012, + face: 1337, + name: 'barn', + no_pick: True, + ) +barn2_northwest_2 = _a.Exit( + face: 1337, + name: 'barn', + no_pick: True, + x: 1, + ) +barn2_northwest_3 = _a.Exit( + face: 1337, + name: 'barn', + no_pick: True, + y: 1, + ) +barn2_northwest_4 = _a.Exit( + face: 1337, + name: 'barn', + no_pick: True, + x: 1, + y: 1, + ) +guild = _a.Exit( + client_type: 25012, + face: 1338, + move_block: 'all', + no_pick: True, + ) +guild_2 = _a.Exit( + face: 1338, + move_block: 'all', + name: 'guild', + no_pick: True, + x: 1, + ) +guild_3 = _a.Exit( + face: 1338, + name: 'guild', + no_pick: True, + y: 1, + ) +guild_4 = _a.Exit( + face: 1338, + name: 'guild', + no_pick: True, + x: 1, + y: 1, + ) +t_house2_fant = _a.Exit( + client_type: 25012, + face: 1339, + move_block: 'all', + name: 'town house', + no_pick: True, + ) +t_house2_2_fant = _a.Exit( + face: 1339, + move_block: 'all', + name: 'town house', + no_pick: True, + x: 1, + ) +t_house2_3_fant = _a.Exit( + face: 1339, + name: 'town house', + no_pick: True, + y: 1, + ) +t_house2_4_fant = _a.Exit( + face: 1339, + name: 'town house', + no_pick: True, + x: 1, + y: 1, + ) +rl_house3 = _a.Exit( + client_type: 25012, + face: 1340, + name: 'apartments', + no_pick: True, + ) +rl_house3_2 = _a.Exit( + face: 1340, + name: 'apartments', + no_pick: True, + x: 1, + ) +rl_house3_3 = _a.Exit( + face: 1340, + name: 'apartments', + no_pick: True, + y: 1, + ) +rl_house3_4 = _a.Exit( + face: 1340, + name: 'apartments', + no_pick: True, + x: 1, + y: 1, + ) +collesium = _a.Exit( + client_type: 25012, + face: 1341, + name: 'collesium', + no_pick: True, + ) +collesium_2 = _a.Exit( + face: 1341, + name: 'collesium', + no_pick: True, + x: 1, + ) +collesium_3 = _a.Exit( + face: 1341, + name: 'collesium', + no_pick: True, + x: 2, + ) +collesium_4 = _a.Exit( + face: 1341, + name: 'collesium', + no_pick: True, + x: 3, + ) +collesium_5 = _a.Exit( + face: 1341, + name: 'collesium', + no_pick: True, + x: 4, + ) +collesium_6 = _a.Exit( + face: 1341, + name: 'collesium', + no_pick: True, + y: 1, + ) +collesium_7 = _a.Exit( + face: 1341, + name: 'collesium', + no_pick: True, + x: 1, + y: 1, + ) +collesium_8 = _a.Exit( + face: 1341, + name: 'collesium', + no_pick: True, + x: 2, + y: 1, + ) +collesium_9 = _a.Exit( + face: 1341, + name: 'collesium', + no_pick: True, + x: 3, + y: 1, + ) +collesium_10 = _a.Exit( + face: 1341, + name: 'collesium', + no_pick: True, + x: 4, + y: 1, + ) +collesium_11 = _a.Exit( + face: 1341, + name: 'collesium', + no_pick: True, + y: 2, + ) +collesium_12 = _a.Exit( + face: 1341, + name: 'collesium', + no_pick: True, + x: 1, + y: 2, + ) +collesium_13 = _a.Exit( + face: 1341, + name: 'collesium', + no_pick: True, + x: 2, + y: 2, + ) +collesium_14 = _a.Exit( + face: 1341, + name: 'collesium', + no_pick: True, + x: 3, + y: 2, + ) +collesium_15 = _a.Exit( + face: 1341, + name: 'collesium', + no_pick: True, + x: 4, + y: 2, + ) +building9_east = _a.Exit( + client_type: 25012, + face: 1342, + move_block: 'all', + name: '\xe5\xbb\xba\xe7\x89\xa9', + name_pl: 'tatemono', + no_pick: True, + ) +building9_2_east = _a.Exit( + face: 1342, + move_block: 'all', + name: '\xe5\xbb\xba\xe7\x89\xa9', + name_pl: 'tatemono', + no_pick: True, + x: 1, + ) +building9_3_east = _a.Exit( + face: 1342, + name: '\xe5\xbb\xba\xe7\x89\xa9', + name_pl: 'tatemono', + no_pick: True, + y: 1, + ) +building9_4_east = _a.Exit( + face: 1342, + name: '\xe5\xbb\xba\xe7\x89\xa9', + name_pl: 'tatemono', + no_pick: True, + x: 1, + y: 1, + ) +slum3 = _a.Exit( + client_type: 25012, + face: 1343, + move_block: 'all', + name: 'slum', + no_pick: True, + ) +slum3_2 = _a.Exit( + face: 1343, + name: 'slum', + no_pick: True, + y: 1, + ) +s_shop1 = _a.Exit( + client_type: 25012, + face: 1344, + name: 'small shop', + no_pick: True, + ) +r_house2 = _a.Exit( + client_type: 25012, + face: 1345, + name: 'appartments', + no_pick: True, + ) +s_house1 = _a.Exit( + client_type: 25012, + face: 1346, + name: 'house', + no_pick: True, + ) +barn = _a.Exit( + client_type: 25012, + face: 1347, + no_pick: True, + ) +barn_2 = _a.Exit( + face: 1347, + name: 'barn', + no_pick: True, + x: 1, + ) +barn_3 = _a.Exit( + face: 1347, + name: 'barn', + no_pick: True, + y: 1, + ) +barn_4 = _a.Exit( + face: 1347, + name: 'barn', + no_pick: True, + x: 1, + y: 1, + ) +barn2 = _a.Exit( + client_type: 25012, + face: 1348, + no_pick: True, + ) +barn2_2 = _a.Exit( + face: 1348, + name: 'barn', + no_pick: True, + x: 1, + ) +barn2_3 = _a.Exit( + face: 1348, + name: 'barn', + no_pick: True, + y: 1, + ) +barn2_4 = _a.Exit( + face: 1348, + name: 'barn', + no_pick: True, + x: 1, + y: 1, + ) +a_civic = _a.Exit( + client_type: 25012, + face: 1349, + move_block: 'all', + name: 'civic building', + no_pick: True, + ) +a_civic_2 = _a.Exit( + face: 1349, + move_block: 'all', + name: 'civic building', + no_pick: True, + x: 1, + ) +a_civic_3 = _a.Exit( + face: 1349, + name: 'civic building', + no_pick: True, + x: 2, + ) +a_civic_4 = _a.Exit( + face: 1349, + name: 'civic building', + no_pick: True, + y: 1, + ) +a_civic_5 = _a.Exit( + face: 1349, + name: 'civic building', + no_pick: True, + x: 1, + y: 1, + ) +a_civic_6 = _a.Exit( + face: 1349, + name: 'civic building', + no_pick: True, + x: 2, + y: 1, + ) +a_civic_7 = _a.Exit( + face: 1349, + name: 'civic building', + no_pick: True, + y: 2, + ) +a_civic_8 = _a.Exit( + face: 1349, + name: 'civic building', + no_pick: True, + x: 1, + y: 2, + ) +a_civic_9 = _a.Exit( + face: 1349, + name: 'civic building', + no_pick: True, + x: 2, + y: 2, + ) +l_shop1 = _a.Exit( + client_type: 25012, + face: 1350, + move_block: 'all', + name: 'shop', + no_pick: True, + ) +l_shop1_2 = _a.Exit( + face: 1350, + move_block: 'all', + name: 'shop', + no_pick: True, + x: 1, + ) +l_shop1_3 = _a.Exit( + face: 1350, + name: 'shop', + no_pick: True, + y: 1, + ) +l_shop1_4 = _a.Exit( + face: 1350, + name: 'shop', + no_pick: True, + x: 1, + y: 1, + ) +university = _a.Exit( + client_type: 25012, + face: 1351, + name: 'university', + no_pick: True, + ) +university_2 = _a.Exit( + face: 1351, + name: 'university', + no_pick: True, + x: 1, + ) +university_3 = _a.Exit( + face: 1351, + name: 'university', + no_pick: True, + x: 2, + ) +university_4 = _a.Exit( + face: 1351, + name: 'university', + no_pick: True, + x: 3, + ) +university_5 = _a.Exit( + face: 1351, + name: 'university', + no_pick: True, + x: 4, + ) +university_6 = _a.Exit( + face: 1351, + name: 'university', + no_pick: True, + y: 1, + ) +university_7 = _a.Exit( + face: 1351, + name: 'university', + no_pick: True, + x: 1, + y: 1, + ) +university_8 = _a.Exit( + face: 1351, + name: 'university', + no_pick: True, + x: 2, + y: 1, + ) +university_9 = _a.Exit( + face: 1351, + name: 'university', + no_pick: True, + x: 3, + y: 1, + ) +university_10 = _a.Exit( + face: 1351, + name: 'university', + no_pick: True, + x: 4, + y: 1, + ) +university_11 = _a.Exit( + face: 1351, + name: 'university', + no_pick: True, + y: 2, + ) +university_12 = _a.Exit( + face: 1351, + name: 'university', + no_pick: True, + x: 1, + y: 2, + ) +university_13 = _a.Exit( + face: 1351, + name: 'university', + no_pick: True, + x: 2, + y: 2, + ) +university_14 = _a.Exit( + face: 1351, + name: 'university', + no_pick: True, + x: 3, + y: 2, + ) +university_15 = _a.Exit( + face: 1351, + name: 'university', + no_pick: True, + x: 4, + y: 2, + ) +university_16 = _a.Exit( + face: 1351, + name: 'university', + no_pick: True, + y: 3, + ) +university_17 = _a.Exit( + face: 1351, + name: 'university', + no_pick: True, + x: 1, + y: 3, + ) +university_18 = _a.Exit( + face: 1351, + name: 'university', + no_pick: True, + x: 2, + y: 3, + ) +university_19 = _a.Exit( + face: 1351, + name: 'university', + no_pick: True, + x: 3, + y: 3, + ) +university_20 = _a.Exit( + face: 1351, + name: 'university', + no_pick: True, + x: 4, + y: 3, + ) +courthouse = _a.Exit( + client_type: 25012, + face: 1352, + move_block: 'all', + no_pick: True, + ) +courthouse_2 = _a.Exit( + face: 1352, + move_block: 'all', + name: 'courthouse', + no_pick: True, + x: 1, + ) +courthouse_3 = _a.Exit( + face: 1352, + name: 'courthouse', + no_pick: True, + y: 1, + ) +courthouse_4 = _a.Exit( + face: 1352, + name: 'courthouse', + no_pick: True, + x: 1, + y: 1, + ) +guild2 = _a.Exit( + client_type: 25012, + face: 1353, + move_block: 'all', + name: 'guild', + no_pick: True, + ) +guild2_2 = _a.Exit( + face: 1353, + move_block: 'all', + name: 'guild', + no_pick: True, + x: 1, + ) +guild2_3 = _a.Exit( + face: 1353, + name: 'guild', + no_pick: True, + y: 1, + ) +guild2_4 = _a.Exit( + face: 1353, + name: 'guild', + no_pick: True, + x: 1, + y: 1, + ) +building6_east = _a.Exit( + client_type: 25012, + face: 1354, + move_block: 'all', + name: '\xe5\xbb\xba\xe7\x89\xa9', + name_pl: 'tatemono', + no_pick: True, + ) +building6_2_east = _a.Exit( + face: 1354, + move_block: 'all', + name: '\xe5\xbb\xba\xe7\x89\xa9', + name_pl: 'tatemono', + no_pick: True, + x: 1, + ) +building6_3_east = _a.Exit( + face: 1354, + name: '\xe5\xbb\xba\xe7\x89\xa9', + name_pl: 'tatemono', + no_pick: True, + y: 1, + ) +building6_4_east = _a.Exit( + face: 1354, + name: '\xe5\xbb\xba\xe7\x89\xa9', + name_pl: 'tatemono', + no_pick: True, + x: 1, + y: 1, + ) +zoo_1 = _a.Exit( + client_type: 25012, + face: 1355, + name: 'zoo', + no_pick: True, + ) +zoo_2 = _a.Exit( + face: 1355, + name: 'zoo', + no_pick: True, + x: 1, + ) +zoo_3 = _a.Exit( + face: 1355, + name: 'zoo', + no_pick: True, + y: 1, + ) +zoo_4 = _a.Exit( + face: 1355, + name: 'zoo', + no_pick: True, + x: 1, + y: 1, + ) +slum1 = _a.Exit( + client_type: 25012, + face: 1356, + move_block: 'all', + name: 'slum', + no_pick: True, + ) +slum1_2 = _a.Exit( + face: 1356, + name: 'slum', + no_pick: True, + y: 1, + ) +church_goth = _a.Exit( + client_type: 25012, + face: 1357, + name: 'Kirche', + no_pick: True, + ) +church_2_goth = _a.Exit( + face: 1357, + name: 'Kirche', + no_pick: True, + x: 1, + ) +church_3_goth = _a.Exit( + face: 1357, + name: 'Kirche', + no_pick: True, + y: 1, + ) +church_4_goth = _a.Exit( + face: 1357, + name: 'Kirche', + no_pick: True, + x: 1, + y: 1, + ) +market3_east = _a.Exit( + client_type: 25012, + face: 1358, + name: '\xe5\xb8\x82\xe5\xa0\xb4', + name_pl: 'market', + no_pick: True, + ) +market1 = _a.Exit( + client_type: 25012, + face: 1359, + name: 'market', + no_pick: True, + ) +prison_fant = _a.Exit( + client_type: 25012, + face: 1360, + move_block: 'all', + name: 'prison', + no_pick: True, + ) +prison_2_fant = _a.Exit( + face: 1360, + move_block: 'all', + name: 'prison', + no_pick: True, + x: 1, + ) +prison_3_fant = _a.Exit( + face: 1360, + name: 'prison', + no_pick: True, + y: 1, + ) +prison_4_fant = _a.Exit( + face: 1360, + name: 'prison', + no_pick: True, + x: 1, + y: 1, + ) +building1_east = _a.Exit( + client_type: 25012, + face: 1361, + move_block: 'all', + name: '\xe5\xbb\xba\xe7\x89\xa9', + name_pl: 'tatemono', + no_pick: True, + ) +building1_2_east = _a.Exit( + face: 1361, + move_block: 'all', + name: '\xe5\xbb\xba\xe7\x89\xa9', + name_pl: 'tatemono', + no_pick: True, + x: 1, + ) +building1_3_east = _a.Exit( + face: 1361, + name: '\xe5\xbb\xba\xe7\x89\xa9', + name_pl: 'tatemono', + no_pick: True, + y: 1, + ) +building1_4_east = _a.Exit( + face: 1361, + name: '\xe5\xbb\xba\xe7\x89\xa9', + name_pl: 'tatemono', + no_pick: True, + x: 1, + y: 1, + ) +guild_fant = _a.Exit( + client_type: 25012, + face: 1362, + move_block: 'all', + no_pick: True, + ) +guild_2_fant = _a.Exit( + face: 1362, + move_block: 'all', + name: 'guild', + no_pick: True, + x: 1, + ) +guild_3_fant = _a.Exit( + face: 1362, + name: 'guild', + no_pick: True, + y: 1, + ) +guild_4_fant = _a.Exit( + face: 1362, + name: 'guild', + no_pick: True, + x: 1, + y: 1, + ) +building4_east = _a.Exit( + client_type: 25012, + face: 1363, + move_block: 'all', + name: '\xe5\xbb\xba\xe7\x89\xa9', + name_pl: 'tatemono', + no_pick: True, + ) +building4_2_east = _a.Exit( + face: 1363, + move_block: 'all', + name: '\xe5\xbb\xba\xe7\x89\xa9', + name_pl: 'tatemono', + no_pick: True, + x: 1, + ) +building4_3_east = _a.Exit( + face: 1363, + name: '\xe5\xbb\xba\xe7\x89\xa9', + name_pl: 'tatemono', + no_pick: True, + y: 1, + ) +building4_4_east = _a.Exit( + face: 1363, + name: '\xe5\xbb\xba\xe7\x89\xa9', + name_pl: 'tatemono', + no_pick: True, + x: 1, + y: 1, + ) +market1_east = _a.Exit( + client_type: 25012, + face: 1364, + name: '\xe5\xb8\x82\xe5\xa0\xb4', + name_pl: 'market', + no_pick: True, + ) +building8_east = _a.Exit( + client_type: 25012, + face: 1365, + move_block: 'all', + name: '\xe5\xbb\xba\xe7\x89\xa9', + name_pl: 'tatemono', + no_pick: True, + ) +building8_2_east = _a.Exit( + face: 1365, + move_block: 'all', + name: '\xe5\xbb\xba\xe7\x89\xa9', + name_pl: 'tatemono', + no_pick: True, + x: 1, + ) +building8_3_east = _a.Exit( + face: 1365, + name: '\xe5\xbb\xba\xe7\x89\xa9', + name_pl: 'tatemono', + no_pick: True, + y: 1, + ) +building8_4_east = _a.Exit( + face: 1365, + name: '\xe5\xbb\xba\xe7\x89\xa9', + name_pl: 'tatemono', + no_pick: True, + x: 1, + y: 1, + ) +guild_west = _a.Exit( + client_type: 25012, + face: 1366, + move_block: 'all', + no_pick: True, + ) +guild_2_west = _a.Exit( + face: 1366, + move_block: 'all', + name: 'guild', + no_pick: True, + x: 1, + ) +guild_3_west = _a.Exit( + face: 1366, + name: 'guild', + no_pick: True, + y: 1, + ) +guild_4_west = _a.Exit( + face: 1366, + name: 'guild', + no_pick: True, + x: 1, + y: 1, + ) +a_bridge2 = _a.Encounter( + face: 1367, + move_on: 'walk', + name: 'bridge', + no_pick: True, + ) +guild_northwest = _a.Exit( + face: 1368, + move_block: 'all', + no_pick: True, + ) +guild_2_northwest = _a.Exit( + face: 1368, + move_block: 'all', + name: 'guild', + no_pick: True, + x: 1, + ) +guild_3_northwest = _a.Exit( + face: 1368, + name: 'guild', + no_pick: True, + y: 1, + ) +guild_4_northwest = _a.Exit( + face: 1368, + name: 'guild', + no_pick: True, + x: 1, + y: 1, + ) +building3_east = _a.Exit( + client_type: 25012, + face: 1369, + move_block: 'all', + name: '\xe5\xbb\xba\xe7\x89\xa9', + name_pl: 'tatemono', + no_pick: True, + ) +building3_2_east = _a.Exit( + face: 1369, + move_block: 'all', + name: '\xe5\xbb\xba\xe7\x89\xa9', + name_pl: 'tatemono', + no_pick: True, + x: 1, + ) +building3_3_east = _a.Exit( + face: 1369, + name: '\xe5\xbb\xba\xe7\x89\xa9', + name_pl: 'tatemono', + no_pick: True, + y: 1, + ) +building3_4_east = _a.Exit( + face: 1369, + name: '\xe5\xbb\xba\xe7\x89\xa9', + name_pl: 'tatemono', + no_pick: True, + x: 1, + y: 1, + ) +church_fant = _a.Exit( + client_type: 25012, + face: 1370, + name: 'church', + no_pick: True, + ) +church_2_fant = _a.Exit( + face: 1370, + name: 'church', + no_pick: True, + x: 1, + ) +church_3_fant = _a.Exit( + face: 1370, + name: 'church', + no_pick: True, + y: 1, + ) +church_4_fant = _a.Exit( + face: 1370, + name: 'church', + no_pick: True, + x: 1, + y: 1, + ) +s_shop2 = _a.Exit( + client_type: 25012, + face: 1371, + name: 'small shop', + no_pick: True, + ) +prison = _a.Exit( + client_type: 25012, + face: 1372, + move_block: 'all', + no_pick: True, + ) +prison_2 = _a.Exit( + face: 1372, + move_block: 'all', + name: 'prison', + no_pick: True, + x: 1, + ) +prison_3 = _a.Exit( + face: 1372, + name: 'prison', + no_pick: True, + y: 1, + ) +prison_4 = _a.Exit( + face: 1372, + name: 'prison', + no_pick: True, + x: 1, + y: 1, + ) +rl_house1 = _a.Exit( + client_type: 25012, + face: 1373, + name: 'appartments', + no_pick: True, + ) +rl_house1_2 = _a.Exit( + face: 1373, + name: 'appartments', + no_pick: True, + x: 1, + ) +rl_house1_3 = _a.Exit( + face: 1373, + name: 'appartments', + no_pick: True, + y: 1, + ) +rl_house1_4 = _a.Exit( + face: 1373, + name: 'appartments', + no_pick: True, + x: 1, + y: 1, + ) +slum2 = _a.Exit( + client_type: 25012, + face: 1374, + move_block: 'all', + name: 'slum', + no_pick: True, + ) +slum2_2 = _a.Exit( + face: 1374, + name: 'slum', + no_pick: True, + y: 1, + ) +building10_east = _a.Exit( + client_type: 25012, + face: 1375, + move_block: 'all', + name: '\xe5\xbb\xba\xe7\x89\xa9', + name_pl: 'tatemono', + no_pick: True, + ) +building10_2_east = _a.Exit( + face: 1375, + move_block: 'all', + name: '\xe5\xbb\xba\xe7\x89\xa9', + name_pl: 'tatemono', + no_pick: True, + x: 1, + ) +building10_3_east = _a.Exit( + face: 1375, + name: '\xe5\xbb\xba\xe7\x89\xa9', + name_pl: 'tatemono', + no_pick: True, + y: 1, + ) +building10_4_east = _a.Exit( + face: 1375, + name: '\xe5\xbb\xba\xe7\x89\xa9', + name_pl: 'tatemono', + no_pick: True, + x: 1, + y: 1, + ) +rl_house_west = _a.Exit( + client_type: 25012, + face: 1376, + name: 'apartments', + no_pick: True, + ) +rl_house_west_2 = _a.Exit( + face: 1376, + name: 'apartments', + no_pick: True, + x: 1, + ) +rl_house_west_3 = _a.Exit( + face: 1376, + name: 'apartments', + no_pick: True, + y: 1, + ) +rl_house_west_4 = _a.Exit( + face: 1376, + name: 'apartments', + no_pick: True, + x: 1, + y: 1, + ) +building5_east = _a.Exit( + client_type: 25012, + face: 1377, + move_block: 'all', + name: '\xe5\xbb\xba\xe7\x89\xa9', + name_pl: 'tatemono', + no_pick: True, + ) +building5_2_east = _a.Exit( + face: 1377, + move_block: 'all', + name: '\xe5\xbb\xba\xe7\x89\xa9', + name_pl: 'tatemono', + no_pick: True, + x: 1, + ) +building5_3_east = _a.Exit( + face: 1377, + name: '\xe5\xbb\xba\xe7\x89\xa9', + name_pl: 'tatemono', + no_pick: True, + y: 1, + ) +building5_4_east = _a.Exit( + face: 1377, + name: '\xe5\xbb\xba\xe7\x89\xa9', + name_pl: 'tatemono', + no_pick: True, + x: 1, + y: 1, + ) +house_1 = _a.Exit( + client_type: 25012, + face: 1378, + name: 'house', + no_pick: True, + ) +chess_club = _a.Exit( + client_type: 25012, + face: 1379, + name: 'chess club', + no_pick: True, + ) +house2_east = _a.Exit( + client_type: 25012, + face: 1380, + name: '\xe4\xbd\x8f\xe5\xb1\x85', + name_pl: 'jyuukyo', + no_pick: True, + ) +farmhouse = _a.Exit( + client_type: 25012, + face: 1381, + name: 'farmhouse', + no_pick: True, + ) +farmhouse_2 = _a.Exit( + face: 1381, + name: 'farmhouse', + no_pick: True, + x: 1, + ) +inn_northwest = _a.Exit( + client_type: 25012, + face: 1382, + name: 'inn', + no_pick: True, + ) +inn_northwest_2 = _a.Exit( + face: 1382, + name: 'inn', + no_pick: True, + x: 1, + ) +woodhouse = _a.Exit( + client_type: 25012, + face: 1383, + no_pick: True, + ) +small_temple2 = _a.Exit( + client_type: 25012, + face: 1384, + name: 'small temple', + no_pick: True, + ) +minihouse = _a.Exit( + client_type: 25012, + face: 1385, + name: 'small house', + no_pick: True, + ) +small_temple = _a.Exit( + client_type: 25012, + face: 1386, + name: 'small temple', + no_pick: True, + ) +tavern = _a.Exit( + client_type: 25012, + face: 1387, + name: 'tavern', + no_pick: True, + ) +inn = _a.Exit( + client_type: 25012, + face: 1388, + name: 'inn', + no_pick: True, + ) +inn_2 = _a.Exit( + face: 1388, + name: 'inn', + no_pick: True, + x: 1, + ) +house_small = _a.Exit( + client_type: 25012, + face: 1389, + name: 'small house', + no_pick: True, + ) +house1_east = _a.Exit( + client_type: 25012, + face: 1390, + name: '\xe4\xbd\x8f\xe5\xb1\x85', + name_pl: 'jyuukyo', + no_pick: True, + ) +hut_vert = _a.Exit( + face: 1391, + name: 'hut', + no_pick: True, + ) +hut_vert_2 = _a.Exit( + face: 1391, + name: 'hut', + no_pick: True, + y: 1, + ) +inn_west = _a.Exit( + client_type: 25012, + face: 1392, + name: 'inn', + no_pick: True, + ) +inn_west_2 = _a.Exit( + face: 1392, + name: 'inn', + no_pick: True, + x: 1, + ) +house_up = _a.Exit( + client_type: 25012, + face: 1393, + name: 'house', + no_pick: True, + ) +house_up_2 = _a.Exit( + face: 1393, + name: 'house', + no_pick: True, + y: 1, + ) +inn_goth = _a.Exit( + client_type: 25012, + face: 1394, + name: 'Gasthaus', + no_pick: True, + ) +inn_goth_2 = _a.Exit( + face: 1394, + name: 'Gasthaus', + no_pick: True, + x: 1, + ) +inn_fant = _a.Exit( + client_type: 25012, + face: 1395, + name: 'inn', + no_pick: True, + ) +inn_fant_2 = _a.Exit( + face: 1395, + name: 'inn', + no_pick: True, + x: 1, + ) +hut_hori = _a.Exit( + face: 1396, + name: 'hut', + no_pick: True, + ) +hut_hori_2 = _a.Exit( + face: 1396, + name: 'hut', + no_pick: True, + x: 1, + ) +house_largish = _a.Exit( + client_type: 25012, + face: 1397, + name: 'house', + no_pick: True, + ) +house_largish_2 = _a.Exit( + face: 1397, + name: 'house', + no_pick: True, + x: 1, + ) +house_larg_west = _a.Exit( + client_type: 25012, + face: 1398, + name: 'house', + no_pick: True, + ) +house_larg_west_2 = _a.Exit( + face: 1398, + name: 'house', + no_pick: True, + x: 1, + ) +hut = _a.Exit( + client_type: 25012, + face: 1399, + no_pick: True, + ) +house_2 = _a.Exit( + client_type: 25012, + face: 1400, + name: 'house', + no_pick: True, + ) +house_long = _a.Exit( + client_type: 25012, + face: 1401, + name: 'house', + no_pick: True, + ) +house_long_2 = _a.Exit( + face: 1401, + name: 'house', + no_pick: True, + x: 1, + ) +fort = _a.Exit( + client_type: 25012, + face: 1402, + name: 'fortress', + no_pick: True, + ) +fort_2 = _a.Exit( + face: 1402, + name: 'fortress', + no_pick: True, + x: 1, + ) +fort_3 = _a.Exit( + face: 1402, + name: 'fortress', + no_pick: True, + y: 1, + ) +fort_4 = _a.Exit( + face: 1402, + name: 'fortress', + no_pick: True, + x: 1, + y: 1, + ) +fort_sym = _a.Exit( + client_type: 25012, + face: 1403, + name: 'fortress', + no_pick: True, + ) +city_tower_east = _a.Exit( + client_type: 25012, + face: 1404, + name: '\xe5\xa1\x94', + name_pl: 'tou', + no_pick: True, + ) +city_tower_east_2 = _a.Exit( + face: 1404, + name: '\xe5\xa1\x94', + name_pl: 'tou', + no_pick: True, + y: 1, + ) +observatory_tower = _a.Exit( + client_type: 25012, + face: 1405, + name: 'observatory tower', + no_pick: True, + ) +observatory_tower_2 = _a.Exit( + face: 1405, + name: 'observatory tower', + no_pick: True, + x: 1, + ) +observatory_tower_3 = _a.Exit( + face: 1405, + name: 'observatory tower', + no_pick: True, + y: 1, + ) +observatory_tower_4 = _a.Exit( + face: 1405, + name: 'observatory tower', + no_pick: True, + x: 1, + y: 1, + ) +city_tower_northwest = _a.Exit( + face: 1406, + name: 'tower', + no_pick: True, + ) +city_tower_northwest_2 = _a.Exit( + face: 1406, + name: 'tower', + no_pick: True, + y: 1, + ) +city_tower_fant = _a.Exit( + client_type: 25012, + face: 1407, + name: 'tower', + no_pick: True, + ) +city_tower_fant_2 = _a.Exit( + face: 1407, + name: 'tower', + no_pick: True, + y: 1, + ) +city_tower = _a.Exit( + client_type: 25012, + face: 1408, + name: 'tower', + no_pick: True, + ) +city_tower_2 = _a.Exit( + face: 1408, + name: 'tower', + no_pick: True, + y: 1, + ) +outpost_tower_goth = _a.Exit( + client_type: 25012, + face: 1409, + name: 'Au\xc3\x9fenpostenwachturm', + no_pick: True, + ) +outpost_tower_goth_2 = _a.Exit( + face: 1409, + name: 'Au\xc3\x9fenpostenwachturm', + no_pick: True, + x: 1, + ) +outpost_tower_goth_3 = _a.Exit( + face: 1409, + name: 'Au\xc3\x9fenpostenwachturm', + no_pick: True, + y: 1, + ) +outpost_tower_goth_4 = _a.Exit( + face: 1409, + name: 'Au\xc3\x9fenpostenwachturm', + no_pick: True, + x: 1, + y: 1, + ) +tower_tob_goth = _a.Exit( + client_type: 25012, + face: 1410, + name: 'Turm', + no_pick: True, + ) +tower_tob_fant = _a.Exit( + client_type: 25012, + face: 1411, + name: 'tower', + no_pick: True, + ) +ruined_tower = _a.Exit( + client_type: 25012, + face: 1412, + name: 'ruined tower', + no_pick: True, + ) +ruined_tower_2 = _a.Exit( + face: 1412, + name: 'ruined_tower', + no_pick: True, + y: 1, + ) +tower_tob_northwest = _a.Exit( + face: 1413, + name: 'tower', + no_pick: True, + ) +city_tower_west = _a.Exit( + client_type: 25012, + face: 1414, + name: 'tower', + no_pick: True, + ) +city_tower_west_2 = _a.Exit( + face: 1414, + name: 'tower', + no_pick: True, + y: 1, + ) +tower_a = _a.Exit( + client_type: 25012, + face: 1415, + name: 'tower', + no_pick: True, + ) +tower_b = _a.Exit( + face: 1415, + name: 'tower', + no_pick: True, + y: 1, + ) +outpost_tower = _a.Exit( + client_type: 25012, + face: 1416, + name: 'outpost tower', + no_pick: True, + ) +outpost_tower_2 = _a.Exit( + face: 1416, + name: 'outpost tower', + no_pick: True, + x: 1, + ) +outpost_tower_3 = _a.Exit( + face: 1416, + name: 'outpost tower', + no_pick: True, + y: 1, + ) +outpost_tower_4 = _a.Exit( + face: 1416, + name: 'outpost tower', + no_pick: True, + x: 1, + y: 1, + ) +s_tower2 = _a.Exit( + client_type: 25012, + face: 1417, + move_block: 'all', + name: 'spiral tower', + no_pick: True, + ) +s_tower2_2 = _a.Exit( + face: 1417, + name: 'spiral tower', + no_pick: True, + y: 1, + ) +s_tower1 = _a.Exit( + client_type: 25012, + face: 1418, + move_block: 'all', + name: 'spiral tower', + no_pick: True, + ) +s_tower1_2 = _a.Exit( + face: 1418, + name: 'spiral tower', + no_pick: True, + y: 1, + ) +tower_tob = _a.Exit( + client_type: 25012, + face: 1419, + name: 'tower', + no_pick: True, + ) +city_tower_goth = _a.Exit( + client_type: 25012, + face: 1420, + name: 'Wachturm', + no_pick: True, + ) +city_tower_goth_2 = _a.Exit( + face: 1420, + name: 'Wachturm', + no_pick: True, + y: 1, + ) +pagoda_tower_east = _a.Exit( + client_type: 25012, + face: 1421, + name: '\xe5\xa1\x94', + name_pl: 'tou', + no_pick: True, + ) +pagoda_tower_2_east = _a.Exit( + face: 1421, + name: '\xe5\xa1\x94', + name_pl: 'tou', + no_pick: True, + x: 1, + ) +pagoda_tower_3_east = _a.Exit( + face: 1421, + name: '\xe5\xa1\x94', + name_pl: 'tou', + no_pick: True, + y: 1, + ) +pagoda_tower_4_east = _a.Exit( + face: 1421, + name: '\xe5\xa1\x94', + name_pl: 'tou', + no_pick: True, + x: 1, + y: 1, + ) +pagoda_tower_5_east = _a.Exit( + face: 1421, + name: '\xe5\xa1\x94', + name_pl: 'tou', + no_pick: True, + y: 2, + ) +pagoda_tower_6_east = _a.Exit( + face: 1421, + name: '\xe5\xa1\x94', + name_pl: 'tou', + no_pick: True, + x: 1, + y: 2, + ) +wizard_tower = _a.Exit( + client_type: 25012, + face: 1422, + name: 'tower', + no_pick: True, + speed: -0.3, + ) +wizard_tower2 = _a.Exit( + face: 1422, + name: 'tower', + no_pick: True, + y: 1, + ) +fountain = _a.Encounter( + face: 1423, + move_on: 'walk', + name: 'fountain', + no_pick: True, + speed: 0.5, + ) +s_bungalow = _a.Exit( + face: 1424, + no_pick: True, + ) +s_inn = _a.Exit( + face: 1425, + name: 'snowed inn', + no_pick: True, + ) +s_inn_2 = _a.Exit( + face: 1425, + name: 'snowed inn', + no_pick: True, + x: 1, + ) +s_castle = _a.Exit( + face: 1426, + name: 'castle', + no_pick: True, + ) +s_castle_b = _a.Exit( + face: 1426, + name: 'castle', + no_pick: True, + x: 1, + ) +s_castle_c = _a.Exit( + face: 1426, + name: 'castle', + no_pick: True, + y: 1, + ) +s_castle_d = _a.Exit( + face: 1426, + name: 'castle', + no_pick: True, + x: 1, + y: 1, + ) +s_church = _a.Exit( + face: 1427, + no_pick: True, + ) +s_church_2 = _a.Exit( + face: 1427, + name: 'church', + no_pick: True, + x: 1, + ) +s_church_3 = _a.Exit( + face: 1427, + name: 'church', + no_pick: True, + y: 1, + ) +s_church_4 = _a.Exit( + face: 1427, + name: 'church', + no_pick: True, + x: 1, + y: 1, + ) +s_barn = _a.Exit( + face: 1428, + no_pick: True, + speed: -0.1, + ) +s_barn_2 = _a.Exit( + face: 1428, + no_pick: True, + speed: -0.1, + x: 1, + ) +s_barn_3 = _a.Exit( + face: 1428, + no_pick: True, + speed: -0.1, + y: 1, + ) +s_barn_4 = _a.Exit( + face: 1428, + no_pick: True, + speed: -0.1, + x: 1, + y: 1, + ) +s_citytower = _a.Exit( + face: 1429, + name: 'tower', + no_pick: True, + speed: -0.1, + ) +s_citytower_2 = _a.Exit( + face: 1429, + name: 's_citytower', + no_pick: True, + speed: -0.1, + y: 1, + ) +s_guild = _a.Exit( + face: 1430, + move_block: 'all', + no_pick: True, + ) +s_guild_2 = _a.Exit( + face: 1430, + move_block: 'all', + name: 'guild', + no_pick: True, + x: 1, + ) +s_guild_3 = _a.Exit( + face: 1430, + name: 'guild', + no_pick: True, + y: 1, + ) +s_guild_4 = _a.Exit( + face: 1430, + name: 'guild', + no_pick: True, + x: 1, + y: 1, + ) +s_barrack_up = _a.Exit( + face: 1431, + name: 's_barrack', + no_pick: True, + speed: -0.1, + ) +s_barrack_up_2 = _a.Exit( + face: 1431, + name: 's_barrack', + no_pick: True, + speed: -0.1, + y: 1, + ) +palace = _a.Exit( + client_type: 25012, + face: 1432, + no_pick: True, + ) +palace_2 = _a.Exit( + face: 1432, + no_pick: True, + x: 1, + ) +palace_3 = _a.Exit( + face: 1432, + no_pick: True, + x: 2, + ) +palace_4 = _a.Exit( + face: 1432, + no_pick: True, + x: 3, + ) +palace_5 = _a.Exit( + face: 1432, + no_pick: True, + y: 1, + ) +palace_6 = _a.Exit( + face: 1432, + no_pick: True, + x: 1, + y: 1, + ) +palace_7 = _a.Exit( + face: 1432, + no_pick: True, + x: 2, + y: 1, + ) +palace_8 = _a.Exit( + face: 1432, + no_pick: True, + x: 3, + y: 1, + ) +palace_9 = _a.Exit( + face: 1432, + no_pick: True, + y: 2, + ) +palace_10 = _a.Exit( + face: 1432, + no_pick: True, + x: 1, + y: 2, + ) +palace_11 = _a.Exit( + face: 1432, + no_pick: True, + x: 2, + y: 2, + ) +palace_12 = _a.Exit( + face: 1432, + no_pick: True, + x: 3, + y: 2, + ) +dark_palace = _a.Exit( + client_type: 25012, + face: 1433, + no_pick: True, + ) +dark_palace_2 = _a.Exit( + face: 1433, + no_pick: True, + x: 1, + ) +dark_palace_3 = _a.Exit( + face: 1433, + no_pick: True, + x: 2, + ) +dark_palace_4 = _a.Exit( + face: 1433, + no_pick: True, + x: 3, + ) +dark_palace_5 = _a.Exit( + face: 1433, + no_pick: True, + y: 1, + ) +dark_palace_6 = _a.Exit( + face: 1433, + no_pick: True, + x: 1, + y: 1, + ) +dark_palace_7 = _a.Exit( + face: 1433, + no_pick: True, + x: 2, + y: 1, + ) +dark_palace_8 = _a.Exit( + face: 1433, + no_pick: True, + x: 3, + y: 1, + ) +dark_palace_9 = _a.Exit( + face: 1433, + no_pick: True, + y: 2, + ) +dark_palace_10 = _a.Exit( + face: 1433, + no_pick: True, + x: 1, + y: 2, + ) +dark_palace_11 = _a.Exit( + face: 1433, + no_pick: True, + x: 2, + y: 2, + ) +dark_palace_12 = _a.Exit( + face: 1433, + no_pick: True, + x: 3, + y: 2, + ) +treefort3 = _a.Exit( + client_type: 25012, + face: 1434, + name: 'treefort', + no_pick: True, + ) +treefort3_1 = _a.Exit( + face: 1434, + name: 'treefort', + no_pick: True, + x: 1, + ) +treefort3_2 = _a.Exit( + face: 1434, + name: 'treefort', + no_pick: True, + y: 1, + ) +treefort = _a.Exit( + client_type: 25012, + face: 1435, + name: 'treefort', + no_pick: True, + ) +treefort_1 = _a.Exit( + face: 1435, + name: 'treefort', + no_pick: True, + x: 1, + ) +treehouse = _a.Exit( + client_type: 25012, + face: 1436, + name: 'treehouse', + no_pick: True, + ) +treefort2 = _a.Exit( + client_type: 25012, + face: 1437, + name: 'treefort', + no_pick: True, + ) +treefort2_1 = _a.Exit( + face: 1437, + name: 'treefort', + no_pick: True, + y: 1, + ) +shrine_northwest = _a.Exit( + client_type: 25012, + face: 1438, + name: 'shrine', + no_pick: True, + ) +lyth_temple = _a.Exit( + face: 1439, + name: 'Temple of Lythander', + no_pick: True, + ) +mos_temple = _a.Exit( + face: 1440, + name: 'Temple of Mostrai', + no_pick: True, + ) +shrine = _a.Exit( + client_type: 25012, + face: 1441, + name: 'shrine', + no_pick: True, + ) +shrine_east = _a.Exit( + client_type: 25012, + face: 1442, + name: '\xe4\xb8\x80\xe5\xa0\x82', + name_pl: 'ichidou', + no_pick: True, + ) +shrine_east_2 = _a.Exit( + face: 1442, + name: '\xe4\xb8\x80\xe5\xa0\x82', + name_pl: 'ichidou', + no_pick: True, + y: 1, + ) +shrine_east_r = _a.Exit( + client_type: 25012, + face: 1443, + name: '\xe4\xb8\x80\xe5\xa0\x82', + name_pl: 'ichidou', + no_pick: True, + ) +shrine_east_r_2 = _a.Exit( + face: 1443, + name: '\xe4\xb8\x80\xe5\xa0\x82', + name_pl: 'ichidou', + no_pick: True, + y: 1, + ) +cathedral = _a.Exit( + client_type: 25012, + face: 1444, + move_block: 'all', + name: 'cathedral', + no_pick: True, + ) +cathedral_2 = _a.Exit( + face: 1444, + move_block: 'all', + name: 'cathedral', + no_pick: True, + x: 1, + ) +cathedral_3 = _a.Exit( + face: 1444, + move_block: 'all', + name: 'cathedral', + no_pick: True, + x: 2, + ) +cathedral_4 = _a.Exit( + face: 1444, + move_block: 'all', + name: 'cathedral', + no_pick: True, + y: 1, + ) +cathedral_5 = _a.Exit( + face: 1444, + move_block: 'all', + name: 'cathedral', + no_pick: True, + x: 1, + y: 1, + ) +cathedral_6 = _a.Exit( + face: 1444, + move_block: 'all', + name: 'cathedral', + no_pick: True, + x: 2, + y: 1, + ) +cathedral_7 = _a.Exit( + face: 1444, + move_block: 'all', + name: 'cathedral', + no_pick: True, + y: 2, + ) +cathedral_8 = _a.Exit( + face: 1444, + move_block: 'all', + name: 'cathedral', + no_pick: True, + x: 1, + y: 2, + ) +cathedral_9 = _a.Exit( + face: 1444, + move_block: 'all', + name: 'cathedral', + no_pick: True, + x: 2, + y: 2, + ) +cathedral_10 = _a.Exit( + face: 1444, + move_block: 'all', + name: 'cathedral', + no_pick: True, + y: 3, + ) +cathedral_11 = _a.Exit( + face: 1444, + move_block: '-all', + name: 'cathedral', + no_pick: True, + x: 1, + y: 3, + ) +cathedral_12 = _a.Exit( + face: 1444, + move_block: 'all', + name: 'cathedral', + no_pick: True, + x: 2, + y: 3, + ) +temple1 = _a.Exit( + client_type: 25012, + face: 1445, + move_block: 'all', + name: 'temple', + no_pick: True, + ) +temple1_2 = _a.Exit( + face: 1445, + move_block: 'all', + name: 'temple', + no_pick: True, + x: 1, + ) +temple1_3 = _a.Exit( + face: 1445, + name: 'temple', + no_pick: True, + y: 1, + ) +temple1_4 = _a.Exit( + face: 1445, + name: 'temple', + no_pick: True, + x: 1, + y: 1, + ) +temple_ruin = _a.Exit( + client_type: 25012, + face: 1446, + move_block: 'all', + name: 'ruined temple', + no_pick: True, + ) +temple_ruin2 = _a.Exit( + face: 1446, + move_block: 'all', + name: 'ruined temple', + no_pick: True, + x: 1, + ) +temple_ruin3 = _a.Exit( + face: 1446, + name: 'ruined temple', + no_pick: True, + y: 1, + ) +temple_ruin4 = _a.Exit( + face: 1446, + name: 'ruined temple', + no_pick: True, + x: 1, + y: 1, + ) +capitalhold_east = _a.Exit( + client_type: 25012, + face: 1447, + move_block: 'all', + name: '\xe4\xba\xac\xe6\xb4\x9b \xe6\x9c\xac\xe5\xa1\x81', + name_pl: 'keiraku honrui', + no_pick: True, + ) +capitalhold_2_east = _a.Exit( + face: 1447, + move_block: 'all', + name: '\xe4\xba\xac\xe6\xb4\x9b \xe6\x9c\xac\xe5\xa1\x81', + name_pl: 'keiraku honrui', + no_pick: True, + x: 1, + ) +capitalhold_3_east = _a.Exit( + face: 1447, + move_block: 'all', + name: '\xe4\xba\xac\xe6\xb4\x9b \xe6\x9c\xac\xe5\xa1\x81', + name_pl: 'keiraku honrui', + no_pick: True, + x: 2, + ) +capitalhold_4_east = _a.Exit( + face: 1447, + move_block: 'all', + name: '\xe4\xba\xac\xe6\xb4\x9b \xe6\x9c\xac\xe5\xa1\x81', + name_pl: 'keiraku honrui', + no_pick: True, + y: 1, + ) +capitalhold_5_east = _a.Exit( + face: 1447, + move_block: 'all', + name: '\xe4\xba\xac\xe6\xb4\x9b \xe6\x9c\xac\xe5\xa1\x81', + name_pl: 'keiraku honrui', + no_pick: True, + x: 1, + y: 1, + ) +capitalhold_6_east = _a.Exit( + face: 1447, + move_block: 'all', + name: '\xe4\xba\xac\xe6\xb4\x9b \xe6\x9c\xac\xe5\xa1\x81', + name_pl: 'keiraku honrui', + no_pick: True, + x: 2, + y: 1, + ) +capitalhold_7_east = _a.Exit( + face: 1447, + move_block: 'all', + name: '\xe4\xba\xac\xe6\xb4\x9b \xe6\x9c\xac\xe5\xa1\x81', + name_pl: 'keiraku honrui', + no_pick: True, + y: 2, + ) +capitalhold_8_east = _a.Exit( + face: 1447, + name: '\xe4\xba\xac\xe6\xb4\x9b \xe6\x9c\xac\xe5\xa1\x81', + name_pl: 'keiraku honrui', + no_pick: True, + x: 1, + y: 2, + ) +capitalhold_9_east = _a.Exit( + face: 1447, + move_block: 'all', + name: '\xe4\xba\xac\xe6\xb4\x9b \xe6\x9c\xac\xe5\xa1\x81', + name_pl: 'keiraku honrui', + no_pick: True, + x: 2, + y: 2, + ) +capitalhold_west = _a.Exit( + client_type: 25012, + face: 1448, + move_block: 'all', + name: 'capitalhold', + no_pick: True, + ) +capitalhold_2_west = _a.Exit( + face: 1448, + move_block: 'all', + name: 'capitalhold', + no_pick: True, + x: 1, + ) +capitalhold_3_west = _a.Exit( + face: 1448, + move_block: 'all', + name: 'capitalhold', + no_pick: True, + x: 2, + ) +capitalhold_4_west = _a.Exit( + face: 1448, + move_block: 'all', + name: 'capitalhold', + no_pick: True, + y: 1, + ) +capitalhold_5_west = _a.Exit( + face: 1448, + move_block: 'all', + name: 'capitalhold', + no_pick: True, + x: 1, + y: 1, + ) +capitalhold_6_west = _a.Exit( + face: 1448, + move_block: 'all', + name: 'capitalhold', + no_pick: True, + x: 2, + y: 1, + ) +capitalhold_7_west = _a.Exit( + face: 1448, + move_block: 'all', + name: 'capitalhold', + no_pick: True, + y: 2, + ) +capitalhold_8_west = _a.Exit( + face: 1448, + name: 'capitalhold', + no_pick: True, + x: 1, + y: 2, + ) +capitalhold_9_west = _a.Exit( + face: 1448, + move_block: '-all', + name: 'capitalhold', + no_pick: True, + x: 2, + y: 2, + ) +capitalhold_10_west = _a.Exit( + face: 1448, + move_block: 'all', + name: 'capitalhold', + no_pick: True, + x: 3, + ) +capitalhold_11_west = _a.Exit( + face: 1448, + move_block: 'all', + name: 'capitalhold', + no_pick: True, + x: 3, + y: 1, + ) +capitalhold_12_west = _a.Exit( + face: 1448, + move_block: '-all', + name: 'capitalhold', + no_pick: True, + x: 3, + y: 2, + ) +capitalhold_13_west = _a.Exit( + face: 1448, + move_block: 'all', + name: 'capitalhold', + no_pick: True, + x: 4, + ) +capitalhold_14_west = _a.Exit( + face: 1448, + move_block: 'all', + name: 'capitalhold', + no_pick: True, + x: 4, + y: 1, + ) +capitalhold_15_west = _a.Exit( + face: 1448, + move_block: 'all', + name: 'capitalhold', + no_pick: True, + x: 4, + y: 2, + ) +keep_sym = _a.Exit( + client_type: 25012, + face: 1449, + name: 'keep', + no_pick: True, + ) +keep_goth = _a.Exit( + client_type: 25012, + face: 1450, + name: 'Bergfried', + no_pick: True, + ) +keep_goth_2 = _a.Exit( + face: 1450, + name: 'Bergfried', + no_pick: True, + x: 1, + ) +keep_goth_3 = _a.Exit( + face: 1450, + name: 'Bergfried', + no_pick: True, + y: 1, + ) +keep_goth_4 = _a.Exit( + face: 1450, + name: 'Bergfried', + no_pick: True, + x: 1, + y: 1, + ) +keep = _a.Exit( + client_type: 25012, + face: 1451, + no_pick: True, + speed: -0.1, + ) +keep_2 = _a.Exit( + face: 1451, + no_pick: True, + speed: -0.1, + x: 1, + ) +keep_3 = _a.Exit( + face: 1451, + no_pick: True, + speed: -0.1, + y: 1, + ) +keep_4 = _a.Exit( + face: 1451, + no_pick: True, + speed: -0.1, + x: 1, + y: 1, + ) +atheletes_foot = _a.Disease( + ac: 0, + attacktype: 1, + dex: -1, + exp: 100, + invisible: True, + last_eat: 0, + last_sp: 0, + level: 5, + magic: 1, + maxgrace: 10, + maxhp: 1, + maxsp: 0, + name: "athelete's foot", + race: '*', + speed: -0.005, + wc: 1, + ) +immunity = _a.Sign( + face: 1452, + invisible: True, + title: 'immunity', + ) +typhoid = _a.Disease( + ac: 0, + attacktype: 1048576, + con: -4.0, + dam: -7, + dex: -3, + exp: 1000, + food: -1, + hp: 1, + invisible: True, + last_eat: 0, + last_grace: 1, + last_sp: 30, + level: 12, + magic: -1, + maxgrace: 16, + maxhp: 5, + maxsp: 0, + name: 'typhoid', + race: 'human,goblin,giant,troll', + sp: 1, + speed: -0.05, + str: -3, + wc: 25, + ) +diarrhea = _a.Disease( + attacktype: 1, + dam: 0, + exp: 100, + invisible: True, + last_eat: 0, + last_sp: 0, + level: 5, + magic: 0, + maxgrace: 10, + maxhp: 1, + maxsp: 0, + name: 'the runs', + other_arch: 'disgusting_puddle', + race: '*', + speed: -0.001, + wc: 0, + ) +disgusting_puddle = _a.Flesh( + face: 1453, + food: 1, + name: 'stinking puddle of diarrhea', + weight: 20, + ) +creeping_frost = _a.Disease( + ac: 0, + attacktype: 16, + dam: -10, + exp: 10000, + face: 1454, + food: -1, + hp: 1, + last_eat: 0, + last_heal: 1, + last_sp: 50, + level: 10, + magic: 0, + maxgrace: 10, + maxhp: 0, + maxsp: 0, + name: 'creeping frost', + no_drop: True, + no_pick: True, + race: '*', + sp: 1, + speed: -0.1, + title: 'You freeze', + wc: 3, + ) +creeping_frost_immunity = _a.Sign( + invisible: True, + level: 127, + name: 'creeping frost', + no_drop: True, + no_pick: True, + ) +incontinence = _a.Disease( + attacktype: 1, + dam: 0, + exp: 100, + invisible: True, + last_eat: 0, + last_sp: 0, + level: 5, + magic: 0, + maxgrace: 20, + maxhp: 1, + maxsp: 0, + name: 'lack of bladder control', + other_arch: 'reeking_urine', + race: '*', + speed: -0.001, + wc: 0, + ) +reeking_urine = _a.Flesh( + face: 1455, + food: 1, + name: 'reeking puddle of urine', + weight: 20, + ) +scurvy = _a.Disease( + attacktype: 1, + con: -1.0, + dam: 0, + exp: 100, + invisible: True, + last_eat: 0, + last_sp: 0, + level: 5, + magic: 0, + maxgrace: 15, + maxhp: 1, + maxsp: 0, + name: 'scurvy', + other_arch: 'tooth', + race: '*', + speed: -0.001, + wc: 0, + ) +flu = _a.Disease( + ac: 0, + attacktype: 1048576, + cha: -1, + con: -1.0, + dam: 2, + dex: -1, + exp: 100, + food: -1, + hp: 1, + int: -1, + invisible: True, + last_eat: 0, + last_grace: 1, + last_sp: 50, + level: 2, + magic: 3, + maxgrace: 6, + maxhp: 10, + maxsp: 0, + name: 'flu', + race: '*', + sp: 1, + speed: -0.05, + str: -1, + wc: 20, + wis: -1, + ) +tooth_decay = _a.Disease( + ac: 0, + attacktype: 1, + cha: -1, + exp: 100, + invisible: True, + last_eat: 0, + last_sp: 0, + level: 5, + magic: 1, + maxgrace: 24, + maxhp: 1, + maxsp: 0, + name: 'tooth decay', + other_arch: 'tooth', + race: '*', + speed: -0.005, + wc: 1, + ) +arthritis = _a.Disease( + ac: 1, + attacktype: 1048576, + dex: -2, + exp: 10000, + food: -1, + invisible: True, + last_eat: 0, + last_sp: 0, + level: 7, + magic: 0, + maxgrace: -1, + maxhp: 1, + maxsp: 0, + name: 'arthritis', + race: '*', + speed: -0.001, + str: -1, + wc: 5, + ) +anthrax = _a.Disease( + ac: 0, + attacktype: 1048576, + con: -4.0, + dam: -5, + dex: -3, + exp: 1000, + food: -1, + hp: 1, + invisible: True, + last_eat: 0, + last_sp: 50, + level: 12, + magic: 1, + maxgrace: 23, + maxhp: 100, + maxsp: 0, + name: 'anthrax', + race: 'animal', + sp: 1, + speed: -0.05, + str: -3, + wc: 5, + ) +pneumonic_plague = _a.Disease( + ac: 0, + attacktype: 1048576, + cha: -4, + con: -4.0, + dam: -11, + dex: -3, + exp: 10000, + food: -1, + hp: 1, + invisible: True, + last_eat: 0, + last_grace: 1, + last_sp: 50, + level: 15, + magic: 4, + maxgrace: 15, + maxhp: 7, + maxsp: 0, + name: 'pneumonic plague', + race: '*', + sp: 1, + speed: -0.05, + str: -3, + wc: 20, + ) +flaming_fart = _a.Disease( + attacktype: 1, + dam: 0, + exp: 100, + invisible: True, + last_eat: 0, + last_sp: 0, + level: 5, + magic: 0, + maxgrace: 10, + maxhp: 1, + maxsp: 0, + name: 'flaming farts', + other_arch: 'burnout', + race: '*', + sound: 'ss/fart', + speed: -0.001, + wc: 0, + ) +immolation = _a.Disease( + ac: 0, + attacktype: 4, + dam: -10, + exp: 10000, + face: 1454, + food: -1, + hp: 1, + invisible: True, + last_eat: 0, + last_grace: 10, + last_heal: 1, + last_sp: 50, + level: 10, + magic: 0, + maxgrace: 11, + maxhp: 0, + maxsp: 0, + name: 'immolation', + no_drop: True, + no_pick: True, + other_arch: 'burnout', + race: '*,undead', + sp: 1, + speed: -0.1, + startequip: True, + title: 'You set fire to', + wc: 3, + ) +immolation_immunity = _a.Sign( + invisible: True, + level: 127, + name: 'immolation', + no_drop: True, + no_pick: True, + startequip: True, + ) +insanity = _a.Disease( + ac: 3, + attacktype: 32, + dam: 1, + exp: 10000, + food: -1, + int: -1, + invisible: True, + last_eat: 0, + last_sp: 0, + level: 15, + magic: 0, + maxgrace: -1, + maxhp: 1, + maxsp: 0, + name: 'insanity', + race: '*', + speed: -0.001, + wc: 10, + wis: -1, + ) +puddle_of_saliva = _a.Flesh( + face: 1455, + food: 2, + name: 'puddle of froth and saliva', + weight: 2, + ) +rabies = _a.Disease( + ac: 2, + attacktype: 1048608, + cha: -10, + dam: 2, + dex: -2, + exp: 5000, + food: -1, + hp: 1, + invisible: True, + last_eat: 0, + last_sp: 50, + level: 12, + magic: 1, + maxgrace: -1, + maxhp: 3, + maxsp: 2, + name: 'rabies', + other_arch: 'puddle_of_saliva', + race: '*', + sp: 1, + speed: -0.01, + str: -2, + wc: 10, + ) +trap_diseased_needle = _a.Rune( + attacktype: 1, + cha: 20, + dam: 10, + face: 222, + hp: 1, + invisible: True, + is_animated: False, + level: 1, + move_on: 'walk', + name: 'diseased needle', + no_pick: True, + randomitems: 'diseased_needle', + speed: 1.0, + ) +warts = _a.Disease( + ac: 0, + attacktype: 1, + cha: -1, + exp: 100, + invisible: True, + last_eat: 0, + last_sp: 0, + level: 5, + magic: 1, + maxgrace: 50, + maxhp: 1, + maxsp: 0, + name: 'warts', + race: '*', + speed: -0.001, + wc: 1, + ) +disease_cold = _a.Disease( + ac: 0, + attacktype: 1048576, + cha: -1, + con: -1.0, + dam: 1, + exp: 100, + food: -1, + hp: 1, + invisible: True, + last_eat: 0, + last_grace: 1, + last_sp: 50, + level: 2, + magic: 3, + maxgrace: 6, + maxhp: 10, + maxsp: 0, + name: 'cold', + race: '*', + sp: 1, + speed: -0.05, + wc: 20, + ) +symptom = _a.Symptom( + face: 1452, + invisible: True, + speed: 0.001, + ) +tapeworms = _a.Disease( + ac: 0, + attacktype: 1, + exp: 100, + food: -1, + invisible: True, + last_eat: 1, + last_sp: 0, + level: 5, + magic: 1, + maxgrace: -1, + maxhp: 1, + maxsp: 0, + name: 'tapeworms', + race: '*', + speed: -0.001, + wc: 1, + ) +bubonic_plague = _a.Disease( + ac: 0, + attacktype: 1048576, + cha: -4, + con: -4.0, + dam: -11, + dex: -3, + exp: 10000, + food: -1, + hp: 1, + invisible: True, + last_eat: 0, + last_grace: 1, + last_sp: 50, + level: 15, + magic: -1, + maxgrace: 10, + maxhp: 7, + maxsp: 0, + name: 'Black Death', + race: 'human,goblin,giant,troll,animal,insect', + sp: 1, + speed: -0.05, + str: -3, + wc: 10, + ) +chicken_egg = _a.Flesh( + face: 1456, + food: 10, + name: 'egg', + weight: 20, + ) +egg_disease = _a.Disease( + attacktype: 1, + dam: 0, + exp: 100, + invisible: True, + last_eat: 0, + last_sp: 0, + level: 5, + magic: 0, + maxgrace: 5, + maxhp: 1, + maxsp: 0, + name: 'egg disease', + other_arch: 'chicken_egg', + race: '*', + speed: -0.001, + wc: 0, + ) +ebola = _a.Disease( + ac: 0, + attacktype: 1048576, + cha: -7, + con: -4.0, + dam: -10, + dex: -2, + exp: 10000, + food: -1, + hp: 1, + int: -4, + invisible: True, + last_eat: 0, + last_grace: 5, + last_sp: 50, + level: 10, + magic: -1, + maxgrace: 15, + maxhp: 5, + maxsp: 0, + name: 'Red Death', + race: '*', + sp: 1, + speed: -0.05, + str: -3, + wc: 30, + wis: -2, + ) +leprosy = _a.Disease( + ac: 5, + attacktype: 1048576, + cha: -2, + con: -1.0, + dam: 1, + dex: -1, + exp: 1000, + food: -1, + hp: 1, + invisible: True, + last_eat: 0, + last_sp: 0, + level: 5, + magic: 0, + maxgrace: -1, + maxhp: 1, + maxsp: 0, + name: 'leprosy', + other_arch: 'leprous_skin', + race: '*', + sp: 1, + speed: -0.005, + str: -1, + wc: 10, + ) +leprous_skin = _a.Flesh( + face: 1457, + food: 5, + materialname: 'organic', + name: 'leprous flake of skin', + weight: 7, + ) +smallpox = _a.Disease( + ac: 0, + attacktype: 1048576, + con: -4.0, + dam: -10, + dex: -1, + exp: 10000, + food: -1, + hp: 1, + invisible: True, + last_eat: 0, + last_grace: 1, + last_sp: 0, + level: 20, + magic: -3, + maxgrace: 12, + maxhp: 5, + maxsp: 0, + name: 'smallpox', + race: 'goblin,human,troll,giant,dwarf', + sp: 1, + speed: -0.08, + str: -1, + wc: 20, + ) + + +t_lboulder = _a.MiscObject( + client_type: 8012, + face: 1460, + is_thrown: True, + materialname: 'stone', + name: 'large boulder', + name_pl: 'large boulders', + nrof: 1, + race: 'rock', + value: 11, + weight: 600000, + ) + + +platter1_bro = _a.Gem( + client_type: 2030, + face: 1463, + materialname: 'bronze', + name: 'platter', + name_pl: 'platters', + nrof: 1, + value: 5400, + weight: 40000, + ) +platter1_cop = _a.Gem( + client_type: 2030, + face: 1464, + materialname: 'copper', + name: 'platter', + name_pl: 'platters', + nrof: 1, + value: 4000, + weight: 40000, + ) +platter1_gol = _a.Gem( + client_type: 2030, + face: 1465, + materialname: 'gold', + name: 'platter', + name_pl: 'platters', + nrof: 1, + value: 80000, + weight: 40000, + ) +platter1_iro = _a.Gem( + client_type: 2030, + face: 1466, + materialname: 'iron', + name: 'platter', + name_pl: 'platters', + nrof: 1, + value: 800, + weight: 40000, + ) +platter1_plat = _a.Gem( + client_type: 2030, + face: 1467, + materialname: 'platinum', + name: 'platter', + name_pl: 'platters', + nrof: 1, + value: 400000, + weight: 40000, + ) +platter1_sil = _a.Gem( + client_type: 2030, + face: 1468, + materialname: 'silver', + name: 'platter', + name_pl: 'platters', + nrof: 1, + value: 8000, + weight: 40000, + ) +platter1_tin = _a.Gem( + client_type: 2030, + face: 1469, + materialname: 'tin', + name: 'platter', + name_pl: 'platters', + nrof: 1, + value: 400, + weight: 40000, + ) +bones2_fire = _a.Weapon( + body_arm: -1, + body_combat: -1, + client_type: 8002, + dam: 2, + face: 1470, + last_sp: 19, + materialname: 'wood', + name: 'bones', + name_pl: 'bones', + nrof: 1, + skill: 'one handed weapons', + value: 0, + weight: 2000, + ) +bones3_fire = _a.Weapon( + body_arm: -1, + body_combat: -1, + client_type: 8002, + dam: 2, + face: 1471, + last_sp: 19, + materialname: 'wood', + name: 'bones', + name_pl: 'bones', + nrof: 1, + skill: 'one handed weapons', + value: 0, + weight: 1000, + ) +bones5_fire = _a.Weapon( + body_arm: -1, + body_combat: -1, + client_type: 8002, + dam: 2, + face: 1472, + last_sp: 19, + materialname: 'wood', + name: 'bones', + name_pl: 'bones', + nrof: 1, + skill: 'one handed weapons', + value: 0, + weight: 11000, + ) +chalice = _a.Gem( + client_type: 2030, + face: 1473, + is_animated: True, + materialname: 'iron', + name_pl: 'chalices', + nrof: 1, + speed: 0.2, + value: 2500, + weight: 23700, + ) +statue_ruined = _a.Sign( + face: 1474, + move_block: 'all', + no_pick: True, + subtype: 45, + ) +statue_ruined2 = _a.Sign( + face: 1474, + move_block: 'all', + no_pick: True, + subtype: 45, + x: 1, + ) +statue_ruined_3 = _a.Sign( + face: 1474, + move_block: 'all', + no_pick: True, + subtype: 45, + y: 1, + ) +statue_ruined_4 = _a.Sign( + face: 1474, + move_block: 'all', + no_pick: True, + subtype: 45, + x: 1, + y: 1, + ) + + +gravestone = _a.Sign( + client_type: 8011, + face: 1476, + materialname: 'stone', + name_pl: 'gravestones', + nrof: 1, + subtype: 48, + value: 40, + weight: 200000, + ) +gravestone2 = _a.Sign( + client_type: 8011, + face: 1477, + materialname: 'stone', + name: 'gravestone', + name_pl: 'gravestones', + nrof: 1, + subtype: 49, + value: 40, + weight: 200000, + ) + +chalice_bro = _a.Gem( + client_type: 2030, + face: 1479, + is_animated: True, + materialname: 'bronze', + name: 'chalice', + name_pl: 'chalices', + nrof: 1, + speed: 0.2, + value: 700, + weight: 23700, + ) +chalice_cop = _a.Gem( + client_type: 2030, + face: 1480, + is_animated: True, + materialname: 'copper', + name: 'chalice', + name_pl: 'chalices', + nrof: 1, + speed: 0.2, + value: 500, + weight: 23700, + ) +chalice_iro = _a.Gem( + client_type: 2030, + face: 1481, + is_animated: True, + materialname: 'iron', + name: 'chalice', + name_pl: 'chalices', + nrof: 1, + speed: 0.2, + value: 200, + weight: 23700, + ) +chalice_plat = _a.Gem( + client_type: 2030, + face: 1482, + is_animated: True, + materialname: 'platinum', + name: 'chalice', + name_pl: 'chalices', + nrof: 1, + speed: 0.2, + value: 5000, + weight: 23700, + ) +chalice_sil = _a.Gem( + client_type: 2030, + face: 1483, + is_animated: True, + materialname: 'silver', + name: 'chalice', + name_pl: 'chalices', + nrof: 1, + speed: 0.2, + value: 1200, + weight: 23700, + ) +chalice_tin = _a.Gem( + client_type: 2030, + face: 1484, + is_animated: True, + materialname: 'tin', + name: 'chalice', + name_pl: 'chalices', + nrof: 1, + speed: 0.2, + value: 50, + weight: 23700, + ) +grand_piano_black = _a.TriggerAltar( + exp: 30, + face: 1485, + food: 1, + move_on: 'walk', + name: 'grand piano', + no_pick: True, + slaying: 'goldcoin', + ) +grand_piano_2_black = _a.TriggerAltar( + exp: 30, + face: 1485, + food: 1, + move_on: 'walk', + name: 'grand piano', + no_pick: True, + slaying: 'goldcoin', + x: 1, + ) +grand_piano_3_black = _a.TriggerAltar( + exp: 30, + face: 1485, + food: 1, + move_on: 'walk', + name: 'grand piano', + no_pick: True, + slaying: 'goldcoin', + y: 1, + ) +grand_piano_4_black = _a.TriggerAltar( + exp: 30, + face: 1485, + food: 1, + move_on: 'walk', + name: 'grand piano', + no_pick: True, + slaying: 'goldcoin', + x: 1, + y: 1, + ) +smallicecube = _a.MiscObject( + client_type: 8020, + face: 1486, + materialname: 'ice', + move_slow: 'walk', + move_slow_penalty: '1', + name: 'small icecube', + name_pl: 'small icecubes', + resist_cold: 100, + weight: 1500, + ) + + +acid_spit = _a.Arrow( + attacktype: 65, + dam: 5, + face: 1489, + food: 100, + is_animated: False, + is_turnable: True, + name: 'acid spit', + no_drop: True, + nrof: 1, + race: 'spit_acid', + wc: -10, + ) + + + + + + + + + + + + + + + + +naz_report = _a.Book( + client_type: 1042, + face: 1491, + materialname: 'paper', + name: 'Nazgul Report', + name_pl: 'Nazgul Reports', + nrof: 1, + skill: 'literacy', + subtype: 34, + value: 20000, + weight: 300, + ) + + + + + + + + + + + + + + + + + + + + + + + + + + + +worldmap = _a.MiscObject( + attach: [[u'item_worldmap']], + client_type: 1041, + face: 1495, + materialname: 'paper', + name_pl: 'worldmaps', + nrof: 0, + value: 3750, + weight: 600, + ) +d_statue = _a.Sign( + face: 1496, + move_block: 'all', + no_pick: True, + subtype: 45, + ) + + +grand_piano_white = _a.TriggerAltar( + exp: 30, + face: 1499, + food: 1, + move_on: 'walk', + name: 'grand piano', + no_pick: True, + slaying: 'goldcoin', + ) +grand_piano_2_white = _a.TriggerAltar( + exp: 30, + face: 1499, + food: 1, + move_on: 'walk', + name: 'grand piano', + no_pick: True, + slaying: 'goldcoin', + x: 1, + ) +grand_piano_3_white = _a.TriggerAltar( + exp: 30, + face: 1499, + food: 1, + move_on: 'walk', + name: 'grand piano', + no_pick: True, + slaying: 'goldcoin', + y: 1, + ) +grand_piano_4_white = _a.TriggerAltar( + exp: 30, + face: 1499, + food: 1, + move_on: 'walk', + name: 'grand piano', + no_pick: True, + slaying: 'goldcoin', + x: 1, + y: 1, + ) + + + + + + + + + + + + + + + + + + + + + + + + + + +statue2 = _a.Sign( + face: 1515, + move_block: 'all', + no_pick: True, + subtype: 46, + ) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +blood = _a.MiscObject( + client_type: 627, + face: 1518, + materialname: 'organic', + name: 'puddle of blood', + name_pl: 'puddles of blood', + nrof: 1, + value: 0, + weight: 1, + ) +statue = _a.Sign( + face: 1519, + move_block: 'all', + no_pick: True, + subtype: 45, + ) + + + +b_slicingknife = _a.ItemTransformer( + client_type: 8021, + face: 1523, + materialname: 'bronze', + name: 'slicing knife', + name_pl: 'slicing knives', + nrof: 1, + slaying: 'cut', + value: 7, + weight: 1000, + ) +slicingknife = _a.ItemTransformer( + client_type: 8021, + face: 1524, + materialname: 'iron', + name: 'slicing knife', + name_pl: 'slicing knives', + nrof: 1, + slaying: 'cut', + value: 14, + weight: 1000, + ) +cannon = _a.Firewall( + activate_on_push: True, + activate_on_release: True, + blocksview: True, + face: 1525, + level: 1, + move_block: 'all', + name: 'cannon', + other_arch: 'spell_shell', + speed: -0.4, + ) +cannon_1 = _a.Firewall( + activate_on_push: True, + activate_on_release: True, + blocksview: True, + face: 1525, + level: 1, + move_block: 'all', + name: 'cannon', + other_arch: 'spell_shell', + sp: 1, + speed: -0.1, + ) +cannon_2 = _a.Firewall( + activate_on_push: True, + activate_on_release: True, + blocksview: True, + face: 1525, + level: 1, + move_block: 'all', + name: 'cannon', + other_arch: 'spell_shell', + sp: 2, + speed: -0.1, + ) +cannon_3 = _a.Firewall( + activate_on_push: True, + activate_on_release: True, + blocksview: True, + face: 1525, + level: 1, + move_block: 'all', + name: 'cannon', + other_arch: 'spell_shell', + sp: 3, + speed: -0.1, + ) +cannon_4 = _a.Firewall( + activate_on_push: True, + activate_on_release: True, + blocksview: True, + face: 1525, + level: 1, + move_block: 'all', + name: 'cannon', + other_arch: 'spell_shell', + sp: 4, + speed: -0.1, + ) +cannon_5 = _a.Firewall( + activate_on_push: True, + activate_on_release: True, + blocksview: True, + face: 1525, + level: 1, + move_block: 'all', + name: 'cannon', + other_arch: 'spell_shell', + sp: 5, + speed: -0.1, + ) +cannon_6 = _a.Firewall( + activate_on_push: True, + activate_on_release: True, + blocksview: True, + face: 1525, + level: 1, + move_block: 'all', + name: 'cannon', + other_arch: 'spell_shell', + sp: 6, + speed: -0.1, + ) +cannon_7 = _a.Firewall( + activate_on_push: True, + activate_on_release: True, + blocksview: True, + face: 1526, + level: 1, + move_block: 'all', + name: 'cannon', + other_arch: 'spell_shell', + sp: 7, + speed: -0.1, + ) +cannon_8 = _a.Firewall( + activate_on_push: True, + activate_on_release: True, + blocksview: True, + face: 1525, + level: 1, + move_block: 'all', + name: 'cannon', + other_arch: 'spell_shell', + sp: 8, + speed: -0.1, + ) + +gps = _a.Clock( + face: 1528, + identified: True, + name: 'ground positioning system', + randomitems: 'gps', + weight: 6500, + ) +gps_event = _a.EventConnector( + slaying: '/python/items/positioning_system.py', + subtype: 1, + title: 'Python', + ) +boulder = _a.MiscObject( + can_roll: True, + face: 1460, + move_block: 'all', + move_type: 'walk', + no_pick: True, + weight: 1000000, + ) +boulder_lava = _a.MiscObject( + can_roll: True, + face: 1529, + move_block: 'all', + move_type: 'walk', + no_pick: True, + weight: 1000000, + ) +boulder_steel = _a.MiscObject( + can_roll: True, + face: 1530, + move_block: 'all', + move_type: 'walk', + no_pick: True, + weight: 1000000, + ) +t_boulder = _a.MiscObject( + client_type: 8012, + face: 1460, + is_thrown: True, + materialname: 'stone', + name: 'boulder', + name_pl: 'boulders', + nrof: 1, + race: 'rock', + value: 1, + weight: 300000, + ) + + + + + +icecube = _a.MiscObject( + client_type: 8020, + face: 1536, + materialname: 'ice', + move_slow: 'walk', + move_slow_penalty: '1', + name_pl: 'icecubes', + resist_cold: 100, + weight: 15000, + ) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +pirate_hat = _a.Helmet( + ac: 1, + body_head: -1, + cha: -5, + client_type: 271, + face: 1564, + gen_sp_armour: 1, + materialname: 'cloth', + name: 'pirate hat', + name_pl: 'pirate hats', + nrof: 1, + resist_fear: 50, + resist_poison: 15, + value: 140, + weight: 1000, + ) +minesweeper-0 = _a.Sign( + face: 1565, + no_pick: True, + ) +minesweeper-1 = _a.Sign( + face: 1566, + no_pick: True, + ) +minesweeper-2 = _a.Sign( + face: 1567, + no_pick: True, + ) +minesweeper-3 = _a.Sign( + face: 1568, + no_pick: True, + ) +minesweeper-4 = _a.Sign( + face: 1569, + no_pick: True, + ) +minesweeper-5 = _a.Sign( + face: 1570, + no_pick: True, + ) +minesweeper-6 = _a.Sign( + face: 1571, + no_pick: True, + ) +minesweeper-7 = _a.Sign( + face: 1572, + no_pick: True, + ) +minesweeper-8 = _a.Sign( + face: 1573, + no_pick: True, + ) +minesweeper-unknown = _a.Sign( + face: 1574, + no_pick: True, + ) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +telescope1 = _a.Exit( + client_type: 25012, + face: 1600, + name: 'telescope', + no_pick: True, + ) +telescope1_2 = _a.Exit( + face: 1600, + name: 'telescope', + no_pick: True, + x: 1, + ) +telescope1_3 = _a.Exit( + face: 1600, + name: 'telescope', + no_pick: True, + y: 1, + ) +telescope1_4 = _a.Exit( + face: 1600, + name: 'telescope', + no_pick: True, + x: 1, + y: 1, + ) +attache = _a.Container( + container: 14000, + face: 1601, + identified: True, + materialname: 'cloth', + name: 'attache case', + other_arch: 'close_attache', + race: 'scrolls', + str: 10, + value: 150, + weight: 900, + ) +close_attache = _a.CloseCon( + face: 1602, + identified: True, + name: 'close the attache case', + no_drop: True, + no_pick: True, + ) +close_present_box_1 = _a.CloseCon( + face: 1603, + identified: True, + name: 'close the box', + no_drop: True, + no_pick: True, + ) +close_present_box_2 = _a.CloseCon( + face: 1604, + identified: True, + name: 'close the box', + no_drop: True, + no_pick: True, + ) +close_present_box_3 = _a.CloseCon( + face: 1605, + identified: True, + name: 'close the box', + no_drop: True, + no_pick: True, + ) +close_present_box_4 = _a.CloseCon( + face: 1606, + identified: True, + name: 'close the box', + no_drop: True, + no_pick: True, + ) +close_present_box_5 = _a.CloseCon( + face: 1607, + identified: True, + name: 'close the box', + no_drop: True, + no_pick: True, + ) +close_present_box_6 = _a.CloseCon( + face: 1608, + identified: True, + name: 'close the box', + no_drop: True, + no_pick: True, + ) +present_box_1 = _a.Container( + client_type: 51, + container: 50000, + face: 1603, + identified: True, + materialname: 'paper', + name: 'box', + name_pl: 'boxes', + other_arch: 'close_present_box_1', + value: 70, + weight: 1000, + ) +present_box_2 = _a.Container( + client_type: 51, + container: 50000, + face: 1604, + identified: True, + materialname: 'paper', + name: 'box', + name_pl: 'boxes', + other_arch: 'close_present_box_2', + value: 70, + weight: 1000, + ) +present_box_3 = _a.Container( + client_type: 51, + container: 50000, + face: 1605, + identified: True, + materialname: 'paper', + name: 'box', + name_pl: 'boxes', + other_arch: 'close_present_box_3', + value: 70, + weight: 1000, + ) +present_box_4 = _a.Container( + client_type: 51, + container: 50000, + face: 1606, + identified: True, + materialname: 'paper', + name: 'box', + name_pl: 'boxes', + other_arch: 'close_present_box_4', + value: 70, + weight: 1000, + ) +present_box_5 = _a.Container( + client_type: 51, + container: 50000, + face: 1607, + identified: True, + materialname: 'paper', + name: 'box', + name_pl: 'boxes', + other_arch: 'close_present_box_5', + value: 70, + weight: 1000, + ) +present_box_6 = _a.Container( + client_type: 51, + container: 50000, + face: 1608, + identified: True, + materialname: 'paper', + name: 'box', + name_pl: 'boxes', + other_arch: 'close_present_box_6', + value: 70, + weight: 1000, + ) +bookshelf2 = _a.Container( + client_type: 51, + container: 150000, + face: 1609, + identified: True, + materialname: 'bronze', + name: 'bookshelf', + name_pl: 'bookshelves', + other_arch: 'close_shelf2', + value: 50, + weight: 80000, + ) +close_shelf2 = _a.CloseCon( + face: 1609, + identified: True, + name: 'in the shelf', + no_drop: True, + no_pick: True, + ) +thaumaturg_desk = _a.Container( + client_type: 51, + container: 800000, + face: 1610, + is_cauldron: True, + materialname: 'wood', + name: "thaumaturgist's desk", + name_pl: "thaumaturgist's desks", + no_pick: True, + skill: 'thaumaturgy', + str: 0, + value: 18000, + weight: 80000, + ) +close_schest = _a.CloseCon( + face: 1611, + identified: True, + name: 'close the chest', + no_drop: True, + no_pick: True, + ) +schest_2 = _a.Container( + client_type: 51, + container: 175000, + face: 1611, + identified: True, + name: 'chest', + name_pl: 'chests', + other_arch: 'close_schest', + value: 200, + weight: 55000, + ) +close_wallet1 = _a.CloseCon( + face: 1612, + identified: True, + name: 'close the wallet', + no_drop: True, + no_pick: True, + ) +close_wallet2 = _a.CloseCon( + face: 1613, + identified: True, + name: 'close the wallet', + no_drop: True, + no_pick: True, + ) +close_wallet3 = _a.CloseCon( + face: 1614, + identified: True, + name: 'close the wallet', + no_drop: True, + no_pick: True, + ) +close_wallet4 = _a.CloseCon( + face: 1615, + identified: True, + name: 'close the wallet', + no_drop: True, + no_pick: True, + ) +wallet1 = _a.Container( + client_type: 60, + container: 5000, + face: 1612, + identified: True, + materialname: 'leather', + name: 'wallet', + name_pl: 'wallets', + other_arch: 'close_wallet1', + str: 10, + value: 50, + weight: 75, + ) +wallet2 = _a.Container( + client_type: 60, + container: 5000, + face: 1613, + identified: True, + materialname: 'black leather', + name: 'wallet', + name_pl: 'wallets', + other_arch: 'close_wallet2', + str: 10, + value: 100, + weight: 75, + ) +wallet3 = _a.Container( + client_type: 60, + container: 5000, + face: 1614, + identified: True, + materialname: 'white leather', + name: 'wallet', + name_pl: 'wallets', + other_arch: 'close_wallet3', + str: 10, + value: 100, + weight: 75, + ) +wallet4 = _a.Container( + client_type: 60, + container: 5000, + face: 1615, + identified: True, + materialname: 'alligator skin', + name: 'wallet', + name_pl: 'wallets', + other_arch: 'close_wallet4', + str: 10, + value: 500, + weight: 75, + ) +close_sarcophagus_container = _a.CloseCon( + face: 1616, + identified: True, + name: 'close the sarcophagus', + no_drop: True, + no_pick: True, + ) +sarcophagus_container = _a.Treasure( + client_type: 51, + face: 1616, + hp: 1, + identified: True, + materialname: 'stone', + name: 'sarcophagus', + name_pl: 'sarcophagi', + no_pick: True, + nrof: 0, + value: 50, + weight: 800000, + ) +sarcophagus_container2 = _a.Container( + client_type: 51, + container: 150000, + face: 1616, + identified: True, + materialname: 'stone', + name: 'sarcophagus', + name_pl: 'sarcophagi', + no_pick: True, + other_arch: 'close_sarcophagus_container', + value: 50, + weight: 800000, + ) +bad_cauldron = _a.Container( + client_type: 51, + container: 800000, + face: 1617, + materialname: 'iron', + name: 'cracked cauldron', + name_pl: 'cracked cauldrons', + other_arch: 'cauldron_open', + str: -80, + value: 5000, + weight: 20000, + ) +cauldron = _a.Container( + client_type: 51, + container: 800000, + face: 1617, + is_cauldron: True, + materialname: 'iron', + name_pl: 'cauldrons', + other_arch: 'cauldron_open', + skill: 'alchemy', + str: 0, + value: 18000, + weight: 80000, + ) +cauldron_open = _a.CloseCon( + face: 1618, + name: 'close the cauldron', + no_drop: True, + no_pick: True, + ) +close_dresser2_cw = _a.CloseCon( + face: 1619, + identified: True, + name: 'in the dresser', + no_drop: True, + no_pick: True, + ) +close_dresser_cw = _a.CloseCon( + face: 1620, + identified: True, + name: 'in the dresser', + no_drop: True, + no_pick: True, + ) +dresser2_cw = _a.Container( + client_type: 51, + container: 150000, + face: 1619, + identified: True, + materialname: 'cherry', + name: 'dresser', + name_pl: 'dressers', + other_arch: 'close_dresser2_cw', + value: 2400, + weight: 160000, + ) +dresser_cw = _a.Container( + client_type: 51, + container: 150000, + face: 1620, + identified: True, + materialname: 'cherry', + name: 'dresser', + name_pl: 'dressers', + other_arch: 'close_dresser_cw', + value: 2400, + weight: 160000, + ) +tanbench = _a.Container( + client_type: 51, + container: 350000, + face: 1621, + is_cauldron: True, + materialname: 'wood', + name: 'tanning bench', + name_pl: 'tanning benches', + no_pick: True, + skill: 'woodsman', + str: 0, + value: 18000, + weight: 35000, + ) +stove = _a.Container( + client_type: 51, + container: 800000, + face: 1622, + glow_radius: 1, + is_cauldron: True, + materialname: 'marble', + name_pl: 'stoves', + no_pick: True, + skill: 'woodsman', + speed: -0.2, + str: 0, + value: 18000, + weight: 80000, + ) +frypan_closed = _a.Container( + container: 150000, + face: 1623, + identified: True, + materialname: 'marble', + name: 'frypan', + other_arch: 'frypan_opened', + ) +frypan_opened = _a.CloseCon( + face: 1624, + identified: True, + name: 'frypan', + no_drop: True, + ) +close_desk_cw = _a.CloseCon( + face: 1625, + identified: True, + name: 'close the desk', + no_drop: True, + no_pick: True, + ) +desk_cw = _a.Container( + client_type: 51, + container: 80000, + face: 1625, + identified: True, + materialname: 'cherry', + name: 'desk', + name_pl: 'desks', + other_arch: 'close_desk_cw', + str: 10, + value: 2100, + weight: 120000, + ) +forge = _a.Container( + client_type: 51, + container: 800000, + face: 1626, + glow_radius: 1, + is_cauldron: True, + materialname: 'marble', + name_pl: 'forges', + no_pick: True, + skill: 'smithery', + speed: -0.2, + str: 0, + value: 18000, + weight: 80000, + ) +close_key_ring = _a.CloseCon( + face: 1627, + identified: True, + name: 'close the key ring', + no_drop: True, + no_pick: True, + ) +key_ring = _a.Container( + client_type: 60, + container: 50000, + face: 1628, + identified: True, + materialname: 'cloth', + name: 'key ring', + name_pl: 'key rings', + other_arch: 'close_key_ring', + race: 'keys', + str: 10, + value: 20, + weight: 100, + ) +close_mail = _a.CloseCon( + face: 1629, + identified: True, + name: 'close the mailbox', + no_drop: True, + no_pick: True, + ) +mailbox = _a.Container( + container: 1500, + face: 1630, + identified: True, + materialname: 'bronze', + name: 'mailbox', + other_arch: 'close_mail', + value: 50, + weight: 4000, + ) +chest = _a.Treasure( + client_type: 51, + face: 1631, + hp: 1, + identified: True, + materialname: 'bronze', + name_pl: 'chests', + nrof: 0, + randomitems: 'chest', + value: 50, + weight: 50000, + ) +close_rsack = _a.CloseCon( + face: 1632, + identified: True, + name: 'close the rucksack', + no_drop: True, + no_pick: True, + ) +r_sack = _a.Container( + client_type: 51, + container: 550000, + face: 1633, + identified: True, + materialname: 'cloth', + name: 'rucksack', + name_pl: 'rucksacks', + other_arch: 'close_rsack', + str: 15, + value: 150, + weight: 100, + ) +close_scrollcase = _a.CloseCon( + face: 1632, + identified: True, + name: 'close the scroll case', + no_drop: True, + no_pick: True, + ) +scrollcase = _a.Container( + container: 7000, + face: 1633, + identified: True, + materialname: 'cloth', + name: 'scroll case', + other_arch: 'close_scrollcase', + race: 'scrolls', + str: 10, + value: 50, + weight: 500, + ) +close_dbox = _a.CloseCon( + face: 1634, + identified: True, + name: 'close the deposit box', + no_drop: True, + no_pick: True, + ) +depositbox = _a.Container( + container: 150000, + face: 1635, + identified: True, + materialname: 'marble', + name: 'deposit box', + no_pick: True, + other_arch: 'close_dbox', + race: 'gold and jewels', + ) +bag = _a.Container( + client_type: 51, + container: 80000, + face: 1636, + identified: True, + materialname: 'cloth', + name: 'bag', + name_pl: 'bags', + other_arch: 'close_bag', + str: 10, + value: 50, + weight: 10, + ) +close_bag = _a.CloseCon( + face: 1637, + identified: True, + name: 'close the bag', + no_drop: True, + no_pick: True, + ) +close_pouch = _a.CloseCon( + face: 1638, + identified: True, + name: 'close the pouch', + no_drop: True, + no_pick: True, + ) +pouch = _a.Container( + client_type: 55, + container: 150000, + face: 1639, + identified: True, + materialname: 'cloth', + name: 'pouch', + name_pl: 'pouches', + other_arch: 'close_pouch', + race: 'gold and jewels', + str: 10, + value: 40, + weight: 100, + ) +chest_2 = _a.Container( + client_type: 51, + container: 150000, + face: 1631, + identified: True, + materialname: 'bronze', + name: 'chest', + name_pl: 'chests', + other_arch: 'close_chest', + value: 50, + weight: 40000, + ) +close_chest = _a.CloseCon( + face: 1640, + identified: True, + name: 'close the chest', + no_drop: True, + no_pick: True, + ) +bookshelf = _a.Container( + client_type: 51, + container: 150000, + face: 1641, + identified: True, + materialname: 'bronze', + name: 'bookshelf', + name_pl: 'bookshelves', + other_arch: 'close_shelf', + value: 50, + weight: 80000, + ) +bookshelf_bottom = _a.Container( + client_type: 51, + container: 150000, + face: 1642, + identified: True, + materialname: 'bronze', + name: 'bookshelf', + name_pl: 'bookshelves', + other_arch: 'bookshelf_bottom_close', + value: 50, + weight: 80000, + ) +bookshelf_bottom_close = _a.CloseCon( + face: 1642, + identified: True, + name: 'in the shelf', + no_drop: True, + no_pick: True, + ) +bookshelf_left = _a.Container( + client_type: 51, + container: 150000, + face: 1643, + identified: True, + materialname: 'bronze', + name: 'bookshelf', + name_pl: 'bookshelves', + other_arch: 'bookshelf_left_close', + value: 50, + weight: 80000, + ) +bookshelf_left_close = _a.CloseCon( + face: 1643, + identified: True, + name: 'in the shelf', + no_drop: True, + no_pick: True, + ) +bookshelf_right = _a.Container( + client_type: 51, + container: 150000, + face: 1644, + identified: True, + materialname: 'bronze', + name: 'bookshelf', + name_pl: 'bookshelves', + other_arch: 'bookshelf_right_close', + value: 50, + weight: 80000, + ) +bookshelf_right_close = _a.CloseCon( + face: 1644, + identified: True, + name: 'in the shelf', + no_drop: True, + no_pick: True, + ) +close_shelf = _a.CloseCon( + face: 1641, + identified: True, + name: 'in the shelf', + no_drop: True, + no_pick: True, + ) +workbench = _a.Container( + client_type: 51, + container: 800000, + face: 1645, + is_cauldron: True, + materialname: 'wood', + name: 'workbench', + name_pl: 'workbenches', + no_pick: True, + skill: 'bowyer', + str: 0, + value: 18000, + weight: 80000, + ) +close_sack = _a.CloseCon( + face: 1646, + identified: True, + name: 'close the sack', + no_drop: True, + no_pick: True, + ) +sack = _a.Container( + client_type: 51, + container: 150000, + face: 1647, + identified: True, + materialname: 'cloth', + name: 'sack', + name_pl: 'sacks', + other_arch: 'close_sack', + str: 10, + value: 50, + weight: 100, + ) +jeweler_bench = _a.Container( + client_type: 51, + container: 6000000, + face: 1648, + is_cauldron: True, + materialname: 'wood', + name: "jeweler's workbench", + name_pl: "jeweler's workbenches", + no_pick: True, + skill: 'jeweler', + str: 0, + value: 18000, + weight: 80000, + ) +close_dresser = _a.CloseCon( + face: 1649, + identified: True, + name: 'in the dresser', + no_drop: True, + no_pick: True, + ) +close_dresser2 = _a.CloseCon( + face: 1650, + identified: True, + name: 'in the dresser', + no_drop: True, + no_pick: True, + ) +dresser = _a.Container( + client_type: 51, + container: 150000, + face: 1649, + identified: True, + materialname: 'bronze', + name: 'dresser', + name_pl: 'dressers', + other_arch: 'close_dresser', + value: 150, + weight: 160000, + ) +dresser2 = _a.Container( + client_type: 51, + container: 150000, + face: 1650, + identified: True, + materialname: 'bronze', + name: 'dresser', + name_pl: 'dressers', + other_arch: 'close_dresser2', + value: 150, + weight: 160000, + ) +luggage = _a.Container( + client_type: 51, + container: 500000, + face: 1651, + identified: True, + materialname: 'iron', + name: 'The Luggage', + name_pl: 'The Luggages', + speed: 0.5, + str: 50, + value: 100000, + weight: 20000, + ) +close_quiver = _a.CloseCon( + face: 1652, + identified: True, + name: 'close the quiver', + no_drop: True, + no_pick: True, + ) +quiver = _a.Container( + client_type: 60, + container: 150000, + face: 1653, + food: 13, + identified: True, + materialname: 'cloth', + name: 'quiver', + name_pl: 'quivers', + other_arch: 'close_quiver', + race: 'arrow', + str: 10, + title: 'of arrows', + value: 50, + weight: 100, + ) + +close_desk = _a.CloseCon( + face: 1654, + identified: True, + name: 'close the desk', + no_drop: True, + no_pick: True, + ) +close_wizdesk = _a.CloseCon( + face: 1655, + identified: True, + name: 'close the desk', + no_drop: True, + no_pick: True, + ) +desk = _a.Container( + client_type: 51, + container: 80000, + face: 1654, + identified: True, + materialname: 'bronze', + name: 'desk', + name_pl: 'desks', + other_arch: 'close_desk', + str: 10, + value: 150, + weight: 120000, + ) +wizdesk = _a.Container( + client_type: 51, + container: 80000, + face: 1655, + identified: True, + materialname: 'bronze', + name: 'desk', + name_pl: 'desks', + other_arch: 'close_wizdesk', + str: 10, + value: 190, + weight: 120000, + ) +bagpipe = _a.Key( + client_type: 8006, + face: 1656, + name: 'small bagpipe', + name_pl: 'small bagpipes', + nrof: 1, + speed: -0.3, + value: 1000, + weight: 3000, + ) + +campfire = _a.SpellEffect( + attacktype: 4, + dam: 3, + face: 1658, + glow_radius: 2, + level: 1, + lifesave: True, + move_on: 'walk', + no_pick: True, + speed: -0.2, + subtype: 7, + wc: -30, + ) +building_earbook = _a.Material( + face: 1659, + name: 'Listening book material', + name_pl: 'Listening book materials', + nrof: 1, + slaying: 'magic_ear', + subtype: 3, + value: 70000, + weight: 1000, + ) +building_mouthbook = _a.Material( + face: 1659, + name: 'Talking book material', + name_pl: 'Talking book materials', + nrof: 1, + slaying: 'magic_mouth', + subtype: 3, + value: 45000, + weight: 1000, + ) +building_altar_none = _a.Material( + face: 1660, + name: 'Altar material', + name_pl: 'Altar materials', + nrof: 1, + slaying: 'altar_none', + subtype: 3, + value: 2500000, + weight: 1500, + ) +building_brazier = _a.Material( + face: 1661, + name: 'Brazier material', + name_pl: 'Brazier materials', + nrof: 1, + slaying: 'brazier', + subtype: 3, + value: 9500, + weight: 1500, + ) +building_fireplace = _a.Material( + face: 1662, + name: 'Fireplace material', + name_pl: 'Fireplace materials', + nrof: 1, + slaying: 'fireplace', + subtype: 3, + value: 10000, + weight: 2500, + ) +building_firepot = _a.Material( + face: 1663, + name: 'Firepot material', + name_pl: 'Firepot materials', + nrof: 1, + slaying: 'firepot', + subtype: 3, + value: 7500, + weight: 1500, + ) +building_fountain = _a.Material( + face: 1664, + name: 'Fountain material', + name_pl: 'Fountain materials', + nrof: 1, + slaying: 'fountain', + subtype: 3, + value: 50500, + weight: 25000, + ) +building_hangingfirepot = _a.Material( + face: 1665, + name: 'Hanging Firepot material', + name_pl: 'Hanging Firepot materials', + nrof: 1, + slaying: 'hangingfirepot', + subtype: 3, + value: 8500, + weight: 1500, + ) +building_sign = _a.Material( + face: 1666, + name: 'Sign material', + name_pl: 'Sign materials', + nrof: 1, + slaying: 'sign', + subtype: 3, + value: 25000, + weight: 1500, + ) +building_blackmarble = _a.Material( + face: 1667, + name: 'Black Marble floor material', + name_pl: 'Black Marble floor materials', + nrof: 1, + slaying: 'blackmarble', + subtype: 1, + value: 40540, + weight: 1500, + ) +building_greenmarble = _a.Material( + face: 1668, + name: 'Green Marble floor material', + name_pl: 'Green Marble floor materials', + nrof: 1, + slaying: 'greenmarble', + subtype: 1, + value: 50000, + weight: 1500, + ) +building_lightmagentamarble = _a.Material( + face: 1669, + name: 'Light Magenta Marble floor material', + name_pl: 'Light Magenta Marble floor materials', + nrof: 1, + slaying: 'lightmagentamarble', + subtype: 1, + value: 50000, + weight: 1500, + ) +building_marble = _a.Material( + face: 1670, + name: 'White Marble floor material', + name_pl: 'White Marble floor materials', + nrof: 1, + slaying: 'marble', + subtype: 1, + value: 40540, + weight: 1500, + ) +building_pinkmarble = _a.Material( + face: 1671, + name: 'Pink Marble floor material', + name_pl: 'Pink Marble floor materials', + nrof: 1, + slaying: 'pinkmarble', + subtype: 1, + value: 50000, + weight: 1500, + )