Ejemplo n.º 1
0
def add_memtest(host='', account='', password='', **args):
#   general things

    m=create_editor(host, account, password)

    m.make('settler',pos=(0,5,5))
    m.make('oak',pos=(5,0,5))
Ejemplo n.º 2
0
def add_memtest(host='', account='', password='', **args):
#   general things

    m=create_editor(host, account, password)

    m.make('settler',pos=(0,5,5))
    m.make('oak',pos=(5,0,5))
Ejemplo n.º 3
0
def add_memtest(host="", account="", password="", **args):
    #   general things

    m = create_editor(host, account, password)

    m.make("settler", pos=(0, 5, 5))
    m.make("oak", pos=(5, 0, 5))
Ejemplo n.º 4
0
def add_village(host='', account='', password='', **args):
    #   general things

    m = create_editor(host, account, password)

    m.make('tower', pos=(210, 210, 5))
    m.make('gallows', pos=(185, 175, 5))

    m.make('house3', pos=(158, 150, 22), orientation=directions[1])
    m.make('house3', pos=(158, 158, 22), orientation=directions[4])
    m.make('house3', pos=(150, 158, 22), orientation=directions[0])
    m.make('house3', pos=(142, 158, 22), orientation=directions[7])
    m.make('house3', pos=(142, 150, 22), orientation=directions[3])
    m.make('house3', pos=(142, 142, 22), orientation=directions[6])
    m.make('house3', pos=(150, 142, 22), orientation=directions[2])
    m.make('house3', pos=(158, 142, 22), orientation=directions[5])

    m.make('ploughed_field',
           name='field',
           pos=(120, 170, 30),
           status=1.0,
           area={
               'points': [[0, 0], [0, 20], [20, 20], [20, 0]],
               'layer': 8
           })
    m.make('ploughed_field',
           name='field',
           pos=(142, 170, 30),
           status=1.0,
           area={
               'points': [[0, 0], [0, 20], [20, 20], [20, 0]],
               'layer': 8
           })
Ejemplo n.º 5
0
def add_village(host="", account="", password="", **args):
    #   general things

    m = create_editor(host, account, password)

    m.make("tower", pos=(210, 210, 5))
    m.make("gallows", pos=(185, 175, 5))

    m.make("house3", pos=(158, 150, 22), orientation=directions[1])
    m.make("house3", pos=(158, 158, 22), orientation=directions[4])
    m.make("house3", pos=(150, 158, 22), orientation=directions[0])
    m.make("house3", pos=(142, 158, 22), orientation=directions[7])
    m.make("house3", pos=(142, 150, 22), orientation=directions[3])
    m.make("house3", pos=(142, 142, 22), orientation=directions[6])
    m.make("house3", pos=(150, 142, 22), orientation=directions[2])
    m.make("house3", pos=(158, 142, 22), orientation=directions[5])

    m.make(
        "ploughed_field",
        name="field",
        pos=(120, 170, 30),
        status=1.0,
        area={"shape": {"points": [[0, 0], [0, 20], [20, 20], [20, 0]], "type": "polygon"}, "layer": 8},
    )
    m.make(
        "ploughed_field",
        name="field",
        pos=(142, 170, 30),
        status=1.0,
        area={"shape": {"points": [[0, 0], [0, 20], [20, 20], [20, 0]], "type": "polgyon"}, "layer": 8},
    )
Ejemplo n.º 6
0
def default(host='', account='', password='', **args):

    m=create_editor(host, account, password)

    world=m.look()

    if not hasattr(world, 'name'):
    	_setup_landscape(m, world)
	_setup_objects(m)
Ejemplo n.º 7
0
def modify_terrain(host='', account='', password='', **args):
#   general things

    m=create_editor(host, account, password)

    world=m.look()

    _setup_terrain(m, world)
    m.make('ocean',pos=(0,0,0),bbox=[-500,-321,-20,320,321,0])
Ejemplo n.º 8
0
def modify_terrain(host='', account='', password='', **args):
#   general things

    m=create_editor(host, account, password)

    world=m.look()

    _setup_terrain(m, world)
    m.make('ocean',pos=(0,0,0),bbox=[-500,-321,-20,320,321,0])
Ejemplo n.º 9
0
def default(host='', account='', password='', **args):
    # Spray the world with rubbish

    m = create_editor(host, account, password)

    for i in range(10000):
        m.make('oak', pos=(uniform(-500, 300), uniform(-500, 300), 0))
        m.delete(m.look_for(type='oak').id)
        time.sleep(0.1)
Ejemplo n.º 10
0
def default(host='', account='', password='', **args):

    m = create_editor(host, account, password)

    world = m.look()

    if not hasattr(world, 'name'):
        _setup_landscape(m, world)
        _setup_objects(m)
Ejemplo n.º 11
0
def create_large_empty_terrain(host='', account='', password='', **args):
    
    m=create_editor(host, account, password)

    world=m.look()
    
    points = { }
    for i in range(-32, 33):
        for j in range(-32, 33):
            points['%ix%i'%(i,j)] = [i, j, -4]

    minx=0
    miny=0
    minz=0
    maxx=0
    maxy=0
    maxz=0
    for i in points.values():
        x = i[0]
        y = i[1]
        z = i[2]
        if not minx or x < minx:
            minx = x
        if not miny or y < miny:
            miny = y
        if not minz or z < minz:
            minz = z
        if not maxx or x > maxx:
            maxx = x
        if not maxy or y > maxy:
            maxy = y
        if not maxz or z > maxz:
            maxz = z
    
    surfaces = [
        {'name': 'rock', 'pattern': 'fill' },
        {'name': 'sand', 'pattern': 'band', 'params': {'lowThreshold': -2.0,
                                                       'highThreshold': 1.5 } },
        {'name': 'grass', 'pattern': 'grass', 'params': {'lowThreshold': 1.0,
                                                         'highThreshold': 80.0,
                                                         'cutoff': 0.5,
                                                         'intercept': 1.0 } },
        {'name': 'silt', 'pattern': 'depth', 'params': {'waterLevel': 0.0,
                                                        'murkyDepth': -10.0 } },
        {'name': 'snow', 'pattern': 'high', 'params': {'threshold': 110.0 } },
    ]

    
        
    # print minx, ":", miny, ":", minz, ":", maxx, ":", maxy, ":", maxz

    m.set(world.id, terrain={'points' : points, 'surfaces' : surfaces}, name="moraf", bbox=[minx * 64, miny * 64, minz, maxx * 64, maxy * 64, maxz])
    m.look()
Ejemplo n.º 12
0
def add_pigs(host='', account='', password='', **args):
#   general things

    m=create_editor(host, account, password)

    sty = m.look_for(type='sty')
    merchant = m.look_for(name='Dyfed Searae')

    piglets=[]
    for i in range(0, 6):
        piglets.append(m.make('pig',pos=(uniform(0,4),uniform(0,4),settlement_height),parent=sty.id,orientation=directions[randint(0,7)]))
    m.learn(piglets,pig_goals)
    m.own(merchant,piglets)
Ejemplo n.º 13
0
def add_pigs(host='', account='', password='', **args):
#   general things

    m=create_editor(host, account, password)

    sty = m.look_for(type='sty')
    merchant = m.look_for(name='Dyfed Searae')

    piglets=[]
    for i in range(0, 6):
        piglets.append(m.make('pig',pos=(uniform(0,4),uniform(0,4),settlement_height),parent=sty.id,orientation=directions[randint(0,7)]))
    m.learn(piglets,pig_goals)
    m.own(merchant,piglets)
Ejemplo n.º 14
0
def add_fish(host='', account='', password='', **args):
    #   general things

    m = create_editor(host, account, password)

    fish_goals = [(il.forage, "forage('annelid')"), (il.amble, "amble()")]
    fish = []
    for i in range(0, 2):
        xpos = uniform(-35, -30)
        ypos = uniform(-30, -25)
        zpos = uniform(-4, 0)
        c = m.make('bass', pos=(xpos, ypos, zpos))
        fish.append(c)
    m.learn(fish, fish_goals)
Ejemplo n.º 15
0
def add_fish(host="", account="", password="", **args):
    #   general things

    m = create_editor(host, account, password)

    fish_goals = [(il.forage, "forage('annelid')"), (il.amble, "amble()")]
    fish = []
    for i in range(0, 2):
        xpos = uniform(-35, -30)
        ypos = uniform(-30, -25)
        zpos = uniform(-4, 0)
        c = m.make("bass", pos=(xpos, ypos, zpos))
        fish.append(c)
    m.learn(fish, fish_goals)
Ejemplo n.º 16
0
def default(host="", account="", password="", **args):
    m = create_editor(host, account, password)

    world = m.look()

    p = RegressionTester(m)

    p.create_all(ALL_CLASSES)

    # p.test_task('cultivate', 'acorn', 'trowel', 'sow')
    p.test_task("delve", world, "pickaxe", "cut")
    p.test_task("dig", world, "shovel", "cut")
    # p.test_task(m, 'fishing', 'ocean', 'fishingrod', 'sow')
    p.test_task("logging", "oak", "axe", "cut")
    p.test_task("raise", "stake", "pole", "lever")
    p.test_task("reap", world, "scythe", "cut")
    p.test_task("ram", "stake", "hammer", "strike")
Ejemplo n.º 17
0
def default(host='', account='', password='', **args):
    m = create_editor(host, account, password)

    world = m.look()

    p = RegressionTester(m)

    p.create_all(ALL_CLASSES)

    # p.test_task('cultivate', 'acorn', 'trowel', 'sow')
    p.test_task('delve', world, 'pickaxe', 'cut')
    p.test_task('dig', world, 'shovel', 'cut')
    # p.test_task(m, 'fishing', 'ocean', 'fishingrod', 'sow')
    p.test_task('logging', 'oak', 'axe', 'cut')
    p.test_task('raise', 'stake', 'pole', 'lever')
    p.test_task('reap', world, 'scythe', 'cut')
    p.test_task('ram', 'stake', 'hammer', 'strike')
Ejemplo n.º 18
0
def default(host='', account='', password='', **args):
    m = create_editor(host, account, password)

    world = m.look()

    p = RegressionTester(m)

    p.create_all(ALL_CLASSES)

    # p.test_task('cultivate', 'acorn', 'trowel', 'sow')
    p.test_task('delve', world, 'pickaxe', 'cut')
    p.test_task('dig', world, 'shovel', 'cut')
    # p.test_task(m, 'fishing', 'ocean', 'fishingrod', 'sow')
    p.test_task('logging', 'oak', 'axe', 'cut')
    p.test_task('raise', 'stake', 'pole', 'lever')
    p.test_task('reap', world, 'scythe', 'cut')
    p.test_task('ram', 'stake', 'hammer', 'strike')
Ejemplo n.º 19
0
def add_village(host='', account='', password='', **args):
#   general things

    m=create_editor(host, account, password)

    m.make('tower',pos=(210,210,5))
    m.make('gallows',pos=(185,175,5))

    m.make('house3',pos=(158,150,22),orientation=directions[1])
    m.make('house3',pos=(158,158,22),orientation=directions[4])
    m.make('house3',pos=(150,158,22),orientation=directions[0])
    m.make('house3',pos=(142,158,22),orientation=directions[7])
    m.make('house3',pos=(142,150,22),orientation=directions[3])
    m.make('house3',pos=(142,142,22),orientation=directions[6])
    m.make('house3',pos=(150,142,22),orientation=directions[2])
    m.make('house3',pos=(158,142,22),orientation=directions[5])

    m.make('ploughed_field', name='field',pos=(120,170,30),status=1.0,area={'points' : [ [0,0], [0,20], [20,20], [20,0] ], 'layer' : 8})
    m.make('ploughed_field', name='field',pos=(142,170,30),status=1.0,area={'points' : [ [0,0], [0,20], [20,20], [20,0] ], 'layer' : 8})
Ejemplo n.º 20
0
def flat_terrain(host="", account="", password="", **args):
    #   general things

    m = create_editor(host, account, password)

    world = m.look()
    points = {}
    for i in range(-8, 7):
        for j in range(-6, 7):
            # Give all points a height of 5 above sea level
            points["%ix%i" % (i, j)] = [i, j, 5]

    # Work out the ranges for the bounding box of the world.
    minx = 0
    miny = 0
    minz = 0
    maxx = 0
    maxy = 0
    maxz = 0
    for i in points.values():
        x = i[0]
        y = i[1]
        z = i[2]
        if not minx or x < minx:
            minx = x
        if not miny or y < miny:
            miny = y
        if not minz or z < minz:
            minz = z
        if not maxx or x > maxx:
            maxx = x
        if not maxy or y > maxy:
            maxy = y
        if not maxz or z > maxz:
            maxz = z

    m.set(
        world.id,
        terrain={"points": points},
        name="moraf",
        bbox=[minx * 64, miny * 64, minz, maxx * 64, maxy * 64, maxz],
    )
Ejemplo n.º 21
0
def flat_terrain(host='', account='', password='', **args):
    #   general things

    m = create_editor(host, account, password)

    world = m.look()
    points = {}
    for i in range(-8, 7):
        for j in range(-6, 7):
            # Give all points a height of 5 above sea level
            points['%ix%i' % (i, j)] = [i, j, 5]

    # Work out the ranges for the bounding box of the world.
    minx = 0
    miny = 0
    minz = 0
    maxx = 0
    maxy = 0
    maxz = 0
    for i in points.values():
        x = i[0]
        y = i[1]
        z = i[2]
        if not minx or x < minx:
            minx = x
        if not miny or y < miny:
            miny = y
        if not minz or z < minz:
            minz = z
        if not maxx or x > maxx:
            maxx = x
        if not maxy or y > maxy:
            maxy = y
        if not maxz or z > maxz:
            maxz = z

    m.set(world.id,
          terrain={'points': points},
          name="moraf",
          bbox=[minx * 64, miny * 64, minz, maxx * 64, maxy * 64, maxz])
Ejemplo n.º 22
0
def add_castle(host='', account='', password='', **args):
#   general things

    m=create_editor(host, account, password)

    # create the peninsula for the castle
    world = m.look()
    points = { }
    points['-5x-2'] = [-5, -2, 20]
    points['-5x-1'] = [-5, -1, 20]
    points['-5x0'] = [-5, 0,   20]
    points['-5x1'] = [-5, 1,   20]
    points['-6x-2'] = [-6, -2, 20]
    points['-6x-1'] = [-6, -1, 20]
    points['-6x0'] = [-6, 0,   20]
    points['-6x1'] = [-6, 1,   20]
    points['-7x-2'] = [-7, -2, 20]
    points['-7x-1'] = [-7, -1, 20]
    points['-7x0'] = [-7, 0,   20]
    points['-7x1'] = [-7, 1,   20]
    points['-8x-2'] = [-8, -2, 20]
    points['-8x-1'] = [-8, -1, 20]
    points['-8x0'] = [-8, -0,  20]
    points['-8x1'] = [-8,  1,  20]

    minx=0
    miny=0
    minz=0
    maxx=0
    maxy=0
    maxz=0
    for i in list(points.values()):
        x = i[0]
        y = i[1]
        z = i[2]
        if not minx or x < minx:
            minx = x
        if not miny or y < miny:
            miny = y
        if not minz or z < minz:
            minz = z
        if not maxx or x > maxx:
            maxx = x
        if not maxy or y > maxy:
            maxy = y
        if not maxz or z > maxz:
            maxz = z
        
    m.set(world.id, terrain={'points' : points}, name="moraf", bbox=[minx * 64, miny * 64, minz, maxx * 64, maxy * 64, maxz])

    # put the keep on the peninsula
    
    # the foundation looks ugly in sear and does not work in ember, so I left it out. coordinates are probably wrong
    #m.make('castle_foundation', pos=(-415, -70, settlement_height))

    # castle wall
    m.make('castle_outer_wall', pos=(-427.639, -30.2512, settlement_height), orientation=[0,0,0.7,0.7])

    # gateway 
    m.make('gateway', pos=(-380.753, -31.7661, settlement_height), orientation=[0,0,0.7,0.7])

    # the keep
    m.make('keep', pos=(-459.231, -79.5895, settlement_height), orientation=[0,0,0,-1])

    # top right tower
    m.make('bailey1', pos=(-477.46, 41.1592, settlement_height), orientation=[0,0,-1,0.02])

    # bottom left tower
    m.make('bailey2', pos=(-387.035, -98.432, settlement_height), orientation=[0,0,-0.7,-0.7])

    # bottom right tower
    m.make('don_jon', pos=(-382.011, 43.1961, settlement_height), orientation=[0,0,0,-1])

    # armory
    m.make('armory', pos=(-426.873, 45.0104, settlement_height), orientation=[0,0,-0.7,-0.7])
    
    # castle_house 1
    m.make('castle_house', name='castle_house1', pos=(-405.272, -80.1143, settlement_height), orientation=[0,0,0,1])

    # castle_house 2
    m.make('castle_house', name='castle_house2', pos=(-425.233, -79.6156, settlement_height), orientation=[0,0,0,1])
    
    # castle_house 3
    m.make('castle_house', name='castle_house3', pos=(-454.223, -50.518, settlement_height), orientation=[0,0,0.5,-0.868])

    # castle_house 4
    m.make('castle_house', name='castle_house4', pos=(-456.11, -26.3539, settlement_height), orientation=[0,0,0.7,-0.7])

    # inn 
    m.make('inn', pos=(-454.429, 12.7224, settlement_height), orientation=[0,0,0.28,1])

    castle_path_area = {'shape': {
                         'points': [[-400, -34], [-372, -34], [-350, -42],
                                    [-300, -56], [-215, -42], [-180, -5],
                                    [-125, -6], [-86, -4], [-86, -2],
                                    [-125, -4], [-180, -3], [-215, -40],
                                    [-300, -54], [-350, -40], [-372, -30],
                                    [-400, -30]], 'type': 'polygon'},
                         'layer' : 7}
    m.make('path', name='path to castle', pos=(0, 0, settlement_height),
           area=castle_path_area, bbox=[100,8,1])
Ejemplo n.º 23
0
def suspend(client):
    m = create_editor(client)

    m.look()
    m.set("0", suspended=1)
Ejemplo n.º 24
0
def suspend(host='', account='', password='', **args):
    m=create_editor(host, account, password)

    world=m.look()
    m.set(world.id, suspended=1)
Ejemplo n.º 25
0
def default(host='', account='', password='', **args):
#   general things

    m=create_editor(host, account, password)

    world=m.look()

    if not hasattr(world, 'name'):
        _setup_landscape(m, world)

        _setup_outpost(m)

        _setup_settlement(m)

        _setup_camp(m)

    _add_resources(m)

    _add_animals(m)

    # Example of Mercator forest.
    # m.make('forest', name='sherwood',pos=(-50, 10,settlement_height),
           # bbox=[40,40,40])

    #   the lych, who makes bones into skeletons
    if m.look_for(type='lych') is None:
        lych=m.make('lych', pos=(-21, -89, settlement_height))
        m.learn(lych,lych_goals)
        m.know(lych,lych_knowledge)
        m.tell_importance(lych,il.assemble,'>',il.patrol)

    #   animals
    if m.look_for(type='pig') is None:
        piglet = m.make('pig', pos=(-3,-1,settlement_height))
        m.learn(piglet,pig_goals)

    if m.look_for(type='wolf') is None:
        wolf = m.make('wolf', pos=(90,-90,settlement_height))
        m.learn(wolf,wolf_goals)
        m.know(wolf,wolf_knowledge)
        m.tell_importance(wolf,il.forage,'>',il.hunt)
        m.tell_importance(wolf,il.forage,'>',il.patrol)
        m.tell_importance(wolf,il.hunt,'>',il.patrol)

    if m.look_for(type='crab') is None:
        crab = m.make('crab', pos=(-90,90,settlement_height))
        m.learn(crab,crab_goals)

    if m.look_for(type='skeleton') is None:
        skeleton = m.make('skeleton', pos=(-38,-25,settlement_height))
        m.learn(skeleton,skeleton_goals)

    if m.look_for(type='squirrel') is None:
        squirrel = m.make('squirrel', pos=(-32,-15,settlement_height))
        m.know(squirrel,sknowledge)
        m.learn(squirrel,squirrel_goals)

    # villagers

    # An NPC settler
    if m.look_for(name='Ranum Umado') is None:
        settler=m.make('settler', name='Ranum Umado', pos=(0,40,0))
        axe=m.make('axe',pos=(0,0,0),parent=settler.id)
        m.own(settler,axe)
        m.know(settler,[('forest','location',(130,40,0))])
        m.learn(settler,(il.trade,"harvest_resource('lumber','oak','forest','axe', range=60)"))
        m.learn(settler,(il.roam,"roam(60, ['forest'])"))

    # An NPC forester
    if m.look_for(name='Ineos Adsam') is None:
        settler=m.make('settler', name='Ineos Adsam',pos=(0, 30, 0))
        trowel=m.make('trowel',pos=(0,0,0),parent=settler.id)
        m.own(settler, trowel)
        m.know(settler,[('forest','location',(130,40,0))])
        m.learn(settler,(il.trade,"plant_seeds('acorn','oak','forest','trowel', range=60)"))
        m.learn(settler,(il.roam,"roam(60, ['forest'])"))

    stall = m.look_for(name='Butcher Stall')
    if stall is None:
        stall=m.make('stall', name='Butcher Stall',
                     pos=butcher_stall_pos, orientation=directions[5])
        m.make('wall', parent=stall.id, pos=(0 ,0 ,0),
               bbox=(-0.5, -1.5, 0, 0.5, 1.5, 0.8))
        m.make('wall', parent=stall.id, pos=(2, 0, 0),
               bbox=(0, -1.5, 0, 0.5, 1.5, 2))

    # An NPC Butcher
    if m.look_for(name='Ulad Bargan') is None:
        butcher=m.make('settler', name='Ulad Bargan',desc='the butcher',
                       pos=butcher_pos,age=probability.fertility_age)
        m.learn(butcher,(il.trade,"trade('pig', 'cleaver', 'ham', 'market')"))
        m.learn(butcher,(il.buy_livestock,"buy_livestock('pig', 1)"))
        m.learn(butcher,(il.market,"run_shop('mstall_freshmeat_1_se',"
              "'open','dawn')"))
        m.learn(butcher,(il.market,"run_shop('mstall_freshmeat_1_se',"
                                   "'closed','evening')"))
        m.learn(butcher,(il.help,"add_help(['"
              "I need live pigs to restock my butcher stall.',"
              "'Do you have any pigs for sale?',"
              "'I prefer pigs that have grown to more than 20kg.'],"
              "['I would like to sell a pig'])"))
        m.know(butcher,bknowledge)
        m.know(butcher,bprices)

    
        cleaver=m.make('cleaver', place='market', pos=(0, 0, 0),
                       parent=butcher.id)
        m.own(butcher,cleaver)
        m.own(butcher, stall)
    
        m.learn(butcher,(il.sell,"sell_trade('ham', 'market')"))
        coins=[]
        for i in range(0, 60):
            coins.append(m.make('coin',pos=(0,0,0),parent=butcher.id))
        m.own(butcher,coins)
    
    # clothing-merchant
    stall = m.look_for(name='Tailor Stall')
    if stall is None:
        stall = m.make('stall', name='Tailor Stall',
                       pos=tailor_stall_pos, orientation=directions[7])
        m.make('wall', parent=stall.id, pos=(0, 0, 0),
               bbox=(-0.5,-1.5,0,0.5,1.5,0.8))
        m.make('wall', parent=stall.id, pos=(2, 0, 0),
               bbox=(0,-1.5,0,0.5,1.5,2))

    if m.look_for(name='Bok Forgo') is None:
        tailor=m.make('merchant', name='Bok Forgo',desc='the tailor',
                      pos=tailor_pos,age=probability.fertility_age)
        m.learn(tailor,(il.help,"add_help(['Get your clothes here.','Everything to keep you looking your best is here.'])"))
    
        m.know(tailor, tailor_knowledge)
        m.know(tailor, tailor_prices)

        m.own(tailor, stall)

        clothes=[]
        garment_types=['shirt', 'pants', 'cloak']
        garment_styles=['ragged', 'burlap', 'sun', 'fine']

        for i in range(0, 15):
            gty = garment_types[randint(0, len(garment_types)-1)]
            gsty = garment_styles[randint(0, len(garment_styles)-1)]
            gname = '%s %s' % (gsty, gty)
            clothes.append(m.make(gty,name=gname,pos=(0, uniform(-0.7, 0.7), 0), parent=stall.id))

        m.own(tailor, clothes)

