Mercurial > fife-parpg
diff demos/rpg/scripts/quests/basequest.py @ 534:65a92a2449d5
Doing some re-factoring.
Minor change to the way the console commands are parsed.
Added the spawn command to the help file.
author | prock@33b003aa-7bff-0310-803a-e67f0ece8222 |
---|---|
date | Mon, 31 May 2010 17:45:04 +0000 |
parents | |
children | 2e739ae9a8bc |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/demos/rpg/scripts/quests/basequest.py Mon May 31 17:45:04 2010 +0000 @@ -0,0 +1,85 @@ +#!/usr/bin/env python + +# -*- coding: utf-8 -*- + +# #################################################################### +# Copyright (C) 2005-2010 by the FIFE team +# http://www.fifengine.net +# This file is part of FIFE. +# +# FIFE is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library 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 +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +# #################################################################### +# This is the rio de hola client for FIFE. + +import sys, os, re, math, random, shutil, time +from datetime import datetime + +from fife import fife + +class Quest(object): + def __init__(self, owner, questname, questtext): + self._owner = owner + self._name = questname + self._text = questtext + self._requireditems = [] + self._requiredgold = 0 + + def addRequiredItem(self, itemid): + self._requireditems.append(itemid) + + def addRequiredGold(self, goldcount): + self._requiredgold += goldcount + + def checkQuestCompleted(self, actor): + completed = False + + if self._requiredgold > 0: + if actor.gold >= self._requiredgold: + completed = True + + for item in self._requireditems: + if item in actor.inventory: + completed = True + + return completed + + def _getOwner(self): + return self._owner + + def _getName(self): + return self._name + + def _setName(self, questname): + self._name = questname + + def _getText(self): + return self._text + + def _setText(self, questtext): + self._text = questtext + + def _getRequiredGold(self): + return self._requiredgold + + def _getRequiredItems(self): + return self._requireditems + + owner = property(_getOwner) + name = property(_getName, _setName) + text = property(_getText, _setText) + requiredgold = property(_getRequiredGold) + requireditems = property(_getRequiredItems) +