cyphesis/rulesets/deeds/tests.py
Erik Ogenvik 2dca4949ed Created "deeds" ruleset and made it default.
It's currently a copy of the Mason ruleset.
Where Mason focuses on letting the users create the world themselves,
Deeds instead focuses on allowing world authors to set up enticing
worlds with gameplay and stories. In contrast to Mason there are more
features available to the world authors which allow for automatic
creation of entities and so on.
2013-11-15 21:14:47 +01: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