mirror of
https://github.com/worldforge/cyphesis
synced 2026-08-13 12:26:04 -04:00
823 lines
29 KiB
Python
823 lines
29 KiB
Python
# This file is distributed under the terms of the GNU General Public license.
|
|
# Copyright (C) 1999 Aloril (See the file COPYING for details).
|
|
# Copyright (C) 2000-2008 Alistair Riddoch
|
|
|
|
from atlas import *
|
|
from random import *
|
|
from mind.panlingua import interlinguish
|
|
|
|
il = interlinguish
|
|
from cyphesis import probability
|
|
from cyphesis.editor import editor
|
|
from physics import Quaternion
|
|
from physics import Vector3D
|
|
import time
|
|
from math import *
|
|
|
|
from define_world import *
|
|
|
|
|
|
def test_skeleton(host='', account='', password='', **args):
|
|
# general things
|
|
|
|
m = create_editor(host, account, password)
|
|
|
|
skeleton = m.make('skeleton', pos=(-38, -25, settlement_height))
|
|
m.learn(skeleton, skeleton_goals)
|
|
|
|
|
|
def test_pig(host='', account='', password='', **args):
|
|
# general things
|
|
|
|
m = create_editor(host, account, password)
|
|
pig = m.make('pig', pos=(3, 3, settlement_height))
|
|
m.learn(pig, pig_goals)
|
|
m.make('acorn', pos=(4, 4, settlement_height))
|
|
|
|
|
|
def test_browse(host='', account='', password='', **args):
|
|
# test if browsing works
|
|
|
|
m = create_editor(host, account, password)
|
|
deer = m.make('deer', pos=(5, 0, settlement_height))
|
|
m.learn(deer, (il.browse, "browse('fir', 0.8)"))
|
|
m.make('fir', pos=(-10, -0, settlement_height))
|
|
m.make('fir', pos=(-0, -10, settlement_height))
|
|
m.make('fir', pos=(0, 10, settlement_height))
|
|
m.make('fir', pos=(10, 0, settlement_height))
|
|
|
|
|
|
def test_forest(host='', account='', password='', **args):
|
|
# test if browsing works
|
|
|
|
m = create_editor(host, account, password)
|
|
for i in forests:
|
|
for j in range(0, i[1]):
|
|
m.make(i[0], pos=(uniform(i[2], i[3]), uniform(i[4], i[5]), i[6]), orientation=directions[randint(0, 7)])
|
|
|
|
|
|
def test_coll(host='', account='', password='', **args):
|
|
m = create_editor(host, account, password)
|
|
|
|
sty = m.make('sty', pos=pig_sty_pos, status=1.0, bbox=[5, 5, 3], orientation=directions[0])
|
|
|
|
|
|
def test_butcher(host='', account='', password='', **args):
|
|
m = create_editor(host, account, password)
|
|
|
|
butcher = m.make('merchant', name='Ulad Bargan', desc='the butcher',
|
|
pos=(3, 3, 0), age=probability.fertility_age)
|
|
cleaver = m.make('cleaver', place='market', pos=(3, 2.5, settlement_height))
|
|
m.own(butcher, cleaver)
|
|
m.learn(butcher, (il.trade, "trade('pig', 'cleaver', 'cut', 'ham', 'market')"))
|
|
piglet = m.make('pig', pos=(3, 2, 0))
|
|
|
|
|
|
def test_pig(host='', account='', password='', **args):
|
|
m = create_editor(host, account, password)
|
|
|
|
piglet = m.make('pig', pos=(-3, -1, settlement_height))
|
|
m.learn(piglet, pig_goals)
|
|
|
|
|
|
def test_settler(host='', account='', password='', **args):
|
|
m = create_editor(host, account, password)
|
|
settler = m.make('settler', pos=(1, 1, 0))
|
|
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')"))
|
|
m.make('oak', pos=(32, 32, 0))
|
|
|
|
|
|
def test_forester(host='', account='', password='', **args):
|
|
m = create_editor(host, account, password)
|
|
# An NPC forester
|
|
settler = m.make('settler', name='forester', pos=(0, 12, 0))
|
|
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')"))
|
|
m.make('oak', pos=(32, 32, 0))
|
|
|
|
|
|
def test_warrior(host='', account='', password='', **args):
|
|
m = create_editor(host, account, password)
|
|
# An NPC warrior
|
|
warrior = m.make('mercenary', pos=(0, 12, 0))
|
|
m.learn(warrior, (il.trade, "gather(['loaf', 'axe'])"))
|
|
|
|
|
|
def test_chicken(host='', account='', password='', **args):
|
|
m = create_editor(host, account, password)
|
|
|
|
chuck = m.make('chicken', pos=(-3, -1, settlement_height))
|
|
m.learn(chuck, chicken_goals)
|
|
|
|
|
|
def test_path(host='', account='', password='', **args):
|
|
m = create_editor(host, account, password)
|
|
path_area = {'points': [[2, 0], [22, 40], [132, 122], [140, 127], [144.5, 146.5], [169, 153], [169, 155], [142.5, 148.5], [138, 129], [130, 124], [18, 40], [-2, -1]], 'layer': 7}
|
|
m.make('path', name='path to village', pos=(10, 20, settlement_height), area=path_area, bbox=[169, 154, 1])
|
|
|
|
|
|
lych2_knowledge = [('w1', 'location', (-140, 110, graveyard_height)),
|
|
('w2', 'location', (-50, 160, graveyard_height)),
|
|
('w3', 'location', (-80, 40, graveyard_height)),
|
|
('w4', 'location', (-180, 150, graveyard_height))]
|
|
|
|
lych2_goals = [(il.assemble, "assemble(self, 'skeleton', ['skull', 'ribcage', 'arm', 'pelvis', 'thigh', 'shin'])"),
|
|
(il.patrol, "patrol(['w1', 'w2', 'w3', 'w4'])")]
|
|
|
|
|
|
def test_graveyard(host='', account='', password='', **args):
|
|
m = create_editor(host, account, password)
|
|
|
|
m.make('mausoleum', name='mausoleum of harrington', pos=mausoleum_pos, orientation=directions[0])
|
|
m.make('wall', name='steps', pos=(-160, 100, graveyard_height), bbox=[4, 4, 2])
|
|
|
|
graveyard_area = {'points': [[-10, -8], [15, -11], [13, 23], [-8, 8]], 'layer': 7}
|
|
m.make('path', name='graveyard', pos=(-150, 110, graveyard_height), area=graveyard_area, bbox=[-10, -11, 0, 15, 23, 1])
|
|
|
|
path_area = {'points': [[2, 0], [20, 20], [45, 60], [65, 70], [83, 40], [106, -15], [105, -12], [82, 36], [66, 67], [44, 57], [18, 16], [0, -4]], 'layer': 7}
|
|
m.make('path', name='path to graveyard', pos=(-150, 110, graveyard_height), area=path_area, bbox=[100, 8, 1])
|
|
gravestone_styles = ['simple', 'rounded', 'stylish']
|
|
|
|
m.make('gravestone', name='gravestone1', pos=(-145, 107, graveyard_height), orientation=directions[1], style=gravestone_styles[randint(0, 2)])
|
|
m.make('gravestone', name='gravestone2', pos=(-147, 104, graveyard_height), orientation=directions[2], style=gravestone_styles[randint(0, 2)])
|
|
m.make('gravestone', name='gravestone3', pos=(-148, 109, graveyard_height), orientation=directions[3], style=gravestone_styles[randint(0, 2)])
|
|
m.make('gravestone', name='gravestone4', pos=(-150, 117, graveyard_height), orientation=directions[2], style=gravestone_styles[randint(0, 2)])
|
|
m.make('gravestone', name='gravestone5', pos=(-143, 111, graveyard_height), orientation=directions[4], style=gravestone_styles[randint(0, 2)])
|
|
m.make('gravestone', name='gravestone6', pos=(-149, 110, graveyard_height), orientation=directions[3], style=gravestone_styles[randint(0, 2)])
|
|
m.make('gravestone', name='gravestone7', pos=(-147, 116, graveyard_height), orientation=directions[2], style=gravestone_styles[randint(0, 2)])
|
|
|
|
lych = m.make('lych', pos=(-140, 130, graveyard_height))
|
|
m.learn(lych, lych2_goals)
|
|
m.know(lych, lych2_knowledge)
|
|
m.tell_importance(lych, il.assemble, '>', il.patrol)
|
|
|
|
|
|
def test_fire(host='', account='', password='', **args):
|
|
m = create_editor(host, account, password)
|
|
|
|
cfire = m.make('campfire', pos=(3, 9, settlement_height))
|
|
m.make('fire', pos=(0, 0, 0), parent=cfire.id)
|
|
m.make('lumber', pos=(0, 0, 0), parent=cfire.id)
|
|
|
|
|
|
def test_own(host='', account='', password='', **args):
|
|
m = create_editor(host, account, password)
|
|
settler = m.make('settler', pos=(1, 1, 0))
|
|
axe = m.make('axe', pos=(0, 0, 0), parent=settler.id)
|
|
m.own(settler, axe)
|
|
|
|
|
|
def test_goblins(host='', account='', password='', **args):
|
|
m = create_editor(host, account, password)
|
|
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)"))
|
|
|
|
|
|
def test_deer(host='', account='', password='', **args):
|
|
m = create_editor(host, account, password)
|
|
|
|
d = m.make('deer', pos=(5, 0, settlement_height))
|
|
m.learn(d, deer_goals)
|
|
# m.make('settler', pos=(0, 0, settlement_height))
|
|
|
|
|
|
def kill_world(host='', account='', password='', **args):
|
|
m = create_editor(host, account, password)
|
|
|
|
world = m.look()
|
|
m.set(world.id, status=-1)
|
|
|
|
|
|
def kill_tree(host='', account='', password='', **args):
|
|
m = create_editor(host, account, password)
|
|
|
|
tree = m.make('oak')
|
|
m.set(tree.id, status=-1)
|
|
|
|
|
|
def test_oak(host='', account='', password='', **args):
|
|
m = create_editor(host, account, password)
|
|
|
|
tree = m.make('oak')
|
|
|
|
|
|
def test_attachment(host='', account='', password='', **args):
|
|
m = create_editor(host, account, password)
|
|
|
|
m.make('axe', attachment=23)
|
|
|
|
|
|
def make_shirt(host='', account='', password='', **args):
|
|
m = create_editor(host, account, password)
|
|
|
|
m.make('shirt', worn='chest', attachment=23, mass=2)
|
|
m.make('acorn', worn='chest', pos=(1, 1, 1), attachment=23, mass=2)
|
|
|
|
|
|
def test_decays(host='', account='', password='', **args):
|
|
m = create_editor(host, account, password)
|
|
|
|
m.make('axe', decays='oak')
|
|
|
|
|
|
def test_device(host='', account='', password='', **args):
|
|
m = create_editor(host, account, password)
|
|
settler = m.make('settler', pos=(1, 1, 0))
|
|
axe = m.make('door', pos=(0, 0, 0))
|
|
m.learn(settler, (il.trade, "activate_device('door')"))
|
|
|
|
world = m.look()
|
|
|
|
|
|
def test_tmods(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):
|
|
if i >= 5 or j >= 5:
|
|
points['%ix%i' % (i, j)] = [i, j, uniform(100, 150)]
|
|
elif i <= -5 or j <= -5:
|
|
points['%ix%i' % (i, j)] = [i, j, uniform(-30, -10)]
|
|
elif (i == 2 or i == 3) and (j == 2 or j == 3):
|
|
points['%ix%i' % (i, j)] = [i, j, uniform(20, 25)]
|
|
elif i == 4 or j == 4:
|
|
points['%ix%i' % (i, j)] = [i, j, uniform(30, 80)]
|
|
elif i == -4 or j == -4:
|
|
points['%ix%i' % (i, j)] = [i, j, uniform(-5, 5)]
|
|
else:
|
|
points['%ix%i' % (i, j)] = [i, j, 1 + uniform(3, 11) * (abs(i) + abs(j))]
|
|
|
|
points['-4x-1'] = [-4, -1, 12.4]
|
|
points['-4x-2'] = [-4, -2, -8.3]
|
|
points['-3x-2'] = [-3, -2, -6.2]
|
|
points['-3x-1'] = [-3, -1, -5.3]
|
|
points['-2x-1'] = [-2, -1, -4.1]
|
|
points['-1x-1'] = [-1, -1, -16.8]
|
|
points['0x-1'] = [0, -1, -3.8]
|
|
points['-1x0'] = [-1, 0, -2.8]
|
|
points['-1x1'] = [-1, 1, -1.8]
|
|
points['-1x2'] = [-1, 2, -1.7]
|
|
points['0x2'] = [0, 2, -1.6]
|
|
points['1x2'] = [1, 2, -1.3]
|
|
points['1x3'] = [1, 3, -1.1]
|
|
points['1x4'] = [1, 4, -0.6]
|
|
points['1x-1'] = [1, -1, 15.8]
|
|
points['0x0'] = [0, 0, 12.8]
|
|
points['1x0'] = [1, 0, 23.1]
|
|
points['0x1'] = [0, 1, 14.2]
|
|
points['1x1'] = [1, 1, 19.7]
|
|
|
|
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
|
|
|
|
terrainMod1 = {'type': 'levelmod', 'pos': [40, 40, 15], 'shape':
|
|
{'type': 'ball', 'dim': 2, 'radius': 10},
|
|
'height': 40
|
|
}
|
|
|
|
terrainMod2 = {'type': 'cratermod', 'pos': [0, 0, 0], 'shape':
|
|
{'type': 'ball', 'dim': 3, 'radius': 10},
|
|
}
|
|
|
|
myterrain = {'points': points}
|
|
m.set(world.id, terrain=myterrain, name="terrainMod_testLand", bbox=[minx * 64, miny * 64, minz, maxx * 64, maxy * 64, maxz])
|
|
|
|
m.make('tower', pos=(60, 60, 5), terrainmod=terrainMod1)
|
|
m.make('tower', pos=(20, 20, 5), terrainmod=terrainMod2)
|
|
|
|
|
|
chicken_goals = [(il.avoid, "avoid(['orc','wolf'],10.0)"),
|
|
(il.avoid, "avoid(['settler'],1.0)"),
|
|
(il.flock, "flock()"),
|
|
(il.peck, "peck()")]
|
|
|
|
|
|
def test_chickens(host='', account='', password='', **args):
|
|
m = create_editor(host, account, password)
|
|
|
|
chickens = []
|
|
for i in range(0, 10):
|
|
xpos = uniform(-5, 5)
|
|
ypos = uniform(-5, 5)
|
|
d = m.make('chicken', pos=(xpos, ypos, settlement_height), transient=-1)
|
|
chickens.append(d)
|
|
m.learn(chickens, chicken_goals)
|
|
|
|
|
|
def test_task(host='', account='', password='', **args):
|
|
m = create_editor(host, account, password)
|
|
settler = m.make('settler', pos=(1, 1, 0))
|
|
axe = m.make('axe', pos=(0, 0, 0), parent=settler.id)
|
|
oak = m.make('oak', pos=(5, 0, 0))
|
|
|
|
m.avatar.send(Operation("wield", Entity(axe.id), to=settler))
|
|
m.avatar.send(Operation("use", Operation("cut", Entity(oak.id)), to=settler))
|
|
settler = m.look(settler.id)
|
|
|
|
if not hasattr(settler, 'tasks') or len(settler.tasks) < 1:
|
|
print("Task start failed")
|
|
return
|
|
|
|
m.set(settler.id, tasks=[{'name': settler.tasks[0].name, 'foo': 14}])
|
|
|
|
|
|
def test_wand(host='', account='', password='', **args):
|
|
m = create_editor(host, account, password)
|
|
|
|
world = m.look()
|
|
|
|
settler = m.make('settler', pos=(1, 1, 0))
|
|
wand = m.make('wand', pos=(0, 0, 0), parent=settler.id)
|
|
|
|
m.m.send(Operation("wield", Entity(wand.id), to=settler))
|
|
m.m.send(Operation("use", Operation("cast", Entity(world.id)), to=settler))
|
|
settler = m.look(settler.id)
|
|
|
|
if not hasattr(settler, 'tasks') or len(settler.tasks) < 1:
|
|
print("Task start failed")
|
|
return
|
|
|
|
m.set(settler.id, tasks=[{'name': settler.tasks[0].name, 'foo': 14}])
|
|
|
|
|
|
def test_fish(host='', account='', password='', **args):
|
|
# general things
|
|
|
|
m = create_editor(host, account, password)
|
|
|
|
fish_goals = [(il.forage, "forage('annelid')")]
|
|
fish = []
|
|
for i in range(0, 5):
|
|
xpos = uniform(-35, -31)
|
|
ypos = uniform(-32, -28)
|
|
zpos = uniform(-4, 0)
|
|
c = m.make('fish', pos=(xpos, ypos, zpos), transient=-1)
|
|
fish.append(c)
|
|
m.learn(fish, fish_goals)
|
|
|
|
|
|
def test_spawn(host='', account='', password='', **args):
|
|
m = create_editor(host, account, password)
|
|
|
|
spawn_area = {'points': [[3, 0], [2, 2], [0, 3], [-2, 2], [-3, 0],
|
|
[-2, -2], [0, -3], [2, -2]],
|
|
'layer': 7,
|
|
'type': 'polygon'}
|
|
m.make('path',
|
|
name='spawn area',
|
|
pos=(40, 40, settlement_height),
|
|
area=spawn_area,
|
|
bbox=[-5, -5, 0, 5, 5, 1],
|
|
spawn={'name': 'legoland',
|
|
'character_types': ['settler'],
|
|
'contains': ['coin', 'coin', 'coin', 'coin', 'coin',
|
|
'coin', 'coin', 'coin', 'coin', 'coin',
|
|
'shirt', 'pants', 'cloak', 'boots', 'hat']})
|
|
|
|
|
|
def test_teleport(host='', account='', password='', **args):
|
|
# general things
|
|
|
|
m = create_editor(host, account, password)
|
|
|
|
rep = m.client.send_wait(Operation("create",
|
|
Entity(parent='juncture'),
|
|
from_=m.client.id))
|
|
juncture = rep[0]
|
|
print("Created juncture ", juncture.id)
|
|
rep = m.client.send_wait(Operation("connect",
|
|
Entity(hostname='localhost',
|
|
port=6767),
|
|
from_=juncture.id))
|
|
if not rep:
|
|
print("Connect failed")
|
|
return
|
|
peer = rep[0].id
|
|
|
|
rep = m.client.send_wait(Operation("login",
|
|
Entity(username='whimsy',
|
|
password='foo'),
|
|
from_=juncture.id))
|
|
|
|
if not rep:
|
|
print("Login failed")
|
|
return
|
|
|
|
settler = m.make('settler', pos=(1, 1, 0))
|
|
|
|
boat = m.make('boat', pos=(-1, -1, 0), linked=peer, actions=["teleport"])
|
|
|
|
m.avatar.send(Operation("actuate", Operation("teleport", Entity(boat.id)), to=settler))
|
|
settler = m.look(settler.id)
|
|
|
|
|
|
def test_visibility(host='', account='', password='', **args):
|
|
# general things
|
|
|
|
m = create_editor(host, account, password)
|
|
|
|
target = m.make('acorn', pos=(100, 100, 0), visibility=20.0)
|
|
|
|
m.look(target.id)
|
|
|
|
|
|
def test_heap(host='', account='', password='', **args):
|
|
m = create_editor(host, account, password)
|
|
settler = m.make('settler', pos=(1, 1, 0))
|
|
axe = m.make('shovel', pos=(0, 0, 0), parent=settler.id)
|
|
world = m.look()
|
|
|
|
m.avatar.send(Operation("wield", Entity(axe.id), to=settler))
|
|
m.avatar.send(Operation("use", Operation("heap", Entity(world.id)), to=settler))
|
|
settler = m.look(settler.id)
|
|
|
|
if not hasattr(settler, 'tasks') or len(settler.tasks) < 1:
|
|
print("Task start failed")
|
|
return
|
|
|
|
m.set(settler.id, tasks=[{'name': settler.tasks[0].name, 'foo': 14}])
|
|
|
|
|
|
def test_earthbarrier(host='', account='', password='', **args):
|
|
m = create_editor(host, account, password)
|
|
settler = m.make('settler', pos=(1, 1, 0))
|
|
axe = m.make('shovel', pos=(0, 0, 0), parent=settler.id)
|
|
world = m.look()
|
|
|
|
m.avatar.send(Operation("wield", Entity(axe.id), to=settler))
|
|
m.avatar.send(Operation("use", Operation("walls", Entity(world.id)), to=settler))
|
|
settler = m.look(settler.id)
|
|
|
|
if not hasattr(settler, 'tasks') or len(settler.tasks) < 1:
|
|
print("Task start failed")
|
|
return
|
|
|
|
|
|
def test_trenching(host='', account='', password='', **args):
|
|
m = create_editor(host, account, password)
|
|
settler = m.make('settler', pos=(1, 1, 0))
|
|
axe = m.make('pickaxe', pos=(0, 0, 0), parent=settler.id)
|
|
world = m.look()
|
|
|
|
m.avatar.send(Operation("wield", Entity(axe.id), to=settler))
|
|
m.avatar.send(Operation("use", Operation("trench", Entity(world.id)), to=settler))
|
|
settler = m.look(settler.id)
|
|
|
|
if not hasattr(settler, 'tasks') or len(settler.tasks) < 1:
|
|
print("Task start failed")
|
|
return
|
|
|
|
|
|
def test_bisect(host='', account='', password='', **args):
|
|
m = create_editor(host, account, password)
|
|
settler = m.make('settler', pos=(1, 1, 0))
|
|
axe = m.make('bucksaw', pos=(0, 0, 0), parent=settler.id)
|
|
material = m.make('wood', pos=(1.1, 1, 0), bbox=[1, 1, 1, 5, 8, 6])
|
|
|
|
m.avatar.send(Operation("wield", Entity(axe.id), to=settler))
|
|
m.avatar.send(Operation("use", Operation("cut", Entity(material.id)), to=settler))
|
|
settler = m.look(settler.id)
|
|
|
|
if not hasattr(settler, 'tasks') or len(settler.tasks) < 1:
|
|
print("Task start failed")
|
|
return
|
|
|
|
|
|
def test_dragging(host='', account='', password='', **args):
|
|
m = create_editor(host, account, password)
|
|
settler = m.make('settler', pos=(1, 1, 0))
|
|
axe = m.make('sledge', pos=(0, 0, 0), parent=settler.id)
|
|
material = m.make('wood', pos=(2, 1, 0))
|
|
|
|
m.avatar.send(Operation("wield", Entity(axe.id), to=settler))
|
|
m.avatar.send(Operation("use", Operation("drag", Entity(material.id)), to=settler))
|
|
settler = m.look(settler.id)
|
|
|
|
if not hasattr(settler, 'tasks') or len(settler.tasks) < 1:
|
|
print("Task start failed")
|
|
return
|
|
|
|
|
|
def test_pulling(host='', account='', password='', **args):
|
|
m = create_editor(host, account, password)
|
|
settler = m.make('settler', pos=(1, 1, 0))
|
|
axe = m.make('rope', pos=(0, 0, 0), parent=settler.id)
|
|
material = m.make('wood', pos=(2, 1, 0))
|
|
|
|
m.avatar.send(Operation("wield", Entity(axe.id), to=settler))
|
|
m.avatar.send(Operation("use", Operation("pull", Entity(material.id)), to=settler))
|
|
settler = m.look(settler.id)
|
|
|
|
if not hasattr(settler, 'tasks') or len(settler.tasks) < 1:
|
|
print("Task start failed")
|
|
return
|
|
|
|
|
|
def test_reap(host='', account='', password='', **args):
|
|
m = create_editor(host, account, password)
|
|
settler = m.make('settler', pos=(1, 1, 0))
|
|
axe = m.make('scythe', pos=(0, 0, 0), parent=settler.id)
|
|
world = m.look()
|
|
|
|
m.avatar.send(Operation("wield", Entity(axe.id), to=settler))
|
|
m.avatar.send(Operation("use", Operation("cut", Entity(world.id)), to=settler))
|
|
settler = m.look(settler.id)
|
|
|
|
if not hasattr(settler, 'tasks') or len(settler.tasks) < 1:
|
|
print("Task start failed")
|
|
return
|
|
|
|
|
|
def test_drying(host='', account='', password='', **args):
|
|
m = create_editor(host, account, password)
|
|
settler = m.make('settler', pos=(1, 1, 0))
|
|
axe = m.make('peg', pos=(0, 0, 0), parent=settler.id)
|
|
material = m.make('grass', pos=(2, 1, 0))
|
|
|
|
m.avatar.send(Operation("wield", Entity(axe.id), to=settler))
|
|
m.avatar.send(Operation("use", Operation("cut", Entity(material.id)), to=settler))
|
|
settler = m.look(settler.id)
|
|
|
|
if not hasattr(settler, 'tasks') or len(settler.tasks) < 1:
|
|
print("Task start failed")
|
|
return
|
|
|
|
|
|
def test_twirling(host='', account='', password='', **args):
|
|
m = create_editor(host, account, password)
|
|
settler = m.make('settler', pos=(1, 1, 0))
|
|
axe = m.make('spindle', pos=(0, 0, 0), parent=settler.id)
|
|
material = m.make('fibre', pos=(1, 1, 0))
|
|
|
|
m.avatar.send(Operation("wield", Entity(axe.id), to=settler))
|
|
m.avatar.send(Operation("use", Operation("cut", Entity(material.id)), to=settler))
|
|
settler = m.look(settler.id)
|
|
|
|
if not hasattr(settler, 'tasks') or len(settler.tasks) < 1:
|
|
print("Task start failed")
|
|
return
|
|
|
|
|
|
def test_logging(host='', account='', password='', **args):
|
|
m = create_editor(host, account, password)
|
|
settler = m.make('settler', pos=(1, 1, 0))
|
|
axe = m.make('axe', pos=(0, 0, 0), parent=settler.id)
|
|
material = m.make('oak', pos=(1.1, 1, 0))
|
|
|
|
m.avatar.send(Operation("wield", Entity(axe.id), to=settler))
|
|
m.avatar.send(Operation("use", Operation("cut", Entity(material.id)), to=settler))
|
|
settler = m.look(settler.id)
|
|
|
|
if not hasattr(settler, 'tasks') or len(settler.tasks) < 1:
|
|
print("Task start failed")
|
|
return
|
|
|
|
|
|
def test_baking(host='', account='', password='', **args):
|
|
m = create_editor(host, account, password)
|
|
settler = m.make('settler', pos=(1, 1, 0))
|
|
axe = m.make('pickaxe', pos=(0, 0, 0), parent=settler.id)
|
|
material = m.make('board_wall', pos=(1.1, 1, 0))
|
|
|
|
m.avatar.send(Operation("wield", Entity(axe.id), to=settler))
|
|
m.avatar.send(Operation("use", Operation("craft", Entity(material.id)), to=settler))
|
|
settler = m.look(settler.id)
|
|
|
|
if not hasattr(settler, 'tasks') or len(settler.tasks) < 1:
|
|
print("Task start failed")
|
|
return
|
|
|
|
|
|
def test_cultivate(host='', account='', password='', **args):
|
|
m = create_editor(host, account, password)
|
|
settler = m.make('settler', pos=(1, 1, 0))
|
|
axe = m.make('trowel', pos=(0, 0, 0), parent=settler.id)
|
|
material = m.make('acorn', pos=(1.1, 1, 0))
|
|
|
|
m.avatar.send(Operation("wield", Entity(axe.id), to=settler))
|
|
m.avatar.send(Operation("use", Operation("sow", Entity(material.id)), to=settler))
|
|
settler = m.look(settler.id)
|
|
|
|
if not hasattr(settler, 'tasks') or len(settler.tasks) < 1:
|
|
print("Task start failed")
|
|
return
|
|
|
|
|
|
def test_raise(host='', account='', password='', **args):
|
|
m = create_editor(host, account, password)
|
|
settler = m.make('settler', pos=(1, 1, 0))
|
|
axe = m.make('pole', pos=(0, 0, 0), parent=settler.id)
|
|
material = m.make('lumber', pos=(1.1, 1, 0))
|
|
|
|
m.avatar.send(Operation("wield", Entity(axe.id), to=settler))
|
|
m.avatar.send(Operation("use", Operation("lever", Entity(material.id)), to=settler))
|
|
settler = m.look(settler.id)
|
|
|
|
if not hasattr(settler, 'tasks') or len(settler.tasks) < 1:
|
|
print("Task start failed")
|
|
return
|
|
|
|
|
|
def test_ram(host='', account='', password='', **args):
|
|
m = create_editor(host, account, password)
|
|
settler = m.make('settler', pos=(1, 1, 0))
|
|
axe = m.make('hammer', pos=(0, 0, 0), parent=settler.id)
|
|
material = m.make('lumber', pos=(1.1, 1, 0))
|
|
|
|
m.avatar.send(Operation("wield", Entity(axe.id), to=settler))
|
|
m.avatar.send(Operation("use", Operation("strike", Entity(material.id)), to=settler))
|
|
settler = m.look(settler.id)
|
|
|
|
if not hasattr(settler, 'tasks') or len(settler.tasks) < 1:
|
|
print("Task start failed")
|
|
return
|
|
|
|
|
|
def test_sharpen(host='', account='', password='', **args):
|
|
m = create_editor(host, account, password)
|
|
settler = m.make('settler', pos=(1, 1, 0))
|
|
axe = m.make('axe', pos=(0, 0, 0), parent=settler.id)
|
|
material = m.make('lumber', pos=(1.1, 1, 0))
|
|
|
|
m.avatar.send(Operation("wield", Entity(axe.id), to=settler))
|
|
m.avatar.send(Operation("use", Operation("cut", Entity(material.id)), to=settler))
|
|
settler = m.look(settler.id)
|
|
|
|
if not hasattr(settler, 'tasks') or len(settler.tasks) < 1:
|
|
print("Task start failed")
|
|
return
|
|
|
|
|
|
def test_sift(host='', account='', password='', **args):
|
|
m = create_editor(host, account, password)
|
|
settler = m.make('settler', pos=(1, 1, 0))
|
|
axe = m.make('sieve', pos=(0, 0, 0), parent=settler.id)
|
|
material = m.make('pile', pos=(1.1, 1, 0), name='earth')
|
|
|
|
m.avatar.send(Operation("wield", Entity(axe.id), to=settler))
|
|
m.avatar.send(Operation("use", Operation("cut", Entity(material.id)), to=settler))
|
|
settler = m.look(settler.id)
|
|
|
|
if not hasattr(settler, 'tasks') or len(settler.tasks) < 1:
|
|
print("Task start failed")
|
|
return
|
|
|
|
|
|
def test_slaughter(host='', account='', password='', **args):
|
|
m = create_editor(host, account, password)
|
|
settler = m.make('settler', pos=(1, 1, 0))
|
|
tool = m.make('cleaver', pos=(0, 0, 0), parent=settler.id)
|
|
material = m.make('pig', pos=(1.1, 1, 0))
|
|
|
|
m.avatar.send(Operation("wield", Entity(tool.id), to=settler))
|
|
m.avatar.send(Operation("use", Operation("cut", Entity(material.id)), to=settler))
|
|
settler = m.look(settler.id)
|
|
|
|
if not hasattr(settler, 'tasks') or len(settler.tasks) < 1:
|
|
print("Task start failed")
|
|
return
|
|
|
|
|
|
def test_trailblaze(host='', account='', password='', **args):
|
|
m = create_editor(host, account, password)
|
|
world = m.look()
|
|
settler = m.make('settler', pos=(1, 1, 0))
|
|
tool = m.make('theodolite', pos=(0, 0, 0), parent=settler.id)
|
|
|
|
m.avatar.send(Operation("wield", Entity(tool.id), to=settler))
|
|
m.avatar.send(Operation("use", Operation("strike", Entity(world.id)), to=settler))
|
|
settler = m.look(settler.id)
|
|
|
|
if not hasattr(settler, 'tasks') or len(settler.tasks) < 1:
|
|
print("Task start failed")
|
|
return
|
|
|
|
|
|
def test_slice(host='', account='', password='', **args):
|
|
m = create_editor(host, account, password)
|
|
settler = m.make('settler', pos=(1, 1, 0))
|
|
tool = m.make('bucksaw', pos=(0, 0, 0), parent=settler.id)
|
|
material = m.make('lumber', pos=(1.1, 1, 0))
|
|
|
|
m.avatar.send(Operation("wield", Entity(tool.id), to=settler))
|
|
m.avatar.send(Operation("use", Operation("cut", Entity(material.id)), to=settler))
|
|
settler = m.look(settler.id)
|
|
|
|
if not hasattr(settler, 'tasks') or len(settler.tasks) < 1:
|
|
print("Task start failed")
|
|
return
|
|
|
|
|
|
def test_delve(host='', account='', password='', **args):
|
|
m = create_editor(host, account, password)
|
|
world = m.look()
|
|
settler = m.make('settler', pos=(1, 1, 0))
|
|
tool = m.make('pickaxe', pos=(0, 0, 0), parent=settler.id)
|
|
|
|
m.avatar.send(Operation("wield", Entity(tool.id), to=settler))
|
|
m.avatar.send(Operation("use", Operation("cut", Entity(world.id)), to=settler))
|
|
settler = m.look(settler.id)
|
|
|
|
if not hasattr(settler, 'tasks') or len(settler.tasks) < 1:
|
|
print("Task start failed")
|
|
return
|
|
|
|
|
|
def test_dig(host='', account='', password='', **args):
|
|
m = create_editor(host, account, password)
|
|
world = m.look()
|
|
settler = m.make('settler', pos=(1, 1, 0))
|
|
tool = m.make('shovel', pos=(0, 0, 0), parent=settler.id)
|
|
|
|
m.avatar.send(Operation("wield", Entity(tool.id), to=settler))
|
|
m.avatar.send(Operation("use", Operation("cut", Entity(world.id)), to=settler))
|
|
settler = m.look(settler.id)
|
|
|
|
if not hasattr(settler, 'tasks') or len(settler.tasks) < 1:
|
|
print("Task start failed")
|
|
return
|
|
|
|
|
|
def test_fishing(host='', account='', password='', **args):
|
|
m = create_editor(host, account, password)
|
|
ocean = m.make('ocean', pos=(0, 0, 0), bbox=[-50, -50, -20, 50, 50, 0])
|
|
settler = m.make('settler', pos=(1, 1, 0))
|
|
tool = m.make('fishingrod', pos=(0, 0, 0), parent=settler.id)
|
|
m.make('larva', pos=(0, 0, 0), parent=settler.id)
|
|
|
|
m.avatar.send(Operation("wield", Entity(tool.id), to=settler))
|
|
m.avatar.send(Operation("use", Operation("sow", Entity(ocean.id)), to=settler))
|
|
settler = m.look(settler.id)
|
|
|
|
if not hasattr(settler, 'tasks') or len(settler.tasks) < 1:
|
|
print("Task start failed")
|
|
return
|
|
|
|
|
|
def test_task_stop(host='', account='', password='', **args):
|
|
m = create_editor(host, account, password)
|
|
settler = m.make('settler', pos=(1, 1, 0))
|
|
tool = m.make('bucksaw', pos=(0, 0, 0), parent=settler.id)
|
|
material = m.make('lumber', pos=(1.1, 1, 0))
|
|
|
|
m.avatar.send(Operation("wield", Entity(tool.id), to=settler))
|
|
m.avatar.send(Operation("use", Operation("cut", Entity(material.id)), to=settler))
|
|
settler = m.look(settler.id)
|
|
|
|
if not hasattr(settler, 'tasks') or len(settler.tasks) < 1:
|
|
print("Task start failed")
|
|
return
|
|
|
|
m.avatar.send(Operation("use", to=settler))
|
|
settler = m.look(settler.id)
|
|
|
|
if not hasattr(settler, 'tasks') or len(settler.tasks) > 0:
|
|
print("Task stop failed")
|
|
return
|
|
|
|
|
|
def test_combat(host='', account='', password='', **args):
|
|
m = create_editor(host, account, password)
|
|
|
|
actor = m.create('settler')
|
|
victim = m.make('settler', pos=(1, 2, 0))
|
|
|
|
actor.send(Operation("attack", Entity(victim.id)))
|
|
victim = m.look(victim.id)
|
|
|
|
if not hasattr(victim, 'tasks') or len(victim.tasks) < 1:
|
|
print("Attack failed on victim")
|
|
return
|