# 	tool-merchant
    stall = m.look_for(name='Tool Stall')
    if stall is None:
        stall = m.make('stall', name='Tool Stall',
                       pos=tool_stall_pos, orientation=directions[2])
        m.make('wall', parent=stall.id, pos=(0, 0, 0),
               bbox=(-0.5,-1.5,0,0.5,1.5,0.8))
        m.make('wall',parent=stall.id, pos=(2, 0, 0),
               bbox=(0,-1.5,0,0.5,1.5,2))

    if m.look_for(name='Blackun Decker') is None:
        tmerchant=m.make('merchant', name='Blackun Decker',
                         desc='the tool merchant',
                         pos=tool_merchant_pos,age=probability.fertility_age)
        m.learn(tmerchant,(il.help,"add_help(['Get all your tools here.',"
                                   "'Everything a settler needs is available at "
                                   "great prices.'])"))

        m.know(tmerchant, toolmerc_knowledge)
        m.know(tmerchant, toolprices)

        m.own(tmerchant, stall)

        tools=[]
        # the different tools must be stated here \|/
        tooltypes=['shovel', 'axe', 'tinderbox', 'bowl', 'pole', 'bottle',
                   'cleaver', 'pickaxe', 'scythe', 'bucksaw', 'trowel', 
                   'hammer', 'fishingrod', 'sieve',
                  ] 
    
        for i in range(0, 20):
            tty = tooltypes[randint(0,len(tooltypes)-1)]
            tools.append(m.make(tty, pos=(uniform(-0.7, 0.7),
                                          uniform(-0.5,0.5),0.6),
                                parent=stall.id,
                                orientation=directions[randint(0,7)]))
    
        m.own(tmerchant,tools)

    sty = m.look_for(type='sty')
    if sty is None:
        sty=m.make('sty',pos=pig_sty_pos)

    merchant = m.look_for(name='Dyfed Searae')
    if merchant is None:
        merchant=m.make('merchant', name='Dyfed Searae',desc='the pig merchant',
                        pos=pig_sty_pos,age=probability.fertility_age,
                        orientation=Quaternion(Vector3D([1,0,0]),
                                               Vector3D([0,-1,0])).as_list())
        m.know(merchant,mknowledge)
        m.know(merchant,area)
        m.know(merchant,mprices)
        m.learn(merchant,(il.keep,"keep_livestock('pig', 'sty', 'sowee')"))
        m.learn(merchant,(il.sell,"sell_trade('pig', 'market', 'morning')"))
        m.learn(merchant,(il.sell,"sell_trade('pig', 'market', 'afternoon')"))
        m.learn(merchant,(il.lunch,"meal('ham','midday', 'inn')"))
        m.learn(merchant,(il.sup,"meal('beer', 'evening', 'inn')"))
        m.learn(merchant,(il.welcome,"welcome('Welcome to this our settlement',"
                                     "'settler')"))
        m.learn(merchant,(il.help,"add_help(["
              "'Thankyou for joining our remote settlement.',"
              "'Our first task is to build some shelter, but while we are "
              "doing that we still need food.',"
              "'You can help us out by raising pigs for slaughter.',"
              "'If you want to buy a piglet to raise, let me know by saying "
              "you would like to buy one.',"
              "'Pigs love to eat acorns from under the oak trees that are "
              "abundant in this area.'],"
              "['I would like to buy a pig', 'Pehaps I will buy one later'])"))


    m.own(merchant,sty)

    piglets=[]
    for i in range(0, 6):
        piglets.append(m.make('pig',pos=(uniform(0,4),uniform(0,4),settlement_height),parent=sty.id,orientation=directions[randint(0,7)]))
    m.learn(piglets,pig_goals)
    m.own(merchant,piglets)

    if m.look_for(name='Gorun Iksa') is None:
        marshall=m.make('marshall', name='Gorun Iksa',
                        desc='the duke\'s marshall',
                        pos=(14,12,settlement_height))
        m.know(marshall, [('deed','price','50')])
        m.know(marshall, area)
        m.know(marshall, about)
        m.learn(marshall,(il.help,"add_help(["
              "'On behalf of the Duke I would like to welcome you to moraf.',"
              "'If you are new here I suggest talking to the pig seller.',"
              "'He will tell you what you can do to help out.',"
              "'If you have decide you would like to settle here I can "
              "assign you some land',"
              "'but you will need to show that you are a useful citizen.',"
              "'If you can raise 50 coins herding pigs, then a plot of land is "
              "yours.'],"
              "['I would like to buy a deed',"
              "'I will come back when I have raised some pigs'])"))
        plots=[]
        for i in range(20, 200, 20):
            for j in range(-100, 100, 20):
                plots.append(m.make('deed', pos=(0,0,0), parent=marshall.id,
                             plot=(i,j)))
        m.own(marshall, plots)

    # Warriors - the more adventurous types

    warriors=[]
    warrior = m.look_for(name='Vonaa Barile')
    if warrior is None:
        warrior=m.make('mercenary', name='Vonaa Barile',
                       pos=(uniform(-2,2),uniform(-2,2),settlement_height),
                       orientation=directions[randint(0,7)])
        bow=m.make('bow',pos=(0,0,0), parent=warrior.id)
        m.own(warrior,bow)
        for i in range(0, 6):
            arrow=m.make('arrow',pos=(0,0,0), parent=warrior.id)
            m.own(warrior,arrow)
        warriors.append(warrior)

    warrior = m.look_for(name='Lile Birloc')
    if warrior is None:
        warrior=m.make('mercenary', name='Lile Birloc',
                       pos=(uniform(-2,2), uniform(-2,2), settlement_height),
                       orientation=directions[randint(0,7)])
        bow=m.make('bow',pos=(0,0,0), parent=warrior.id)
        m.own(warrior,bow)
        for i in range(0, 6):
            arrow=m.make('arrow',pos=(0,0,0), parent=warrior.id)
            m.own(warrior,arrow)
        warriors.append(warrior)

    # Warriors all know where stuff is in the village
    m.know(warriors,area)

    # Warriors enjoy their food and drink
    m.know(warriors, [('services','price','5')])
    m.learn(warriors,(il.help,"add_help(["
          "'The forest is a dangerous place.',"
          "'If you need some help protecting your pigs,',"
          "'I can help you out for a day or so.',"
          "'I will need some gold for food and equipment.',"
          "'For 5 coins I can work for you until sundown.',"
          "'After sundown you should make sure your pigs are safe,',"
          "'and get indoors yourself.',"
          "'If you want to hire my services,',"
          "'let me know by saying you would like to hire me.'],"
          "['I would like to hire your services',"
          "'I can take care of my pigs alone'])"))
    m.learn(warriors,(il.hire,"hire_trade()"))
    m.learn(warriors,(il.forage,"gather(['boots', 'cloak', 'shirt',"
                                "'pants', 'hat', 'skull', 'coin'])"))
    m.learn(warriors,(il.lunch,"meal('ham','midday', 'inn')"))
    m.learn(warriors,(il.sup,"meal('beer', 'evening', 'inn')"))

    # Goblins

    if m.look_for(type='goblin') is None:
        goblin_guards=[]
        goblin=m.make('goblin', pos=(102, -33, settlement_height))
        goblin_guards.append(goblin)
        goblin=m.make('goblin', pos=(98, -33, settlement_height))
        goblin_guards.append(goblin)

        m.learn(goblin_guards,(il.defend,"defend('settler', 10)"))
Ejemplo n.º 26
0
def resume(client):
    m = create_editor(client)

    m.look()
    m.set("0", suspended=0)
Ejemplo n.º 27
0
def add_agents(host='', account='', password='', **args):
    m = create_editor(host, account, password)
    _add_agents(m)
Ejemplo n.º 28
0
def add_obstacles(host='', account='', password='', **args):
    m = create_editor(host, account, password)
    _add_obstacles(m)
