cyphesis/rulesets/mars/world/objects/Weather.py
Sean Ryan 5268071494 Cloned minimal ruleset to be mars ruleset.
Minimal will not be changed, it will serve as a barren and
minimalistic ruleset that allows someone to start.  Mars will be
the result of all tutorials applied to minimal.
Also reverted minimal ruleset to use moraf, to avoid additional
requirements.
2012-08-10 01:51:17 -04:00

28 lines
1 KiB
Python

#This file is distributed under the terms of the GNU General Public license.
#Copyright (C) 1999 Al Riddoch (See the file COPYING for details).
from atlas import *
from common import log,const
from random import *
import server
class Weather(server.Thing):
def tick_operation(self, op):
world = self.location.parent
res = Oplist()
optick = Operation("tick", to=self)
res = res + optick
if self.rain<0.1:
optick.setFutureSeconds(randint(60,300))
self.rain=uniform(0.1, 0.9)
self.visibility=10/(self.rain * self.rain)
res = res + Operation("set", Entity(world.id, moisture=1), to=world)
else:
moisture = world.moisture
optick.setFutureSeconds(randint(600,2400))
self.rain=0.0
self.visibility=1000
res = res + Operation("set", Entity(world.id, moisture=moisture-0.5), to=world)
res = res+Operation("set", Entity(self.id,rain=self.rain,visibility=self.visibility), to=self)
return res