""" fire.py
 Copyright (C) 1998 Aloril
 
 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.
"""

from thing import thing
import const
from event import *

class fire(thing):
    def sight_event(self, e):
        if hasattr(e.what,"is_event"):
            e=e.what
            if e.command=="destroy" and e.what==self.place:
                return [event("destroy", what=self)]
    def extinguish_event(self, e):
        if e.what==self:
            self.status=self.status-0.1
            if self.status<=const.fzero:
                return [event("destroy",what=self)]
    def run_step(self,time,input):
        #run
        self.status=self.status+0.15
        #input
        output=self.analyse_input(input)
        if output: return output
        #output
        #event target will handle itself reaction to fire
        e=event("fire", what=self, loc=self.place, target=self.place,
                amount=self.status)
        return [e,event("sight", what=e)]

    Source: geocities.com/siliconvalley/station/4279/src

               ( geocities.com/siliconvalley/station/4279)                   ( geocities.com/siliconvalley/station)                   ( geocities.com/siliconvalley)