Ejemplo n.º 29
0
def create_island_terrain(host='', account='', password='', **args):
    
    m=create_editor(host, account, password)

    world=m.look()
    points = { }
    for i in range(-18, 17):
        for j in range(-18, 17):
            points['%ix%i'%(i,j)] = [i, j, -4]
    
    points['-10x-1'] = [-10, -1, 1.95581]
    points['-10x-10'] = [-10, -10, -4]
    points['-10x-11'] = [-10, -11, -4]
    points['-10x-12'] = [-10, -12, -4]
    points['-10x-13'] = [-10, -13, -4]
    points['-10x-14'] = [-10, -14, -4]
    points['-10x-15'] = [-10, -15, -4]
    points['-10x-16'] = [-10, -16, -4]
    points['-10x-2'] = [-10, -2, 1.10498]
    points['-10x-3'] = [-10, -3, -0.280887]
    points['-10x-4'] = [-10, -4, 6.64274]
    points['-10x-5'] = [-10, -5, 16.0409]
    points['-10x-6'] = [-10, -6, 22.5619]
    points['-10x-7'] = [-10, -7, 13.0858]
    points['-10x-8'] = [-10, -8, -0.320801]
    points['-10x-9'] = [-10, -9, -4]
    points['-10x0'] = [-10, 0, 1.10498]
    points['-10x1'] = [-10, 1, 2.21725]
    points['-10x10'] = [-10, 10, -4]
    points['-10x11'] = [-10, 11, -4]
    points['-10x12'] = [-10, 12, -4]
    points['-10x13'] = [-10, 13, -4]
    points['-10x14'] = [-10, 14, -4]
    points['-10x15'] = [-10, 15, -4]
    points['-10x16'] = [-10, 16, -4]
    points['-10x2'] = [-10, 2, 1.33415]
    points['-10x3'] = [-10, 3, -0.335241]
    points['-10x4'] = [-10, 4, -4]
    points['-10x5'] = [-10, 5, -4]
    points['-10x6'] = [-10, 6, -4]
    points['-10x7'] = [-10, 7, -4]
    points['-10x8'] = [-10, 8, -4]
    points['-10x9'] = [-10, 9, -4]
    points['-11x-1'] = [-11, -1, -4]
    points['-11x-10'] = [-11, -10, -4]
    points['-11x-11'] = [-11, -11, -4]
    points['-11x-12'] = [-11, -12, -4]
    points['-11x-13'] = [-11, -13, -4]
    points['-11x-14'] = [-11, -14, -4]
    points['-11x-15'] = [-11, -15, -4]
    points['-11x-16'] = [-11, -16, -4]
    points['-11x-2'] = [-11, -2, -4]
    points['-11x-3'] = [-11, -3, -4]
    points['-11x-4'] = [-11, -4, -4]
    points['-11x-5'] = [-11, -5, 2.53686]
    points['-11x-6'] = [-11, -6, 4.96484]
    points['-11x-7'] = [-11, -7, 2.53686]
    points['-11x-8'] = [-11, -8, -4]
    points['-11x-9'] = [-11, -9, -4]
    points['-11x0'] = [-11, 0, -0.335241]
    points['-11x1'] = [-11, 1, 4.67294]
    points['-11x10'] = [-11, 10, -4]
    points['-11x11'] = [-11, 11, -4]
    points['-11x12'] = [-11, 12, -4]
    points['-11x13'] = [-11, 13, -4]
    points['-11x14'] = [-11, 14, -4]
    points['-11x15'] = [-11, 15, -4]
    points['-11x16'] = [-11, 16, -4]
    points['-11x2'] = [-11, 2, 6.34233]
    points['-11x3'] = [-11, 3, 4.67294]
    points['-11x4'] = [-11, 4, -0.335241]
    points['-11x5'] = [-11, 5, -4]
    points['-11x6'] = [-11, 6, -4]
    points['-11x7'] = [-11, 7, -4]
    points['-11x8'] = [-11, 8, -4]
    points['-11x9'] = [-11, 9, -4]
    points['-12x-1'] = [-12, -1, -4]
    points['-12x-10'] = [-12, -10, -4]
    points['-12x-11'] = [-12, -11, -4]
    points['-12x-12'] = [-12, -12, -4]
    points['-12x-13'] = [-12, -13, -4]
    points['-12x-14'] = [-12, -14, -4]
    points['-12x-15'] = [-12, -15, -4]
    points['-12x-16'] = [-12, -16, -4]
    points['-12x-2'] = [-12, -2, -4]
    points['-12x-3'] = [-12, -3, -4]
    points['-12x-4'] = [-12, -4, -4]
    points['-12x-5'] = [-12, -5, 0.108887]
    points['-12x-6'] = [-12, -6, 2.53686]
    points['-12x-7'] = [-12, -7, 0.108887]
    points['-12x-8'] = [-12, -8, -4]
    points['-12x-9'] = [-12, -9, -4]
    points['-12x0'] = [-12, 0, 1.33415]
    points['-12x1'] = [-12, 1, 6.34233]
    points['-12x10'] = [-12, 10, -4]
    points['-12x11'] = [-12, 11, -4]
    points['-12x12'] = [-12, 12, -4]
    points['-12x13'] = [-12, 13, -4]
    points['-12x14'] = [-12, 14, -4]
    points['-12x15'] = [-12, 15, -4]
    points['-12x16'] = [-12, 16, -4]
    points['-12x2'] = [-12, 2, 8.01172]
    points['-12x3'] = [-12, 3, 6.34233]
    points['-12x4'] = [-12, 4, 1.33415]
    points['-12x5'] = [-12, 5, -4]
    points['-12x6'] = [-12, 6, -4]
    points['-12x7'] = [-12, 7, -4]
    points['-12x8'] = [-12, 8, -4]
    points['-12x9'] = [-12, 9, -4]
    points['-13x-1'] = [-13, -1, -4]
    points['-13x-10'] = [-13, -10, -4]
    points['-13x-11'] = [-13, -11, -4]
    points['-13x-12'] = [-13, -12, -4]
    points['-13x-13'] = [-13, -13, -4]
    points['-13x-14'] = [-13, -14, -4]
    points['-13x-15'] = [-13, -15, -4]
    points['-13x-16'] = [-13, -16, -4]
    points['-13x-2'] = [-13, -2, -4]
    points['-13x-3'] = [-13, -3, -4]
    points['-13x-4'] = [-13, -4, -4]
    points['-13x-5'] = [-13, -5, -4]
    points['-13x-6'] = [-13, -6, -4]
    points['-13x-7'] = [-13, -7, -4]
    points['-13x-8'] = [-13, -8, -4]
    points['-13x-9'] = [-13, -9, -4]
    points['-13x0'] = [-13, 0, -0.335241]
    points['-13x1'] = [-13, 1, 4.67294]
    points['-13x10'] = [-13, 10, -4]
    points['-13x11'] = [-13, 11, -4]
    points['-13x12'] = [-13, 12, -4]
    points['-13x13'] = [-13, 13, -4]
    points['-13x14'] = [-13, 14, -4]
    points['-13x15'] = [-13, 15, -4]
    points['-13x16'] = [-13, 16, -4]
    points['-13x2'] = [-13, 2, 6.34233]
    points['-13x3'] = [-13, 3, 4.67294]
    points['-13x4'] = [-13, 4, -0.335241]
    points['-13x5'] = [-13, 5, -4]
    points['-13x6'] = [-13, 6, -4]
    points['-13x7'] = [-13, 7, -4]
    points['-13x8'] = [-13, 8, -4]
    points['-13x9'] = [-13, 9, -4]
    points['-14x-1'] = [-14, -1, -4]
    points['-14x-10'] = [-14, -10, -4]
    points['-14x-11'] = [-14, -11, -4]
    points['-14x-12'] = [-14, -12, -4]
    points['-14x-13'] = [-14, -13, -4]
    points['-14x-14'] = [-14, -14, -4]
    points['-14x-15'] = [-14, -15, -4]
    points['-14x-16'] = [-14, -16, -4]
    points['-14x-2'] = [-14, -2, -4]
    points['-14x-3'] = [-14, -3, -4]
    points['-14x-4'] = [-14, -4, -4]
    points['-14x-5'] = [-14, -5, -4]
    points['-14x-6'] = [-14, -6, -4]
    points['-14x-7'] = [-14, -7, -4]
    points['-14x-8'] = [-14, -8, -4]
    points['-14x-9'] = [-14, -9, -4]
    points['-14x0'] = [-14, 0, -4]
    points['-14x1'] = [-14, 1, -0.335241]
    points['-14x10'] = [-14, 10, -4]
    points['-14x11'] = [-14, 11, -4]
    points['-14x12'] = [-14, 12, -4]
    points['-14x13'] = [-14, 13, -4]
    points['-14x14'] = [-14, 14, -4]
    points['-14x15'] = [-14, 15, -4]
    points['-14x16'] = [-14, 16, -4]
    points['-14x2'] = [-14, 2, 1.33415]
    points['-14x3'] = [-14, 3, -0.335241]
    points['-14x4'] = [-14, 4, -4]
    points['-14x5'] = [-14, 5, -4]
    points['-14x6'] = [-14, 6, -4]
    points['-14x7'] = [-14, 7, -4]
    points['-14x8'] = [-14, 8, -4]
    points['-14x9'] = [-14, 9, -4]
    points['-15x-1'] = [-15, -1, -4]
    points['-15x-10'] = [-15, -10, -4]
    points['-15x-11'] = [-15, -11, -4]
    points['-15x-12'] = [-15, -12, -4]
    points['-15x-13'] = [-15, -13, -4]
    points['-15x-14'] = [-15, -14, -4]
    points['-15x-15'] = [-15, -15, -4]
    points['-15x-16'] = [-15, -16, -4]
    points['-15x-2'] = [-15, -2, -4]
    points['-15x-3'] = [-15, -3, -4]
    points['-15x-4'] = [-15, -4, -4]
    points['-15x-5'] = [-15, -5, -4]
    points['-15x-6'] = [-15, -6, -4]
    points['-15x-7'] = [-15, -7, -4]
    points['-15x-8'] = [-15, -8, -4]
    points['-15x-9'] = [-15, -9, -4]
    points['-15x0'] = [-15, 0, -4]
    points['-15x1'] = [-15, 1, -4]
    points['-15x10'] = [-15, 10, -4]
    points['-15x11'] = [-15, 11, -4]
    points['-15x12'] = [-15, 12, -4]
    points['-15x13'] = [-15, 13, -4]
    points['-15x14'] = [-15, 14, -4]
    points['-15x15'] = [-15, 15, -4]
    points['-15x16'] = [-15, 16, -4]
    points['-15x2'] = [-15, 2, -4]
    points['-15x3'] = [-15, 3, -4]
    points['-15x4'] = [-15, 4, -4]
    points['-15x5'] = [-15, 5, -4]
    points['-15x6'] = [-15, 6, -4]
    points['-15x7'] = [-15, 7, -4]
    points['-15x8'] = [-15, 8, -4]
    points['-15x9'] = [-15, 9, -4]
    points['-16x-1'] = [-16, -1, -4]
    points['-16x-10'] = [-16, -10, -4]
    points['-16x-11'] = [-16, -11, -4]
    points['-16x-12'] = [-16, -12, -4]
    points['-16x-13'] = [-16, -13, -4]
    points['-16x-14'] = [-16, -14, -4]
    points['-16x-15'] = [-16, -15, -4]
    points['-16x-16'] = [-16, -16, -4]
    points['-16x-2'] = [-16, -2, -4]
    points['-16x-3'] = [-16, -3, -4]
    points['-16x-4'] = [-16, -4, -4]
    points['-16x-5'] = [-16, -5, -4]
    points['-16x-6'] = [-16, -6, -4]
    points['-16x-7'] = [-16, -7, -4]
    points['-16x-8'] = [-16, -8, -4]
    points['-16x-9'] = [-16, -9, -4]
    points['-16x0'] = [-16, 0, -4]
    points['-16x1'] = [-16, 1, -4]
    points['-16x10'] = [-16, 10, -4]
    points['-16x11'] = [-16, 11, -4]
    points['-16x12'] = [-16, 12, -4]
    points['-16x13'] = [-16, 13, -4]
    points['-16x14'] = [-16, 14, -4]
    points['-16x15'] = [-16, 15, -4]
    points['-16x16'] = [-16, 16, -4]
    points['-16x2'] = [-16, 2, -4]
    points['-16x3'] = [-16, 3, -4]
    points['-16x4'] = [-16, 4, -4]
    points['-16x5'] = [-16, 5, -4]
    points['-16x6'] = [-16, 6, -4]
    points['-16x7'] = [-16, 7, -4]
    points['-16x8'] = [-16, 8, -4]
    points['-16x9'] = [-16, 9, -4]
    points['-17x-1'] = [-17, -1, -4]
    points['-17x-10'] = [-17, -10, -4]
    points['-17x-11'] = [-17, -11, -4]
    points['-17x-12'] = [-17, -12, -4]
    points['-17x-13'] = [-17, -13, -4]
    points['-17x-14'] = [-17, -14, -4]
    points['-17x-15'] = [-17, -15, -4]
    points['-17x-16'] = [-17, -16, -4]
    points['-17x-2'] = [-17, -2, -4]
    points['-17x-3'] = [-17, -3, -4]
    points['-17x-4'] = [-17, -4, -4]
    points['-17x-5'] = [-17, -5, -4]
    points['-17x-6'] = [-17, -6, -4]
    points['-17x-7'] = [-17, -7, -4]
    points['-17x-8'] = [-17, -8, -4]
    points['-17x-9'] = [-17, -9, -4]
    points['-17x0'] = [-17, 0, -4]
    points['-17x1'] = [-17, 1, -4]
    points['-17x10'] = [-17, 10, -4]
    points['-17x11'] = [-17, 11, -4]
    points['-17x12'] = [-17, 12, -4]
    points['-17x13'] = [-17, 13, -4]
    points['-17x14'] = [-17, 14, -4]
    points['-17x15'] = [-17, 15, -4]
    points['-17x16'] = [-17, 16, -4]
    points['-17x2'] = [-17, 2, -4]
    points['-17x3'] = [-17, 3, -4]
    points['-17x4'] = [-17, 4, -4]
    points['-17x5'] = [-17, 5, -4]
    points['-17x6'] = [-17, 6, -4]
    points['-17x7'] = [-17, 7, -4]
    points['-17x8'] = [-17, 8, -4]
    points['-17x9'] = [-17, 9, -4]
    points['-18x-1'] = [-18, -1, -4]
    points['-18x-10'] = [-18, -10, -4]
    points['-18x-11'] = [-18, -11, -4]
    points['-18x-12'] = [-18, -12, -4]
    points['-18x-13'] = [-18, -13, -4]
    points['-18x-14'] = [-18, -14, -4]
    points['-18x-15'] = [-18, -15, -4]
    points['-18x-16'] = [-18, -16, -4]
    points['-18x-2'] = [-18, -2, -4]
    points['-18x-3'] = [-18, -3, -4]
    points['-18x-4'] = [-18, -4, -4]
    points['-18x-5'] = [-18, -5, -4]
    points['-18x-6'] = [-18, -6, -4]
    points['-18x-7'] = [-18, -7, -4]
    points['-18x-8'] = [-18, -8, -4]
    points['-18x-9'] = [-18, -9, -4]
    points['-18x0'] = [-18, 0, -4]
    points['-18x1'] = [-18, 1, -4]
    points['-18x10'] = [-18, 10, -4]
    points['-18x11'] = [-18, 11, -4]
    points['-18x12'] = [-18, 12, -4]
    points['-18x13'] = [-18, 13, -4]
    points['-18x14'] = [-18, 14, -4]
    points['-18x15'] = [-18, 15, -4]
    points['-18x16'] = [-18, 16, -4]
    points['-18x2'] = [-18, 2, -4]
    points['-18x3'] = [-18, 3, -4]
    points['-18x4'] = [-18, 4, -4]
    points['-18x5'] = [-18, 5, -4]
    points['-18x6'] = [-18, 6, -4]
    points['-18x7'] = [-18, 7, -4]
    points['-18x8'] = [-18, 8, -4]
    points['-18x9'] = [-18, 9, -4]
    points['-1x-1'] = [-1, -1, 77.258]
    points['-1x-10'] = [-1, -10, -4]
    points['-1x-11'] = [-1, -11, -4]
    points['-1x-12'] = [-1, -12, -4]
    points['-1x-13'] = [-1, -13, -4]
    points['-1x-14'] = [-1, -14, -4]
    points['-1x-15'] = [-1, -15, -4]
    points['-1x-16'] = [-1, -16, -4]
    points['-1x-2'] = [-1, -2, 52.4169]
    points['-1x-3'] = [-1, -3, 23.3033]
    points['-1x-4'] = [-1, -4, 11.6555]
    points['-1x-5'] = [-1, -5, 8.52441]
    points['-1x-6'] = [-1, -6, 3.30591]
    points['-1x-7'] = [-1, -7, -4]
    points['-1x-8'] = [-1, -8, -4]
    points['-1x-9'] = [-1, -9, -4]
    points['-1x0'] = [-1, 0, 78.148]
    points['-1x1'] = [-1, 1, 57.1655]
    points['-1x10'] = [-1, 10, -4]
    points['-1x11'] = [-1, 11, -4]
    points['-1x12'] = [-1, 12, -4]
    points['-1x13'] = [-1, 13, -4]
    points['-1x14'] = [-1, 14, -4]
    points['-1x15'] = [-1, 15, -4]
    points['-1x16'] = [-1, 16, -4]
    points['-1x2'] = [-1, 2, 33.1332]
    points['-1x3'] = [-1, 3, 11.0135]
    points['-1x4'] = [-1, 4, 5.84253]
    points['-1x5'] = [-1, 5, 3.1582]
    points['-1x6'] = [-1, 6, -1.31567]
    points['-1x7'] = [-1, 7, -4]
    points['-1x8'] = [-1, 8, -4]
    points['-1x9'] = [-1, 9, -4]
    points['-2x-1'] = [-2, -1, 94.748]
    points['-2x-10'] = [-2, -10, -4]
    points['-2x-11'] = [-2, -11, -4]
    points['-2x-12'] = [-2, -12, -4]
    points['-2x-13'] = [-2, -13, -4]
    points['-2x-14'] = [-2, -14, -4]
    points['-2x-15'] = [-2, -15, -4]
    points['-2x-16'] = [-2, -16, -4]
    points['-2x-2'] = [-2, -2, 67.1078]
    points['-2x-3'] = [-2, -3, 27.8951]
    points['-2x-4'] = [-2, -4, 10.6118]
    points['-2x-5'] = [-2, -5, 7.48071]
    points['-2x-6'] = [-2, -6, 2.26221]
    points['-2x-7'] = [-2, -7, -4]
    points['-2x-8'] = [-2, -8, -4]
    points['-2x-9'] = [-2, -9, -4]
    points['-2x0'] = [-2, 0, 75.9072]
    points['-2x1'] = [-2, 1, 43.7644]
    points['-2x10'] = [-2, 10, -4]
    points['-2x11'] = [-2, 11, -4]
    points['-2x12'] = [-2, 12, -4]
    points['-2x13'] = [-2, 13, -4]
    points['-2x14'] = [-2, 14, -4]
    points['-2x15'] = [-2, 15, -4]
    points['-2x16'] = [-2, 16, -4]
    points['-2x2'] = [-2, 2, 20.6026]
    points['-2x3'] = [-2, 3, 9.42163]
    points['-2x4'] = [-2, 4, 8.52686]
    points['-2x5'] = [-2, 5, 5.84253]
    points['-2x6'] = [-2, 6, 1.36865]
    points['-2x7'] = [-2, 7, -1.73682]
    points['-2x8'] = [-2, 8, -3.32617]
    points['-2x9'] = [-2, 9, 1.2002]
    points['-3x-1'] = [-3, -1, 110.343]
    points['-3x-10'] = [-3, -10, -4]
    points['-3x-11'] = [-3, -11, -4]
    points['-3x-12'] = [-3, -12, -4]
    points['-3x-13'] = [-3, -13, -4]
    points['-3x-14'] = [-3, -14, -4]
    points['-3x-15'] = [-3, -15, -4]
    points['-3x-16'] = [-3, -16, -4]
    points['-3x-2'] = [-3, -2, 86.2804]
    points['-3x-3'] = [-3, -3, 32.5181]
    points['-3x-4'] = [-3, -4, 10.9079]
    points['-3x-5'] = [-3, -5, 5.81345]
    points['-3x-6'] = [-3, -6, 0.0350659]
    points['-3x-7'] = [-3, -7, -0.81589]
    points['-3x-8'] = [-3, -8, -3.09604]
    points['-3x-9'] = [-3, -9, -4]
    points['-3x0'] = [-3, 0, 67.6712]
    points['-3x1'] = [-3, 1, 35.3627]
    points['-3x10'] = [-3, 10, 1.2002]
    points['-3x11'] = [-3, 11, -4]
    points['-3x12'] = [-3, 12, -4]
    points['-3x13'] = [-3, 13, -4]
    points['-3x14'] = [-3, 14, -4]
    points['-3x15'] = [-3, 15, -4]
    points['-3x16'] = [-3, 16, -4]
    points['-3x2'] = [-3, 2, 21.3996]
    points['-3x3'] = [-3, 3, 10.3164]
    points['-3x4'] = [-3, 4, 9.42163]
    points['-3x5'] = [-3, 5, 6.7373]
    points['-3x6'] = [-3, 6, 4.52661]
    points['-3x7'] = [-3, 7, 8.74414]
    points['-3x8'] = [-3, 8, 7.05713]
    points['-3x9'] = [-3, 9, 24.4082]
    points['-4x-1'] = [-4, -1, 89.5962]
    points['-4x-10'] = [-4, -10, -4]
    points['-4x-11'] = [-4, -11, -4]
    points['-4x-12'] = [-4, -12, -4]
    points['-4x-13'] = [-4, -13, -4]
    points['-4x-14'] = [-4, -14, -4]
    points['-4x-15'] = [-4, -15, -4]
    points['-4x-16'] = [-4, -16, -4]
    points['-4x-2'] = [-4, -2, 76.9817]
    points['-4x-3'] = [-4, -3, 50.2972]
    points['-4x-4'] = [-4, -4, 23.2425]
    points['-4x-5'] = [-4, -5, 27.1206]
    points['-4x-6'] = [-4, -6, 31.7463]
    points['-4x-7'] = [-4, -7, 20.204]
    points['-4x-8'] = [-4, -8, 6.09926]
    points['-4x-9'] = [-4, -9, -3.09604]
    points['-4x0'] = [-4, 0, 59.9742]
    points['-4x1'] = [-4, 1, 38.0547]
    points['-4x10'] = [-4, 10, -4]
    points['-4x11'] = [-4, 11, -4]
    points['-4x12'] = [-4, 12, -4]
    points['-4x13'] = [-4, 13, -4]
    points['-4x14'] = [-4, 14, -4]
    points['-4x15'] = [-4, 15, -4]
    points['-4x16'] = [-4, 16, -4]
    points['-4x2'] = [-4, 2, 16.7562]
    points['-4x3'] = [-4, 3, 9.42163]
    points['-4x4'] = [-4, 4, 8.52686]
    points['-4x5'] = [-4, 5, 5.84253]
    points['-4x6'] = [-4, 6, 1.36865]
    points['-4x7'] = [-4, 7, -1.73682]
    points['-4x8'] = [-4, 8, -3.32617]
    points['-4x9'] = [-4, 9, 1.2002]
    points['-5x-1'] = [-5, -1, 105.043]
    points['-5x-10'] = [-5, -10, -4]
    points['-5x-11'] = [-5, -11, -4]
    points['-5x-12'] = [-5, -12, -4]
    points['-5x-13'] = [-5, -13, -4]
    points['-5x-14'] = [-5, -14, -4]
    points['-5x-15'] = [-5, -15, -4]
    points['-5x-16'] = [-5, -16, -4]
    points['-5x-2'] = [-5, -2, 75.1664]
    points['-5x-3'] = [-5, -3, 50.4792]
    points['-5x-4'] = [-5, -4, 37.5816]
    points['-5x-5'] = [-5, -5, 44.0415]
    points['-5x-6'] = [-5, -6, 56.9202]
    points['-5x-7'] = [-5, -7, 46.6249]
    points['-5x-8'] = [-5, -8, 33.5784]
    points['-5x-9'] = [-5, -9, 8.0997]
    points['-5x0'] = [-5, 0, 62.2827]
    points['-5x1'] = [-5, 1, 27.0562]
    points['-5x10'] = [-5, 10, -4]
    points['-5x11'] = [-5, 11, -4]
    points['-5x12'] = [-5, 12, -4]
    points['-5x13'] = [-5, 13, -4]
    points['-5x14'] = [-5, 14, -4]
    points['-5x15'] = [-5, 15, -4]
    points['-5x16'] = [-5, 16, -4]
    points['-5x2'] = [-5, 2, 8.39502]
    points['-5x3'] = [-5, 3, 6.7373]
    points['-5x4'] = [-5, 4, 5.84253]
    points['-5x5'] = [-5, 5, 3.1582]
    points['-5x6'] = [-5, 6, -1.31567]
    points['-5x7'] = [-5, 7, -4]
    points['-5x8'] = [-5, 8, -4]
    points['-5x9'] = [-5, 9, -4]
    points['-6x-1'] = [-6, -1, 57.4026]
    points['-6x-10'] = [-6, -10, 1.42969]
    points['-6x-11'] = [-6, -11, -4]
    points['-6x-12'] = [-6, -12, -4]
    points['-6x-13'] = [-6, -13, -4]
    points['-6x-14'] = [-6, -14, -4]
    points['-6x-15'] = [-6, -15, -4]
    points['-6x-16'] = [-6, -16, -4]
    points['-6x-2'] = [-6, -2, 53.3173]
    points['-6x-3'] = [-6, -3, 40.5705]
    points['-6x-4'] = [-6, -4, 51.555]
    points['-6x-5'] = [-6, -5, 90.7036]
    points['-6x-6'] = [-6, -6, 123.636]
    points['-6x-7'] = [-6, -7, 100.699]
    points['-6x-8'] = [-6, -8, 64.8372]
    points['-6x-9'] = [-6, -9, 24.3544]
    points['-6x0'] = [-6, 0, 58.2249]
    points['-6x1'] = [-6, 1, 29.9212]
    points['-6x10'] = [-6, 10, -4]
    points['-6x11'] = [-6, 11, -4]
    points['-6x12'] = [-6, 12, -4]
    points['-6x13'] = [-6, 13, -4]
    points['-6x14'] = [-6, 14, -4]
    points['-6x15'] = [-6, 15, -4]
    points['-6x16'] = [-6, 16, -4]
    points['-6x2'] = [-6, 2, 8.93068]
    points['-6x3'] = [-6, 3, 2.84507]
    points['-6x4'] = [-6, 4, 1.36865]
    points['-6x5'] = [-6, 5, -1.31567]
    points['-6x6'] = [-6, 6, -4]
    points['-6x7'] = [-6, 7, -4]
    points['-6x8'] = [-6, 8, -4]
    points['-6x9'] = [-6, 9, -4]
    points['-7x-1'] = [-7, -1, 19.131]
    points['-7x-10'] = [-7, -10, 8.82227]
    points['-7x-11'] = [-7, -11, -4]
    points['-7x-12'] = [-7, -12, -4]
    points['-7x-13'] = [-7, -13, -4]
    points['-7x-14'] = [-7, -14, -4]
    points['-7x-15'] = [-7, -15, -4]
    points['-7x-16'] = [-7, -16, -4]
    points['-7x-2'] = [-7, -2, 26.8134]
    points['-7x-3'] = [-7, -3, 26.2259]
    points['-7x-4'] = [-7, -4, 54.1157]
    points['-7x-5'] = [-7, -5, 102.226]
    points['-7x-6'] = [-7, -6, 133.123]
    points['-7x-7'] = [-7, -7, 117.397]
    points['-7x-8'] = [-7, -8, 79.283]
    points['-7x-9'] = [-7, -9, 32.7417]
    points['-7x0'] = [-7, 0, 27.9839]
    points['-7x1'] = [-7, 1, 10.6837]
    points['-7x10'] = [-7, 10, -4]
    points['-7x11'] = [-7, 11, -4]
    points['-7x12'] = [-7, 12, -4]
    points['-7x13'] = [-7, 13, -4]
    points['-7x14'] = [-7, 14, -4]
    points['-7x15'] = [-7, 15, -4]
    points['-7x16'] = [-7, 16, -4]
    points['-7x2'] = [-7, 2, 3.04527]
    points['-7x3'] = [-7, 3, 0.250355]
    points['-7x4'] = [-7, 4, -3.41835]
    points['-7x5'] = [-7, 5, -4]
    points['-7x6'] = [-7, 6, -4]
    points['-7x7'] = [-7, 7, -4]
    points['-7x8'] = [-7, 8, -4]
    points['-7x9'] = [-7, 9, -4]
    points['-8x-1'] = [-8, -1, 8.76245]
    points['-8x-10'] = [-8, -10, 1.63965]
    points['-8x-11'] = [-8, -11, -4]
    points['-8x-12'] = [-8, -12, -4]
    points['-8x-13'] = [-8, -13, -4]
    points['-8x-14'] = [-8, -14, -4]
    points['-8x-15'] = [-8, -15, -4]
    points['-8x-16'] = [-8, -16, -4]
    points['-8x-2'] = [-8, -2, 10.2829]
    points['-8x-3'] = [-8, -3, 9.73812]
    points['-8x-4'] = [-8, -4, 35.9729]
    points['-8x-5'] = [-8, -5, 75.7647]
    points['-8x-6'] = [-8, -6, 97.6116]
    points['-8x-7'] = [-8, -7, 78.535]
    points['-8x-8'] = [-8, -8, 56.2248]
    points['-8x-9'] = [-8, -9, 26.2054]
    points['-8x0'] = [-8, 0, 9.92836]
    points['-8x1'] = [-8, 1, 5.35913]
    points['-8x10'] = [-8, 10, -4]
    points['-8x11'] = [-8, 11, -4]
    points['-8x12'] = [-8, 12, -4]
    points['-8x13'] = [-8, 13, -4]
    points['-8x14'] = [-8, 14, -4]
    points['-8x15'] = [-8, 15, -4]
    points['-8x16'] = [-8, 16, -4]
    points['-8x2'] = [-8, 2, 1.17565]
    points['-8x3'] = [-8, 3, -3.41835]
    points['-8x4'] = [-8, 4, -4]
    points['-8x5'] = [-8, 5, -4]
    points['-8x6'] = [-8, 6, -4]
    points['-8x7'] = [-8, 7, -4]
    points['-8x8'] = [-8, 8, -4]
    points['-8x9'] = [-8, 9, -4]
    points['-9x-1'] = [-9, -1, 6.20996]
    points['-9x-10'] = [-9, -10, -0.455079]
    points['-9x-11'] = [-9, -11, -4]
    points['-9x-12'] = [-9, -12, -4]
    points['-9x-13'] = [-9, -13, -4]
    points['-9x-14'] = [-9, -14, -4]
    points['-9x-15'] = [-9, -15, -4]
    points['-9x-16'] = [-9, -16, -4]
    points['-9x-2'] = [-9, -2, 6.52576]
    points['-9x-3'] = [-9, -3, 5.98099]
    points['-9x-4'] = [-9, -4, 13.1992]
    points['-9x-5'] = [-9, -5, 27.0985]
    points['-9x-6'] = [-9, -6, 51.0508]
    points['-9x-7'] = [-9, -7, 39.8303]
    points['-9x-8'] = [-9, -8, 22.4592]
    points['-9x-9'] = [-9, -9, 8.42844]
    points['-9x0'] = [-9, 0, 5.35913]
    points['-9x1'] = [-9, 1, 2.80664]
    points['-9x10'] = [-9, 10, -4]
    points['-9x11'] = [-9, 11, -4]
    points['-9x12'] = [-9, 12, -4]
    points['-9x13'] = [-9, 13, -4]
    points['-9x14'] = [-9, 14, -4]
    points['-9x15'] = [-9, 15, -4]
    points['-9x16'] = [-9, 16, -4]
    points['-9x2'] = [-9, 2, -1.44751]
    points['-9x3'] = [-9, 3, -4]
    points['-9x4'] = [-9, 4, -4]
    points['-9x5'] = [-9, 5, -4]
    points['-9x6'] = [-9, 6, -4]
    points['-9x7'] = [-9, 7, -4]
    points['-9x8'] = [-9, 8, -4]
    points['-9x9'] = [-9, 9, -4]
    points['0x-1'] = [0, -1, 48.4715]
    points['0x-10'] = [0, -10, -4]
    points['0x-11'] = [0, -11, -4]
    points['0x-12'] = [0, -12, -4]
    points['0x-13'] = [0, -13, -4]
    points['0x-14'] = [0, -14, -4]
    points['0x-15'] = [0, -15, -4]
    points['0x-16'] = [0, -16, -4]
    points['0x-2'] = [0, -2, 25.426]
    points['0x-3'] = [0, -3, 11.6555]
    points['0x-4'] = [0, -4, 10.6118]
    points['0x-5'] = [0, -5, 7.48071]
    points['0x-6'] = [0, -6, 2.26221]
    points['0x-7'] = [0, -7, -4]
    points['0x-8'] = [0, -8, -4]
    points['0x-9'] = [0, -9, -4]
    points['0x0'] = [0, 0, 66.7412]
    points['0x1'] = [0, 1, 64.8109]
    points['0x10'] = [0, 10, -4]
    points['0x11'] = [0, 11, -4]
    points['0x12'] = [0, 12, -4]
    points['0x13'] = [0, 13, -4]
    points['0x14'] = [0, 14, -4]
    points['0x15'] = [0, 15, -4]
    points['0x16'] = [0, 16, -4]
    points['0x2'] = [0, 2, 47.3024]
    points['0x3'] = [0, 3, 14.5311]
    points['0x4'] = [0, 4, 2.60076]
    points['0x5'] = [0, 5, 0.711194]
    points['0x6'] = [0, 6, -2.76789]
    points['0x7'] = [0, 7, -4]
    points['0x8'] = [0, 8, -4]
    points['0x9'] = [0, 9, -4]
    points['10x-1'] = [10, -1, -4]
    points['10x-10'] = [10, -10, -4]
    points['10x-11'] = [10, -11, -4]
    points['10x-12'] = [10, -12, -4]
    points['10x-13'] = [10, -13, -4]
    points['10x-14'] = [10, -14, -4]
    points['10x-15'] = [10, -15, -4]
    points['10x-16'] = [10, -16, -4]
    points['10x-2'] = [10, -2, -4]
    points['10x-3'] = [10, -3, -4]
    points['10x-4'] = [10, -4, -4]
    points['10x-5'] = [10, -5, -4]
    points['10x-6'] = [10, -6, -4]
    points['10x-7'] = [10, -7, -4]
    points['10x-8'] = [10, -8, -4]
    points['10x-9'] = [10, -9, -4]
    points['10x0'] = [10, 0, -4]
    points['10x1'] = [10, 1, 0.661865]
    points['10x10'] = [10, 10, -4]
    points['10x11'] = [10, 11, -4]
    points['10x12'] = [10, 12, -4]
    points['10x13'] = [10, 13, -4]
    points['10x14'] = [10, 14, -4]
    points['10x15'] = [10, 15, -4]
    points['10x16'] = [10, 16, -4]
    points['10x2'] = [10, 2, 8.43164]
    points['10x3'] = [10, 3, 13.0935]
    points['10x4'] = [10, 4, 14.6475]
    points['10x5'] = [10, 5, 13.0935]
    points['10x6'] = [10, 6, 8.43164]
    points['10x7'] = [10, 7, 0.661865]
    points['10x8'] = [10, 8, -4]
    points['10x9'] = [10, 9, -4]
    points['11x-1'] = [11, -1, -4]
    points['11x-10'] = [11, -10, -4]
    points['11x-11'] = [11, -11, -4]
    points['11x-12'] = [11, -12, -4]
    points['11x-13'] = [11, -13, -4]
    points['11x-14'] = [11, -14, -4]
    points['11x-15'] = [11, -15, -4]
    points['11x-16'] = [11, -16, -4]
    points['11x-2'] = [11, -2, -4]
    points['11x-3'] = [11, -3, -4]
    points['11x-4'] = [11, -4, -4]
    points['11x-5'] = [11, -5, -4]
    points['11x-6'] = [11, -6, -4]
    points['11x-7'] = [11, -7, -4]
    points['11x-8'] = [11, -8, -4]
    points['11x-9'] = [11, -9, -4]
    points['11x0'] = [11, 0, -4]
    points['11x1'] = [11, 1, -4]
    points['11x10'] = [11, 10, -4]
    points['11x11'] = [11, 11, -4]
    points['11x12'] = [11, 12, -4]
    points['11x13'] = [11, 13, -4]
    points['11x14'] = [11, 14, -4]
    points['11x15'] = [11, 15, -4]
    points['11x16'] = [11, 16, -4]
    points['11x2'] = [11, 2, 0.661865]
    points['11x3'] = [11, 3, 5.32373]
    points['11x4'] = [11, 4, 6.87769]
    points['11x5'] = [11, 5, 5.32373]
    points['11x6'] = [11, 6, 0.661865]
    points['11x7'] = [11, 7, -4]
    points['11x8'] = [11, 8, -4]
    points['11x9'] = [11, 9, -4]
    points['12x-1'] = [12, -1, -4]
    points['12x-10'] = [12, -10, -4]
    points['12x-11'] = [12, -11, -4]
    points['12x-12'] = [12, -12, -4]
    points['12x-13'] = [12, -13, -4]
    points['12x-14'] = [12, -14, -4]
    points['12x-15'] = [12, -15, -4]
    points['12x-16'] = [12, -16, -4]
    points['12x-2'] = [12, -2, -4]
    points['12x-3'] = [12, -3, -4]
    points['12x-4'] = [12, -4, -4]
    points['12x-5'] = [12, -5, -4]
    points['12x-6'] = [12, -6, -4]
    points['12x-7'] = [12, -7, -4]
    points['12x-8'] = [12, -8, -4]
    points['12x-9'] = [12, -9, -4]
    points['12x0'] = [12, 0, -4]
    points['12x1'] = [12, 1, -4]
    points['12x10'] = [12, 10, -4]
    points['12x11'] = [12, 11, -4]
    points['12x12'] = [12, 12, -4]
    points['12x13'] = [12, 13, -4]
    points['12x14'] = [12, 14, -4]
    points['12x15'] = [12, 15, -4]
    points['12x16'] = [12, 16, -4]
    points['12x2'] = [12, 2, -4]
    points['12x3'] = [12, 3, -4]
    points['12x4'] = [12, 4, -4]
    points['12x5'] = [12, 5, -4]
    points['12x6'] = [12, 6, -4]
    points['12x7'] = [12, 7, -4]
    points['12x8'] = [12, 8, -4]
    points['12x9'] = [12, 9, -4]
    points['13x-1'] = [13, -1, -4]
    points['13x-10'] = [13, -10, -4]
    points['13x-11'] = [13, -11, -4]
    points['13x-12'] = [13, -12, -4]
    points['13x-13'] = [13, -13, -4]
    points['13x-14'] = [13, -14, -4]
    points['13x-15'] = [13, -15, -4]
    points['13x-16'] = [13, -16, -4]
    points['13x-2'] = [13, -2, -4]
    points['13x-3'] = [13, -3, -4]
    points['13x-4'] = [13, -4, -4]
    points['13x-5'] = [13, -5, -4]
    points['13x-6'] = [13, -6, -4]
    points['13x-7'] = [13, -7, -4]
    points['13x-8'] = [13, -8, -4]
    points['13x-9'] = [13, -9, -4]
    points['13x0'] = [13, 0, -4]
    points['13x1'] = [13, 1, -4]
    points['13x10'] = [13, 10, -4]
    points['13x11'] = [13, 11, -4]
    points['13x12'] = [13, 12, -4]
    points['13x13'] = [13, 13, -4]
    points['13x14'] = [13, 14, -4]
    points['13x15'] = [13, 15, -4]
    points['13x16'] = [13, 16, -4]
    points['13x2'] = [13, 2, -4]
    points['13x3'] = [13, 3, -4]
    points['13x4'] = [13, 4, -4]
    points['13x5'] = [13, 5, -4]
    points['13x6'] = [13, 6, -4]
    points['13x7'] = [13, 7, -4]
    points['13x8'] = [13, 8, -4]
    points['13x9'] = [13, 9, -4]
    points['14x-1'] = [14, -1, -4]
    points['14x-10'] = [14, -10, -4]
    points['14x-11'] = [14, -11, -4]
    points['14x-12'] = [14, -12, -4]
    points['14x-13'] = [14, -13, -4]
    points['14x-14'] = [14, -14, -4]
    points['14x-15'] = [14, -15, -4]
    points['14x-16'] = [14, -16, -4]
    points['14x-2'] = [14, -2, -4]
    points['14x-3'] = [14, -3, -4]
    points['14x-4'] = [14, -4, -4]
    points['14x-5'] = [14, -5, -4]
    points['14x-6'] = [14, -6, -4]
    points['14x-7'] = [14, -7, -4]
    points['14x-8'] = [14, -8, -4]
    points['14x-9'] = [14, -9, -4]
    points['14x0'] = [14, 0, -4]
    points['14x1'] = [14, 1, -4]
    points['14x10'] = [14, 10, -4]
    points['14x11'] = [14, 11, -4]
    points['14x12'] = [14, 12, -4]
    points['14x13'] = [14, 13, -4]
    points['14x14'] = [14, 14, -4]
    points['14x15'] = [14, 15, -4]
    points['14x16'] = [14, 16, -4]
    points['14x2'] = [14, 2, -4]
    points['14x3'] = [14, 3, -4]
    points['14x4'] = [14, 4, -4]
    points['14x5'] = [14, 5, -4]
    points['14x6'] = [14, 6, -4]
    points['14x7'] = [14, 7, -4]
    points['14x8'] = [14, 8, -4]
    points['14x9'] = [14, 9, -4]
    points['15x-1'] = [15, -1, -4]
    points['15x-10'] = [15, -10, -4]
    points['15x-11'] = [15, -11, -4]
    points['15x-12'] = [15, -12, -4]
    points['15x-13'] = [15, -13, -4]
    points['15x-14'] = [15, -14, -4]
    points['15x-15'] = [15, -15, -4]
    points['15x-16'] = [15, -16, -4]
    points['15x-2'] = [15, -2, -4]
    points['15x-3'] = [15, -3, -4]
    points['15x-4'] = [15, -4, -4]
    points['15x-5'] = [15, -5, -4]
    points['15x-6'] = [15, -6, -4]
    points['15x-7'] = [15, -7, -4]
    points['15x-8'] = [15, -8, -4]
    points['15x-9'] = [15, -9, -4]
    points['15x0'] = [15, 0, -4]
    points['15x1'] = [15, 1, -4]
    points['15x10'] = [15, 10, -4]
    points['15x11'] = [15, 11, -4]
    points['15x12'] = [15, 12, -4]
    points['15x13'] = [15, 13, -4]
    points['15x14'] = [15, 14, -4]
    points['15x15'] = [15, 15, -4]
    points['15x16'] = [15, 16, -4]
    points['15x2'] = [15, 2, -4]
    points['15x3'] = [15, 3, -4]
    points['15x4'] = [15, 4, -4]
    points['15x5'] = [15, 5, -4]
    points['15x6'] = [15, 6, -4]
    points['15x7'] = [15, 7, -4]
    points['15x8'] = [15, 8, -4]
    points['15x9'] = [15, 9, -4]
    points['16x-1'] = [16, -1, -4]
    points['16x-10'] = [16, -10, -4]
    points['16x-11'] = [16, -11, -4]
    points['16x-12'] = [16, -12, -4]
    points['16x-13'] = [16, -13, -4]
    points['16x-14'] = [16, -14, -4]
    points['16x-15'] = [16, -15, -4]
    points['16x-16'] = [16, -16, -4]
    points['16x-2'] = [16, -2, -4]
    points['16x-3'] = [16, -3, -4]
    points['16x-4'] = [16, -4, -4]
    points['16x-5'] = [16, -5, -4]
    points['16x-6'] = [16, -6, -4]
    points['16x-7'] = [16, -7, -4]
    points['16x-8'] = [16, -8, -4]
    points['16x-9'] = [16, -9, -4]
    points['16x0'] = [16, 0, -4]
    points['16x1'] = [16, 1, -4]
    points['16x10'] = [16, 10, -4]
    points['16x11'] = [16, 11, -4]
    points['16x12'] = [16, 12, -4]
    points['16x13'] = [16, 13, -4]
    points['16x14'] = [16, 14, -4]
    points['16x15'] = [16, 15, -4]
    points['16x16'] = [16, 16, -4]
    points['16x2'] = [16, 2, -4]
    points['16x3'] = [16, 3, -4]
    points['16x4'] = [16, 4, -4]
    points['16x5'] = [16, 5, -4]
    points['16x6'] = [16, 6, -4]
    points['16x7'] = [16, 7, -4]
    points['16x8'] = [16, 8, -4]
    points['16x9'] = [16, 9, -4]
    points['1x-1'] = [1, -1, 45.5912]
    points['1x-10'] = [1, -10, -4]
    points['1x-11'] = [1, -11, -4]
    points['1x-12'] = [1, -12, -4]
    points['1x-13'] = [1, -13, -4]
    points['1x-14'] = [1, -14, -4]
    points['1x-15'] = [1, -15, -4]
    points['1x-16'] = [1, -16, -4]
    points['1x-2'] = [1, -2, 21.6577]
    points['1x-3'] = [1, -3, 8.52441]
    points['1x-4'] = [1, -4, 7.48071]
    points['1x-5'] = [1, -5, 4.34961]
    points['1x-6'] = [1, -6, -0.868896]
    points['1x-7'] = [1, -7, -4]
    points['1x-8'] = [1, -8, -4]
    points['1x-9'] = [1, -9, -4]
    points['1x0'] = [1, 0, 63.8609]
    points['1x1'] = [1, 1, 84.9555]
    points['1x10'] = [1, 10, 1.76416]
    points['1x11'] = [1, 11, -1.11792]
    points['1x12'] = [1, 12, -4]
    points['1x13'] = [1, 13, -4]
    points['1x14'] = [1, 14, -4]
    points['1x15'] = [1, 15, -4]
    points['1x16'] = [1, 16, -4]
    points['1x2'] = [1, 2, 42.1846]
    points['1x3'] = [1, 3, 15.9764]
    points['1x4'] = [1, 4, 5.20502]
    points['1x5'] = [1, 5, 2.00066]
    points['1x6'] = [1, 6, 1.2059]
    points['1x7'] = [1, 7, 1.70371]
    points['1x8'] = [1, 8, 1.76416]
    points['1x9'] = [1, 9, 2.72485]
    points['2x-1'] = [2, -1, 28.2029]
    points['2x-10'] = [2, -10, -4]
    points['2x-11'] = [2, -11, -4]
    points['2x-12'] = [2, -12, -4]
    points['2x-13'] = [2, -13, -4]
    points['2x-14'] = [2, -14, -4]
    points['2x-15'] = [2, -15, -4]
    points['2x-16'] = [2, -16, -4]
    points['2x-2'] = [2, -2, 11.8469]
    points['2x-3'] = [2, -3, 3.30591]
    points['2x-4'] = [2, -4, 2.26221]
    points['2x-5'] = [2, -5, -0.868896]
    points['2x-6'] = [2, -6, -4]
    points['2x-7'] = [2, -7, -4]
    points['2x-8'] = [2, -8, -4]
    points['2x-9'] = [2, -9, -4]
    points['2x0'] = [2, 0, 39.14]
    points['2x1'] = [2, 1, 43.9715]
    points['2x10'] = [2, 10, 6.56763]
    points['2x11'] = [2, 11, 3.68555]
    points['2x12'] = [2, 12, -1.11792]
    points['2x13'] = [2, 13, -4]
    points['2x14'] = [2, 14, -4]
    points['2x15'] = [2, 15, -4]
    points['2x16'] = [2, 16, -4]
    points['2x2'] = [2, 2, 33.4924]
    points['2x3'] = [2, 3, 23.2834]
    points['2x4'] = [2, 4, 13.1748]
    points['2x5'] = [2, 5, 4.38493]
    points['2x6'] = [2, 6, 6.47225]
    points['2x7'] = [2, 7, 8.45874]
    points['2x8'] = [2, 8, 5.27782]
    points['2x9'] = [2, 9, 7.09565]
    points['3x-1'] = [3, -1, 16.7557]
    points['3x-10'] = [3, -10, -4]
    points['3x-11'] = [3, -11, -4]
    points['3x-12'] = [3, -12, -4]
    points['3x-13'] = [3, -13, -4]
    points['3x-14'] = [3, -14, -4]
    points['3x-15'] = [3, -15, -4]
    points['3x-16'] = [3, -16, -4]
    points['3x-2'] = [3, -2, 7.4465]
    points['3x-3'] = [3, -3, -4]
    points['3x-4'] = [3, -4, -4]
    points['3x-5'] = [3, -5, -4]
    points['3x-6'] = [3, -6, -4]
    points['3x-7'] = [3, -7, -4]
    points['3x-8'] = [3, -8, -4]
    points['3x-9'] = [3, -9, -4]
    points['3x0'] = [3, 0, 25.525]
    points['3x1'] = [3, 1, 45.602]
    points['3x10'] = [3, 10, 9.01701]
    points['3x11'] = [3, 11, 6.56763]
    points['3x12'] = [3, 12, 1.76416]
    points['3x13'] = [3, 13, -4]
    points['3x14'] = [3, 14, -4]
    points['3x15'] = [3, 15, -4]
    points['3x16'] = [3, 16, -4]
    points['3x2'] = [3, 2, 52.4992]
    points['3x3'] = [3, 3, 44.1553]
    points['3x4'] = [3, 4, 19.0151]
    points['3x5'] = [3, 5, 5.17969]
    points['3x6'] = [3, 6, 9.7164]
    points['3x7'] = [3, 7, 5.86788]
    points['3x8'] = [3, 8, -3.81706]
    points['3x9'] = [3, 9, 3.70998]
    points['4x-1'] = [4, -1, 14.8939]
    points['4x-10'] = [4, -10, -4]
    points['4x-11'] = [4, -11, -4]
    points['4x-12'] = [4, -12, -4]
    points['4x-13'] = [4, -13, -4]
    points['4x-14'] = [4, -14, -4]
    points['4x-15'] = [4, -15, -4]
    points['4x-16'] = [4, -16, -4]
    points['4x-2'] = [4, -2, 5.58466]
    points['4x-3'] = [4, -3, -4]
    points['4x-4'] = [4, -4, -4]
    points['4x-5'] = [4, -5, -4]
    points['4x-6'] = [4, -6, -4]
    points['4x-7'] = [4, -7, -4]
    points['4x-8'] = [4, -8, -4]
    points['4x-9'] = [4, -9, -4]
    points['4x0'] = [4, 0, 28.4139]
    points['4x1'] = [4, 1, 50.4724]
    points['4x10'] = [4, 10, 7.88848]
    points['4x11'] = [4, 11, 7.52832]
    points['4x12'] = [4, 12, 2.72485]
    points['4x13'] = [4, 13, -4]
    points['4x14'] = [4, 14, -4]
    points['4x15'] = [4, 15, -4]
    points['4x16'] = [4, 16, -4]
    points['4x2'] = [4, 2, 56.5748]
    points['4x3'] = [4, 3, 48.2309]
    points['4x4'] = [4, 4, 21.1093]
    points['4x5'] = [4, 5, 6.67009]
    points['4x6'] = [4, 6, 7.79308]
    points['4x7'] = [4, 7, -2.55946]
    points['4x8'] = [4, 8, -12.3223]
    points['4x9'] = [4, 9, -3.92256]
    points['5x-1'] = [5, -1, 9.30835]
    points['5x-10'] = [5, -10, -4]
    points['5x-11'] = [5, -11, -4]
    points['5x-12'] = [5, -12, -4]
    points['5x-13'] = [5, -13, -4]
    points['5x-14'] = [5, -14, -4]
    points['5x-15'] = [5, -15, -4]
    points['5x-16'] = [5, -16, -4]
    points['5x-2'] = [5, -2, -0.00088501]
    points['5x-3'] = [5, -3, -4]
    points['5x-4'] = [5, -4, -4]
    points['5x-5'] = [5, -5, -4]
    points['5x-6'] = [5, -6, -4]
    points['5x-7'] = [5, -7, -4]
    points['5x-8'] = [5, -8, -4]
    points['5x-9'] = [5, -9, -4]
    points['5x0'] = [5, 0, 18.0776]
    points['5x1'] = [5, 1, 38.1546]
    points['5x10'] = [5, 10, 9.01701]
    points['5x11'] = [5, 11, 6.56763]
    points['5x12'] = [5, 12, 7.76025]
    points['5x13'] = [5, 13, -0.748049]
    points['5x14'] = [5, 14, -5.62109]
    points['5x15'] = [5, 15, -4]
    points['5x16'] = [5, 16, -4]
    points['5x2'] = [5, 2, 47.6868]
    points['5x3'] = [5, 3, 42.8526]
    points['5x4'] = [5, 4, 19.2664]
    points['5x5'] = [5, 5, 11.3244]
    points['5x6'] = [5, 6, 11.1992]
    points['5x7'] = [5, 7, 2.68884]
    points['5x8'] = [5, 8, -5.84395]
    points['5x9'] = [5, 9, 3.70998]
    points['6x-1'] = [6, -1, -0.00088501]
    points['6x-10'] = [6, -10, -4]
    points['6x-11'] = [6, -11, -4]
    points['6x-12'] = [6, -12, -4]
    points['6x-13'] = [6, -13, -4]
    points['6x-14'] = [6, -14, -4]
    points['6x-15'] = [6, -15, -4]
    points['6x-16'] = [6, -16, -4]
    points['6x-2'] = [6, -2, -4]
    points['6x-3'] = [6, -3, -4]
    points['6x-4'] = [6, -4, -4]
    points['6x-5'] = [6, -5, -4]
    points['6x-6'] = [6, -6, -4]
    points['6x-7'] = [6, -7, -4]
    points['6x-8'] = [6, -8, -4]
    points['6x-9'] = [6, -9, -4]
    points['6x0'] = [6, 0, 5.58466]
    points['6x1'] = [6, 1, 15.292]
    points['6x10'] = [6, 10, 6.56763]
    points['6x11'] = [6, 11, -1.02148]
    points['6x12'] = [6, 12, 1.25513]
    points['6x13'] = [6, 13, 18.3242]
    points['6x14'] = [6, 14, -0.826174]
    points['6x15'] = [6, 15, -4]
    points['6x16'] = [6, 16, -4]
    points['6x2'] = [6, 2, 25.9508]
    points['6x3'] = [6, 3, 20.2763]
    points['6x4'] = [6, 4, 15.8796]
    points['6x5'] = [6, 5, 15.1204]
    points['6x6'] = [6, 6, 12.5458]
    points['6x7'] = [6, 7, 7.91472]
    points['6x8'] = [6, 8, -1.16914]
    points['6x9'] = [6, 9, 7.09565]
    points['7x-1'] = [7, -1, -4]
    points['7x-10'] = [7, -10, -4]
    points['7x-11'] = [7, -11, -4]
    points['7x-12'] = [7, -12, -4]
    points['7x-13'] = [7, -13, -4]
    points['7x-14'] = [7, -14, -4]
    points['7x-15'] = [7, -15, -4]
    points['7x-16'] = [7, -16, -4]
    points['7x-2'] = [7, -2, -4]
    points['7x-3'] = [7, -3, -4]
    points['7x-4'] = [7, -4, -4]
    points['7x-5'] = [7, -5, -4]
    points['7x-6'] = [7, -6, -4]
    points['7x-7'] = [7, -7, -4]
    points['7x-8'] = [7, -8, -4]
    points['7x-9'] = [7, -9, -4]
    points['7x0'] = [7, 0, -4]
    points['7x1'] = [7, 1, 5.32373]
    points['7x10'] = [7, 10, 1.76416]
    points['7x11'] = [7, 11, -1.11792]
    points['7x12'] = [7, 12, -4]
    points['7x13'] = [7, 13, -0.240236]
    points['7x14'] = [7, 14, -0.816406]
    points['7x15'] = [7, 15, -4]
    points['7x16'] = [7, 16, -4]
    points['7x2'] = [7, 2, 13.0935]
    points['7x3'] = [7, 3, 17.7554]
    points['7x4'] = [7, 4, 19.3093]
    points['7x5'] = [7, 5, 17.7554]
    points['7x6'] = [7, 6, 13.0935]
    points['7x7'] = [7, 7, 8.20581]
    points['7x8'] = [7, 8, -0.26709]
    points['7x9'] = [7, 9, 0.927975]
    points['8x-1'] = [8, -1, -4]
    points['8x-10'] = [8, -10, -4]
    points['8x-11'] = [8, -11, -4]
    points['8x-12'] = [8, -12, -4]
    points['8x-13'] = [8, -13, -4]
    points['8x-14'] = [8, -14, -4]
    points['8x-15'] = [8, -15, -4]
    points['8x-16'] = [8, -16, -4]
    points['8x-2'] = [8, -2, -4]
    points['8x-3'] = [8, -3, -4]
    points['8x-4'] = [8, -4, -4]
    points['8x-5'] = [8, -5, -4]
    points['8x-6'] = [8, -6, -4]
    points['8x-7'] = [8, -7, -4]
    points['8x-8'] = [8, -8, -4]
    points['8x-9'] = [8, -9, -4]
    points['8x0'] = [8, 0, -4]
    points['8x1'] = [8, 1, 6.87769]
    points['8x10'] = [8, 10, -4]
    points['8x11'] = [8, 11, -4]
    points['8x12'] = [8, 12, -4]
    points['8x13'] = [8, 13, -4]
    points['8x14'] = [8, 14, -4]
    points['8x15'] = [8, 15, -4]
    points['8x16'] = [8, 16, -4]
    points['8x2'] = [8, 2, 14.6475]
    points['8x3'] = [8, 3, 19.3093]
    points['8x4'] = [8, 4, 20.8633]
    points['8x5'] = [8, 5, 19.3093]
    points['8x6'] = [8, 6, 14.6475]
    points['8x7'] = [8, 7, 6.87769]
    points['8x8'] = [8, 8, -4]
    points['8x9'] = [8, 9, -4]
    points['9x-1'] = [9, -1, -4]
    points['9x-10'] = [9, -10, -4]
    points['9x-11'] = [9, -11, -4]
    points['9x-12'] = [9, -12, -4]
    points['9x-13'] = [9, -13, -4]
    points['9x-14'] = [9, -14, -4]
    points['9x-15'] = [9, -15, -4]
    points['9x-16'] = [9, -16, -4]
    points['9x-2'] = [9, -2, -4]
    points['9x-3'] = [9, -3, -4]
    points['9x-4'] = [9, -4, -4]
    points['9x-5'] = [9, -5, -4]
    points['9x-6'] = [9, -6, -4]
    points['9x-7'] = [9, -7, -4]
    points['9x-8'] = [9, -8, -4]
    points['9x-9'] = [9, -9, -4]
    points['9x0'] = [9, 0, -4]
    points['9x1'] = [9, 1, 5.32373]
    points['9x10'] = [9, 10, -4]
    points['9x11'] = [9, 11, -4]
    points['9x12'] = [9, 12, -4]
    points['9x13'] = [9, 13, -4]
    points['9x14'] = [9, 14, -4]
    points['9x15'] = [9, 15, -4]
    points['9x16'] = [9, 16, -4]
    points['9x2'] = [9, 2, 13.0935]
    points['9x3'] = [9, 3, 17.7554]
    points['9x4'] = [9, 4, 19.3093]
    points['9x5'] = [9, 5, 17.7554]
    points['9x6'] = [9, 6, 13.0935]
    points['9x7'] = [9, 7, 5.32373]
    points['9x8'] = [9, 8, -4]
    points['9x9'] = [9, 9, -4]
    minx=0
    miny=0
    minz=0
    maxx=0
    maxy=0
    maxz=0
    for i in points.values():
        x = i[0]
        y = i[1]
        z = i[2]
        if not minx or x < minx:
            minx = x
        if not miny or y < miny:
            miny = y
        if not minz or z < minz:
            minz = z
        if not maxx or x > maxx:
            maxx = x
        if not maxy or y > maxy:
            maxy = y
        if not maxz or z > maxz:
            maxz = z
    
    surfaces = [
        {'name': 'rock', 'pattern': 'fill' },
        {'name': 'sand', 'pattern': 'band', 'params': {'lowThreshold': -2.0,
                                                       'highThreshold': 1.5 } },
        {'name': 'grass', 'pattern': 'grass', 'params': {'lowThreshold': 1.0,
                                                         'highThreshold': 80.0,
                                                         'cutoff': 0.5,
                                                         'intercept': 1.0 } },
        {'name': 'silt', 'pattern': 'depth', 'params': {'waterLevel': 0.0,
                                                        'murkyDepth': -10.0 } },
        {'name': 'snow', 'pattern': 'high', 'params': {'threshold': 110.0 } },
    ]

    # print minx, ":", miny, ":", minz, ":", maxx, ":", maxy, ":", maxz

    m.set(world.id, terrain={'points' : points, 'surfaces' : surfaces}, name="moraf", bbox=[minx * 64, miny * 64, minz, maxx * 64, maxy * 64, maxz])
