15 import generate_dyn_universe
45 def __init__(self, sigdis, detectiondis, gendis, minnships, gennships, unitprob, enemyprob, capprob, capdist):
73 print oldsystem,
' IS NOW AT ',newsystem
74 print oldsystem.split(
'/')[0]
75 if oldsystem.split(
'/')[0]==
'Special':
76 print 'Showing splash screen!'
81 newquest = adventure.newAdventure (self.
cur_player,oldsystem,newsystem)
83 self.cur.quests+=[newquest]
90 qdf=adventure.persistentAdventure (self.
cur_player)
92 self.cur.quests+=[qdf]
94 sysfile = VS.getSystemFile()
95 self.cur.GeneratePhaseAndAmplitude()
103 self.cur.significant_distance=minsig*0.15
107 self.cur.detection_distance=minsig*0.2
111 debug.debug(
"resetting sigdist=%f detdist=%f" % (self.cur.significant_distance,self.cur.detection_distance))
119 dd = self.cur.detection_distance
122 if (uni.getSignificantDistance(un)<how):
123 if (unit.isAsteroid (un)):
130 nam = VS.numActiveMissions()
138 if (VS.GetGameTime()<10
and not forceLaunch):
141 cursys=VS.getSystemFile()
142 cursysfaction=VS.GetGalaxyFaction(cursys)
171 if cursys
in faction_ships.fortress_systems:
172 foretress_level=faction_ships.fortress_systems[cursys]
173 avg*=(
not (VS.GetRelation(cursysfaction,faction)<0
and cursys
in faction_ships.fortress_systems))*fortress_level+(1-fortress_level)
174 debug.debug(
'Chance for %s ship: %g'%(faction, avg))
193 if not len(typenumbers):
195 debug.debug(
'FG Name: "%s", ShipTypes: %s'%(flightgroup,
str(typenumbers)))
204 leadah = uni.getFlightgroupLeader ()
206 dd = self.cur.detection_distance
209 if (uni.getSignificantDistance(un)<dd*1.6):
210 if ((
not un.isSignificant())
and (
not un.isSun())):
211 unleadah = un.getFlightgroupLeader ()
212 if (leadah!=unleadah):
220 self.cur.sig_container.setNull()
221 for q
in self.cur.quests:
222 q.NoSignificantsNear()
227 self.cur.sig_container=significant
228 cursys = VS.getSystemFile()
229 oldsys = self.cur.lastsys==cursys
232 self.cur.lastsys=cursys
233 for q
in self.cur.quests:
234 q.SignificantsNear(self.cur.sig_container)
243 significant_unit = self.cur.sig_container
251 if (
not significant_unit):
252 un=VS.getUnit(self.cur.last_ship)
258 sd = self.cur.significant_distance
259 if ((un.getSignificantDistance(myunit)<sd)
and (un.isSignificant())):
262 self.cur.last_ship+=1
266 cursys = VS.getSystemFile()
270 significant_unit.setNull ()
272 dd = self.cur.detection_distance
273 if (myunit.getSignificantDistance (significant_unit)>dd):
277 return significant_unit
278 return significant_unit
280 cursys=VS.getSystemFile()
281 if (cursys==self.cur.lastsys):
284 self.cur.lastsys=cursys
292 if (self.cur.curquest<len(self.cur.quests)):
293 if (self.cur.quests[self.cur.curquest].
Execute()):
296 del self.cur.quests[self.cur.curquest]
300 if (self.cur.curmode!=self.cur.lastmode):
303 debug.debug(
"curmodechange %d in progress" % (self.cur.curmode))
310 self.cur.lastmode=self.cur.curmode
312 debug.debug(
"curmodechange %d ended" % (self.cur.curmode))
314 self.cur.lastmode=self.cur.curmode
316 debug.debug(
"curmodechange %d ended" % (self.cur.curmode))