Mercurial > parpg-core
diff src/parpg/entities/action.py @ 195:fabe303ab74f
Added RunScriptAction class.
author | KarstenBock@gmx.net |
---|---|
date | Sat, 19 Nov 2011 16:00:32 +0100 |
parents | a22e92090018 |
children | 7e51bae477f7 |
line wrap: on
line diff
--- a/src/parpg/entities/action.py Thu Nov 17 21:21:22 2011 +0100 +++ b/src/parpg/entities/action.py Sat Nov 19 16:00:32 2011 +0100 @@ -437,6 +437,28 @@ super(DropItemFromContainerAction, self).execute() container.remove_item(self.item.container, self.item.slot) self.container_gui.updateImages() + +class RunScriptAction(Action): + """Action that runs a specific script""" + + def __init__(self, controller, script, commands = None): + """Basic action constructor + @param controller: A reference to the GameSceneController. + @type controller: parpg.GameSceneController + @param script: The name of the script to run. + @type script: string + @param commands: Special commands that are executed + @type commands: Dictionary + """ + self.commands = commands or () + self.controller = controller + self.model = controller.model + self.script = script + self.executed = False + + def execute(self): + self.controller.systems.scripting.runScript(self.script) + Action.execute(self) class BrewBeerAction(Action): """Action for brewing beer in a pot""" @@ -577,4 +599,5 @@ "DropFromInventory":DropItemFromContainerAction, "BrewBeer":BrewBeerAction, "ExamineContents": ExamineContentsAction, + "RunScript": RunScriptAction, }