[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[adonthell-wastesedge-commits] Release_0-3-3 48ce33c 12/50: UPDATED sche
From: |
Kai Sterker |
Subject: |
[adonthell-wastesedge-commits] Release_0-3-3 48ce33c 12/50: UPDATED schedules once again for new event system - still not all done though |
Date: |
Mon, 25 Jul 2016 18:15:30 +0000 (UTC) |
tag: Release_0-3-3
commit 48ce33cf74aea0debdde9a9935c27cdd6f4355d5
Author: Kai Sterker <address@hidden>
Commit: Kai Sterker <address@hidden>
UPDATED schedules once again for new event system - still not all done
though
---
mapengine.data | Bin 5557 -> 5601 bytes
scripts/dialogues/oliver_start.py | 9 +-
scripts/dialogues/orloth_start.py | 7 +-
scripts/game_events/Makefile.am | 3 +-
scripts/game_events/silverhair_to_brn.py | 7 +-
scripts/schedules/mapcharacters/Makefile.am | 2 +-
scripts/schedules/mapcharacters/alek.py | 17 ++--
scripts/schedules/mapcharacters/fellnir.py | 17 ++--
scripts/schedules/mapcharacters/frostbloom.py | 17 ++--
scripts/schedules/mapcharacters/janesta.py | 15 +--
scripts/schedules/mapcharacters/jelom.py | 15 +--
scripts/schedules/mapcharacters/lucia.py | 15 +--
scripts/schedules/mapcharacters/oliver.py | 122 +++++++++----------------
scripts/schedules/mapcharacters/orloth.py | 113 +++++++++++------------
scripts/schedules/mapcharacters/sarin.py | 34 ++++---
scripts/schedules/mapcharacters/schedule.py | 26 ++++--
scripts/schedules/mapcharacters/silverhair.py | 15 +--
scripts/schedules/mapcharacters/talan.py | 15 +--
scripts/schedules/mapcharacters/tristan.py | 19 ++--
19 files changed, 234 insertions(+), 234 deletions(-)
diff --git a/mapengine.data b/mapengine.data
index ac53708..3a1a102 100755
Binary files a/mapengine.data and b/mapengine.data differ
diff --git a/scripts/dialogues/oliver_start.py
b/scripts/dialogues/oliver_start.py
index e990799..597e348 100755
--- a/scripts/dialogues/oliver_start.py
+++ b/scripts/dialogues/oliver_start.py
@@ -45,12 +45,12 @@ class oliver_start (dialogue.base):
cond = [\
"self.the_npc.get_val (\"talked_to\") == 0\n",\
- "self.the_npc.get_val (\"goto_players_room\") == 3\n"]
+ "adonthell.gamedata_get_character (\"Oliver Redwyne\").submap
() == 12\n"]
code = [\
"self.the_npc.set_val (\"talked_to\" , 1)\n",\
"adonthell.gamedata_get_quest(\"demo\").set_val
(\"know_olivers_noise\" , 1)\n",\
- "self.the_npc.set_val (\"goto_players_room\" ,
0)\nself.the_npc.set_val (\"talked_to\" , 1)\nself.the_npc.set_val
(\"goto_barn\" , 1)\n"]
+ "self.the_npc.set_val (\"talked_to\" , 1)\nself.the_npc.set_val
(\"goto_barn\" , 1)\n"]
# -- (speaker, code, ((text, operation, condition), ...))
dlg = [\
@@ -97,3 +97,8 @@ class oliver_start (dialogue.base):
self.namespace = globals ()
self.the_player = p
self.the_npc = n
+
+ def __del__(self):
+ if self.the_npc.get_val ("goto_barn") == 1:
+ adonthell.gamedata_get_character("Oliver Redwyne").do_stuff
("goto_barn")
+
diff --git a/scripts/dialogues/orloth_start.py
b/scripts/dialogues/orloth_start.py
index 845c472..800f238 100755
--- a/scripts/dialogues/orloth_start.py
+++ b/scripts/dialogues/orloth_start.py
@@ -165,7 +165,7 @@ class orloth_start (dialogue.base):
"adonthell.gamedata_get_quest(\"demo\").set_val (\"know_erek\"
, 1)\n",\
"adonthell.gamedata_get_quest(\"demo\").set_val
(\"know_bjarns_insult\" , 1)\n",\
"self.the_npc.set_val (\"told_about_shair\", 1)\n\nmyvar =
adonthell.gamedata_get_quest(\"demo\").get_val (\"work_4_shair\")\nmyvar =
myvar | 1\nadonthell.gamedata_get_quest(\"demo\").set_val (\"work_4_shair\" ,
myvar)\n\n",\
- "adonthell.gamedata_get_character(\"Oliver Redwyne\").set_val
(\"goto_players_room\" , 1)\n",\
+ "adonthell.gamedata_get_character(\"Oliver Redwyne\").do_stuff
(\"goto_common_room\")\nself.goto_players_room = 1\n",\
"self.the_npc.set_val (\"explain_events\" , 1)\n",\
"adonthell.gamedata_get_quest(\"demo\").set_val
(\"know_argument\" , 1)\n",\
"adonthell.gamedata_get_quest(\"demo\").set_val
(\"soothe_lucia\" , 1)\n"]
@@ -316,12 +316,11 @@ class orloth_start (dialogue.base):
def __del__(self):
oliver = adonthell.gamedata_get_character ("Oliver Redwyne")
- if oliver.get_val ("goto_players_room") == 2:
+ if self.goto_players_room == 1:
import events
events.switch_submap (self.the_player, 12, 5, 3, 1)
+ oliver.stop_moving ()
oliver.set_offset (0, 0)
- oliver.set_val ("goto_players_room", 3)
- oliver.set_val ("todo", 0)
events.switch_submap (oliver, 12, 5, 4, 0)
diff --git a/scripts/game_events/Makefile.am b/scripts/game_events/Makefile.am
index 9b6a074..22f0a14 100755
--- a/scripts/game_events/Makefile.am
+++ b/scripts/game_events/Makefile.am
@@ -5,7 +5,8 @@ pkgdata_DATA = *.pyc
EXTRA_DIST = teleport.py cellar_to_bjarn.py fst_to_silverhair.py \
character_speak.py open_inn_door.py silverhair_to_fst.py \
silverhair_to_brn.py brn_to_silverhair.py search_chest.py \
- to_storage.py lft_to_vnd.py vnd_to_lft.py __init__.py
+ to_storage.py lft_to_vnd.py vnd_to_lft.py __init__.py \
+ speak.py
all:
$(adonthell_binary) -c
diff --git a/scripts/game_events/silverhair_to_brn.py
b/scripts/game_events/silverhair_to_brn.py
index 9cc9fc5..6950afd 100644
--- a/scripts/game_events/silverhair_to_brn.py
+++ b/scripts/game_events/silverhair_to_brn.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
@@ -10,7 +10,7 @@
# See the COPYING file for more details
#
-# -- Map Event to teleport a character from the barn into Silverhair's room
+# -- Map Event to teleport a character from Silverhair's room onto veranda
import adonthell
import events
@@ -29,6 +29,9 @@ class silverhair_to_brn:
self.destdir = destdir
def run (self, submap, x, y, dir, name):
+ # -- just arrived -> do nothing
+ if dir == adonthell.STAND_WEST: return
+
p = adonthell.gamedata_get_character (name)
if p.get_val ("came_from_barn") == 1:
diff --git a/scripts/schedules/mapcharacters/Makefile.am
b/scripts/schedules/mapcharacters/Makefile.am
index 29c6f89..39796a8 100644
--- a/scripts/schedules/mapcharacters/Makefile.am
+++ b/scripts/schedules/mapcharacters/Makefile.am
@@ -5,7 +5,7 @@ pkgdata_DATA = *.pyc
EXTRA_DIST = alek.py erek.py frostbloom.py janesta.py jelom.py bjarn.py \
keyboard_control.py oliver.py orloth.py sarin.py silverhair.py \
talan.py tristan.py fellnir.py to_cellar.py lucia.py intro.py \
- extro.py __init__.py
+ extro.py __init__.py schedule.py
all:
$(adonthell_binary) -c
diff --git a/scripts/schedules/mapcharacters/alek.py
b/scripts/schedules/mapcharacters/alek.py
index b3f86c1..2a7adfe 100755
--- a/scripts/schedules/mapcharacters/alek.py
+++ b/scripts/schedules/mapcharacters/alek.py
@@ -33,11 +33,13 @@ class alek (schedule.speak):
schedule.speak.__init__(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)
- self.myself.set_callback (self.goal_reached)
+ walk_event = adonthell.time_event (delay)
+ walk_event.set_callback (self.walk)
+ walk_event.thisown = 0
+ self.myself.add_event (walk_event)
+ self.myself.set_callback (self.goal_reached)
+
def walk (self):
# -- walk to table
if self.myself.posx () == 1:
@@ -48,6 +50,7 @@ class alek (schedule.speak):
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)
+ walk_event = adonthell.time_event (delay)
+ walk_event.set_callback (self.walk)
+ walk_event.thisown = 0
+ self.myself.add_event (walk_event)
diff --git a/scripts/schedules/mapcharacters/fellnir.py
b/scripts/schedules/mapcharacters/fellnir.py
index 17dc9c3..5796f73 100644
--- a/scripts/schedules/mapcharacters/fellnir.py
+++ b/scripts/schedules/mapcharacters/fellnir.py
@@ -37,17 +37,20 @@ class fellnir (schedule.speak):
(6, 5, adonthell.STAND_WEST)]
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)
+ walk_event = adonthell.time_event (delay)
+ walk_event.set_callback (self.walk)
+ walk_event.thisown = 0
+ self.myself.add_event (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)
+ walk_event = adonthell.time_event (delay)
+ walk_event.set_callback (self.walk)
+ walk_event.thisown = 0
+ self.myself.add_event (walk_event)
diff --git a/scripts/schedules/mapcharacters/frostbloom.py
b/scripts/schedules/mapcharacters/frostbloom.py
index 87d0b7c..ad46f97 100755
--- a/scripts/schedules/mapcharacters/frostbloom.py
+++ b/scripts/schedules/mapcharacters/frostbloom.py
@@ -39,11 +39,13 @@ class frostbloom (schedule.speak):
schedule.speak.__init__(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)
- self.myself.set_callback (self.goal_reached)
+ walk_event = adonthell.time_event (delay)
+ walk_event.set_callback (self.walk)
+ walk_event.thisown = 0
+ self.myself.add_event (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)
@@ -53,6 +55,7 @@ class frostbloom (schedule.speak):
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)
+ walk_event = adonthell.time_event (delay)
+ walk_event.set_callback (self.walk)
+ walk_event.thisown = 0
+ self.myself.add_event (walk_event)
diff --git a/scripts/schedules/mapcharacters/janesta.py
b/scripts/schedules/mapcharacters/janesta.py
index 11b6c31..9521164 100644
--- a/scripts/schedules/mapcharacters/janesta.py
+++ b/scripts/schedules/mapcharacters/janesta.py
@@ -39,9 +39,11 @@ class janesta (schedule.speak):
(4, 2, adonthell.STAND_WEST)]
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)
+ walk_event = adonthell.time_event (delay)
+ walk_event.set_callback (self.walk)
+ walk_event.thisown = 0
+ self.myself.add_event (walk_event)
+
self.myself.set_callback (self.goal_reached)
def walk (self):
@@ -50,6 +52,7 @@ class janesta (schedule.speak):
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)
+ walk_event = adonthell.time_event (delay)
+ walk_event.set_callback (self.walk)
+ walk_event.thisown = 0
+ self.myself.add_event (walk_event)
diff --git a/scripts/schedules/mapcharacters/jelom.py
b/scripts/schedules/mapcharacters/jelom.py
index 323984e..df43039 100644
--- a/scripts/schedules/mapcharacters/jelom.py
+++ b/scripts/schedules/mapcharacters/jelom.py
@@ -34,9 +34,11 @@ class jelom (schedule.speak):
schedule.speak.__init__(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)
+ walk_event = adonthell.time_event (delay)
+ walk_event.set_callback (self.walk)
+ walk_event.thisown = 0
+ self.myself.add_event (walk_event)
+
self.myself.set_callback (self.goal_reached)
def walk (self):
@@ -47,6 +49,7 @@ class jelom (schedule.speak):
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)
+ walk_event = adonthell.time_event (delay)
+ walk_event.set_callback (self.walk)
+ walk_event.thisown = 0
+ self.myself.add_event (walk_event)
diff --git a/scripts/schedules/mapcharacters/lucia.py
b/scripts/schedules/mapcharacters/lucia.py
index b1dfc7b..9aeb2ae 100644
--- a/scripts/schedules/mapcharacters/lucia.py
+++ b/scripts/schedules/mapcharacters/lucia.py
@@ -37,9 +37,11 @@ class lucia (schedule.speak):
(6, 3, adonthell.STAND_EAST)]
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)
+ walk_event = adonthell.time_event (delay)
+ walk_event.set_callback (self.walk)
+ walk_event.thisown = 0
+ self.myself.add_event (walk_event)
+
self.myself.set_callback (self.goal_reached)
def walk (self):
@@ -57,6 +59,7 @@ class lucia (schedule.speak):
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)
+ walk_event = adonthell.time_event (delay)
+ walk_event.set_callback (self.walk)
+ walk_event.thisown = 0
+ self.myself.add_event (walk_event)
diff --git a/scripts/schedules/mapcharacters/oliver.py
b/scripts/schedules/mapcharacters/oliver.py
index d73d173..a337de7 100755
--- a/scripts/schedules/mapcharacters/oliver.py
+++ b/scripts/schedules/mapcharacters/oliver.py
@@ -35,83 +35,47 @@ class oliver (schedule.speak):
# -- the tiles around Orloth
self.offsets = [(1,1),(1,-1),(-1,1),(-1,-1),(1,0),(0,1),(-1,0),(0,-1)]
-
- def run_old (self):
- myself = self.myself
+ self.myself.set_callback (self.goal_reached)
+
+ # -- summoned to the common room player to his room
+ def goto_common_room (self):
+ # -- beam directly to common room, as it is faster that way
+ self.myself.jump_to (1, 13, 7, adonthell.STAND_NORTH)
- # -- Oliver summoned to common room
- if myself.get_val ("goto_players_room") == 1:
- # -- beam him directly there, as it is faster that way
- if myself.submap () != 1:
- myself.jump_to (1, 13, 7, adonthell.STAND_NORTH)
-
- # -- find a free spot near Orloth and the player
- i = 0
- orloth = adonthell.gamedata_get_character ("Orloth Redwyne")
- while i < 7:
- x, y = self.offsets[i][:2]
- x = x + orloth.posx ()
- y = y + orloth.posy ()
- if myself.set_goal (x, y): break
- i = i + 1
-
- myself.set_val ("goto_players_room", 2)
- myself.set_val ("todo", 2)
-
- # -- in the player's room
- elif myself.get_val ("goto_players_room") == 3:
- # -- start talking to the player
- myself.launch_action (adonthell.gamedata_player ())
-
- # -- leave the player's room and goto the barn
- elif myself.get_val ("goto_barn") == 1:
- location = myself.submap ()
- myself.set_val ("goto_barn", 2)
-
- # -- Player's room
- if location == 12:
- myself.set_goal (5, 1)
-
- # -- First floor
- elif location == 9:
- myself.set_goal (8, 1)
-
- # -- Second floor (this shouldn't happen, but it once did ...)
- elif location == 14:
- myself.set_goal (4, 1)
-
- # -- Common Room
- elif location == 1:
- myself.set_goal (13, 8)
-
- # -- Yard, our final goal (for now)
- elif location == 0:
- myself.set_goal (25, 15)
- myself.set_val ("goto_barn", 0)
-
- myself.set_val ("todo", 2)
-
-
- # -- "normal" schedule
- 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:
- # -- on our way back from bjarn's room
- if myself.get_val ("goto_barn") == 2:
- myself.set_val ("goto_barn", 1)
-
- # -- move
- elif todo == 2:
- if myself.follow_path () == 1:
- myself.set_val ("todo", 0)
+ # -- find a free spot near Orloth and the player
+ orloth = adonthell.gamedata_get_character ("Orloth Redwyne")
+ for (x, y) in self.offsets:
+ x = x + orloth.posx ()
+ y = y + orloth.posy ()
+
+ if self.myself.set_goal (x, y):
+ break
+
+ # -- leave the player's room and goto the barn
+ def goto_barn (self):
+ location = self.myself.submap ()
+
+ # -- Player's room
+ if location == 12:
+ self.myself.set_goal (5, 1)
+
+ # -- First floor
+ elif location == 9:
+ self.myself.set_goal (8, 1)
+
+ # -- Second floor (this shouldn't happen, but it once did ...)
+ elif location == 14:
+ self.myself.set_goal (4, 1)
+
+ # -- Common Room
+ elif location == 1:
+ self.myself.set_goal (13, 8)
+
+ # -- Yard, our final goal (for now)
+ elif location == 0:
+ self.myself.set_goal (25, 15)
+ self.myself.goto_barn = 0
+
+ def goal_reached (self):
+ if self.myself.get_val ("goto_barn") == 1:
+ self.goto_barn ()
diff --git a/scripts/schedules/mapcharacters/orloth.py
b/scripts/schedules/mapcharacters/orloth.py
index 5f6ab54..4e2634d 100755
--- a/scripts/schedules/mapcharacters/orloth.py
+++ b/scripts/schedules/mapcharacters/orloth.py
@@ -42,78 +42,67 @@ class orloth (schedule.speak):
(9, 7, 0), \
(12, 5, 0), \
(6, 5, 0)]
-
- def run_old (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)
-
- # -- put/take the first mug
- if delay == 100:
- self.put_object (106, 0)
-
- # -- put/take the second mug
- elif delay == 50:
- self.put_object (107, 1)
-
- # -- engage a new movement
- elif todo == 1:
- # -- when we are at the bar, then wait a while before
- # moving again
- if myself.posx () != 2:
- delay = random.randrange (40, 120) * 20
- myself.set_val ("delay", delay)
- myself.set_goal (2, 2, adonthell.STAND_SOUTH)
- myself.set_val ("table_num", 0)
-
- # -- otherwise only wait a little
- else:
- index = random.randrange (0, 5)
- x, y, dir = self.coords[index]
- myself.set_goal (x, y, dir)
- myself.set_val ("delay", 150)
- myself.set_val ("table_num", index)
-
- myself.set_val ("todo", 2)
-
- # -- moving
- elif todo == 2:
- if myself.follow_path () == 1:
- # -- standing in front of the clock
- if myself.posx () == 10:
- myself.speak (_("That clock is late again!"))
-
- tmp = myself.get_val ("say_something")
- myself.set_val ("say_something", tmp + 75)
-
- myself.set_val ("todo", 0)
-
+
+ # -- improve that!!!
+ self.goal_reached ()
+ self.myself.set_callback (self.goal_reached)
+
+ def walk (self):
+ # -- return to bar
+ if self.myself.posx () != 2:
+ self.myself.set_goal (2, 2, adonthell.STAND_SOUTH)
+ self.myself.set_val ("table_num", 0)
+
+ # -- when we are at the bar, then wait a while before
+ # moving again
+ else:
+ index = random.randrange (0, 5)
+ x, y, dir = self.coords[index]
+ self.myself.set_goal (x, y, dir)
+ self.myself.set_val ("table_num", index)
+
+ def goal_reached (self):
+ # -- standing in front of the clock
+ if self.myself.posx () == 10:
+ self.myself.speak (_("That clock is late again!"))
+ delay = "%it" % random.randrange (3, 6)
+ # -- standing at the bar
+ elif self.myself.posx () == 2:
+ delay = "%it" % random.randrange (16, 48)
+ # -- standing at a table
+ else:
+ delay = "3t"
+ # -- put/take first mug
+ frst_mug = adonthell.time_event ("1t")
+ frst_mug.set_callback (self.put_object, (106, 0))
+ frst_mug.thisown = 0
+ self.myself.add_event (frst_mug)
+ # -- put/take second mug
+ scnd_mug = adonthell.time_event ("2t")
+ scnd_mug.set_callback (self.put_object, (107, 1))
+ scnd_mug.thisown = 0
+ self.myself.add_event (scnd_mug)
+
+ walk_event = adonthell.time_event (delay)
+ walk_event.set_callback (self.walk)
+ walk_event.thisown = 0
+ self.myself.add_event (walk_event)
# -- put/remove something from the table we're standing next to
- def put_object (self, object, update):
- myself = self.myself
+ def put_object (self, args):
+ object, update = args[:]
# -- the table we're next to
- index = myself.get_val ("table_num")
+ index = self.myself.get_val ("table_num")
if index > 0:
# -- see whether table is laid or not
key = "table%i_set" % index
- val = myself.get_val (key)
+ val = self.myself.get_val (key)
x, y = self.coords[index+4][:2]
if val == 0:
adonthell.gamedata_engine ().get_landmap ().put_mapobject (1,
x, y, object)
- if update == 1: myself.set_val (key, 1)
+ if update == 1: self.myself.set_val (key, 1)
else:
adonthell.gamedata_engine ().get_landmap ().remove_mapobject
(1, x, y, object)
- if update == 1: myself.set_val (key, 0)
-
+ if update == 1: self.myself.set_val (key, 0)
diff --git a/scripts/schedules/mapcharacters/sarin.py
b/scripts/schedules/mapcharacters/sarin.py
index 43e6d27..1e33369 100755
--- a/scripts/schedules/mapcharacters/sarin.py
+++ b/scripts/schedules/mapcharacters/sarin.py
@@ -43,28 +43,31 @@ class sarin (schedule.speak):
schedule.speak.__init__(self)
delay = "%it" % random.randrange (3, 6)
- self.walk_event = adonthell.time_event (delay)
- self.walk_event.set_callback (self.walk)
- adonthell.event_handler_register_event (self.walk_event)
+ walk_event = adonthell.time_event (delay)
+ walk_event.set_callback (self.walk)
+ walk_event.thisown = 0
+ self.myself.add_event (walk_event)
self.myself.set_callback (self.goal_reached)
- #delay = "%it" % random.randrange (13, 16)
- #self.switch_event = adonthell.time_event (delay)
- #self.switch_event.set_callback (self.switch_direction)
- #adonthell.event_handler_register_event (self.switch_event)
+ delay = "%it" % random.randrange (30, 60)
+ switch_event = adonthell.time_event (delay)
+ switch_event.set_callback (self.switch_direction)
+ switch_event.thisown = 0
+ self.myself.add_event (switch_event)
- def switch_direction (self):
+ def switch_direction (self):
# -- ... and set the new one accordingly
if self.direction == adonthell.WALK_EAST or self.direction ==
adonthell.WALK_WEST:
self.direction = random.randrange (adonthell.WALK_NORTH,
adonthell.WALK_SOUTH + 1)
else:
self.direction = random.randrange (adonthell.WALK_WEST,
adonthell.WALK_EAST + 1)
- delay = "%it" % random.randrange (13, 16)
- self.switch_event = adonthell.time_event (delay)
- self.switch_event.set_callback (self.switch_direction)
- adonthell.event_handler_register_event (self.switch_event)
+ delay = "%it" % random.randrange (30, 60)
+ switch_event = adonthell.time_event (delay)
+ switch_event.set_callback (self.switch_direction)
+ switch_event.thisown = 0
+ self.myself.add_event (switch_event)
self.walk ()
@@ -89,6 +92,7 @@ class sarin (schedule.speak):
def goal_reached (self):
delay = "%it" % random.randrange (3, 6)
- self.walk_event = adonthell.time_event (delay)
- self.walk_event.set_callback (self.walk)
- adonthell.event_handler_register_event (self.walk_event)
+ walk_event = adonthell.time_event (delay)
+ walk_event.set_callback (self.walk)
+ walk_event.thisown = 0
+ self.myself.add_event (walk_event)
diff --git a/scripts/schedules/mapcharacters/schedule.py
b/scripts/schedules/mapcharacters/schedule.py
index df341c0..c12476a 100644
--- a/scripts/schedules/mapcharacters/schedule.py
+++ b/scripts/schedules/mapcharacters/schedule.py
@@ -19,6 +19,7 @@ import types
# -- let NPC utter random remarks
# requires the NPC schedule to have the members
#
+# myself, a pointer to the mapcharacter
# speech, an array of remarks for the NPC, and
# speech_delay, a tuple with the minimum and maximum delay
# between two remarks
@@ -28,11 +29,15 @@ import types
class speak:
def __init__ (self):
# -- sanity checks
- if type (self.speech) != types.ListType:
+ if not hasattr (self, "myself"):
+ print "*** speak::__init__: character 'myself' not found!"
+ if not hasattr (self, "speech") and \
+ type (self.speech) != types.ListType:
print "*** speak::__init__: 'speech' list not found!"
- if type (self.speech_delay) != types.TupleType:
+ if not hasattr (self, "speech_delay") and \
+ type (self.speech_delay) != types.TupleType:
print "*** speak::__init__: 'speech_delay' tuple not found!"
- if len (self.speech_delay) != 2:
+ elif len (self.speech_delay) != 2:
print "*** speak::__init__: 'speech_delay' has wrong size!"
# -- member initialization
@@ -40,16 +45,17 @@ class speak:
# -- register first speech
delay = "%it" % random.randrange (self.speech_delay[0],
self.speech_delay[1])
- self.speak_event = adonthell.time_event (delay)
- self.speak_event.set_callback (self.speak)
- adonthell.event_handler_register_event (self.speak_event)
-
+ speak_event = adonthell.time_event (delay)
+ speak_event.thisown = 0
+ speak_event.set_callback (self.speak)
+ self.myself.add_event (speak_event)
# -- make remark and set delay for the next one
def speak (self):
self.myself.speak (self.speech[random.randrange (0,
self.speech_length)])
delay = "%it" % random.randrange (self.speech_delay[0],
self.speech_delay[1])
- self.speak_event = adonthell.time_event (delay)
- self.speak_event.set_callback (self.speak)
- adonthell.event_handler_register_event (self.speak_event)
+ speak_event = adonthell.time_event (delay)
+ speak_event.thisown = 0
+ speak_event.set_callback (self.speak)
+ self.myself.add_event (speak_event)
diff --git a/scripts/schedules/mapcharacters/silverhair.py
b/scripts/schedules/mapcharacters/silverhair.py
index 3cd9414..52beae6 100755
--- a/scripts/schedules/mapcharacters/silverhair.py
+++ b/scripts/schedules/mapcharacters/silverhair.py
@@ -34,9 +34,11 @@ class silverhair (schedule.speak):
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)
+ walk_event = adonthell.time_event (delay)
+ walk_event.set_callback (self.walk)
+ walk_event.thisown = 0
+ self.myself.add_event (walk_event)
+
self.myself.set_callback (self.goal_reached)
def walk (self):
@@ -57,6 +59,7 @@ class silverhair (schedule.speak):
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)
+ walk_event = adonthell.time_event (self.delay)
+ walk_event.set_callback (self.walk)
+ walk_event.thisown = 0
+ self.myself.add_event (walk_event)
diff --git a/scripts/schedules/mapcharacters/talan.py
b/scripts/schedules/mapcharacters/talan.py
index 2399bee..5909deb 100755
--- a/scripts/schedules/mapcharacters/talan.py
+++ b/scripts/schedules/mapcharacters/talan.py
@@ -33,9 +33,11 @@ class talan (schedule.speak):
schedule.speak.__init__(self)
# -- walking stuff
- self.walk_event = adonthell.time_event ("5t")
- self.walk_event.set_callback (self.walk)
- adonthell.event_handler_register_event (self.walk_event)
+ walk_event = adonthell.time_event ("5t")
+ walk_event.set_callback (self.walk)
+ walk_event.thisown = 0
+ self.myself.add_event (walk_event)
+
self.myself.set_callback (self.goal_reached)
def walk (self):
@@ -46,6 +48,7 @@ class talan (schedule.speak):
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)
+ walk_event = adonthell.time_event (delay)
+ walk_event.set_callback (self.walk)
+ walk_event.thisown = 0
+ self.myself.add_event (walk_event)
diff --git a/scripts/schedules/mapcharacters/tristan.py
b/scripts/schedules/mapcharacters/tristan.py
index b0f497e..d28f3c9 100644
--- a/scripts/schedules/mapcharacters/tristan.py
+++ b/scripts/schedules/mapcharacters/tristan.py
@@ -33,12 +33,16 @@ class tristan (schedule.speak):
self.speech_delay = (20, 55)
schedule.speak.__init__(self)
+ self.walk_delay = "30t"
+
# -- 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)
+ walk_event = adonthell.time_event (self.walk_delay)
+ walk_event.set_callback (self.walk)
+ walk_event.thisown = 0
+ self.myself.add_event (walk_event)
+ self.myself.set_callback (self.goal_reached)
+
def walk (self):
# -- in common room -> go outside
if self.myself.submap () == 1 and \
@@ -60,6 +64,7 @@ class tristan (schedule.speak):
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)
+ walk_event = adonthell.time_event (self.walk_delay)
+ walk_event.set_callback (self.walk)
+ walk_event.thisown = 0
+ self.myself.add_event (walk_event)
- [adonthell-wastesedge-commits] Release_0-3-3 44bd92c 38/50: ADDED DOS versions of PLAYING and README, (continued)
- [adonthell-wastesedge-commits] Release_0-3-3 44bd92c 38/50: ADDED DOS versions of PLAYING and README, Kai Sterker, 2016/07/25
- [adonthell-wastesedge-commits] Release_0-3-3 6604566 20/50: CHANGED start time to midday of day 0, Kai Sterker, 2016/07/25
- [adonthell-wastesedge-commits] Release_0-3-3 17c744f 18/50: ADDED files that were missing, Kai Sterker, 2016/07/25
- [adonthell-wastesedge-commits] Release_0-3-3 ed0aa91 07/50: IMPROVED wording, Kai Sterker, 2016/07/25
- [adonthell-wastesedge-commits] Release_0-3-3 922c53a 17/50: UPDATED gettext to version 0.11.5, Kai Sterker, 2016/07/25
- [adonthell-wastesedge-commits] Release_0-3-3 332eee6 31/50: Prepend to install-exec-local and uninstall-local targets, Kai Sterker, 2016/07/25
- [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 <=
- [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, 2016/07/25
- [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