4 def __init__(self
, session
):
8 def __getattribute__(self
, name
):
9 if(name
== 'minDuration'):
11 for q
in self
.quests
[1:]:
12 if(q
.duration
< cur
.duration
):
16 def getBestByMoney(self
, maxDuration
= 1200):
18 for q
in self
.quests
[1:]:
19 if(q
.silver
/q
.duration
> cur
.silver
/cur
.duration
and q
.duration
<= maxDuration
):
21 if(q
.duration
<= maxDuration
):
26 def getBestByExperience(self
, maxDuration
= 1200):
28 for q
in self
.quests
[1:]:
29 if(q
.experience
/q
.duration
> cur
.experience
/cur
.duration
and q
.duration
<= maxDuration
):
31 if(q
.duration
<= maxDuration
):
46 duration
= int(data
[241 +i
]),
47 silver
= int(data
[283 +i
]),
48 experience
= int(data
[280 +i
]))
49 self
.quests
.append(quest
)
52 def __init__(self
, session
, number
, duration
= None, silver
= None, experience
= None):
53 self
.session
= session
55 self
.duration
= duration
57 self
.experience
= experience
62 print 'do quest.attend quest'
63 r107
= self
.session
.request('510%i' % (self
.number
))
65 print 'done quest.attend quest'
69 print 'do quest.request fight'
70 r106
= self
.session
.request('010')
72 print 'done quest.request fight'
74 except KeyboardInterrupt:
75 print 'do quest.abort'
76 r108
= self
.session
.request('511')
78 print 'done quest.abort'
81 print 'do character.request'
82 r004
= self
.session
.request('004')
83 self
.session
.character
.parse(r004
)
84 print 'done character.request'
85 #self.session.character.silver
88 return float(self
.experience
) / float(self
.duration
)
91 return '<Quest %i>' % (self
.number
)
93 def queryQuests(session
):
94 data
= session
.request('010')
96 data
= data
[3:].split('/')
102 duration
= int(data
[241 +i
]),
103 silver
= int(data
[283 +i
]),
104 experience
= int(data
[280 +i
]))