Ejemplo n.º 30
0
def add_castle(host='', account='', password='', **args):
#   general things

    m=create_editor(host, account, password)

    # create the peninsula for the castle
    world = m.look()
    points = { }
    points['-5x-2'] = [-5, -2, 20]
    points['-5x-1'] = [-5, -1, 20]
    points['-5x0'] = [-5, 0,   20]
    points['-5x1'] = [-5, 1,   20]
    points['-6x-2'] = [-6, -2, 20]
    points['-6x-1'] = [-6, -1, 20]
    points['-6x0'] = [-6, 0,   20]
    points['-6x1'] = [-6, 1,   20]
    points['-7x-2'] = [-7, -2, 20]
    points['-7x-1'] = [-7, -1, 20]
    points['-7x0'] = [-7, 0,   20]
    points['-7x1'] = [-7, 1,   20]
    points['-8x-2'] = [-8, -2, 20]
    points['-8x-1'] = [-8, -1, 20]
    points['-8x0'] = [-8, -0,  20]
    points['-8x1'] = [-8,  1,  20]

    minx=0
    miny=0
    minz=0
    maxx=0
    maxy=0
    maxz=0
    for i in points.values():
        x = i[0]
        y = i[1]
        z = i[2]
        if not minx or x < minx:
            minx = x
        if not miny or y < miny:
            miny = y
        if not minz or z < minz:
            minz = z
        if not maxx or x > maxx:
            maxx = x
        if not maxy or y > maxy:
            maxy = y
        if not maxz or z > maxz:
            maxz = z
        
    m.set(world.id, terrain={'points' : points}, name="moraf", bbox=[minx * 64, miny * 64, minz, maxx * 64, maxy * 64, maxz])

    # put the keep on the peninsula
    
    # the foundation looks ugly in sear and does not work in ember, so I left it out. coordinates are probably wrong
    #m.make('castle_foundation', pos=(-415, -70, settlement_height))

    # castle wall
    m.make('castle_outer_wall', pos=(-427.639, -30.2512, settlement_height), orientation=[0,0,0.7,0.7])

    # gateway 
    m.make('gateway', pos=(-380.753, -31.7661, settlement_height), orientation=[0,0,0.7,0.7])

    # the keep
    m.make('keep', pos=(-459.231, -79.5895, settlement_height), orientation=[0,0,0,-1])

    # top right tower
    m.make('bailey1', pos=(-477.46, 41.1592, settlement_height), orientation=[0,0,-1,0.02])

    # bottom left tower
    m.make('bailey2', pos=(-387.035, -98.432, settlement_height), orientation=[0,0,-0.7,-0.7])

    # bottom right tower
    m.make('don_jon', pos=(-382.011, 43.1961, settlement_height), orientation=[0,0,0,-1])

    # armory
    m.make('armory', pos=(-426.873, 45.0104, settlement_height), orientation=[0,0,-0.7,-0.7])
    
    # castle_house 1
    m.make('castle_house', name='castle_house1', pos=(-405.272, -80.1143, settlement_height), orientation=[0,0,0,1])

    # castle_house 2
    m.make('castle_house', name='castle_house2', pos=(-425.233, -79.6156, settlement_height), orientation=[0,0,0,1])
    
    # castle_house 3
    m.make('castle_house', name='castle_house3', pos=(-454.223, -50.518, settlement_height), orientation=[0,0,0.5,-0.868])

    # castle_house 4
    m.make('castle_house', name='castle_house4', pos=(-456.11, -26.3539, settlement_height), orientation=[0,0,0.7,-0.7])

    # inn 
    m.make('inn', pos=(-454.429, 12.7224, settlement_height), orientation=[0,0,0.28,1])

    castle_path_area = {'shape': {
                         'points': [[-400, -34], [-372, -34], [-350, -42],
                                    [-300, -56], [-215, -42], [-180, -5],
                                    [-125, -6], [-86, -4], [-86, -2],
                                    [-125, -4], [-180, -3], [-215, -40],
                                    [-300, -54], [-350, -40], [-372, -30],
                                    [-400, -30]], 'type': 'polygon'},
                         'layer' : 7}
    m.make('path', name='path to castle', pos=(0, 0, settlement_height),
           area=castle_path_area, bbox=[100,8,1])
