22 un.SetTarget (VS.Unit())
23 return NextPos (un,where)
26 if (type(launch_around)==type( (1,2,3))):
28 rsize = faction_ships.max_radius
30 pos = launch_around.Position ()
31 rsize = ((launch_around.rSize())*5.0)
32 if (rsize > faction_ships.max_radius):
33 rsize=faction_ships.max_radius
37 return (pos[0]+rsize*dir[0],
42 if (type(unortuple)==type((1,2,3))):
47 return un.getSignificantDistance(unortuple)
49 return un.getDistance(unortuple)
51 def look_for (fg, faction, numships,myunit, pos, gcd,newship=[None]):
58 fac = un.getFactionName ()
59 fgname = un.getFlightgroupName ()
61 if ((fg==fgname)
and (fac==faction)):
66 debug.debug(
"TTYmoving %s to current area" % (name))
69 def LaunchNext (fg, fac, type, ai, pos, logo,newshp=[None],fgappend='',FarApart=1):
72 if (fgappend==
'Base'):
74 newship = launch.launch (combofg,fac,type,ai,1,1,pos,logo,1,1)
75 import dynamic_universe
80 return NextPos (newship,pos,FarApart)
86 un=launch_types_around (fg,faction,[i],ai,radius,myunit,garbage_collection_distance,logo,fgappend,skipdj)
87 if (un.isDockableUnit()):
89 if (fgappend==
'Base'):
93 return launch.launch_wave_around_unit(fg,faction,
faction_ships.getRandomCapitol(faction),ai,1,radius,radius*1.5,myunit,logo,1,skipdj)
95 def launch_types_around ( fg, faction, typenumbers, ai, radius, myunit, garbage_collection_distance,logo,fgappend='',skipdj=0,FarApart=1):
102 if (fgappend==
'' and nr_ships>1):
103 (nr_ships,pos) = look_for (fg,faction,nr_ships-1,myunit,pos,garbage_collection_distance,retcontainer)
109 for tn
in typenumbers:
117 pos = LaunchNext (fg,faction,tn[0], ai, pos,logo,newship,fgappend,FarApart)
118 if (i==0
and found==0):
131 def launch_wave_around ( fg, faction, ai, nr_ships, capship, radius, myunit, garbage_collection_distance,logo,skipdj=0):
134 (nr_ships,pos) = look_for (fg,faction,nr_ships,myunit,pos,garbage_collection_distance)
142 pos = LaunchNext (fg,faction,type, ai, pos,logo)