[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[adonthell-wastesedge-commits] Release_0-3-3 a229355 10/50: CHANGED most
From: |
Kai Sterker |
Subject: |
[adonthell-wastesedge-commits] Release_0-3-3 a229355 10/50: CHANGED most schedules to use event-based walking; disabled the rest for now |
Date: |
Mon, 25 Jul 2016 18:15:30 +0000 (UTC) |
tag: Release_0-3-3
commit a2293550b80eee8356a4133d2c3cd2d7fb7478a8
Author: Kai Sterker <address@hidden>
Commit: Kai Sterker <address@hidden>
CHANGED most schedules to use event-based walking; disabled the rest for now
---
scripts/schedules/mapcharacters/alek.py | 54 ++++++---------
scripts/schedules/mapcharacters/bjarn.py | 2 +-
scripts/schedules/mapcharacters/erek.py | 2 +-
scripts/schedules/mapcharacters/fellnir.py | 44 +++++--------
scripts/schedules/mapcharacters/frostbloom.py | 49 +++++---------
scripts/schedules/mapcharacters/janesta.py | 44 +++++--------
scripts/schedules/mapcharacters/jelom.py | 49 +++++---------
scripts/schedules/mapcharacters/lucia.py | 63 +++++++-----------
scripts/schedules/mapcharacters/oliver.py | 2 +-
scripts/schedules/mapcharacters/orloth.py | 2 +-
scripts/schedules/mapcharacters/sarin.py | 6 +-
scripts/schedules/mapcharacters/silverhair.py | 88 ++++++++++---------------
scripts/schedules/mapcharacters/talan.py | 51 +++++---------
scripts/schedules/mapcharacters/tristan.py | 76 +++++++++------------
14 files changed, 200 insertions(+), 332 deletions(-)
diff --git a/scripts/schedules/mapcharacters/alek.py
b/scripts/schedules/mapcharacters/alek.py
index 9167e61..b3f86c1 100755
--- a/scripts/schedules/mapcharacters/alek.py
+++ b/scripts/schedules/mapcharacters/alek.py
@@ -31,37 +31,23 @@ class alek (schedule.speak):
_("They should sort out this business like real men!")]
self.speech_delay = (20, 40)
schedule.speak.__init__(self)
-
- def run (self):
- myself = self.myself
-
- todo = myself.get_val ("todo")
-
- # -- waiting
- if todo == 0:
- delay = myself.get_val ("delay")
- # If standing delay expired, move around next time
- if delay == 0:
- myself.set_val ("todo", 1)
- else:
- myself.set_val ("delay", delay - 1)
-
- # -- engage a new movement
- elif todo == 1:
- # -- walk to table
- if myself.posx () == 1:
- myself.set_goal (12, 5, adonthell.STAND_NORTH)
- # -- walk to bar
- else:
- myself.set_goal (1, 3, adonthell.STAND_SOUTH)
-
- myself.set_val ("todo", 2)
-
- # -- moving
- elif todo == 2:
- if myself.follow_path () == 1:
- # -- the time we stay at the same place
- delay = random.randrange (60, 150) * 20
-
- myself.set_val ("delay", delay)
- myself.set_val ("todo", 0)
+
+ delay = "%it" % random.randrange (65, 90)
+ self.walk_event = adonthell.time_event (delay)
+ self.walk_event.set_callback (self.walk)
+ adonthell.event_handler_register_event (self.walk_event)
+ self.myself.set_callback (self.goal_reached)
+
+ def walk (self):
+ # -- walk to table
+ if self.myself.posx () == 1:
+ self.myself.set_goal (12, 5, adonthell.STAND_NORTH)
+ # -- walk to bar
+ else:
+ self.myself.set_goal (1, 3, adonthell.STAND_SOUTH)
+
+ def goal_reached (self):
+ delay = "%it" % random.randrange (65, 90)
+ self.walk_event = adonthell.time_event (delay)
+ self.walk_event.set_callback (self.walk)
+ adonthell.event_handler_register_event (self.walk_event)
diff --git a/scripts/schedules/mapcharacters/bjarn.py
b/scripts/schedules/mapcharacters/bjarn.py
index f180b5d..254a49e 100644
--- a/scripts/schedules/mapcharacters/bjarn.py
+++ b/scripts/schedules/mapcharacters/bjarn.py
@@ -37,7 +37,7 @@ class bjarn (schedule.speak):
(7, 3, adonthell.STAND_NORTH), \
(3, 6, adonthell.STAND_WEST)]
- def run (self):
+ def run_old (self):
myself = self.myself
# -- Get at the proper place when Erek lets the player into the room
diff --git a/scripts/schedules/mapcharacters/erek.py
b/scripts/schedules/mapcharacters/erek.py
index d69cd0d..2bef2a1 100755
--- a/scripts/schedules/mapcharacters/erek.py
+++ b/scripts/schedules/mapcharacters/erek.py
@@ -54,7 +54,7 @@ class erek (schedule.speak):
self.index = 0
- def run (self):
+ def run_old (self):
myself = self.myself
# -- lead the player into bjarn's room
diff --git a/scripts/schedules/mapcharacters/fellnir.py
b/scripts/schedules/mapcharacters/fellnir.py
index b22a11b..17dc9c3 100644
--- a/scripts/schedules/mapcharacters/fellnir.py
+++ b/scripts/schedules/mapcharacters/fellnir.py
@@ -36,32 +36,18 @@ class fellnir (schedule.speak):
(4, 2, adonthell.STAND_NORTH), \
(6, 5, adonthell.STAND_WEST)]
- def run (self):
- myself = self.myself
-
- todo = myself.get_val ("todo")
-
- # -- waiting
- if todo == 0:
- delay = myself.get_val ("delay")
- # If standing delay expired, move around next time
- if delay == 0:
- myself.set_val ("todo", 1)
- else:
- myself.set_val ("delay", delay - 1)
-
- # -- engage a new movement
- elif todo == 1:
- x, y, dir = self.coords[random.randrange (0, 4)]
-
- myself.set_goal (x, y, dir)
- myself.set_val ("todo", 2)
-
- # -- moving
- elif todo == 2:
- if myself.follow_path () == 1:
- # -- the time we stay at the same place
- delay = random.randrange (30, 60) * 25
-
- myself.set_val ("delay", delay)
- myself.set_val ("todo", 0)
+ delay = "%it" % random.randrange (37, 75)
+ self.walk_event = adonthell.time_event (delay)
+ self.walk_event.set_callback (self.walk)
+ adonthell.event_handler_register_event (self.walk_event)
+ self.myself.set_callback (self.goal_reached)
+
+ def walk (self):
+ x, y, dir = self.coords[random.randrange (0, 4)]
+ self.myself.set_goal (x, y, dir)
+
+ def goal_reached (self):
+ delay = "%it" % random.randrange (37, 75)
+ self.walk_event = adonthell.time_event (delay)
+ self.walk_event.set_callback (self.walk)
+ adonthell.event_handler_register_event (self.walk_event)
diff --git a/scripts/schedules/mapcharacters/frostbloom.py
b/scripts/schedules/mapcharacters/frostbloom.py
index 62eac43..87d0b7c 100755
--- a/scripts/schedules/mapcharacters/frostbloom.py
+++ b/scripts/schedules/mapcharacters/frostbloom.py
@@ -38,34 +38,21 @@ class frostbloom (schedule.speak):
self.speech_delay = (20, 55)
schedule.speak.__init__(self)
- def run (self):
- myself = self.myself
-
- todo = myself.get_val ("todo")
-
- # -- waiting
- if todo == 0:
- delay = myself.get_val ("delay")
-
- # If standing delay expired, move around next time
- if delay == 0:
- myself.set_val ("todo", 1)
- else:
- myself.set_val ("delay", delay - 1)
-
- # -- get movement target
- elif todo == 1:
- # -- the position we want to reach
- x = random.randrange (self.min_x, self.max_x)
- y = random.randrange (self.min_y, self.max_y)
-
- myself.set_goal (x, y)
-
- delay = random.randrange (30, 90) * 30
- myself.set_val ("delay", delay)
- myself.set_val ("todo", 2)
-
- # -- walk to the new position
- elif todo == 2:
- if myself.follow_path () == 1:
- myself.set_val ("todo", 0)
+ delay = "%it" % random.randrange (20, 50)
+ self.walk_event = adonthell.time_event (delay)
+ self.walk_event.set_callback (self.walk)
+ adonthell.event_handler_register_event (self.walk_event)
+ self.myself.set_callback (self.goal_reached)
+
+ def walk (self):
+ # -- the position we want to reach
+ x = random.randrange (self.min_x, self.max_x)
+ y = random.randrange (self.min_y, self.max_y)
+
+ self.myself.set_goal (x, y)
+
+ def goal_reached (self):
+ delay = "%it" % random.randrange (20, 50)
+ self.walk_event = adonthell.time_event (delay)
+ self.walk_event.set_callback (self.walk)
+ adonthell.event_handler_register_event (self.walk_event)
diff --git a/scripts/schedules/mapcharacters/janesta.py
b/scripts/schedules/mapcharacters/janesta.py
index 528bfe7..11b6c31 100644
--- a/scripts/schedules/mapcharacters/janesta.py
+++ b/scripts/schedules/mapcharacters/janesta.py
@@ -38,32 +38,18 @@ class janesta (schedule.speak):
(1, 5, adonthell.STAND_SOUTH), \
(4, 2, adonthell.STAND_WEST)]
- def run (self):
- myself = self.myself
-
- todo = myself.get_val ("todo")
-
- # -- waiting
- if todo == 0:
- delay = myself.get_val ("delay")
- # If standing delay expired, move around next time
- if delay == 0:
- myself.set_val ("todo", 1)
- else:
- myself.set_val ("delay", delay - 1)
-
- # -- engage a new movement
- elif todo == 1:
- x, y, dir = self.coords[random.randrange (0, 4)]
-
- myself.set_goal (x, y, dir)
- myself.set_val ("todo", 2)
-
- # -- moving
- elif todo == 2:
- if myself.follow_path () == 1:
- # -- the time we stay at the same place
- delay = random.randrange (20, 60) * 10
-
- myself.set_val ("delay", delay)
- myself.set_val ("todo", 0)
+ delay = "%it" % random.randrange (10, 30)
+ self.walk_event = adonthell.time_event (delay)
+ self.walk_event.set_callback (self.walk)
+ adonthell.event_handler_register_event (self.walk_event)
+ self.myself.set_callback (self.goal_reached)
+
+ def walk (self):
+ x, y, dir = self.coords[random.randrange (0, 4)]
+ self.myself.set_goal (x, y, dir)
+
+ def goal_reached (self):
+ delay = "%it" % random.randrange (10, 30)
+ self.walk_event = adonthell.time_event (delay)
+ self.walk_event.set_callback (self.walk)
+ adonthell.event_handler_register_event (self.walk_event)
diff --git a/scripts/schedules/mapcharacters/jelom.py
b/scripts/schedules/mapcharacters/jelom.py
index dc09984..323984e 100644
--- a/scripts/schedules/mapcharacters/jelom.py
+++ b/scripts/schedules/mapcharacters/jelom.py
@@ -33,35 +33,20 @@ class jelom (schedule.speak):
self.speech_delay = (30, 60)
schedule.speak.__init__(self)
- def run (self):
- myself = self.myself
-
- todo = myself.get_val ("todo")
-
- # If standing
- if todo == 0:
- delay = myself.get_val ("delay")
- # If standing delay expired, move around next time
- if delay == 0:
- myself.set_val ("todo", 1)
- else:
- myself.set_val ("delay", delay - 1)
-
- # Engage a new movement
- elif todo == 1:
- # Choose where to move, if destination is already occupied we'll
- # fall into the wait state (0) again automatically next time
- if myself.posy () == 3:
- myself.set_goal (2, 6, adonthell.STAND_NORTH)
- else:
- myself.set_goal (2, 3, adonthell.STAND_SOUTH)
-
- # Next time we'll actually move!
- myself.set_val ("todo", 2)
-
- # Moving, follow the path until it is reached.
- elif todo == 2:
- # Reached the goal? Wait a while then...
- if myself.follow_path ():
- myself.set_val ("delay", random.randrange (30, 60) * 20)
- myself.set_val ("todo", 0)
+ delay = "%it" % random.randrange (20, 65)
+ self.walk_event = adonthell.time_event (delay)
+ self.walk_event.set_callback (self.walk)
+ adonthell.event_handler_register_event (self.walk_event)
+ self.myself.set_callback (self.goal_reached)
+
+ def walk (self):
+ if self.myself.posy () == 3:
+ self.myself.set_goal (2, 6, adonthell.STAND_NORTH)
+ else:
+ self.myself.set_goal (2, 3, adonthell.STAND_SOUTH)
+
+ def goal_reached (self):
+ delay = "%it" % random.randrange (20, 65)
+ self.walk_event = adonthell.time_event (delay)
+ self.walk_event.set_callback (self.walk)
+ adonthell.event_handler_register_event (self.walk_event)
diff --git a/scripts/schedules/mapcharacters/lucia.py
b/scripts/schedules/mapcharacters/lucia.py
index 41fe420..b1dfc7b 100644
--- a/scripts/schedules/mapcharacters/lucia.py
+++ b/scripts/schedules/mapcharacters/lucia.py
@@ -36,42 +36,27 @@ class lucia (schedule.speak):
self.coords = [(3, 3, adonthell.STAND_NORTH), \
(6, 3, adonthell.STAND_EAST)]
- def run (self):
- myself = self.myself
- todo = myself.get_val ("todo")
-
- # -- waiting
- if todo == 0:
- delay = myself.get_val ("delay")
-
- # -- If standing delay expired, move around next time
- if delay == 0:
- myself.set_val ("todo", 1)
- else:
- myself.set_val ("delay", delay - 1)
-
-
- # -- engage a new movement
- elif todo == 1:
- if myself.posx () != 3:
- x, y, dir = self.coords[0]
- else:
- x, y, dir = self.coords[random.randrange(0, 2)]
- myself.set_goal (x, y, dir)
- myself.set_val ("todo", 2)
-
- # -- moving
- elif todo == 2:
- if myself.follow_path () == 1:
- # -- standing in front of the exit
- if myself.posx () == 6:
- myself.speak (_("Ah, some fresh air!"))
-
- tmp = myself.get_val ("say_something")
- myself.set_val ("say_something", tmp + 75)
- myself.set_val ("delay", 300)
-
- else:
- myself.set_val ("delay", 1000 + random.randrange (0, 2000))
-
- myself.set_val ("todo", 0)
+ delay = "%it" % random.randrange (20, 40)
+ self.walk_event = adonthell.time_event (delay)
+ self.walk_event.set_callback (self.walk)
+ adonthell.event_handler_register_event (self.walk_event)
+ self.myself.set_callback (self.goal_reached)
+
+ def walk (self):
+ if self.myself.posx () != 3:
+ x, y, dir = self.coords[0]
+ else:
+ x, y, dir = self.coords[random.randrange(0, 2)]
+ self.myself.set_goal (x, y, dir)
+
+ def goal_reached (self):
+ # -- standing in front of the exit
+ if self.myself.posx () == 6:
+ self.myself.speak (_("Ah, some fresh air!"))
+ delay = "8t"
+ else:
+ delay = "%it" % random.randrange (20, 40)
+
+ self.walk_event = adonthell.time_event (delay)
+ self.walk_event.set_callback (self.walk)
+ adonthell.event_handler_register_event (self.walk_event)
diff --git a/scripts/schedules/mapcharacters/oliver.py
b/scripts/schedules/mapcharacters/oliver.py
index 61f1a68..d73d173 100755
--- a/scripts/schedules/mapcharacters/oliver.py
+++ b/scripts/schedules/mapcharacters/oliver.py
@@ -36,7 +36,7 @@ class oliver (schedule.speak):
self.offsets = [(1,1),(1,-1),(-1,1),(-1,-1),(1,0),(0,1),(-1,0),(0,-1)]
- def run (self):
+ def run_old (self):
myself = self.myself
# -- Oliver summoned to common room
diff --git a/scripts/schedules/mapcharacters/orloth.py
b/scripts/schedules/mapcharacters/orloth.py
index f5353dc..5f6ab54 100755
--- a/scripts/schedules/mapcharacters/orloth.py
+++ b/scripts/schedules/mapcharacters/orloth.py
@@ -43,7 +43,7 @@ class orloth (schedule.speak):
(12, 5, 0), \
(6, 5, 0)]
- def run (self):
+ def run_old (self):
myself = self.myself
todo = myself.get_val ("todo")
diff --git a/scripts/schedules/mapcharacters/sarin.py
b/scripts/schedules/mapcharacters/sarin.py
index 38db345..41a2218 100755
--- a/scripts/schedules/mapcharacters/sarin.py
+++ b/scripts/schedules/mapcharacters/sarin.py
@@ -41,7 +41,11 @@ class sarin (schedule.speak):
self.speech_delay = (20, 40)
schedule.speak.__init__(self)
- def run (self):
+ def walk (self):
+ pass
+ def goal_reached (self):
+ pass
+ def run_old (self):
myself = self.myself
# -- delay for orientation change
diff --git a/scripts/schedules/mapcharacters/silverhair.py
b/scripts/schedules/mapcharacters/silverhair.py
index 9b6d2f3..3cd9414 100755
--- a/scripts/schedules/mapcharacters/silverhair.py
+++ b/scripts/schedules/mapcharacters/silverhair.py
@@ -1,5 +1,5 @@
#
-# (C) Copyright 2001 Kai Sterker <address@hidden>
+# (C) Copyright 2001/2002 Kai Sterker <address@hidden>
# Part of the Adonthell Project http://adonthell.linuxgames.com
#
# This program is free software; you can redistribute it and/or modify
@@ -16,12 +16,13 @@
# window and make a remark about the weather.
import adonthell
+import schedule
import random
# -- pygettext support
def _(message): return message
-class silverhair:
+class silverhair (schedule.speak):
def __init__ (self, mapcharacterinstance):
self.myself = mapcharacterinstance
@@ -29,56 +30,33 @@ class silverhair:
_("Janesta, dear, worry not. I am content here."), \
_("Janesta, please bring my figurine. I wish to see it
more closely."), \
_("It truly is a lovely day. I expect we will have time
yet to enjoy it.")]
-
- def run (self):
- myself = self.myself
-
- todo = myself.get_val ("todo")
-
- # -- waiting
- if todo == 0:
- delay = myself.get_val ("delay")
-
- # If standing delay expired, move around next time
- if delay == 0:
- myself.set_val ("todo", 1)
- else:
- myself.set_val ("delay", delay - 1)
-
- # -- get movement target
- elif todo == 1:
- # -- goto the window
- if myself.posx () == 4:
- # ... and speak about the weather
- say = random.randrange (33, 66) * 10
- delay = random.randrange (50, 75) * 15
- myself.set_val ("say_something", say)
- myself.set_goal (6, 4, adonthell.STAND_EAST)
-
- # -- go back to our normal position
- else:
- say = random.randrange (33, 66) * 10
- delay = random.randrange (100, 200) * 35
- if myself.set_goal (4, 4, adonthell.STAND_SOUTH) == 0:
- return
-
- myself.set_val ("say_something", say)
- myself.set_val ("delay", delay)
- myself.set_val ("todo", 2)
-
- # -- move
- elif todo == 2:
- if myself.follow_path () == 1:
- myself.set_val ("todo", 0)
-
- # -- speak
- say = myself.get_val ("say_something")
- myself.set_val ("say_something", say - 1)
- if say == 0:
- if myself.posx () == 6:
- myself.speak (self.speech[3])
- else:
- myself.speak (self.speech[random.randrange (0, 3)])
-
- say = random.randrange (60, 180) * 20
- myself.set_val ("say_something", say)
+ self.speech_delay = (20, 72)
+ schedule.speak.__init__(self)
+
+ delay = "%it" % random.randrange (70, 140)
+ self.walk_event = adonthell.time_event (delay)
+ self.walk_event.set_callback (self.walk)
+ adonthell.event_handler_register_event (self.walk_event)
+ self.myself.set_callback (self.goal_reached)
+
+ def walk (self):
+ # -- goto the window
+ if self.myself.posx () == 4:
+ # ... and speak about the weather
+ self.delay = "%it" % random.randrange (15, 22)
+ self.myself.set_goal (6, 4, adonthell.STAND_EAST)
+
+ # -- go back to our normal position
+ else:
+ self.delay = "%it" % random.randrange (70, 140)
+ if self.myself.set_goal (4, 4, adonthell.STAND_SOUTH) == 0:
+ self.myself.go_north ()
+
+ def goal_reached (self):
+ # -- standing in front of the window
+ if self.myself.posx () == 6:
+ self.myself.speak (self.speech[3])
+
+ self.walk_event = adonthell.time_event (self.delay)
+ self.walk_event.set_callback (self.walk)
+ adonthell.event_handler_register_event (self.walk_event)
diff --git a/scripts/schedules/mapcharacters/talan.py
b/scripts/schedules/mapcharacters/talan.py
index e27d988..2399bee 100755
--- a/scripts/schedules/mapcharacters/talan.py
+++ b/scripts/schedules/mapcharacters/talan.py
@@ -31,36 +31,21 @@ class talan (schedule.speak):
_("Nobody may pass through the gate!")]
self.speech_delay = (30, 60)
schedule.speak.__init__(self)
-
- def run (self):
- # Caching this often used variable for faster access
- myself = self.myself
- todo = myself.get_val ("todo")
-
- # If standing
- if todo == 0:
- delay = myself.get_val ("delay")
- # If standing delay expired, move around next time
- if delay == 0:
- myself.set_val ("todo", 1)
- else:
- myself.set_val ("delay", delay - 1)
-
- # Engage a new movement
- elif todo == 1:
- # Choose where to move, if destination is already occupied we'll
- # fall into the wait state (0) again automatically next time
- if myself.posy () == 17:
- myself.set_goal (11, 19, adonthell.STAND_NORTH)
- else:
- myself.set_goal (11, 17, adonthell.STAND_SOUTH)
-
- # Next time we'll actually move!
- myself.set_val ("todo", 2)
-
- # Moving, follow the path until it is reached.
- elif todo == 2:
- # Reached the goal? Wait a while then...
- if myself.follow_path ():
- myself.set_val ("delay", random.randrange (25, 50) * 20)
- myself.set_val ("todo", 0)
+
+ # -- walking stuff
+ self.walk_event = adonthell.time_event ("5t")
+ self.walk_event.set_callback (self.walk)
+ adonthell.event_handler_register_event (self.walk_event)
+ self.myself.set_callback (self.goal_reached)
+
+ def walk (self):
+ if self.myself.posy () == 17:
+ self.myself.set_goal (11, 19, adonthell.STAND_NORTH)
+ else:
+ self.myself.set_goal (11, 17, adonthell.STAND_SOUTH)
+
+ def goal_reached (self):
+ delay = "%it" % random.randrange (10, 20)
+ self.walk_event = adonthell.time_event (delay)
+ self.walk_event.set_callback (self.walk)
+ adonthell.event_handler_register_event (self.walk_event)
diff --git a/scripts/schedules/mapcharacters/tristan.py
b/scripts/schedules/mapcharacters/tristan.py
index 55ca37d..b0f497e 100644
--- a/scripts/schedules/mapcharacters/tristan.py
+++ b/scripts/schedules/mapcharacters/tristan.py
@@ -32,48 +32,34 @@ class tristan (schedule.speak):
_("Ye gods! It cannot be that hard to find the thief!")]
self.speech_delay = (20, 55)
schedule.speak.__init__(self)
-
- def run (self):
- myself = self.myself
- todo = myself.get_val ("todo")
-
- # -- waiting
- if todo == 0:
- delay = myself.get_val ("delay")
-
- # If standing delay expired, move around next time
- if delay == 0:
- myself.set_val ("todo", 1)
- else:
- myself.set_val ("delay", delay - 1)
-
- # -- get movement target
- elif todo == 1:
- # -- in common room -> go outside
- if myself.submap () == 1 and \
- adonthell.gamedata_get_quest ("demo").get_val ("intro_on") ==
0:
- myself.set_goal (13, 8, adonthell.STAND_SOUTH)
- delay = random.randint (100, 150) * 30
-
- # -- outside -> goto common room
- else:
- myself.set_goal (18, 13, adonthell.STAND_NORTH)
- delay = random.randint (75, 150) * 30
-
- myself.set_val ("delay", delay)
- myself.set_val ("todo", 2)
-
- # -- move
- elif todo == 2:
- if myself.follow_path () == 1:
- # -- reached common room
- if myself.submap () == 1 and myself.posx () == 13:
- myself.set_goal (4, 6, adonthell.STAND_WEST)
-
- # -- reached yard
- elif myself.submap () == 0 and myself.posx () == 18:
- myself.set_goal (12, 18, adonthell.STAND_WEST)
-
- # -- reached our final destination
- else:
- myself.set_val ("todo", 0)
+
+ # -- walking
+ self.walk_event = adonthell.time_event ("35t")
+ self.walk_event.set_callback (self.walk)
+ adonthell.event_handler_register_event (self.walk_event)
+ self.myself.set_callback (self.goal_reached)
+
+ def walk (self):
+ # -- in common room -> go outside
+ if self.myself.submap () == 1 and \
+ adonthell.gamedata_get_quest ("demo").get_val ("intro_on") == 0:
+ self.myself.set_goal (13, 8, adonthell.STAND_SOUTH)
+ self.walk_delay = "%it" % random.randint (60, 90)
+
+ # -- outside -> goto common room
+ else:
+ self.myself.set_goal (18, 13, adonthell.STAND_NORTH)
+ self.walk_delay = "%it" % random.randint (45, 90)
+
+ def goal_reached (self):
+ # -- reached common room
+ if self.myself.submap () == 1 and self.myself.posx () == 13:
+ self.myself.set_goal (4, 6, adonthell.STAND_WEST)
+ # -- reached yard
+ elif self.myself.submap () == 0 and self.myself.posx () == 18:
+ self.myself.set_goal (12, 18, adonthell.STAND_WEST)
+ # -- reached our final destination
+ else:
+ self.walk_event = adonthell.time_event (self.walk_delay)
+ self.walk_event.set_callback (self.walk)
+ adonthell.event_handler_register_event (self.walk_event)
- [adonthell-wastesedge-commits] Release_0-3-3 1643ad2 13/50: UPDATED schedules to support callback saving/restoring, (continued)
- [adonthell-wastesedge-commits] Release_0-3-3 1643ad2 13/50: UPDATED schedules to support callback saving/restoring, Kai Sterker, 2016/07/25
- [adonthell-wastesedge-commits] Release_0-3-3 b0e4a2d 33/50: Add new Debian packaging files to EXTRA_DIST, Kai Sterker, 2016/07/25
- [adonthell-wastesedge-commits] Release_0-3-3 f526fd9 09/50: MADE character speech event-driven, Kai Sterker, 2016/07/25
- [adonthell-wastesedge-commits] Release_0-3-3 4694f04 26/50: Some compilation fixes for the upcoming release., Kai Sterker, 2016/07/25
- [adonthell-wastesedge-commits] Release_0-3-3 48ce33c 12/50: UPDATED schedules once again for new event system - still not all done though, Kai Sterker, 2016/07/25
- [adonthell-wastesedge-commits] Release_0-3-3 7ac71b6 32/50: Add missing Debian-files, Kai Sterker, 2016/07/25
- [adonthell-wastesedge-commits] Release_0-3-3 0c77716 29/50: UPDATED docs for wastesedge 0.3.3, Kai Sterker, 2016/07/25
- [adonthell-wastesedge-commits] Release_0-3-3 b2d3419 21/50: FIXED problem of NPCs not reaching cellar due to temporarily blocked path, Kai Sterker, 2016/07/25
- [adonthell-wastesedge-commits] Release_0-3-3 5a5fe13 45/50: FIXED speech of Janesta, which was accidently marked as player text, Kai Sterker, 2016/07/25
- [adonthell-wastesedge-commits] Release_0-3-3 5ab2c22 25/50: FIXED installation of .mo files., Kai Sterker, 2016/07/25
- [adonthell-wastesedge-commits] Release_0-3-3 a229355 10/50: CHANGED most schedules to use event-based walking; disabled the rest for now,
Kai Sterker <=
- [adonthell-wastesedge-commits] Release_0-3-3 02aec5d 08/50: UPDATED to work with new event system, Kai Sterker, 2016/07/25
- [adonthell-wastesedge-commits] Release_0-3-3 a9e2395 23/50: FIXED Bjarn walking around after he starts crying, Kai Sterker, 2016/07/25
- [adonthell-wastesedge-commits] Release_0-3-3 1d9d842 47/50: FIXED memleak (main_munu wasn't deleted at exit), Kai Sterker, 2016/07/25
- [adonthell-wastesedge-commits] Release_0-3-3 04514cb 30/50: New Debian packaging files, Kai Sterker, 2016/07/25
- [adonthell-wastesedge-commits] Release_0-3-3 9705cbd 02/50: ADDED quick-load feature, Kai Sterker, 2016/07/25
- [adonthell-wastesedge-commits] Release_0-3-3 6eee5ec 11/50: UPDATED mapengine.data to latest version, Kai Sterker, 2016/07/25
- [adonthell-wastesedge-commits] Release_0-3-3 3d365be 41/50: ADDED icons for use under Linux, Kai Sterker, 2016/07/25
- [adonthell-wastesedge-commits] Release_0-3-3 fdf6820 27/50: ADDED win32 installer stuff, Kai Sterker, 2016/07/25
- [adonthell-wastesedge-commits] Release_0-3-3 2d519ba 42/50: ADDED icons to RPM build script, Kai Sterker, 2016/07/25
- [adonthell-wastesedge-commits] Release_0-3-3 4a8b5d1 24/50: Fixed version number for Debian packages, Kai Sterker, 2016/07/25