Ejemplo n.º 31
0
def resume(host='', account='', password='', **args):
    m=create_editor(host, account, password)

    world=m.look()
    m.set("0", suspended=0)
Ejemplo n.º 32
0
def resume(host='', account='', password='', **args):
    m = create_editor(host, account, password)

    world = m.look()
    m.set(world.id, suspended=0)
Ejemplo n.º 33
0
def default(host='', account='', password='', **args):
#   general things

    m=create_editor(host, account, password)

    world=m.look()

    if not hasattr(world, 'name'):
        _setup_landscape(m, world)

        _setup_outpost(m)

        _setup_settlement(m)

        _setup_camp(m)

    _add_resources(m)

    _add_animals(m)

    # Example of Mercator forest.
    # m.make('forest', name='sherwood',pos=(-50, 10,settlement_height),
           # bbox=[40,40,40])

    #   the lych, who makes bones into skeletons
    if m.look_for(type='lych') is None:
        lych=m.make('lych', pos=(-21, -89, settlement_height), transient=-1)
        m.learn(lych,lych_goals)
        m.know(lych,lych_knowledge)
        m.tell_importance(lych,il.assemble,'>',il.patrol)

    #   animals
    if m.look_for(type='pig') is None:
        piglet = m.make('pig', pos=(-3,-1,settlement_height), transient=-1)
        m.learn(piglet,pig_goals)

    if m.look_for(type='wolf') is None:
        wolf = m.make('wolf', pos=(90,-90,settlement_height), transient=-1)
        m.learn(wolf,wolf_goals)
        m.know(wolf,wolf_knowledge)
        m.tell_importance(wolf,il.forage,'>',il.hunt)
        m.tell_importance(wolf,il.forage,'>',il.patrol)
        m.tell_importance(wolf,il.hunt,'>',il.patrol)

    if m.look_for(type='crab') is None:
        crab = m.make('crab', pos=(-90,90,settlement_height),
                      transient=-1)
        m.learn(crab,crab_goals)

    if m.look_for(type='skeleton') is None:
        skeleton = m.make('skeleton', pos=(-38,-25,settlement_height),
                          transient=-1)
        m.learn(skeleton,skeleton_goals)

    if m.look_for(type='squirrel') is None:
        squirrel = m.make('squirrel', pos=(-32,-15,settlement_height),
                          transient=-1)
        m.know(squirrel,sknowledge)
        m.learn(squirrel,squirrel_goals)

    # villagers

    # An NPC settler
    if m.look_for(name='Ranum Umado') is None:
        settler=m.make('settler', name='Ranum Umado', pos=(1,1,0),
                       transient=-1)
        axe=m.make('axe',pos=(0,0,0),parent=settler.id)
        m.own(settler,axe)
        m.know(settler,[('forest','location',(30,30,0))])
        m.learn(settler,(il.trade,"harvest_resource('lumber','oak','forest','axe')"))

    # An NPC forester
    if m.look_for(name='Ineos Adsam') is None:
        settler=m.make('settler', name='Ineos Adsam',pos=(0, 12, 0),
                       transient=-1)
        trowel=m.make('trowel',pos=(0,0,0),parent=settler.id)
        m.own(settler, trowel)
        m.know(settler,[('forest','location',(30,30,0))])
        m.learn(settler,(il.trade,"plant_seeds('acorn','oak','forest','trowel')"))

    stall = m.look_for(name='Butcher Stall')
    if stall is None:
        stall=m.make('stall', name='Butcher Stall',
                     pos=butcher_stall_pos, orientation=directions[5])
        m.make('wall', parent=stall.id, pos=(0 ,0 ,0),
               bbox=(-0.5, -1.5, 0, 0.5, 1.5, 0.8))
        m.make('wall', parent=stall.id, pos=(2, 0, 0),
               bbox=(0, -1.5, 0, 0.5, 1.5, 2))

    # An NPC Butcher
    if m.look_for(name='Ulad Bargan') is None:
        butcher=m.make('settler', name='Ulad Bargan',desc='the butcher',
                       pos=butcher_pos,age=probability.fertility_age,
                       transient=-1)
        m.learn(butcher,(il.trade,"trade('pig', 'cleaver', 'ham', 'market')"))
        m.learn(butcher,(il.buy_livestock,"buy_livestock('pig', 1)"))
        m.learn(butcher,(il.market,"run_shop('mstall_freshmeat_1_se',"
              "'open','dawn')"))
        m.learn(butcher,(il.market,"run_shop('mstall_freshmeat_1_se',"
                                   "'closed','evening')"))
        m.learn(butcher,(il.help,"add_help(['"
              "I need live pigs to restock my butcher stall.',"
              "'Do you have any pigs for sale?',"
              "'I prefer pigs that have grown to more than 20kg.'],"
              "['I would like to sell a pig'])"))
        m.know(butcher,bknowledge)
        m.know(butcher,bprices)

    
        cleaver=m.make('cleaver', place='market', pos=(0, 0, 0),
                       parent=butcher.id)
        m.own(butcher,cleaver)
        m.own(butcher, stall)
    
        m.learn(butcher,(il.sell,"sell_trade('ham', 'market')"))
        coins=[]
        for i in range(0, 60):
            coins.append(m.make('coin',pos=(0,0,0),parent=butcher.id))
        m.own(butcher,coins)
    
    # clothing-merchant
    stall = m.look_for(name='Tailor Stall')
    if stall is None:
        stall = m.make('stall', name='Tailor Stall',
                       pos=tailor_stall_pos, orientation=directions[7])
        m.make('wall', parent=stall.id, pos=(0, 0, 0),
               bbox=(-0.5,-1.5,0,0.5,1.5,0.8))
        m.make('wall', parent=stall.id, pos=(2, 0, 0),
               bbox=(0,-1.5,0,0.5,1.5,2))

    if m.look_for(name='Bok Forgo') is None:
        tailor=m.make('merchant', name='Bok Forgo',desc='the tailor',
                      pos=tailor_pos,age=probability.fertility_age,
                      transient=-1)
        m.learn(tailor,(il.help,"add_help(['Get your clothes here.','Everything to keep you looking your best is here.'])"))
    
        m.know(tailor, tailor_knowledge)
        m.know(tailor, tailor_prices)

        m.own(tailor, stall)

        clothes=[]
        garment_types=['shirt', 'trousers', 'cloak']
        garment_styles=['ragged', 'burlap', 'sun', 'fine']

        for i in range(0, 15):
            gty = garment_types[randint(0, len(garment_types)-1)]
            gsty = garment_styles[randint(0, len(garment_styles)-1)]
            gname = '%s %s' % (gsty, gty)
            clothes.append(m.make(gty,name=gname,pos=(0, uniform(-0.7, 0.7), 0), parent=stall.id))

        m.own(tailor, clothes)

# 	tool-merchant
    stall = m.look_for(name='Tool Stall')
    if stall is None:
        stall = m.make('stall', name='Tool Stall',
                       pos=tool_stall_pos, orientation=directions[2])
        m.make('wall', parent=stall.id, pos=(0, 0, 0),
               bbox=(-0.5,-1.5,0,0.5,1.5,0.8))
        m.make('wall',parent=stall.id, pos=(2, 0, 0),
               bbox=(0,-1.5,0,0.5,1.5,2))

    if m.look_for(name='Blackun Decker') is None:
        tmerchant=m.make('merchant', name='Blackun Decker',
                         desc='the tool merchant',
                         pos=tool_merchant_pos,age=probability.fertility_age,
                         transient=-1)
        m.learn(tmerchant,(il.help,"add_help(['Get all your tools here.',"
                                   "'Everything a settler needs is available at "
                                   "great prices.'])"))

        m.know(tmerchant, toolmerc_knowledge)
        m.know(tmerchant, toolprices)

        m.own(tmerchant, stall)

        tools=[]
        # the different tools must be stated here \|/
        tooltypes=['shovel', 'axe', 'tinderbox', 'bowl', 'pole', 'bottle',
                   'cleaver', 'pickaxe', 'scythe', 'bucksaw', 'trowel', 
                   'hammer', 'fishingrod', 'sieve',
                  ] 
    
        for i in range(0, 20):
            tty = tooltypes[randint(0,len(tooltypes)-1)]
            tools.append(m.make(tty, pos=(uniform(-0.7, 0.7),
                                          uniform(-0.5,0.5),0.6),
                                parent=stall.id,
                                orientation=directions[randint(0,7)]))
    
        m.own(tmerchant,tools)

    sty = m.look_for(type='sty')
    if sty is None:
        sty=m.make('sty',pos=pig_sty_pos)

    merchant = m.look_for(name='Dyfed Searae')
    if merchant is None:
        merchant=m.make('merchant', name='Dyfed Searae',desc='the pig merchant',
                        pos=pig_sty_pos,age=probability.fertility_age,
                        orientation=Quaternion(Vector3D([1,0,0]),
                                               Vector3D([0,-1,0])).as_list(),
                        transient=-1)
        m.know(merchant,mknowledge)
        m.know(merchant,area)
        m.know(merchant,mprices)
        m.learn(merchant,(il.keep,"keep_livestock('pig', 'sty', 'sowee')"))
        m.learn(merchant,(il.sell,"sell_trade('pig', 'market', 'morning')"))
        m.learn(merchant,(il.sell,"sell_trade('pig', 'market', 'afternoon')"))
        m.learn(merchant,(il.lunch,"meal('ham','midday', 'inn')"))
        m.learn(merchant,(il.sup,"meal('beer', 'evening', 'inn')"))
        m.learn(merchant,(il.welcome,"welcome('Welcome to this our settlement',"
                                     "'settler')"))
        m.learn(merchant,(il.help,"add_help(["
              "'Thankyou for joining our remote settlement.',"
              "'Our first task is to build some shelter, but while we are "
              "doing that we still need food.',"
              "'You can help us out by raising pigs for slaughter.',"
              "'If you want to buy a piglet to raise, let me know by saying "
              "you would like to buy one.',"
              "'Pigs love to eat acorns from under the oak trees that are "
              "abundant in this area.'],"
              "['I would like to buy a pig', 'Pehaps I will buy one later'])"))


    m.own(merchant,sty)

    piglets=[]
    for i in range(0, 6):
        piglets.append(m.make('pig',pos=(uniform(0,4),uniform(0,4),settlement_height),parent=sty.id,orientation=directions[randint(0,7)]))
    m.learn(piglets,pig_goals)
    m.own(merchant,piglets)

    if m.look_for(name='Gorun Iksa') is None:
        marshall=m.make('marshall', name='Gorun Iksa',
                        desc='the duke\'s marshall',
                        pos=(14,12,settlement_height),
                        transient=-1)
        m.know(marshall, [('deed','price','50')])
        m.know(marshall, area)
        m.know(marshall, about)
        m.learn(marshall,(il.help,"add_help(["
              "'On behalf of the Duke I would like to welcome you to moraf.',"
              "'If you are new here I suggest talking to the pig seller.',"
              "'He will tell you what you can do to help out.',"
              "'If you have decide you would like to settle here I can "
              "assign you some land',"
              "'but you will need to show that you are a useful citizen.',"
              "'If you can raise 50 coins herding pigs, then a plot of land is "
              "yours.'],"
              "['I would like to buy a deed',"
              "'I will come back when I have raised some pigs'])"))
        plots=[]
        for i in range(20, 200, 20):
            for j in range(-100, 100, 20):
                plots.append(m.make('deed', pos=(0,0,0), parent=marshall.id,
                             plot=(i,j)))
        m.own(marshall, plots)

    # Warriors - the more adventurous types

    warriors=[]
    warrior = m.look_for(name='Vonaa Barile')
    if warrior is None:
        warrior=m.make('mercenary', name='Vonaa Barile',
                       pos=(uniform(-2,2),uniform(-2,2),settlement_height),
                       orientation=directions[randint(0,7)],
                       transient=-1)
        bow=m.make('bow',pos=(0,0,0), parent=warrior.id)
        m.own(warrior,bow)
        for i in range(0, 6):
            arrow=m.make('arrow',pos=(0,0,0), parent=warrior.id)
            m.own(warrior,arrow)
        warriors.append(warrior)

    warrior = m.look_for(name='Lile Birloc')
    if warrior is None:
        warrior=m.make('mercenary', name='Lile Birloc',
                       pos=(uniform(-2,2), uniform(-2,2), settlement_height),
                       orientation=directions[randint(0,7)],
                       transient=-1)
        bow=m.make('bow',pos=(0,0,0), parent=warrior.id)
        m.own(warrior,bow)
        for i in range(0, 6):
            arrow=m.make('arrow',pos=(0,0,0), parent=warrior.id)
            m.own(warrior,arrow)
        warriors.append(warrior)

    # Warriors all know where stuff is in the village
    m.know(warriors,area)

    # Warriors enjoy their food and drink
    m.know(warriors, [('services','price','5')])
    m.learn(warriors,(il.help,"add_help(["
          "'The forest is a dangerous place.',"
          "'If you need some help protecting your pigs,',"
          "'I can help you out for a day or so.',"
          "'I will need some gold for food and equipment.',"
          "'For 5 coins I can work for you until sundown.',"
          "'After sundown you should make sure your pigs are safe,',"
          "'and get indoors yourself.',"
          "'If you want to hire my services,',"
          "'let me know by saying you would like to hire me.'],"
          "['I would like to hire your services',"
          "'I can take care of my pigs alone'])"))
    m.learn(warriors,(il.hire,"hire_trade()"))
    m.learn(warriors,(il.forage,"gather(['boots', 'cloak', 'shirt',"
                                "'trousers', 'hat', 'skull', 'coin'])"))
    m.learn(warriors,(il.lunch,"meal('ham','midday', 'inn')"))
    m.learn(warriors,(il.sup,"meal('beer', 'evening', 'inn')"))

    # Goblins

    if m.look_for(type='goblin') is None:
        goblin_guards=[]
        goblin=m.make('goblin', pos=(102, -33, settlement_height),
                      transient=-1)
        goblin_guards.append(goblin)
        goblin=m.make('goblin', pos=(98, -33, settlement_height),
                      transient=-1)
        goblin_guards.append(goblin)

        m.learn(goblin_guards,(il.defend,"defend('settler', 10)"))
