diff --git a/python/CFMapTransformer.py b/python/CFMapTransformer.py index cf5de0ea2..19c464e8c 100644 --- a/python/CFMapTransformer.py +++ b/python/CFMapTransformer.py @@ -88,6 +88,7 @@ class CFMapTransformer: force = MakeIdentifier(self.key) force.InsertInto(ob) top.InsertInto(ob) + ob.Pickable=False self.cfmap.Insert(ob,x,y) #handle living stuff by freezing them force.WriteKey("inside_speed","%f" %top.Speed,1) diff --git a/python/tod/filter_one_period.py b/python/tod/filter.py similarity index 63% rename from python/tod/filter_one_period.py rename to python/tod/filter.py index f72fd3e68..41cd2c276 100644 --- a/python/tod/filter_one_period.py +++ b/python/tod/filter.py @@ -1,4 +1,4 @@ -# filter_one_period.py +# filter.py # # Copyright 2007 by David Delbecq # @@ -25,10 +25,12 @@ # # arch event_apply # title Python -# slaying /python/tod/filter_one_period.py +# slaying /python/tod/filter.py # msg # { -# "when":["The Season of New Year","The Season of the Blizzard","Morning"] +# "when":["The Season of New Year","The Season of the Blizzard","Morning"], +# "match" : "one", +# "inverse": true # } # endmsg # end @@ -37,8 +39,16 @@ import string from CFTimeOfDay import TimeOfDay import cjson parameters = cjson.decode(Crossfire.WhatIsEvent().Message) -Crossfire.SetReturnValue(1) -if TimeOfDay().matchAny(parameters["when"]): - Crossfire.SetReturnValue(0) - +inverse = parameters.has_key("inverse") and parameters["inverse"] == True +Crossfire.SetReturnValue(not inverse) +if not parameters.has_key("match"): + Crossfire.Log(Crossfire.LogError,"Script filter.py didn't get a 'match' parameter. Only got %s" %parameters) +elif string.lower(parameters["match"]) == "one": + if TimeOfDay().matchAny(parameters["when"]): + Crossfire.SetReturnValue(inverse) +elif string.lower(parameters["match"]) == "all": + if TimeOfDay().matchAll(parameters["when"]): + Crossfire.SetReturnValue(inverse) +else: + Crossfire.Log(Crossfire.LogError,"Script filter.py didn't get a 'match' parameter. Only got %s" %parameters) diff --git a/python/tod/filter_all_periods.py b/python/tod/filter_all_periods.py deleted file mode 100644 index df3dd3411..000000000 --- a/python/tod/filter_all_periods.py +++ /dev/null @@ -1,44 +0,0 @@ -# filter_all_periods.py -# -# Copyright 2007 by David Delbecq -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -# -# -# -# Uses JSON notation for parameters -# This script make the event it is attached to (not global!) -# works only in specific moment of year/day -# exemple, to make an "apply" work only on -# Morning of each Day of the moon occuring during The Season of the Blizzard: -# -# arch event_apply -# title Python -# slaying /python/tod/filter_all_periods.py -# msg -# { -# "when":["Moon","The Season of the Blizzard","Morning"] -# } -# endmsg -# end -import Crossfire -import string -from CFTimeOfDay import TimeOfDay -import cjson -parameters = cjson.decode(Crossfire.WhatIsEvent().Message) -#default: allow operation (0) -Crossfire.SetReturnValue(0) -if TimeOfDay().matchAny(parameters["when"]): - Crossfire.SetReturnValue(1) diff --git a/python/tod/push_one_period.py b/python/tod/push.py similarity index 77% rename from python/tod/push_one_period.py rename to python/tod/push.py index 2a74c23d9..f55f8b97c 100644 --- a/python/tod/push_one_period.py +++ b/python/tod/push.py @@ -1,4 +1,4 @@ -# push_one_period.py +# push.py # # Copyright 2007 by David Delbecq # @@ -37,11 +37,12 @@ # # arch event_time # title Python -# slaying /python/tod/push_one_period.py +# slaying /python/tod/push.py # msg # { -# "connected":69 -# "when":["Morning","Noon"] +# "connected":"69", +# "when":["Morning","Noon"], +# "match":"one" # } # endmsg # end @@ -56,7 +57,17 @@ event = Crossfire.WhatIsEvent() parameters = cjson.decode(event.Message) alreadymatched = (event.Value!=0) connected = int(parameters["connected"]) -match = TimeOfDay().matchAny(parameters["when"]) +inverse = parameters.has_key("inverse") and parameters["inverse"] == True +match = False +if not parameters.has_key("match"): + Crossfire.Log(Crossfire.LogError,"Script push_period.py didn't get a 'match' parameter. Only got %s" %parameters) +elif string.lower(parameters["match"]) == "one": + match=TimeOfDay().matchAny(parameters["when"]) != inverse +elif string.lower(parameters["match"]) == "all": + match=TimeOfDay().matchAll(parameters["when"]) != inverse +else: + Crossfire.Log(Crossfire.LogError,"Script push_period.py didn't get a 'match' parameter. Only got %s" %parameters) + #pushdown if need if (match & (not alreadymatched)): op = event diff --git a/python/tod/push_all_periods.py b/python/tod/push_all_periods.py deleted file mode 100644 index de51d7f41..000000000 --- a/python/tod/push_all_periods.py +++ /dev/null @@ -1,76 +0,0 @@ -# push_all_periods.py -# -# Copyright 2007 by David Delbecq -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -# -# -# -# This script make the event it is attached to (not global!) -# trigger a connected value at specific moment of year/day. -# It will behave as if a button was "pushed" when entering period -# and "released" after the period. Typical use is to use it as -# event_time on a living object (that objects that triggers -# time events). -# This script ensure button remains pushed for all period, and -# get release after period. This works even is map is loaded -# in middle of period or map gets released from memory and put in -# cache. In those case, event will just ensure that "current" state -# correspond to expected state and correct status if needed. -# Note: the event must be inside an object -# which can find a path, using inventory, to a toplavel -# object that is on a Map. -# -# exemple, to make an "push" active only Mornings of The Season of New Year: -# -# arch event_time -# title Python -# slaying /python/tod/push_all_periods.py -# msg -# { -# "connected":69 -# "when":["Morning","The Season of New Year"] -# } -# endmsg -# end -# parameters are separated by comas. First one -# is connected value to trigger, other ones are -# one or more periods where state must become "pushed" -import Crossfire -import string -from CFTimeOfDay import TimeOfDay -import cjson -event = Crossfire.WhatIsEvent() -parameters = cjson.decode(event.Message) -alreadymatched = (event.Value!=0) -connected = int(parameters["connected"])) -match = TimeOfDay().matchAll(parameters["when"]) -#pushdown if needed -if (match & (not alreadymatched)): - op = event - while (op.Env): - op=op.Env - map = op.Map - map.TriggerConnected(connected,1,Crossfire.WhoAmI()) - event.Value=1 -#release if needed -if ( (not match) & alreadymatched): - op = event - while (op.Env): - op=op.Env - map = op.Map - map.TriggerConnected(connected,0,Crossfire.WhoAmI()) - event.Value=0 - diff --git a/python/tod/replace_all_periods.py b/python/tod/replace.py similarity index 84% rename from python/tod/replace_all_periods.py rename to python/tod/replace.py index df19da54b..7dee28aa0 100644 --- a/python/tod/replace_all_periods.py +++ b/python/tod/replace.py @@ -1,4 +1,4 @@ -# push_one_period.py +# replace.py # # Copyright 2007 by David Delbecq # @@ -32,6 +32,7 @@ # msg # { # "when":["Morning","The Season of the Blizzard"] +# "match":"all" # } # endmsg # arch beholder @@ -46,8 +47,17 @@ import cjson event = Crossfire.WhatIsEvent() parameters = cjson.decode(event.Message) alreadymatched = (event.Value!=0) +inverse = parameters.has_key("inverse") and parameters["inverse"] == True +match = False +if not parameters.has_key("match"): + Crossfire.Log(Crossfire.LogError,"Script replace_period.py didn't get a 'match' parameter. Only got %s" %parameters) +elif string.lower(parameters["match"]) == "one": + match=TimeOfDay().matchAny(parameters["when"]) != inverse +elif string.lower(parameters["match"]) == "all": + match=TimeOfDay().matchAll(parameters["when"]) != inverse +else: + Crossfire.Log(Crossfire.LogError,"Script replace_period.py didn't get a 'match' parameter. Only got %s" %parameters) -match = TimeOfDay().matchAll(parameters["when"]) if ( match != alreadymatched ): #Crossfire.Log(Crossfire.LogDebug, "replace_all_periods") event = Crossfire.WhatIsEvent() diff --git a/python/tod/replace_in_map_one_period.py b/python/tod/replace_in_map.py similarity index 59% rename from python/tod/replace_in_map_one_period.py rename to python/tod/replace_in_map.py index 089dcfc32..23a4e950a 100644 --- a/python/tod/replace_in_map_one_period.py +++ b/python/tod/replace_in_map.py @@ -3,6 +3,7 @@ import random from CFMapTransformer import CFMapTransformer from CFTimeOfDay import TimeOfDay import cjson +import string event = Crossfire.WhatIsEvent() @@ -10,7 +11,17 @@ alreadymatched = (event.Value!=0) parameters = cjson.decode(event.Message) current = TimeOfDay() #current.log() -match = current.matchAny(parameters["when"]) +inverse = parameters.has_key("inverse") and parameters["inverse"] == True +match = False +if not parameters.has_key("match"): + Crossfire.Log(Crossfire.LogError,"Script replace_in_map_period.py didn't get a 'match' parameter. Only got %s" %parameters) +elif string.lower(parameters["match"]) == "one": + match=TimeOfDay().matchAny(parameters["when"]) != inverse +elif string.lower(parameters["match"]) == "all": + match=TimeOfDay().matchAll(parameters["when"]) != inverse +else: + Crossfire.Log(Crossfire.LogError,"Script replace_in_map_period.py didn't get a 'match' parameter. Only got %s" %parameters) + #print "match is %s and alreadymatched is %s" %(match,alreadymatched) if (match != alreadymatched): diff --git a/python/tod/replace_one_period.py b/python/tod/replace_one_period.py deleted file mode 100644 index 773a5c52f..000000000 --- a/python/tod/replace_one_period.py +++ /dev/null @@ -1,91 +0,0 @@ -# push_one_period.py -# -# Copyright 2007 by David Delbecq -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -# -# -# Uses JSON notation for parameters -# This script make the object is is attached to swap at -# given periods of day with a specifc object in the event's inventory -# To use it, give this event's parameter the name of -# period where the swap is active. Put in the inventiry the swapped object -# The swap can occur for objects in map and for object in other object -# -# exemple -# -# arch event_time -# title Python -# slaying /python/tod/replace_one_period.py -# msg -# { -# "when":["Noon","Morning"] -# } -# endmsg -# arch beholder -# end -# end -# - - -import Crossfire -import string -from CFTimeOfDay import TimeOfDay -import cjson -event = Crossfire.WhatIsEvent() -parameters = cjson.decode(event.Message) -alreadymatched = (event.Value!=0) -match = TimeOfDay().matchAny(parameters["when"]) -if ( match != alreadymatched ): - Crossfire.Log(Crossfire.LogDebug, "replace_one_period") - event = Crossfire.WhatIsEvent() - current = Crossfire.WhoAmI() - future = event.Inventory - # we do not want to repace a monster/anything useable in game by a subevent on the event. - # seems for technical reasons, EVENT object have a destroy subevent. So let's just - # ignore subevents - while ( (future != None) & (future.Type == Crossfire.Type.EVENT_CONNECTOR)): - future=future.Below - if (future): - #if (future.Below): - #Crossfire.Log(Crossfire.LogDebug, "future.Below is %s" %future.Below.Name) - #Crossfire.Log(Crossfire.LogDebug, "current is %s, future is %s, event is %s" %(current.Name, future.Name, event.Name)) - if (current.Env): - #Crossfire.Log(Crossfire.LogDebug, "env mode") - env = current.Env - future.InsertInto(env) - event.InsertInto(future) - current.InsertInto(event) - if (alreadymatched): - event.Value=0 - else: - event.Value=1 - elif (current.Map): - #Crossfire.Log(Crossfire.LogDebug, "Map mode") - mymap = current.Map - x = current.X - y = current.Y - #Crossfire.Log(Crossfire.LogDebug, "inserting future %s in map" %future.Name) - mymap.Insert(future,x,y) - #Crossfire.Log(Crossfire.LogDebug, "inserting event %s in future" %event.Name) - event.InsertInto(future) - #Crossfire.Log(Crossfire.LogDebug, "inserting current %s in event" %current.Name) - current.InsertInto(event) - if (alreadymatched): - event.Value=0 - else: - event.Value=1 - #else: - #Crossfire.Log(Crossfire.LogDebug, "neither env object nor map found") diff --git a/test/tod b/test/tod index d8484ce84..d796923e9 100644 --- a/test/tod +++ b/test/tod @@ -198,11 +198,12 @@ move_on walk fly_low fly_high arch event_trigger msg { - "when":"The Season of New Year" + "when":"The Season of New Year", + "match":"one" } endmsg title Python -slaying /python/tod/filter_one_period.py +slaying /python/tod/filter.py end end arch brush @@ -219,11 +220,12 @@ move_on walk fly_low fly_high arch event_trigger msg { - "when":"The Season of Growth" + "when":"The Season of Growth", + "match":"one" } endmsg title Python -slaying /python/tod/filter_one_period.py +slaying /python/tod/filter.py end end arch brush @@ -240,11 +242,12 @@ move_on walk fly_low fly_high arch event_trigger msg { - "when":"The Season of Harvest" + "when":"The Season of Harvest", + "match":"one" } endmsg title Python -slaying /python/tod/filter_one_period.py +slaying /python/tod/filter.py end end arch brush @@ -261,11 +264,12 @@ move_on walk fly_low fly_high arch event_trigger msg { - "when":"The Season of Decay" + "when":"The Season of Decay", + "match":"one" } endmsg title Python -slaying /python/tod/filter_one_period.py +slaying /python/tod/filter.py end end arch brush @@ -282,11 +286,12 @@ move_on walk fly_low fly_high arch event_trigger msg { - "when":"The Season of the Blizzard" + "when":"The Season of the Blizzard", + "match":"one" } endmsg title Python -slaying /python/tod/filter_one_period.py +slaying /python/tod/filter.py end end arch marble @@ -464,11 +469,12 @@ move_on walk fly_low fly_high arch event_trigger msg { - "when":"Month of Winter" + "when":"Month of Winter", + "match":"one" } endmsg title Python -slaying /python/tod/filter_one_period.py +slaying /python/tod/filter.py end end arch brush @@ -485,11 +491,12 @@ move_on walk fly_low fly_high arch event_trigger msg { - "when":"Month of the Ice Dragon" + "when":"Month of the Ice Dragon", + "match":"one" } endmsg title Python -slaying /python/tod/filter_one_period.py +slaying /python/tod/filter.py end end arch brush @@ -506,11 +513,12 @@ move_on walk fly_low fly_high arch event_trigger msg { - "when":"Month of the Frost Giant" + "when":"Month of the Frost Giant", + "match":"one" } endmsg title Python -slaying /python/tod/filter_one_period.py +slaying /python/tod/filter.py end end arch brush @@ -527,11 +535,12 @@ move_on walk fly_low fly_high arch event_trigger msg { - "when":"Month of Valriel" + "when":"Month of Valriel", + "match":"one" } endmsg title Python -slaying /python/tod/filter_one_period.py +slaying /python/tod/filter.py end end arch brush @@ -548,11 +557,12 @@ move_on walk fly_low fly_high arch event_trigger msg { - "when":"Month of Lythander" + "when":"Month of Lythander", + "match":"one" } endmsg title Python -slaying /python/tod/filter_one_period.py +slaying /python/tod/filter.py end end arch brush @@ -569,11 +579,12 @@ move_on walk fly_low fly_high arch event_trigger msg { - "when":"Month of the Harvest" + "when":"Month of the Harvest", + "match":"one" } endmsg title Python -slaying /python/tod/filter_one_period.py +slaying /python/tod/filter.py end end arch brush @@ -590,11 +601,12 @@ move_on walk fly_low fly_high arch event_trigger msg { - "when":"Month of Gaea" + "when":"Month of Gaea", + "match":"one" } endmsg title Python -slaying /python/tod/filter_one_period.py +slaying /python/tod/filter.py end end arch brush @@ -611,11 +623,12 @@ move_on walk fly_low fly_high arch event_trigger msg { - "when":"Month of Futility" + "when":"Month of Futility", + "match":"one" } endmsg title Python -slaying /python/tod/filter_one_period.py +slaying /python/tod/filter.py end end arch brush @@ -632,11 +645,12 @@ move_on walk fly_low fly_high arch event_trigger msg { - "when":"Month of the Dragon" + "when":"Month of the Dragon", + "match":"one" } endmsg title Python -slaying /python/tod/filter_one_period.py +slaying /python/tod/filter.py end end arch brush @@ -653,11 +667,12 @@ move_on walk fly_low fly_high arch event_trigger msg { - "when":"Month of the Sun" + "when":"Month of the Sun", + "match":"one" } endmsg title Python -slaying /python/tod/filter_one_period.py +slaying /python/tod/filter.py end end arch brush @@ -674,11 +689,12 @@ move_on walk fly_low fly_high arch event_trigger msg { - "when":"Month of the Great Infernus" + "when":"Month of the Great Infernus", + "match":"one" } endmsg title Python -slaying /python/tod/filter_one_period.py +slaying /python/tod/filter.py end end arch brush @@ -695,11 +711,12 @@ move_on walk fly_low fly_high arch event_trigger msg { - "when":"Month of Ruggilli" + "when":"Month of Ruggilli", + "match":"one" } endmsg title Python -slaying /python/tod/filter_one_period.py +slaying /python/tod/filter.py end end arch brush @@ -716,11 +733,12 @@ move_on walk fly_low fly_high arch event_trigger msg { - "when":"Month of the Dark Shades" + "when":"Month of the Dark Shades", + "match":"one" } endmsg title Python -slaying /python/tod/filter_one_period.py +slaying /python/tod/filter.py end end arch brush @@ -737,11 +755,12 @@ move_on walk fly_low fly_high arch event_trigger msg { - "when":"Month of the Devourers" + "when":"Month of the Devourers", + "match":"one" } endmsg title Python -slaying /python/tod/filter_one_period.py +slaying /python/tod/filter.py end end arch brush @@ -758,11 +777,12 @@ move_on walk fly_low fly_high arch event_trigger msg { - "when":"Month of Sorig" + "when":"Month of Sorig", + "match":"one" } endmsg title Python -slaying /python/tod/filter_one_period.py +slaying /python/tod/filter.py end end arch brush @@ -779,11 +799,12 @@ move_on walk fly_low fly_high arch event_trigger msg { - "when":"Month of the Ancient Darkness" + "when":"Month of the Ancient Darkness", + "match":"one" } endmsg title Python -slaying /python/tod/filter_one_period.py +slaying /python/tod/filter.py end end arch brush @@ -800,11 +821,12 @@ move_on walk fly_low fly_high arch event_trigger msg { - "when":"Month of Gorokh" + "when":"Month of Gorokh", + "match":"one" } endmsg title Python -slaying /python/tod/filter_one_period.py +slaying /python/tod/filter.py end end arch brush @@ -934,11 +956,12 @@ move_on walk fly_low fly_high arch event_trigger msg { - "when":"the Day of the Moon" + "when":"the Day of the Moon", + "match":"one" } endmsg title Python -slaying /python/tod/filter_one_period.py +slaying /python/tod/filter.py end end arch brush @@ -955,11 +978,12 @@ move_on walk fly_low fly_high arch event_trigger msg { - "when":"the Day of the Bull" + "when":"the Day of the Bull", + "match":"one" } endmsg title Python -slaying /python/tod/filter_one_period.py +slaying /python/tod/filter.py end end arch brush @@ -976,11 +1000,12 @@ move_on walk fly_low fly_high arch event_trigger msg { - "when":"the Day of the Deception" + "when":"the Day of the Deception", + "match":"one" } endmsg title Python -slaying /python/tod/filter_one_period.py +slaying /python/tod/filter.py end end arch brush @@ -997,11 +1022,12 @@ move_on walk fly_low fly_high arch event_trigger msg { - "when":"the Day of Thunder" + "when":"the Day of Thunder", + "match":"one" } endmsg title Python -slaying /python/tod/filter_one_period.py +slaying /python/tod/filter.py end end arch brush @@ -1018,11 +1044,12 @@ move_on walk fly_low fly_high arch event_trigger msg { - "when":"the Day of Freedom" + "when":"the Day of Freedom", + "match":"one" } endmsg title Python -slaying /python/tod/filter_one_period.py +slaying /python/tod/filter.py end end arch brush @@ -1039,11 +1066,12 @@ move_on walk fly_low fly_high arch event_trigger msg { - "when":"the Day of the Great Gods" + "when":"the Day of the Great Gods", + "match":"one" } endmsg title Python -slaying /python/tod/filter_one_period.py +slaying /python/tod/filter.py end end arch brush @@ -1060,11 +1088,12 @@ move_on walk fly_low fly_high arch event_trigger msg { - "when":"the Day of the Sun" + "when":"the Day of the Sun", + "match":"one" } endmsg title Python -slaying /python/tod/filter_one_period.py +slaying /python/tod/filter.py end end arch marble @@ -1228,11 +1257,12 @@ move_on walk fly_low fly_high arch event_trigger msg { - "when":"Night" + "when":"Night", + "match":"one" } endmsg title Python -slaying /python/tod/filter_one_period.py +slaying /python/tod/filter.py end end arch brush @@ -1249,11 +1279,12 @@ move_on walk fly_low fly_high arch event_trigger msg { - "when":"Dawn" + "when":"Dawn", + "match":"one" } endmsg title Python -slaying /python/tod/filter_one_period.py +slaying /python/tod/filter.py end end arch brush @@ -1270,11 +1301,12 @@ move_on walk fly_low fly_high arch event_trigger msg { - "when":"Morning" + "when":"Morning", + "match":"one" } endmsg title Python -slaying /python/tod/filter_one_period.py +slaying /python/tod/filter.py end end arch brush @@ -1291,11 +1323,12 @@ move_on walk fly_low fly_high arch event_trigger msg { - "when":"Noon" + "when":"Noon", + "match":"one" } endmsg title Python -slaying /python/tod/filter_one_period.py +slaying /python/tod/filter.py end end arch brush @@ -1312,11 +1345,12 @@ move_on walk fly_low fly_high arch event_trigger msg { - "when":"Evening" + "when":"Evening", + "match":"one" } endmsg title Python -slaying /python/tod/filter_one_period.py +slaying /python/tod/filter.py end end arch brush @@ -1333,11 +1367,12 @@ move_on walk fly_low fly_high arch event_trigger msg { - "when":"Dusk" + "when":"Dusk", + "match":"one" } endmsg title Python -slaying /python/tod/filter_one_period.py +slaying /python/tod/filter.py end end arch marble @@ -1983,7 +2018,7 @@ end arch sage msg @match * -I am responsible for opening those gates on the Mrning and close them at Dusk +I am responsible for opening those gates on the Morning and close them at Dusk endmsg x 15 y 15 @@ -1991,11 +2026,12 @@ stand_still 1 no_damage 1 arch event_time title Python -slaying /python/tod/push_one_period.py +slaying /python/tod/push.py msg { "connected":79, - "when":["Morning","Noon","Evening"] + "when":["Morning","Noon","Evening"], + "match":"one" } endmsg end @@ -2097,10 +2133,11 @@ x 16 y 11 arch event_trigger title Python -slaying /python/tod/replace_one_period.py +slaying /python/tod/replace.py msg { - "when" : ["Dusk","Night"] + "when" : ["Dusk","Night"], + "match" : "one" } endmsg subtype 8 @@ -2223,10 +2260,11 @@ x 17 y 11 arch event_trigger title Python -slaying /python/tod/replace_one_period.py +slaying /python/tod/replace.py msg { - "when" : ["Dawn","Morning"] + "when" : ["Dawn","Morning"], + "match" : "one" } endmsg subtype 8 @@ -2349,10 +2387,11 @@ x 18 y 11 arch event_trigger title Python -slaying /python/tod/replace_one_period.py +slaying /python/tod/replace.py msg { - "when" : ["Noon","Evening"] + "when" : ["Noon","Evening"], + "match" : "one" } endmsg subtype 8 @@ -2413,11 +2452,12 @@ x 19 arch event_attack msg { - "when":["Morning","Noon","Evening"] + "when":["Morning","Noon","Evening"], + "match":"one" } endmsg title Python -slaying /python/tod/filter_one_period.py +slaying /python/tod/filter.py end end arch brush @@ -2444,11 +2484,12 @@ y 2 arch event_attack msg { - "when":["Night","Dawn","Dusk"] + "when":["Night","Dawn","Dusk"], + "match":"one" } endmsg title Python -slaying /python/tod/filter_one_period.py +slaying /python/tod/filter.py end end arch brush @@ -2510,10 +2551,11 @@ x 19 y 11 arch event_trigger title Python -slaying /python/tod/replace_one_period.py +slaying /python/tod/replace.py msg { - "when" : ["Dusk","Evening"] + "when" : ["Dusk","Evening"], + "match" : "one" } endmsg subtype 8 diff --git a/test/tod2 b/test/tod2 index ef7be9c97..f2ad0b2e8 100644 --- a/test/tod2 +++ b/test/tod2 @@ -1469,13 +1469,14 @@ x 17 y 2 arch event_time title Python -slaying /python/tod/replace_in_map_one_period.py +slaying /python/tod/replace_in_map.py msg { "key" : "skeleton kills" "when" : ["Dawn","Morning","Noon","Evening","Dusk"] "from" : ["skeleton","generator"], - "to" : ["bones1","bones2","bones3"] + "to" : ["bones1","bones2","bones3"], + "match" : "one" } endmsg end