mirror of
https://github.com/worldforge/cyphesis
synced 2026-08-13 12:26:04 -04:00
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.
28 lines
1 KiB
Python
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
|