Documentation Update. Part 2.
[asgard.git] / event.py
blobbbb770c55dee931725498df022093894d390e51c
1 ########################################################
2 #Copyright (c) 2006 Russ Adams, Sean Eubanks, Asgard Contributors
3 #This file is part of Asgard.
5 #Asgard is free software; you can redistribute it and/or modify
6 #it under the terms of the GNU General Public License as published by
7 #the Free Software Foundation; either version 2 of the License, or
8 #(at your option) any later version.
10 #Asgard is distributed in the hope that it will be useful,
11 #but WITHOUT ANY WARRANTY; without even the implied warranty of
12 #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 #GNU General Public License for more details.
15 #You should have received a copy of the GNU General Public License
16 #along with Asgard; if not, write to the Free Software
17 #Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18 ########################################################
19 from random import *
20 import sys
22 class Event:
23 """ Represents an event that occurs between an executor and a set of targets. (which are Fighter objects) An event executes has a type, be it Attack or Fire1 or what have you. Generally speaking, events result in the execution of transactions. """
25 def __init__(self,ex,targ,tr,t):
26 """Constructor."""
27 self.__executor = ex
28 self.__targets = targ
29 self.__transactions = tr
30 self.__eventType = t
32 def getExecutor(self):
33 """Get executor of event."""
34 return self.__executor
36 def setExecutor(self, ex):
37 """Change executor of event."""
38 self.__executor = ex
40 def getTargets(self):
41 """Get target of event."""
42 return self.__targets
44 def setTargets(self, targ):
45 """Change target of event."""
46 self.__targets = targ
48 def getTransactions(self):
49 """Get transactions."""
50 return self.__transactions
52 def setTransactions(self, tr):
53 """Set transactions."""
54 self.__transactions = tr
56 def getEventType(self):
57 """Get Event Type"""
58 return self.__eventType
60 def setEventType(self, t):
61 """Set Event Type."""
62 self.__eventType = t
64 def execute(self):
65 """ Determines the transactions needed to be executed, then executes each one in order."""
67 self.__transactions = self.__eventType.detTransactions(self.__executor,self.__targets)
68 for t in self.__transactions:
69 # calling Transaction's execute()
70 t.execute()
72 for s in self.__executor.getStatus():
73 s.genPerTurnOnMove()