time of day script modified to use python, and simplified in use.

git-svn-id: svn://svn.code.sf.net/p/crossfire/code/maps/trunk@7562 282e977c-c81d-0410-88c4-b93c2d0d6712
master
tchize 2007-11-22 22:29:06 +00:00
parent 42656ed898
commit 4510e0ab0b
10 changed files with 188 additions and 313 deletions

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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()

View File

@ -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):

View File

@ -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")

212
test/tod
View File

@ -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

View File

@ -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