Vega strike Python Modules doc  0.5.1
Documentation of the " Modules " folder of Vega strike
 All Data Structures Namespaces Files Functions Variables
quest.py
Go to the documentation of this file.
1 import Director
2 import VS
3 
4 def getQuestLength(playernum,questname):
5  return Director.getSaveDataLength(int(playernum),str(questname))
6 
7 def findQuest (playernum,questname,value=1):
8 # print 'finding nonperisstent quest'
9 # print questname
10  mylen=getQuestLength(playernum,questname)
11 # print mylen
12  if (mylen>0):
13  myfloat=Director.getSaveData(int(playernum),str(questname),0)
14 # print myfloat
15  if (myfloat==value):
16  return 1
17  return 0
18 
19 def checkSaveValue(playernum,questname,value=1):
20  mylen=Director.getSaveDataLength(playernum,questname)
21 # print mylen
22  if (mylen>0):
23  myfloat=Director.getSaveData(playernum,questname,0)
24  else:
25  myfloat=0
26  if (myfloat==value):
27  return 1
28  return 0
29 
30 def persistentQuest (playernum,questname):
31  print "finding quest"
32  print questname
33  return findQuest (playernum,questname,-1)
34 
35 def notLoadedQuest(playernum,questname):
36  print 'finding nonloaded quest'
37  print questname
38  return not persistentQuest(playernum,questname) and not findQuest (playernum,questname)
39 
40 def removeQuest (playernum,questname,value=1):
41  print "removing quest"
42  mylen=Director.getSaveDataLength(int(playernum),str(questname))
43  if (mylen>0):
44  Director.putSaveData(int(playernum),str(questname),0,float(value))
45  else:
46  Director.pushSaveData(int(playernum),str(questname),float(value))
47 
48 def playSoundCockpit(soundfile):
49  try:
50  VS.playSoundCockpit(soundfile)
51  except AttributeError:
52  VS.playSound(soundfile, VS.getPlayer().Position(), (0,0,0))
53 
54 class quest:
55  def NoSignificantsNear(self):
56  pass
57  def SignificantsNear(self,significant):
58  pass
59  def setOwner(self,playernum,questname):
60  self.name=questname
61  self.playernum=playernum
62  def removeQuest(self,value=1):
63  removeQuest(self.playernum,self.name,value)
65  self.removeQuest(-1)
66  def isPersistent (self):
67  return persistentQuest (self.playernum,self.name)
68  def Execute(self):
69  print "default"
70  return 1
72  def __init__(self,questname,remove_quest_on_run=0):
73  self.removequest=remove_quest_on_run
74  self.name=questname
75  def __eq__(self,oth):
76  return self.name==oth.name
77  def create (self ):
78  return quest()
79  def precondition (self,playernum):
80  return 1
81  def persistent_factory(self,playernum):
82  if (persistentQuest(playernum,self.name)):
83  print "persistent_factory"
84  return self.private_create(playernum)
85  return
86  def private_create (self,playernum):
87  newquest=self.create()
88  newquest.setOwner(playernum,self.name)
89  if (self.removequest):
90  removeQuest(playernum,self.name)
91  return newquest
92  def factory (self,playernum):
93  if (self.precondition(playernum)):
94  if (notLoadedQuest (playernum,self.name)):
95  print "nonpfact"
96  return self.private_create(playernum)
97  return
98 
99 class test_quest (quest):
100  def __init__ (self):
101  self.i=0
102  def Execute (self):
103  print self.i
104  self.i+=1
105  if (self.i>100):
106  self.removeQuest()
107  return 0
108  return 1
109 
111  def __init__ (self):
112  quest_factory.__init__ (self,"drone_quest")
113  def create (self):
114  return test_quest()