cyphesis/rulesets/mason/tests.py
Alistair Riddoch 58acb15154 Use new template for properties, and rename some
Properties must now be strictly in the same namespace as other definitions,
so I had to rename a few.
2013-03-01 21:52:09 +00:00

815 lines
28 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 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', 'trousers', '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(parents=['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