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-b93c2d0d6712master
parent
42656ed898
commit
4510e0ab0b
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
@ -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)
|
|
@ -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
|
|
@ -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
|
||||
|
|
@ -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()
|
|
@ -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):
|
|
@ -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
212
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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue