Utility script to let an item be applied only for certain quest steps.

git-svn-id: svn://svn.code.sf.net/p/crossfire/code/maps/trunk@13389 282e977c-c81d-0410-88c4-b93c2d0d6712
master
ryo_saeba 2010-06-12 16:51:54 +00:00
parent 4d433955d8
commit 930183356e
1 changed files with 29 additions and 0 deletions

View File

@ -0,0 +1,29 @@
# -*- coding: utf-8 -*-
# QuestApplyIf.py - A script to let an item be applied only if a quest
# reached a certain step
# Arguments are:
# - quest name
# - a list of steps, either single value (x) or range (x-y)
# If any matches, then the item can be applied, else it is not applied
import Crossfire
player = Crossfire.WhoIsActivator()
params = Crossfire.ScriptParameters()
args = params.split()
questname = args[0]
currentstep = player.QuestGetState(questname)
# by default, forbid applying
Crossfire.SetReturnValue(1)
for rule in args[1:]:
if rule.find("-") == -1:
startstep = int(rule)
endstep = startstep
else:
startstep = int(rule.split("-")[0])
endstep= int(rule.split("-")[1])
if currentstep >= startstep and currentstep <= endstep:
Crossfire.SetReturnValue(0)