Ejemplo n.º 34
0
def create_small_empty_terrain(host='', account='', password='', **args):

    m = create_editor(host, account, password)

    world = m.look()
    points = {}
    for i in range(-1, 2):
        for j in range(-1, 9):
            points['%ix%i' % (i, j)] = [i, j, -4]

    minx = 0
    miny = 0
    minz = 0
    maxx = 0
    maxy = 0
    maxz = 0
    for i in list(points.values()):
        x = i[0]
        y = i[1]
        z = i[2]
        if not minx or x < minx:
            minx = x
        if not miny or y < miny:
            miny = y
        if not minz or z < minz:
            minz = z
        if not maxx or x > maxx:
            maxx = x
        if not maxy or y > maxy:
            maxy = y
        if not maxz or z > maxz:
            maxz = z

    surfaces = [
        {
            'name': 'rock',
            'pattern': 'fill'
        },
        {
            'name': 'sand',
            'pattern': 'band',
            'params': {
                'lowThreshold': -2.0,
                'highThreshold': 1.5
            }
        },
        {
            'name': 'grass',
            'pattern': 'grass',
            'params': {
                'lowThreshold': 1.0,
                'highThreshold': 80.0,
                'cutoff': 0.5,
                'intercept': 1.0
            }
        },
        {
            'name': 'silt',
            'pattern': 'depth',
            'params': {
                'waterLevel': 0.0,
                'murkyDepth': -10.0
            }
        },
        {
            'name': 'snow',
            'pattern': 'high',
            'params': {
                'threshold': 110.0
            }
        },
    ]

    # print minx, ":", miny, ":", minz, ":", maxx, ":", maxy, ":", maxz

    m.set(world.id,
          terrain={
              'points': points,
              'surfaces': surfaces
          },
          name="moraf",
          bbox=[minx * 64, miny * 64, minz, maxx * 64, maxy * 64, maxz])
    m.look()
Ejemplo n.º 35
0
def create_island_terrain(host='', account='', password='', **args):

    m = create_editor(host, account, password)

    world = m.look()
    points = {}
    for i in range(-18, 17):
        for j in range(-18, 17):
            points['%ix%i' % (i, j)] = [i, j, -4]

    points['-10x-1'] = [-10, -1, 1.95581]
    points['-10x-10'] = [-10, -10, -4]
    points['-10x-11'] = [-10, -11, -4]
    points['-10x-12'] = [-10, -12, -4]
    points['-10x-13'] = [-10, -13, -4]
    points['-10x-14'] = [-10, -14, -4]
    points['-10x-15'] = [-10, -15, -4]
    points['-10x-16'] = [-10, -16, -4]
    points['-10x-2'] = [-10, -2, 1.10498]
    points['-10x-3'] = [-10, -3, -0.280887]
    points['-10x-4'] = [-10, -4, 6.64274]
    points['-10x-5'] = [-10, -5, 16.0409]
    points['-10x-6'] = [-10, -6, 22.5619]
    points['-10x-7'] = [-10, -7, 13.0858]
    points['-10x-8'] = [-10, -8, -0.320801]
    points['-10x-9'] = [-10, -9, -4]
    points['-10x0'] = [-10, 0, 1.10498]
    points['-10x1'] = [-10, 1, 2.21725]
    points['-10x10'] = [-10, 10, -4]
    points['-10x11'] = [-10, 11, -4]
    points['-10x12'] = [-10, 12, -4]
    points['-10x13'] = [-10, 13, -4]
    points['-10x14'] = [-10, 14, -4]
    points['-10x15'] = [-10, 15, -4]
    points['-10x16'] = [-10, 16, -4]
    points['-10x2'] = [-10, 2, 1.33415]
    points['-10x3'] = [-10, 3, -0.335241]
    points['-10x4'] = [-10, 4, -4]
    points['-10x5'] = [-10, 5, -4]
    points['-10x6'] = [-10, 6, -4]
    points['-10x7'] = [-10, 7, -4]
    points['-10x8'] = [-10, 8, -4]
    points['-10x9'] = [-10, 9, -4]
    points['-11x-1'] = [-11, -1, -4]
    points['-11x-10'] = [-11, -10, -4]
    points['-11x-11'] = [-11, -11, -4]
    points['-11x-12'] = [-11, -12, -4]
    points['-11x-13'] = [-11, -13, -4]
    points['-11x-14'] = [-11, -14, -4]
    points['-11x-15'] = [-11, -15, -4]
    points['-11x-16'] = [-11, -16, -4]
    points['-11x-2'] = [-11, -2, -4]
    points['-11x-3'] = [-11, -3, -4]
    points['-11x-4'] = [-11, -4, -4]
    points['-11x-5'] = [-11, -5, 2.53686]
    points['-11x-6'] = [-11, -6, 4.96484]
    points['-11x-7'] = [-11, -7, 2.53686]
    points['-11x-8'] = [-11, -8, -4]
    points['-11x-9'] = [-11, -9, -4]
    points['-11x0'] = [-11, 0, -0.335241]
    points['-11x1'] = [-11, 1, 4.67294]
    points['-11x10'] = [-11, 10, -4]
    points['-11x11'] = [-11, 11, -4]
    points['-11x12'] = [-11, 12, -4]
    points['-11x13'] = [-11, 13, -4]
    points['-11x14'] = [-11, 14, -4]
    points['-11x15'] = [-11, 15, -4]
    points['-11x16'] = [-11, 16, -4]
    points['-11x2'] = [-11, 2, 6.34233]
    points['-11x3'] = [-11, 3, 4.67294]
    points['-11x4'] = [-11, 4, -0.335241]
    points['-11x5'] = [-11, 5, -4]
    points['-11x6'] = [-11, 6, -4]
    points['-11x7'] = [-11, 7, -4]
    points['-11x8'] = [-11, 8, -4]
    points['-11x9'] = [-11, 9, -4]
    points['-12x-1'] = [-12, -1, -4]
    points['-12x-10'] = [-12, -10, -4]
    points['-12x-11'] = [-12, -11, -4]
    points['-12x-12'] = [-12, -12, -4]
    points['-12x-13'] = [-12, -13, -4]
    points['-12x-14'] = [-12, -14, -4]
    points['-12x-15'] = [-12, -15, -4]
    points['-12x-16'] = [-12, -16, -4]
    points['-12x-2'] = [-12, -2, -4]
    points['-12x-3'] = [-12, -3, -4]
    points['-12x-4'] = [-12, -4, -4]
    points['-12x-5'] = [-12, -5, 0.108887]
    points['-12x-6'] = [-12, -6, 2.53686]
    points['-12x-7'] = [-12, -7, 0.108887]
    points['-12x-8'] = [-12, -8, -4]
    points['-12x-9'] = [-12, -9, -4]
    points['-12x0'] = [-12, 0, 1.33415]
    points['-12x1'] = [-12, 1, 6.34233]
    points['-12x10'] = [-12, 10, -4]
    points['-12x11'] = [-12, 11, -4]
    points['-12x12'] = [-12, 12, -4]
    points['-12x13'] = [-12, 13, -4]
    points['-12x14'] = [-12, 14, -4]
    points['-12x15'] = [-12, 15, -4]
    points['-12x16'] = [-12, 16, -4]
    points['-12x2'] = [-12, 2, 8.01172]
    points['-12x3'] = [-12, 3, 6.34233]
    points['-12x4'] = [-12, 4, 1.33415]
    points['-12x5'] = [-12, 5, -4]
    points['-12x6'] = [-12, 6, -4]
    points['-12x7'] = [-12, 7, -4]
    points['-12x8'] = [-12, 8, -4]
    points['-12x9'] = [-12, 9, -4]
    points['-13x-1'] = [-13, -1, -4]
    points['-13x-10'] = [-13, -10, -4]
    points['-13x-11'] = [-13, -11, -4]
    points['-13x-12'] = [-13, -12, -4]
    points['-13x-13'] = [-13, -13, -4]
    points['-13x-14'] = [-13, -14, -4]
    points['-13x-15'] = [-13, -15, -4]
    points['-13x-16'] = [-13, -16, -4]
    points['-13x-2'] = [-13, -2, -4]
    points['-13x-3'] = [-13, -3, -4]
    points['-13x-4'] = [-13, -4, -4]
    points['-13x-5'] = [-13, -5, -4]
    points['-13x-6'] = [-13, -6, -4]
    points['-13x-7'] = [-13, -7, -4]
    points['-13x-8'] = [-13, -8, -4]
    points['-13x-9'] = [-13, -9, -4]
    points['-13x0'] = [-13, 0, -0.335241]
    points['-13x1'] = [-13, 1, 4.67294]
    points['-13x10'] = [-13, 10, -4]
    points['-13x11'] = [-13, 11, -4]
    points['-13x12'] = [-13, 12, -4]
    points['-13x13'] = [-13, 13, -4]
    points['-13x14'] = [-13, 14, -4]
    points['-13x15'] = [-13, 15, -4]
    points['-13x16'] = [-13, 16, -4]
    points['-13x2'] = [-13, 2, 6.34233]
    points['-13x3'] = [-13, 3, 4.67294]
    points['-13x4'] = [-13, 4, -0.335241]
    points['-13x5'] = [-13, 5, -4]
    points['-13x6'] = [-13, 6, -4]
    points['-13x7'] = [-13, 7, -4]
    points['-13x8'] = [-13, 8, -4]
    points['-13x9'] = [-13, 9, -4]
    points['-14x-1'] = [-14, -1, -4]
    points['-14x-10'] = [-14, -10, -4]
    points['-14x-11'] = [-14, -11, -4]
    points['-14x-12'] = [-14, -12, -4]
    points['-14x-13'] = [-14, -13, -4]
    points['-14x-14'] = [-14, -14, -4]
    points['-14x-15'] = [-14, -15, -4]
    points['-14x-16'] = [-14, -16, -4]
    points['-14x-2'] = [-14, -2, -4]
    points['-14x-3'] = [-14, -3, -4]
    points['-14x-4'] = [-14, -4, -4]
    points['-14x-5'] = [-14, -5, -4]
    points['-14x-6'] = [-14, -6, -4]
    points['-14x-7'] = [-14, -7, -4]
    points['-14x-8'] = [-14, -8, -4]
    points['-14x-9'] = [-14, -9, -4]
    points['-14x0'] = [-14, 0, -4]
    points['-14x1'] = [-14, 1, -0.335241]
    points['-14x10'] = [-14, 10, -4]
    points['-14x11'] = [-14, 11, -4]
    points['-14x12'] = [-14, 12, -4]
    points['-14x13'] = [-14, 13, -4]
    points['-14x14'] = [-14, 14, -4]
    points['-14x15'] = [-14, 15, -4]
    points['-14x16'] = [-14, 16, -4]
    points['-14x2'] = [-14, 2, 1.33415]
    points['-14x3'] = [-14, 3, -0.335241]
    points['-14x4'] = [-14, 4, -4]
    points['-14x5'] = [-14, 5, -4]
    points['-14x6'] = [-14, 6, -4]
    points['-14x7'] = [-14, 7, -4]
    points['-14x8'] = [-14, 8, -4]
    points['-14x9'] = [-14, 9, -4]
    points['-15x-1'] = [-15, -1, -4]
    points['-15x-10'] = [-15, -10, -4]
    points['-15x-11'] = [-15, -11, -4]
    points['-15x-12'] = [-15, -12, -4]
    points['-15x-13'] = [-15, -13, -4]
    points['-15x-14'] = [-15, -14, -4]
    points['-15x-15'] = [-15, -15, -4]
    points['-15x-16'] = [-15, -16, -4]
    points['-15x-2'] = [-15, -2, -4]
    points['-15x-3'] = [-15, -3, -4]
    points['-15x-4'] = [-15, -4, -4]
    points['-15x-5'] = [-15, -5, -4]
    points['-15x-6'] = [-15, -6, -4]
    points['-15x-7'] = [-15, -7, -4]
    points['-15x-8'] = [-15, -8, -4]
    points['-15x-9'] = [-15, -9, -4]
    points['-15x0'] = [-15, 0, -4]
    points['-15x1'] = [-15, 1, -4]
    points['-15x10'] = [-15, 10, -4]
    points['-15x11'] = [-15, 11, -4]
    points['-15x12'] = [-15, 12, -4]
    points['-15x13'] = [-15, 13, -4]
    points['-15x14'] = [-15, 14, -4]
    points['-15x15'] = [-15, 15, -4]
    points['-15x16'] = [-15, 16, -4]
    points['-15x2'] = [-15, 2, -4]
    points['-15x3'] = [-15, 3, -4]
    points['-15x4'] = [-15, 4, -4]
    points['-15x5'] = [-15, 5, -4]
    points['-15x6'] = [-15, 6, -4]
    points['-15x7'] = [-15, 7, -4]
    points['-15x8'] = [-15, 8, -4]
    points['-15x9'] = [-15, 9, -4]
    points['-16x-1'] = [-16, -1, -4]
    points['-16x-10'] = [-16, -10, -4]
    points['-16x-11'] = [-16, -11, -4]
    points['-16x-12'] = [-16, -12, -4]
    points['-16x-13'] = [-16, -13, -4]
    points['-16x-14'] = [-16, -14, -4]
    points['-16x-15'] = [-16, -15, -4]
    points['-16x-16'] = [-16, -16, -4]
    points['-16x-2'] = [-16, -2, -4]
    points['-16x-3'] = [-16, -3, -4]
    points['-16x-4'] = [-16, -4, -4]
    points['-16x-5'] = [-16, -5, -4]
    points['-16x-6'] = [-16, -6, -4]
    points['-16x-7'] = [-16, -7, -4]
    points['-16x-8'] = [-16, -8, -4]
    points['-16x-9'] = [-16, -9, -4]
    points['-16x0'] = [-16, 0, -4]
    points['-16x1'] = [-16, 1, -4]
    points['-16x10'] = [-16, 10, -4]
    points['-16x11'] = [-16, 11, -4]
    points['-16x12'] = [-16, 12, -4]
    points['-16x13'] = [-16, 13, -4]
    points['-16x14'] = [-16, 14, -4]
    points['-16x15'] = [-16, 15, -4]
    points['-16x16'] = [-16, 16, -4]
    points['-16x2'] = [-16, 2, -4]
    points['-16x3'] = [-16, 3, -4]
    points['-16x4'] = [-16, 4, -4]
    points['-16x5'] = [-16, 5, -4]
    points['-16x6'] = [-16, 6, -4]
    points['-16x7'] = [-16, 7, -4]
    points['-16x8'] = [-16, 8, -4]
    points['-16x9'] = [-16, 9, -4]
    points['-17x-1'] = [-17, -1, -4]
    points['-17x-10'] = [-17, -10, -4]
    points['-17x-11'] = [-17, -11, -4]
    points['-17x-12'] = [-17, -12, -4]
    points['-17x-13'] = [-17, -13, -4]
    points['-17x-14'] = [-17, -14, -4]
    points['-17x-15'] = [-17, -15, -4]
    points['-17x-16'] = [-17, -16, -4]
    points['-17x-2'] = [-17, -2, -4]
    points['-17x-3'] = [-17, -3, -4]
    points['-17x-4'] = [-17, -4, -4]
    points['-17x-5'] = [-17, -5, -4]
    points['-17x-6'] = [-17, -6, -4]
    points['-17x-7'] = [-17, -7, -4]
    points['-17x-8'] = [-17, -8, -4]
    points['-17x-9'] = [-17, -9, -4]
    points['-17x0'] = [-17, 0, -4]
    points['-17x1'] = [-17, 1, -4]
    points['-17x10'] = [-17, 10, -4]
    points['-17x11'] = [-17, 11, -4]
    points['-17x12'] = [-17, 12, -4]
    points['-17x13'] = [-17, 13, -4]
    points['-17x14'] = [-17, 14, -4]
    points['-17x15'] = [-17, 15, -4]
    points['-17x16'] = [-17, 16, -4]
    points['-17x2'] = [-17, 2, -4]
    points['-17x3'] = [-17, 3, -4]
    points['-17x4'] = [-17, 4, -4]
    points['-17x5'] = [-17, 5, -4]
    points['-17x6'] = [-17, 6, -4]
    points['-17x7'] = [-17, 7, -4]
    points['-17x8'] = [-17, 8, -4]
    points['-17x9'] = [-17, 9, -4]
    points['-18x-1'] = [-18, -1, -4]
    points['-18x-10'] = [-18, -10, -4]
    points['-18x-11'] = [-18, -11, -4]
    points['-18x-12'] = [-18, -12, -4]
    points['-18x-13'] = [-18, -13, -4]
    points['-18x-14'] = [-18, -14, -4]
    points['-18x-15'] = [-18, -15, -4]
    points['-18x-16'] = [-18, -16, -4]
    points['-18x-2'] = [-18, -2, -4]
    points['-18x-3'] = [-18, -3, -4]
    points['-18x-4'] = [-18, -4, -4]
    points['-18x-5'] = [-18, -5, -4]
    points['-18x-6'] = [-18, -6, -4]
    points['-18x-7'] = [-18, -7, -4]
    points['-18x-8'] = [-18, -8, -4]
    points['-18x-9'] = [-18, -9, -4]
    points['-18x0'] = [-18, 0, -4]
    points['-18x1'] = [-18, 1, -4]
    points['-18x10'] = [-18, 10, -4]
    points['-18x11'] = [-18, 11, -4]
    points['-18x12'] = [-18, 12, -4]
    points['-18x13'] = [-18, 13, -4]
    points['-18x14'] = [-18, 14, -4]
    points['-18x15'] = [-18, 15, -4]
    points['-18x16'] = [-18, 16, -4]
    points['-18x2'] = [-18, 2, -4]
    points['-18x3'] = [-18, 3, -4]
    points['-18x4'] = [-18, 4, -4]
    points['-18x5'] = [-18, 5, -4]
    points['-18x6'] = [-18, 6, -4]
    points['-18x7'] = [-18, 7, -4]
    points['-18x8'] = [-18, 8, -4]
    points['-18x9'] = [-18, 9, -4]
    points['-1x-1'] = [-1, -1, 77.258]
    points['-1x-10'] = [-1, -10, -4]
    points['-1x-11'] = [-1, -11, -4]
    points['-1x-12'] = [-1, -12, -4]
    points['-1x-13'] = [-1, -13, -4]
    points['-1x-14'] = [-1, -14, -4]
    points['-1x-15'] = [-1, -15, -4]
    points['-1x-16'] = [-1, -16, -4]
    points['-1x-2'] = [-1, -2, 52.4169]
    points['-1x-3'] = [-1, -3, 23.3033]
    points['-1x-4'] = [-1, -4, 11.6555]
    points['-1x-5'] = [-1, -5, 8.52441]
    points['-1x-6'] = [-1, -6, 3.30591]
    points['-1x-7'] = [-1, -7, -4]
    points['-1x-8'] = [-1, -8, -4]
    points['-1x-9'] = [-1, -9, -4]
    points['-1x0'] = [-1, 0, 78.148]
    points['-1x1'] = [-1, 1, 57.1655]
    points['-1x10'] = [-1, 10, -4]
    points['-1x11'] = [-1, 11, -4]
    points['-1x12'] = [-1, 12, -4]
    points['-1x13'] = [-1, 13, -4]
    points['-1x14'] = [-1, 14, -4]
    points['-1x15'] = [-1, 15, -4]
    points['-1x16'] = [-1, 16, -4]
    points['-1x2'] = [-1, 2, 33.1332]
    points['-1x3'] = [-1, 3, 11.0135]
    points['-1x4'] = [-1, 4, 5.84253]
    points['-1x5'] = [-1, 5, 3.1582]
    points['-1x6'] = [-1, 6, -1.31567]
    points['-1x7'] = [-1, 7, -4]
    points['-1x8'] = [-1, 8, -4]
    points['-1x9'] = [-1, 9, -4]
    points['-2x-1'] = [-2, -1, 94.748]
    points['-2x-10'] = [-2, -10, -4]
    points['-2x-11'] = [-2, -11, -4]
    points['-2x-12'] = [-2, -12, -4]
    points['-2x-13'] = [-2, -13, -4]
    points['-2x-14'] = [-2, -14, -4]
    points['-2x-15'] = [-2, -15, -4]
    points['-2x-16'] = [-2, -16, -4]
    points['-2x-2'] = [-2, -2, 67.1078]
    points['-2x-3'] = [-2, -3, 27.8951]
    points['-2x-4'] = [-2, -4, 10.6118]
    points['-2x-5'] = [-2, -5, 7.48071]
    points['-2x-6'] = [-2, -6, 2.26221]
    points['-2x-7'] = [-2, -7, -4]
    points['-2x-8'] = [-2, -8, -4]
    points['-2x-9'] = [-2, -9, -4]
    points['-2x0'] = [-2, 0, 75.9072]
    points['-2x1'] = [-2, 1, 43.7644]
    points['-2x10'] = [-2, 10, -4]
    points['-2x11'] = [-2, 11, -4]
    points['-2x12'] = [-2, 12, -4]
    points['-2x13'] = [-2, 13, -4]
    points['-2x14'] = [-2, 14, -4]
    points['-2x15'] = [-2, 15, -4]
    points['-2x16'] = [-2, 16, -4]
    points['-2x2'] = [-2, 2, 20.6026]
    points['-2x3'] = [-2, 3, 9.42163]
    points['-2x4'] = [-2, 4, 8.52686]
    points['-2x5'] = [-2, 5, 5.84253]
    points['-2x6'] = [-2, 6, 1.36865]
    points['-2x7'] = [-2, 7, -1.73682]
    points['-2x8'] = [-2, 8, -3.32617]
    points['-2x9'] = [-2, 9, 1.2002]
    points['-3x-1'] = [-3, -1, 110.343]
    points['-3x-10'] = [-3, -10, -4]
    points['-3x-11'] = [-3, -11, -4]
    points['-3x-12'] = [-3, -12, -4]
    points['-3x-13'] = [-3, -13, -4]
    points['-3x-14'] = [-3, -14, -4]
    points['-3x-15'] = [-3, -15, -4]
    points['-3x-16'] = [-3, -16, -4]
    points['-3x-2'] = [-3, -2, 86.2804]
    points['-3x-3'] = [-3, -3, 32.5181]
    points['-3x-4'] = [-3, -4, 10.9079]
    points['-3x-5'] = [-3, -5, 5.81345]
    points['-3x-6'] = [-3, -6, 0.0350659]
    points['-3x-7'] = [-3, -7, -0.81589]
    points['-3x-8'] = [-3, -8, -3.09604]
    points['-3x-9'] = [-3, -9, -4]
    points['-3x0'] = [-3, 0, 67.6712]
    points['-3x1'] = [-3, 1, 35.3627]
    points['-3x10'] = [-3, 10, 1.2002]
    points['-3x11'] = [-3, 11, -4]
    points['-3x12'] = [-3, 12, -4]
    points['-3x13'] = [-3, 13, -4]
    points['-3x14'] = [-3, 14, -4]
    points['-3x15'] = [-3, 15, -4]
    points['-3x16'] = [-3, 16, -4]
    points['-3x2'] = [-3, 2, 21.3996]
    points['-3x3'] = [-3, 3, 10.3164]
    points['-3x4'] = [-3, 4, 9.42163]
    points['-3x5'] = [-3, 5, 6.7373]
    points['-3x6'] = [-3, 6, 4.52661]
    points['-3x7'] = [-3, 7, 8.74414]
    points['-3x8'] = [-3, 8, 7.05713]
    points['-3x9'] = [-3, 9, 24.4082]
    points['-4x-1'] = [-4, -1, 89.5962]
    points['-4x-10'] = [-4, -10, -4]
    points['-4x-11'] = [-4, -11, -4]
    points['-4x-12'] = [-4, -12, -4]
    points['-4x-13'] = [-4, -13, -4]
    points['-4x-14'] = [-4, -14, -4]
    points['-4x-15'] = [-4, -15, -4]
    points['-4x-16'] = [-4, -16, -4]
    points['-4x-2'] = [-4, -2, 76.9817]
    points['-4x-3'] = [-4, -3, 50.2972]
    points['-4x-4'] = [-4, -4, 23.2425]
    points['-4x-5'] = [-4, -5, 27.1206]
    points['-4x-6'] = [-4, -6, 31.7463]
    points['-4x-7'] = [-4, -7, 20.204]
    points['-4x-8'] = [-4, -8, 6.09926]
    points['-4x-9'] = [-4, -9, -3.09604]
    points['-4x0'] = [-4, 0, 59.9742]
    points['-4x1'] = [-4, 1, 38.0547]
    points['-4x10'] = [-4, 10, -4]
    points['-4x11'] = [-4, 11, -4]
    points['-4x12'] = [-4, 12, -4]
    points['-4x13'] = [-4, 13, -4]
    points['-4x14'] = [-4, 14, -4]
    points['-4x15'] = [-4, 15, -4]
    points['-4x16'] = [-4, 16, -4]
    points['-4x2'] = [-4, 2, 16.7562]
    points['-4x3'] = [-4, 3, 9.42163]
    points['-4x4'] = [-4, 4, 8.52686]
    points['-4x5'] = [-4, 5, 5.84253]
    points['-4x6'] = [-4, 6, 1.36865]
    points['-4x7'] = [-4, 7, -1.73682]
    points['-4x8'] = [-4, 8, -3.32617]
    points['-4x9'] = [-4, 9, 1.2002]
    points['-5x-1'] = [-5, -1, 105.043]
    points['-5x-10'] = [-5, -10, -4]
    points['-5x-11'] = [-5, -11, -4]
    points['-5x-12'] = [-5, -12, -4]
    points['-5x-13'] = [-5, -13, -4]
    points['-5x-14'] = [-5, -14, -4]
    points['-5x-15'] = [-5, -15, -4]
    points['-5x-16'] = [-5, -16, -4]
    points['-5x-2'] = [-5, -2, 75.1664]
    points['-5x-3'] = [-5, -3, 50.4792]
    points['-5x-4'] = [-5, -4, 37.5816]
    points['-5x-5'] = [-5, -5, 44.0415]
    points['-5x-6'] = [-5, -6, 56.9202]
    points['-5x-7'] = [-5, -7, 46.6249]
    points['-5x-8'] = [-5, -8, 33.5784]
    points['-5x-9'] = [-5, -9, 8.0997]
    points['-5x0'] = [-5, 0, 62.2827]
    points['-5x1'] = [-5, 1, 27.0562]
    points['-5x10'] = [-5, 10, -4]
    points['-5x11'] = [-5, 11, -4]
    points['-5x12'] = [-5, 12, -4]
    points['-5x13'] = [-5, 13, -4]
    points['-5x14'] = [-5, 14, -4]
    points['-5x15'] = [-5, 15, -4]
    points['-5x16'] = [-5, 16, -4]
    points['-5x2'] = [-5, 2, 8.39502]
    points['-5x3'] = [-5, 3, 6.7373]
    points['-5x4'] = [-5, 4, 5.84253]
    points['-5x5'] = [-5, 5, 3.1582]
    points['-5x6'] = [-5, 6, -1.31567]
    points['-5x7'] = [-5, 7, -4]
    points['-5x8'] = [-5, 8, -4]
    points['-5x9'] = [-5, 9, -4]
    points['-6x-1'] = [-6, -1, 57.4026]
    points['-6x-10'] = [-6, -10, 1.42969]
    points['-6x-11'] = [-6, -11, -4]
    points['-6x-12'] = [-6, -12, -4]
    points['-6x-13'] = [-6, -13, -4]
    points['-6x-14'] = [-6, -14, -4]
    points['-6x-15'] = [-6, -15, -4]
    points['-6x-16'] = [-6, -16, -4]
    points['-6x-2'] = [-6, -2, 53.3173]
    points['-6x-3'] = [-6, -3, 40.5705]
    points['-6x-4'] = [-6, -4, 51.555]
    points['-6x-5'] = [-6, -5, 90.7036]
    points['-6x-6'] = [-6, -6, 123.636]
    points['-6x-7'] = [-6, -7, 100.699]
    points['-6x-8'] = [-6, -8, 64.8372]
    points['-6x-9'] = [-6, -9, 24.3544]
    points['-6x0'] = [-6, 0, 58.2249]
    points['-6x1'] = [-6, 1, 29.9212]
    points['-6x10'] = [-6, 10, -4]
    points['-6x11'] = [-6, 11, -4]
    points['-6x12'] = [-6, 12, -4]
    points['-6x13'] = [-6, 13, -4]
    points['-6x14'] = [-6, 14, -4]
    points['-6x15'] = [-6, 15, -4]
    points['-6x16'] = [-6, 16, -4]
    points['-6x2'] = [-6, 2, 8.93068]
    points['-6x3'] = [-6, 3, 2.84507]
    points['-6x4'] = [-6, 4, 1.36865]
    points['-6x5'] = [-6, 5, -1.31567]
    points['-6x6'] = [-6, 6, -4]
    points['-6x7'] = [-6, 7, -4]
    points['-6x8'] = [-6, 8, -4]
    points['-6x9'] = [-6, 9, -4]
    points['-7x-1'] = [-7, -1, 19.131]
    points['-7x-10'] = [-7, -10, 8.82227]
    points['-7x-11'] = [-7, -11, -4]
    points['-7x-12'] = [-7, -12, -4]
    points['-7x-13'] = [-7, -13, -4]
    points['-7x-14'] = [-7, -14, -4]
    points['-7x-15'] = [-7, -15, -4]
    points['-7x-16'] = [-7, -16, -4]
    points['-7x-2'] = [-7, -2, 26.8134]
    points['-7x-3'] = [-7, -3, 26.2259]
    points['-7x-4'] = [-7, -4, 54.1157]
    points['-7x-5'] = [-7, -5, 102.226]
    points['-7x-6'] = [-7, -6, 133.123]
    points['-7x-7'] = [-7, -7, 117.397]
    points['-7x-8'] = [-7, -8, 79.283]
    points['-7x-9'] = [-7, -9, 32.7417]
    points['-7x0'] = [-7, 0, 27.9839]
    points['-7x1'] = [-7, 1, 10.6837]
    points['-7x10'] = [-7, 10, -4]
    points['-7x11'] = [-7, 11, -4]
    points['-7x12'] = [-7, 12, -4]
    points['-7x13'] = [-7, 13, -4]
    points['-7x14'] = [-7, 14, -4]
    points['-7x15'] = [-7, 15, -4]
    points['-7x16'] = [-7, 16, -4]
    points['-7x2'] = [-7, 2, 3.04527]
    points['-7x3'] = [-7, 3, 0.250355]
    points['-7x4'] = [-7, 4, -3.41835]
    points['-7x5'] = [-7, 5, -4]
    points['-7x6'] = [-7, 6, -4]
    points['-7x7'] = [-7, 7, -4]
    points['-7x8'] = [-7, 8, -4]
    points['-7x9'] = [-7, 9, -4]
    points['-8x-1'] = [-8, -1, 8.76245]
    points['-8x-10'] = [-8, -10, 1.63965]
    points['-8x-11'] = [-8, -11, -4]
    points['-8x-12'] = [-8, -12, -4]
    points['-8x-13'] = [-8, -13, -4]
    points['-8x-14'] = [-8, -14, -4]
    points['-8x-15'] = [-8, -15, -4]
    points['-8x-16'] = [-8, -16, -4]
    points['-8x-2'] = [-8, -2, 10.2829]
    points['-8x-3'] = [-8, -3, 9.73812]
    points['-8x-4'] = [-8, -4, 35.9729]
    points['-8x-5'] = [-8, -5, 75.7647]
    points['-8x-6'] = [-8, -6, 97.6116]
    points['-8x-7'] = [-8, -7, 78.535]
    points['-8x-8'] = [-8, -8, 56.2248]
    points['-8x-9'] = [-8, -9, 26.2054]
    points['-8x0'] = [-8, 0, 9.92836]
    points['-8x1'] = [-8, 1, 5.35913]
    points['-8x10'] = [-8, 10, -4]
    points['-8x11'] = [-8, 11, -4]
    points['-8x12'] = [-8, 12, -4]
    points['-8x13'] = [-8, 13, -4]
    points['-8x14'] = [-8, 14, -4]
    points['-8x15'] = [-8, 15, -4]
    points['-8x16'] = [-8, 16, -4]
    points['-8x2'] = [-8, 2, 1.17565]
    points['-8x3'] = [-8, 3, -3.41835]
    points['-8x4'] = [-8, 4, -4]
    points['-8x5'] = [-8, 5, -4]
    points['-8x6'] = [-8, 6, -4]
    points['-8x7'] = [-8, 7, -4]
    points['-8x8'] = [-8, 8, -4]
    points['-8x9'] = [-8, 9, -4]
    points['-9x-1'] = [-9, -1, 6.20996]
    points['-9x-10'] = [-9, -10, -0.455079]
    points['-9x-11'] = [-9, -11, -4]
    points['-9x-12'] = [-9, -12, -4]
    points['-9x-13'] = [-9, -13, -4]
    points['-9x-14'] = [-9, -14, -4]
    points['-9x-15'] = [-9, -15, -4]
    points['-9x-16'] = [-9, -16, -4]
    points['-9x-2'] = [-9, -2, 6.52576]
    points['-9x-3'] = [-9, -3, 5.98099]
    points['-9x-4'] = [-9, -4, 13.1992]
    points['-9x-5'] = [-9, -5, 27.0985]
    points['-9x-6'] = [-9, -6, 51.0508]
    points['-9x-7'] = [-9, -7, 39.8303]
    points['-9x-8'] = [-9, -8, 22.4592]
    points['-9x-9'] = [-9, -9, 8.42844]
    points['-9x0'] = [-9, 0, 5.35913]
    points['-9x1'] = [-9, 1, 2.80664]
    points['-9x10'] = [-9, 10, -4]
    points['-9x11'] = [-9, 11, -4]
    points['-9x12'] = [-9, 12, -4]
    points['-9x13'] = [-9, 13, -4]
    points['-9x14'] = [-9, 14, -4]
    points['-9x15'] = [-9, 15, -4]
    points['-9x16'] = [-9, 16, -4]
    points['-9x2'] = [-9, 2, -1.44751]
    points['-9x3'] = [-9, 3, -4]
    points['-9x4'] = [-9, 4, -4]
    points['-9x5'] = [-9, 5, -4]
    points['-9x6'] = [-9, 6, -4]
    points['-9x7'] = [-9, 7, -4]
    points['-9x8'] = [-9, 8, -4]
    points['-9x9'] = [-9, 9, -4]
    points['0x-1'] = [0, -1, 48.4715]
    points['0x-10'] = [0, -10, -4]
    points['0x-11'] = [0, -11, -4]
    points['0x-12'] = [0, -12, -4]
    points['0x-13'] = [0, -13, -4]
    points['0x-14'] = [0, -14, -4]
    points['0x-15'] = [0, -15, -4]
    points['0x-16'] = [0, -16, -4]
    points['0x-2'] = [0, -2, 25.426]
    points['0x-3'] = [0, -3, 11.6555]
    points['0x-4'] = [0, -4, 10.6118]
    points['0x-5'] = [0, -5, 7.48071]
    points['0x-6'] = [0, -6, 2.26221]
    points['0x-7'] = [0, -7, -4]
    points['0x-8'] = [0, -8, -4]
    points['0x-9'] = [0, -9, -4]
    points['0x0'] = [0, 0, 66.7412]
    points['0x1'] = [0, 1, 64.8109]
    points['0x10'] = [0, 10, -4]
    points['0x11'] = [0, 11, -4]
    points['0x12'] = [0, 12, -4]
    points['0x13'] = [0, 13, -4]
    points['0x14'] = [0, 14, -4]
    points['0x15'] = [0, 15, -4]
    points['0x16'] = [0, 16, -4]
    points['0x2'] = [0, 2, 47.3024]
    points['0x3'] = [0, 3, 14.5311]
    points['0x4'] = [0, 4, 2.60076]
    points['0x5'] = [0, 5, 0.711194]
    points['0x6'] = [0, 6, -2.76789]
    points['0x7'] = [0, 7, -4]
    points['0x8'] = [0, 8, -4]
    points['0x9'] = [0, 9, -4]
    points['10x-1'] = [10, -1, -4]
    points['10x-10'] = [10, -10, -4]
    points['10x-11'] = [10, -11, -4]
    points['10x-12'] = [10, -12, -4]
    points['10x-13'] = [10, -13, -4]
    points['10x-14'] = [10, -14, -4]
    points['10x-15'] = [10, -15, -4]
    points['10x-16'] = [10, -16, -4]
    points['10x-2'] = [10, -2, -4]
    points['10x-3'] = [10, -3, -4]
    points['10x-4'] = [10, -4, -4]
    points['10x-5'] = [10, -5, -4]
    points['10x-6'] = [10, -6, -4]
    points['10x-7'] = [10, -7, -4]
    points['10x-8'] = [10, -8, -4]
    points['10x-9'] = [10, -9, -4]
    points['10x0'] = [10, 0, -4]
    points['10x1'] = [10, 1, 0.661865]
    points['10x10'] = [10, 10, -4]
    points['10x11'] = [10, 11, -4]
    points['10x12'] = [10, 12, -4]
    points['10x13'] = [10, 13, -4]
    points['10x14'] = [10, 14, -4]
    points['10x15'] = [10, 15, -4]
    points['10x16'] = [10, 16, -4]
    points['10x2'] = [10, 2, 8.43164]
    points['10x3'] = [10, 3, 13.0935]
    points['10x4'] = [10, 4, 14.6475]
    points['10x5'] = [10, 5, 13.0935]
    points['10x6'] = [10, 6, 8.43164]
    points['10x7'] = [10, 7, 0.661865]
    points['10x8'] = [10, 8, -4]
    points['10x9'] = [10, 9, -4]
    points['11x-1'] = [11, -1, -4]
    points['11x-10'] = [11, -10, -4]
    points['11x-11'] = [11, -11, -4]
    points['11x-12'] = [11, -12, -4]
    points['11x-13'] = [11, -13, -4]
    points['11x-14'] = [11, -14, -4]
    points['11x-15'] = [11, -15, -4]
    points['11x-16'] = [11, -16, -4]
    points['11x-2'] = [11, -2, -4]
    points['11x-3'] = [11, -3, -4]
    points['11x-4'] = [11, -4, -4]
    points['11x-5'] = [11, -5, -4]
    points['11x-6'] = [11, -6, -4]
    points['11x-7'] = [11, -7, -4]
    points['11x-8'] = [11, -8, -4]
    points['11x-9'] = [11, -9, -4]
    points['11x0'] = [11, 0, -4]
    points['11x1'] = [11, 1, -4]
    points['11x10'] = [11, 10, -4]
    points['11x11'] = [11, 11, -4]
    points['11x12'] = [11, 12, -4]
    points['11x13'] = [11, 13, -4]
    points['11x14'] = [11, 14, -4]
    points['11x15'] = [11, 15, -4]
    points['11x16'] = [11, 16, -4]
    points['11x2'] = [11, 2, 0.661865]
    points['11x3'] = [11, 3, 5.32373]
    points['11x4'] = [11, 4, 6.87769]
    points['11x5'] = [11, 5, 5.32373]
    points['11x6'] = [11, 6, 0.661865]
    points['11x7'] = [11, 7, -4]
    points['11x8'] = [11, 8, -4]
    points['11x9'] = [11, 9, -4]
    points['12x-1'] = [12, -1, -4]
    points['12x-10'] = [12, -10, -4]
    points['12x-11'] = [12, -11, -4]
    points['12x-12'] = [12, -12, -4]
    points['12x-13'] = [12, -13, -4]
    points['12x-14'] = [12, -14, -4]
    points['12x-15'] = [12, -15, -4]
    points['12x-16'] = [12, -16, -4]
    points['12x-2'] = [12, -2, -4]
    points['12x-3'] = [12, -3, -4]
    points['12x-4'] = [12, -4, -4]
    points['12x-5'] = [12, -5, -4]
    points['12x-6'] = [12, -6, -4]
    points['12x-7'] = [12, -7, -4]
    points['12x-8'] = [12, -8, -4]
    points['12x-9'] = [12, -9, -4]
    points['12x0'] = [12, 0, -4]
    points['12x1'] = [12, 1, -4]
    points['12x10'] = [12, 10, -4]
    points['12x11'] = [12, 11, -4]
    points['12x12'] = [12, 12, -4]
    points['12x13'] = [12, 13, -4]
    points['12x14'] = [12, 14, -4]
    points['12x15'] = [12, 15, -4]
    points['12x16'] = [12, 16, -4]
    points['12x2'] = [12, 2, -4]
    points['12x3'] = [12, 3, -4]
    points['12x4'] = [12, 4, -4]
    points['12x5'] = [12, 5, -4]
    points['12x6'] = [12, 6, -4]
    points['12x7'] = [12, 7, -4]
    points['12x8'] = [12, 8, -4]
    points['12x9'] = [12, 9, -4]
    points['13x-1'] = [13, -1, -4]
    points['13x-10'] = [13, -10, -4]
    points['13x-11'] = [13, -11, -4]
    points['13x-12'] = [13, -12, -4]
    points['13x-13'] = [13, -13, -4]
    points['13x-14'] = [13, -14, -4]
    points['13x-15'] = [13, -15, -4]
    points['13x-16'] = [13, -16, -4]
    points['13x-2'] = [13, -2, -4]
    points['13x-3'] = [13, -3, -4]
    points['13x-4'] = [13, -4, -4]
    points['13x-5'] = [13, -5, -4]
    points['13x-6'] = [13, -6, -4]
    points['13x-7'] = [13, -7, -4]
    points['13x-8'] = [13, -8, -4]
    points['13x-9'] = [13, -9, -4]
    points['13x0'] = [13, 0, -4]
    points['13x1'] = [13, 1, -4]
    points['13x10'] = [13, 10, -4]
    points['13x11'] = [13, 11, -4]
    points['13x12'] = [13, 12, -4]
    points['13x13'] = [13, 13, -4]
    points['13x14'] = [13, 14, -4]
    points['13x15'] = [13, 15, -4]
    points['13x16'] = [13, 16, -4]
    points['13x2'] = [13, 2, -4]
    points['13x3'] = [13, 3, -4]
    points['13x4'] = [13, 4, -4]
    points['13x5'] = [13, 5, -4]
    points['13x6'] = [13, 6, -4]
    points['13x7'] = [13, 7, -4]
    points['13x8'] = [13, 8, -4]
    points['13x9'] = [13, 9, -4]
    points['14x-1'] = [14, -1, -4]
    points['14x-10'] = [14, -10, -4]
    points['14x-11'] = [14, -11, -4]
    points['14x-12'] = [14, -12, -4]
    points['14x-13'] = [14, -13, -4]
    points['14x-14'] = [14, -14, -4]
    points['14x-15'] = [14, -15, -4]
    points['14x-16'] = [14, -16, -4]
    points['14x-2'] = [14, -2, -4]
    points['14x-3'] = [14, -3, -4]
    points['14x-4'] = [14, -4, -4]
    points['14x-5'] = [14, -5, -4]
    points['14x-6'] = [14, -6, -4]
    points['14x-7'] = [14, -7, -4]
    points['14x-8'] = [14, -8, -4]
    points['14x-9'] = [14, -9, -4]
    points['14x0'] = [14, 0, -4]
    points['14x1'] = [14, 1, -4]
    points['14x10'] = [14, 10, -4]
    points['14x11'] = [14, 11, -4]
    points['14x12'] = [14, 12, -4]
    points['14x13'] = [14, 13, -4]
    points['14x14'] = [14, 14, -4]
    points['14x15'] = [14, 15, -4]
    points['14x16'] = [14, 16, -4]
    points['14x2'] = [14, 2, -4]
    points['14x3'] = [14, 3, -4]
    points['14x4'] = [14, 4, -4]
    points['14x5'] = [14, 5, -4]
    points['14x6'] = [14, 6, -4]
    points['14x7'] = [14, 7, -4]
    points['14x8'] = [14, 8, -4]
    points['14x9'] = [14, 9, -4]
    points['15x-1'] = [15, -1, -4]
    points['15x-10'] = [15, -10, -4]
    points['15x-11'] = [15, -11, -4]
    points['15x-12'] = [15, -12, -4]
    points['15x-13'] = [15, -13, -4]
    points['15x-14'] = [15, -14, -4]
    points['15x-15'] = [15, -15, -4]
    points['15x-16'] = [15, -16, -4]
    points['15x-2'] = [15, -2, -4]
    points['15x-3'] = [15, -3, -4]
    points['15x-4'] = [15, -4, -4]
    points['15x-5'] = [15, -5, -4]
    points['15x-6'] = [15, -6, -4]
    points['15x-7'] = [15, -7, -4]
    points['15x-8'] = [15, -8, -4]
    points['15x-9'] = [15, -9, -4]
    points['15x0'] = [15, 0, -4]
    points['15x1'] = [15, 1, -4]
    points['15x10'] = [15, 10, -4]
    points['15x11'] = [15, 11, -4]
    points['15x12'] = [15, 12, -4]
    points['15x13'] = [15, 13, -4]
    points['15x14'] = [15, 14, -4]
    points['15x15'] = [15, 15, -4]
    points['15x16'] = [15, 16, -4]
    points['15x2'] = [15, 2, -4]
    points['15x3'] = [15, 3, -4]
    points['15x4'] = [15, 4, -4]
    points['15x5'] = [15, 5, -4]
    points['15x6'] = [15, 6, -4]
    points['15x7'] = [15, 7, -4]
    points['15x8'] = [15, 8, -4]
    points['15x9'] = [15, 9, -4]
    points['16x-1'] = [16, -1, -4]
    points['16x-10'] = [16, -10, -4]
    points['16x-11'] = [16, -11, -4]
    points['16x-12'] = [16, -12, -4]
    points['16x-13'] = [16, -13, -4]
    points['16x-14'] = [16, -14, -4]
    points['16x-15'] = [16, -15, -4]
    points['16x-16'] = [16, -16, -4]
    points['16x-2'] = [16, -2, -4]
    points['16x-3'] = [16, -3, -4]
    points['16x-4'] = [16, -4, -4]
    points['16x-5'] = [16, -5, -4]
    points['16x-6'] = [16, -6, -4]
    points['16x-7'] = [16, -7, -4]
    points['16x-8'] = [16, -8, -4]
    points['16x-9'] = [16, -9, -4]
    points['16x0'] = [16, 0, -4]
    points['16x1'] = [16, 1, -4]
    points['16x10'] = [16, 10, -4]
    points['16x11'] = [16, 11, -4]
    points['16x12'] = [16, 12, -4]
    points['16x13'] = [16, 13, -4]
    points['16x14'] = [16, 14, -4]
    points['16x15'] = [16, 15, -4]
    points['16x16'] = [16, 16, -4]
    points['16x2'] = [16, 2, -4]
    points['16x3'] = [16, 3, -4]
    points['16x4'] = [16, 4, -4]
    points['16x5'] = [16, 5, -4]
    points['16x6'] = [16, 6, -4]
    points['16x7'] = [16, 7, -4]
    points['16x8'] = [16, 8, -4]
    points['16x9'] = [16, 9, -4]
    points['1x-1'] = [1, -1, 45.5912]
    points['1x-10'] = [1, -10, -4]
    points['1x-11'] = [1, -11, -4]
    points['1x-12'] = [1, -12, -4]
    points['1x-13'] = [1, -13, -4]
    points['1x-14'] = [1, -14, -4]
    points['1x-15'] = [1, -15, -4]
    points['1x-16'] = [1, -16, -4]
    points['1x-2'] = [1, -2, 21.6577]
    points['1x-3'] = [1, -3, 8.52441]
    points['1x-4'] = [1, -4, 7.48071]
    points['1x-5'] = [1, -5, 4.34961]
    points['1x-6'] = [1, -6, -0.868896]
    points['1x-7'] = [1, -7, -4]
    points['1x-8'] = [1, -8, -4]
    points['1x-9'] = [1, -9, -4]
    points['1x0'] = [1, 0, 63.8609]
    points['1x1'] = [1, 1, 84.9555]
    points['1x10'] = [1, 10, 1.76416]
    points['1x11'] = [1, 11, -1.11792]
    points['1x12'] = [1, 12, -4]
    points['1x13'] = [1, 13, -4]
    points['1x14'] = [1, 14, -4]
    points['1x15'] = [1, 15, -4]
    points['1x16'] = [1, 16, -4]
    points['1x2'] = [1, 2, 42.1846]
    points['1x3'] = [1, 3, 15.9764]
    points['1x4'] = [1, 4, 5.20502]
    points['1x5'] = [1, 5, 2.00066]
    points['1x6'] = [1, 6, 1.2059]
    points['1x7'] = [1, 7, 1.70371]
    points['1x8'] = [1, 8, 1.76416]
    points['1x9'] = [1, 9, 2.72485]
    points['2x-1'] = [2, -1, 28.2029]
    points['2x-10'] = [2, -10, -4]
    points['2x-11'] = [2, -11, -4]
    points['2x-12'] = [2, -12, -4]
    points['2x-13'] = [2, -13, -4]
    points['2x-14'] = [2, -14, -4]
    points['2x-15'] = [2, -15, -4]
    points['2x-16'] = [2, -16, -4]
    points['2x-2'] = [2, -2, 11.8469]
    points['2x-3'] = [2, -3, 3.30591]
    points['2x-4'] = [2, -4, 2.26221]
    points['2x-5'] = [2, -5, -0.868896]
    points['2x-6'] = [2, -6, -4]
    points['2x-7'] = [2, -7, -4]
    points['2x-8'] = [2, -8, -4]
    points['2x-9'] = [2, -9, -4]
    points['2x0'] = [2, 0, 39.14]
    points['2x1'] = [2, 1, 43.9715]
    points['2x10'] = [2, 10, 6.56763]
    points['2x11'] = [2, 11, 3.68555]
    points['2x12'] = [2, 12, -1.11792]
    points['2x13'] = [2, 13, -4]
    points['2x14'] = [2, 14, -4]
    points['2x15'] = [2, 15, -4]
    points['2x16'] = [2, 16, -4]
    points['2x2'] = [2, 2, 33.4924]
    points['2x3'] = [2, 3, 23.2834]
    points['2x4'] = [2, 4, 13.1748]
    points['2x5'] = [2, 5, 4.38493]
    points['2x6'] = [2, 6, 6.47225]
    points['2x7'] = [2, 7, 8.45874]
    points['2x8'] = [2, 8, 5.27782]
    points['2x9'] = [2, 9, 7.09565]
    points['3x-1'] = [3, -1, 16.7557]
    points['3x-10'] = [3, -10, -4]
    points['3x-11'] = [3, -11, -4]
    points['3x-12'] = [3, -12, -4]
    points['3x-13'] = [3, -13, -4]
    points['3x-14'] = [3, -14, -4]
    points['3x-15'] = [3, -15, -4]
    points['3x-16'] = [3, -16, -4]
    points['3x-2'] = [3, -2, 7.4465]
    points['3x-3'] = [3, -3, -4]
    points['3x-4'] = [3, -4, -4]
    points['3x-5'] = [3, -5, -4]
    points['3x-6'] = [3, -6, -4]
    points['3x-7'] = [3, -7, -4]
    points['3x-8'] = [3, -8, -4]
    points['3x-9'] = [3, -9, -4]
    points['3x0'] = [3, 0, 25.525]
    points['3x1'] = [3, 1, 45.602]
    points['3x10'] = [3, 10, 9.01701]
    points['3x11'] = [3, 11, 6.56763]
    points['3x12'] = [3, 12, 1.76416]
    points['3x13'] = [3, 13, -4]
    points['3x14'] = [3, 14, -4]
    points['3x15'] = [3, 15, -4]
    points['3x16'] = [3, 16, -4]
    points['3x2'] = [3, 2, 52.4992]
    points['3x3'] = [3, 3, 44.1553]
    points['3x4'] = [3, 4, 19.0151]
    points['3x5'] = [3, 5, 5.17969]
    points['3x6'] = [3, 6, 9.7164]
    points['3x7'] = [3, 7, 5.86788]
    points['3x8'] = [3, 8, -3.81706]
    points['3x9'] = [3, 9, 3.70998]
    points['4x-1'] = [4, -1, 14.8939]
    points['4x-10'] = [4, -10, -4]
    points['4x-11'] = [4, -11, -4]
    points['4x-12'] = [4, -12, -4]
    points['4x-13'] = [4, -13, -4]
    points['4x-14'] = [4, -14, -4]
    points['4x-15'] = [4, -15, -4]
    points['4x-16'] = [4, -16, -4]
    points['4x-2'] = [4, -2, 5.58466]
    points['4x-3'] = [4, -3, -4]
    points['4x-4'] = [4, -4, -4]
    points['4x-5'] = [4, -5, -4]
    points['4x-6'] = [4, -6, -4]
    points['4x-7'] = [4, -7, -4]
    points['4x-8'] = [4, -8, -4]
    points['4x-9'] = [4, -9, -4]
    points['4x0'] = [4, 0, 28.4139]
    points['4x1'] = [4, 1, 50.4724]
    points['4x10'] = [4, 10, 7.88848]
    points['4x11'] = [4, 11, 7.52832]
    points['4x12'] = [4, 12, 2.72485]
    points['4x13'] = [4, 13, -4]
    points['4x14'] = [4, 14, -4]
    points['4x15'] = [4, 15, -4]
    points['4x16'] = [4, 16, -4]
    points['4x2'] = [4, 2, 56.5748]
    points['4x3'] = [4, 3, 48.2309]
    points['4x4'] = [4, 4, 21.1093]
    points['4x5'] = [4, 5, 6.67009]
    points['4x6'] = [4, 6, 7.79308]
    points['4x7'] = [4, 7, -2.55946]
    points['4x8'] = [4, 8, -12.3223]
    points['4x9'] = [4, 9, -3.92256]
    points['5x-1'] = [5, -1, 9.30835]
    points['5x-10'] = [5, -10, -4]
    points['5x-11'] = [5, -11, -4]
    points['5x-12'] = [5, -12, -4]
    points['5x-13'] = [5, -13, -4]
    points['5x-14'] = [5, -14, -4]
    points['5x-15'] = [5, -15, -4]
    points['5x-16'] = [5, -16, -4]
    points['5x-2'] = [5, -2, -0.00088501]
    points['5x-3'] = [5, -3, -4]
    points['5x-4'] = [5, -4, -4]
    points['5x-5'] = [5, -5, -4]
    points['5x-6'] = [5, -6, -4]
    points['5x-7'] = [5, -7, -4]
    points['5x-8'] = [5, -8, -4]
    points['5x-9'] = [5, -9, -4]
    points['5x0'] = [5, 0, 18.0776]
    points['5x1'] = [5, 1, 38.1546]
    points['5x10'] = [5, 10, 9.01701]
    points['5x11'] = [5, 11, 6.56763]
    points['5x12'] = [5, 12, 7.76025]
    points['5x13'] = [5, 13, -0.748049]
    points['5x14'] = [5, 14, -5.62109]
    points['5x15'] = [5, 15, -4]
    points['5x16'] = [5, 16, -4]
    points['5x2'] = [5, 2, 47.6868]
    points['5x3'] = [5, 3, 42.8526]
    points['5x4'] = [5, 4, 19.2664]
    points['5x5'] = [5, 5, 11.3244]
    points['5x6'] = [5, 6, 11.1992]
    points['5x7'] = [5, 7, 2.68884]
    points['5x8'] = [5, 8, -5.84395]
    points['5x9'] = [5, 9, 3.70998]
    points['6x-1'] = [6, -1, -0.00088501]
    points['6x-10'] = [6, -10, -4]
    points['6x-11'] = [6, -11, -4]
    points['6x-12'] = [6, -12, -4]
    points['6x-13'] = [6, -13, -4]
    points['6x-14'] = [6, -14, -4]
    points['6x-15'] = [6, -15, -4]
    points['6x-16'] = [6, -16, -4]
    points['6x-2'] = [6, -2, -4]
    points['6x-3'] = [6, -3, -4]
    points['6x-4'] = [6, -4, -4]
    points['6x-5'] = [6, -5, -4]
    points['6x-6'] = [6, -6, -4]
    points['6x-7'] = [6, -7, -4]
    points['6x-8'] = [6, -8, -4]
    points['6x-9'] = [6, -9, -4]
    points['6x0'] = [6, 0, 5.58466]
    points['6x1'] = [6, 1, 15.292]
    points['6x10'] = [6, 10, 6.56763]
    points['6x11'] = [6, 11, -1.02148]
    points['6x12'] = [6, 12, 1.25513]
    points['6x13'] = [6, 13, 18.3242]
    points['6x14'] = [6, 14, -0.826174]
    points['6x15'] = [6, 15, -4]
    points['6x16'] = [6, 16, -4]
    points['6x2'] = [6, 2, 25.9508]
    points['6x3'] = [6, 3, 20.2763]
    points['6x4'] = [6, 4, 15.8796]
    points['6x5'] = [6, 5, 15.1204]
    points['6x6'] = [6, 6, 12.5458]
    points['6x7'] = [6, 7, 7.91472]
    points['6x8'] = [6, 8, -1.16914]
    points['6x9'] = [6, 9, 7.09565]
    points['7x-1'] = [7, -1, -4]
    points['7x-10'] = [7, -10, -4]
    points['7x-11'] = [7, -11, -4]
    points['7x-12'] = [7, -12, -4]
    points['7x-13'] = [7, -13, -4]
    points['7x-14'] = [7, -14, -4]
    points['7x-15'] = [7, -15, -4]
    points['7x-16'] = [7, -16, -4]
    points['7x-2'] = [7, -2, -4]
    points['7x-3'] = [7, -3, -4]
    points['7x-4'] = [7, -4, -4]
    points['7x-5'] = [7, -5, -4]
    points['7x-6'] = [7, -6, -4]
    points['7x-7'] = [7, -7, -4]
    points['7x-8'] = [7, -8, -4]
    points['7x-9'] = [7, -9, -4]
    points['7x0'] = [7, 0, -4]
    points['7x1'] = [7, 1, 5.32373]
    points['7x10'] = [7, 10, 1.76416]
    points['7x11'] = [7, 11, -1.11792]
    points['7x12'] = [7, 12, -4]
    points['7x13'] = [7, 13, -0.240236]
    points['7x14'] = [7, 14, -0.816406]
    points['7x15'] = [7, 15, -4]
    points['7x16'] = [7, 16, -4]
    points['7x2'] = [7, 2, 13.0935]
    points['7x3'] = [7, 3, 17.7554]
    points['7x4'] = [7, 4, 19.3093]
    points['7x5'] = [7, 5, 17.7554]
    points['7x6'] = [7, 6, 13.0935]
    points['7x7'] = [7, 7, 8.20581]
    points['7x8'] = [7, 8, -0.26709]
    points['7x9'] = [7, 9, 0.927975]
    points['8x-1'] = [8, -1, -4]
    points['8x-10'] = [8, -10, -4]
    points['8x-11'] = [8, -11, -4]
    points['8x-12'] = [8, -12, -4]
    points['8x-13'] = [8, -13, -4]
    points['8x-14'] = [8, -14, -4]
    points['8x-15'] = [8, -15, -4]
    points['8x-16'] = [8, -16, -4]
    points['8x-2'] = [8, -2, -4]
    points['8x-3'] = [8, -3, -4]
    points['8x-4'] = [8, -4, -4]
    points['8x-5'] = [8, -5, -4]
    points['8x-6'] = [8, -6, -4]
    points['8x-7'] = [8, -7, -4]
    points['8x-8'] = [8, -8, -4]
    points['8x-9'] = [8, -9, -4]
    points['8x0'] = [8, 0, -4]
    points['8x1'] = [8, 1, 6.87769]
    points['8x10'] = [8, 10, -4]
    points['8x11'] = [8, 11, -4]
    points['8x12'] = [8, 12, -4]
    points['8x13'] = [8, 13, -4]
    points['8x14'] = [8, 14, -4]
    points['8x15'] = [8, 15, -4]
    points['8x16'] = [8, 16, -4]
    points['8x2'] = [8, 2, 14.6475]
    points['8x3'] = [8, 3, 19.3093]
    points['8x4'] = [8, 4, 20.8633]
    points['8x5'] = [8, 5, 19.3093]
    points['8x6'] = [8, 6, 14.6475]
    points['8x7'] = [8, 7, 6.87769]
    points['8x8'] = [8, 8, -4]
    points['8x9'] = [8, 9, -4]
    points['9x-1'] = [9, -1, -4]
    points['9x-10'] = [9, -10, -4]
    points['9x-11'] = [9, -11, -4]
    points['9x-12'] = [9, -12, -4]
    points['9x-13'] = [9, -13, -4]
    points['9x-14'] = [9, -14, -4]
    points['9x-15'] = [9, -15, -4]
    points['9x-16'] = [9, -16, -4]
    points['9x-2'] = [9, -2, -4]
    points['9x-3'] = [9, -3, -4]
    points['9x-4'] = [9, -4, -4]
    points['9x-5'] = [9, -5, -4]
    points['9x-6'] = [9, -6, -4]
    points['9x-7'] = [9, -7, -4]
    points['9x-8'] = [9, -8, -4]
    points['9x-9'] = [9, -9, -4]
    points['9x0'] = [9, 0, -4]
    points['9x1'] = [9, 1, 5.32373]
    points['9x10'] = [9, 10, -4]
    points['9x11'] = [9, 11, -4]
    points['9x12'] = [9, 12, -4]
    points['9x13'] = [9, 13, -4]
    points['9x14'] = [9, 14, -4]
    points['9x15'] = [9, 15, -4]
    points['9x16'] = [9, 16, -4]
    points['9x2'] = [9, 2, 13.0935]
    points['9x3'] = [9, 3, 17.7554]
    points['9x4'] = [9, 4, 19.3093]
    points['9x5'] = [9, 5, 17.7554]
    points['9x6'] = [9, 6, 13.0935]
    points['9x7'] = [9, 7, 5.32373]
    points['9x8'] = [9, 8, -4]
    points['9x9'] = [9, 9, -4]
    minx = 0
    miny = 0
    minz = 0
    maxx = 0
    maxy = 0
    maxz = 0
    for i in list(points.values()):
        x = i[0]
        y = i[1]
        z = i[2]
        if not minx or x < minx:
            minx = x
        if not miny or y < miny:
            miny = y
        if not minz or z < minz:
            minz = z
        if not maxx or x > maxx:
            maxx = x
        if not maxy or y > maxy:
            maxy = y
        if not maxz or z > maxz:
            maxz = z

    surfaces = [
        {
            'name': 'rock',
            'pattern': 'fill'
        },
        {
            'name': 'sand',
            'pattern': 'band',
            'params': {
                'lowThreshold': -2.0,
                'highThreshold': 1.5
            }
        },
        {
            'name': 'grass',
            'pattern': 'grass',
            'params': {
                'lowThreshold': 1.0,
                'highThreshold': 80.0,
                'cutoff': 0.5,
                'intercept': 1.0
            }
        },
        {
            'name': 'silt',
            'pattern': 'depth',
            'params': {
                'waterLevel': 0.0,
                'murkyDepth': -10.0
            }
        },
        {
            'name': 'snow',
            'pattern': 'high',
            'params': {
                'threshold': 110.0
            }
        },
    ]

    # print minx, ":", miny, ":", minz, ":", maxx, ":", maxy, ":", maxz

    m.set(world.id,
          terrain={
              'points': points,
              'surfaces': surfaces
          },
          name="moraf",
          bbox=[minx * 64, miny * 64, minz, maxx * 64, maxy * 64, maxz])
Ejemplo n.º 36
0
def add_obstacles(host='', account='', password='', **args):
    m=create_editor(host, account, password)
    _add_obstacles(m)
Ejemplo n.º 37
0
def add_agents(host='', account='', password='', **args):
    m=create_editor(host, account, password)
    _add_agents(m)
Ejemplo n.º 38
0
def suspend(host='', account='', password='', **args):
    m=create_editor(host, account, password)

    world=m.look()
    m.set("0", suspended=1)
Ejemplo n.º 39
0
def resume(host="", account="", password="", **args):
    m = create_editor(host, account, password)

    world = m.look()
    m.set(world.id, suspended=0)