Vega strike Python Modules doc  0.5.1
Documentation of the " Modules " folder of Vega strike
 All Data Structures Namespaces Files Functions Variables
defend Class Reference
Inheritance diagram for defend:

Public Member Functions

def __init__
 
def SetVarValue
 
def SuccessMission
 
def FailMission
 
def NoEnemiesInArea
 
def GenerateEnemies
 
def Execute
 
def initbriefing
 
def loopbriefing
 
def endbriefing
 

Data Fields

 dedicatedattack
 
 arrived
 
 waves
 
 greetingText
 
 protectivefaction
 
 var_to_set
 
 quantity
 
 mplay
 
 defendbase
 
 dynatkfg
 
 dynatktype
 
 dyndeffg
 
 attackers
 
 objective
 
 targetiter
 
 ship_check_count
 
 defend
 
 defend_base
 
 faction
 
 escdist
 
 cred
 
 respawn
 
 savedquantity
 
 distance_from_base
 
 defendee
 
 difficulty
 
 you
 
 adjsys
 

Detailed Description

Definition at line 12 of file defend.py.

Constructor & Destructor Documentation

def __init__ (   self,
  factionname,
  numsystemsaway,
  enemyquantity,
  distance_from_base,
  escape_distance,
  creds,
  defendthis,
  defend_base,
  protectivefactionname = '',
  jumps = (),
  var_to_set = '',
  dynamic_flightgroup = '',
  dynamic_type = '',
  dynamic_defend_fg = '',
  waves = 0,
  greetingText = ['We will defeat your assets in this battle,
  privateer,
  Have,
  no,
  doubt 
)

Definition at line 13 of file defend.py.

13 
14  def __init__ (self,factionname,numsystemsaway, enemyquantity, distance_from_base, escape_distance, creds, defendthis, defend_base,protectivefactionname='',jumps=(),var_to_set='',dynamic_flightgroup='',dynamic_type='', dynamic_defend_fg='',waves=0, greetingText=['We will defeat your assets in this battle, privateer...','Have no doubt!']):
15  Director.Mission.__init__(self)
17  self.arrived=0
18  self.waves=waves;
19  self.greetingText=greetingText
20  self.protectivefaction = protectivefactionname
21  self.var_to_set=var_to_set
22  self.quantity=0
23  self.mplay="all"
24  self.defendbase = defend_base
25  self.dynatkfg = dynamic_flightgroup
26  self.dynatktype = dynamic_type
27  self.dyndeffg = dynamic_defend_fg
28  self.attackers = []
29  self.objective= 0
30  self.targetiter = 0
32  self.defend = defendthis
33  self.defend_base = defend_base
34  self.faction = factionname
35  self.escdist = escape_distance
36  minsigdist=unit.minimumSigDistApart()
37  if (minsigdist*.5<self.escdist):
38  self.escdist = minsigdist
39  self.cred=creds
40  self.respawn=0
41  self.quantity=enemyquantity
42  self.savedquantity=enemyquantity
43  self.distance_from_base=distance_from_base
44  self.defendee=VS.Unit()
45  self.difficulty=1
46  self.you=VS.getPlayer()
47  name = self.you.getName ()
49  self.adjsys = go_to_adjacent_systems(self.you,numsystemsaway,jumps)
50  self.adjsys.Print("You are in the %s system,","Proceed swiftly to %s.","Your arrival point is %s.","defend",1)
VS.IOmessage (2,"defend",self.mplay,"And there eliminate any %s starships." % self.faction)

Member Function Documentation

def endbriefing (   self)

Definition at line 183 of file defend.py.

184  def endbriefing(self):
185  print "ending briefing"
def Execute (   self)

Definition at line 127 of file defend.py.

References bounty.adjsys, defend.adjsys, cargo_mission.adjsys, defend.arrived, bounty.arrived, cargo_mission.arrived, defend.attackers, defend.dedicatedattack, defend.defend, defend.defend_base, defend.defendee, defend.distance_from_base, defend.dyndeffg, SystemInformation.faction, ambush.faction, bounty.faction, defend.faction, ShipTracker.faction, cargo_mission.faction, go_to_adjacent_systems.faction, Launch.faction, ClearFactionRecord.faction, PushRelation.faction, PopRelation.faction, LaunchWingmen.faction, ChangeSystemOwner.faction, ChangeShipOwners.faction, defend.FailMission(), defend.GenerateEnemies(), faction_ships.get_enemy_of(), defend.mplay, bounty.mplay, cargo_mission.mplay, defend.NoEnemiesInArea(), defend.protectivefaction, defend.quantity, cargo_mission.quantity, defend.savedquantity, defend.SetVarValue(), defend.ship_check_count, cleansweep.SuccessMission(), defend.SuccessMission(), defend.targetiter, defend.waves, go_to_adjacent_systems.you, bounty.you, defend.you, and cargo_mission.you.

128  def Execute (self):
129  if (self.you.isNull() or (self.arrived and self.defendee.isNull())):
130  VS.IOmessage (0,"defend",self.mplay,"#ff0000You were unable to arrive in time to help. Mission failed.")
131  self.SetVarValue(-1)
132  VS.terminateMission(0)
133  return
134  if (not self.adjsys.Execute()):
135  return
136  if (not self.arrived):
137  self.arrived=1
138  tempfaction=''
139  if (self.defend_base):
140  tempfaction=self.protectivefaction
141  if (tempfaction==''):
142  tempfaction = faction_ships.get_enemy_of(self.faction)
143  self.adjsys=go_somewhere_significant (self.you,self.defend_base or self.defend,self.distance_from_base,self.defend,tempfaction,self.dyndeffg,1,not self.defend_base)
144  self.adjsys.Print ("You must visit the %s","defend","near the %s", 0)
145  self.defendee=self.adjsys.SignificantUnit()
146  else:
147  if (self.defendee.isNull ()):
148  if (self.defend):
149  self.FailMission(you)
150  else:
151  self.SuccessMission()
152  return
153  else:
154  if (self.quantity>0):
155  self.GenerateEnemies (self.defendee,self.you)
156  if (self.ship_check_count==0 and self.dedicatedattack):
157  if (self.targetiter>=len(self.attackers)):
158  self.targetiter=0
159  else:
160  un = self.attackers[self.targetiter]
161  if (not un.isNull()):
162  if (self.defend):# if (not un.isNull()
163  if (un.getName() in faction_ships.isBomber):
164  if (self.quantity >= faction_ships.isBomber[un.getName()]):
165  un.SetTarget (self.defendee)
166  else:
167  un.setFgDirective('b')
168  else:
169  un.setFgDirective('b')
170  else:
171  un.SetTarget (self.you)
172  self.targetiter=self.targetiter+1
173  if (self.NoEnemiesInArea (self.defendee)):
174  if (self.waves>0):
175  self.quantity=self.savedquantity
176  self.waves-=1
177  else:
self.SuccessMission()
def FailMission (   self)

Definition at line 62 of file defend.py.

References bounty.cred, defend.cred, cargo_mission.cred, SystemInformation.faction, ambush.faction, bounty.faction, defend.faction, ShipTracker.faction, cargo_mission.faction, go_to_adjacent_systems.faction, Launch.faction, ClearFactionRecord.faction, PushRelation.faction, PopRelation.faction, LaunchWingmen.faction, ChangeSystemOwner.faction, ChangeShipOwners.faction, defend.mplay, bounty.mplay, cargo_mission.mplay, and defend.SetVarValue().

62 
63  def FailMission (self):
64  self.you.addCredits (-self.cred)
65  VS.AdjustRelation(self.you.getFactionName(),self.faction,-.02,1)
66  self.SetVarValue(-1)
67  VS.IOmessage (0,"defend",self.mplay,"[Computer] Detected failure to protect mission asset.")
68  VS.IOmessage (0,"defend",self.mplay,"[Computer] Mission failed!")
69  VS.IOmessage (1,"defend",self.mplay,"[Computer] Bank has been informed of failure to assist asset. They have removed a number of your credits as a penalty to help pay target insurance.")
VS.terminateMission(0)
def GenerateEnemies (   self,
  jp,
  you 
)

Definition at line 86 of file defend.py.

References defend.attackers, defend.dedicatedattack, defend.defend, defend.dynatkfg, defend.dynatktype, ambush.faction, SystemInformation.faction, bounty.faction, defend.faction, ShipTracker.faction, cargo_mission.faction, go_to_adjacent_systems.faction, Launch.faction, ClearFactionRecord.faction, PushRelation.faction, PopRelation.faction, LaunchWingmen.faction, ChangeSystemOwner.faction, ChangeShipOwners.faction, faction_ships.getRandomFighter(), unit.getUnitFullName(), universe.greet(), defend.greetingText, ambush.greetingText, bounty.greetingText, defend.mplay, bounty.mplay, cargo_mission.mplay, defend.objective, defend.quantity, cargo_mission.quantity, pydoc.replace(), defend.respawn, and locale.str().

86 
87  def GenerateEnemies (self,jp,you):
88  VS.IOmessage (0,"escort mission",self.mplay,"You must protect %s." % unit.getUnitFullName(jp,True))
89  count=0
90  jp.setMissionRelevant()
91  VS.addObjective ("Protect %s from the %s" % (unit.getUnitFullName(jp),self.faction.capitalize().replace("_"," ")))
92  self.objective = VS.addObjective ("Destroy All %s Hostiles" % self.faction)
93  VS.setCompleteness(self.objective,0.0)
94  print "quantity "+str(self.quantity)
95  while (count<self.quantity):
96  L = launch.Launch()
97  L.fg="Shadow";L.dynfg=self.dynatkfg;
98  if (self.dynatktype==''):
100  else:
101  L.type=self.dynatktype
102  L.ai="default";L.num=1;L.minradius=2000.0;L.maxradius=4500.0
103  try:
104  L.minradius*=faction_ships.launch_distance_factor
105  L.maxradius*=faction_ships.launch_distance_factor
106  except:
107  pass
108  L.faction=self.faction
109  launched=L.launch(you)
110  if (count==0):
111  self.you.SetTarget(launched)
112  if (self.defend):
113  launched.SetTarget (jp)
114  else:
115  launched.SetTarget (you)
116  if (self.dedicatedattack):
117  launched.setFgDirective('B')
118  self.attackers += [ launched ]
119  count+=1
120  if (self.respawn==0 and len(self.attackers)>0):
121  self.respawn=1
122  import universe
123  universe.greet(self.greetingText,self.attackers[0],you);
124  else:
125  VS.IOmessage (0,"escort mission",self.mplay,"Eliminate all %s ships here" % self.faction)
126 
self.quantity=0
def initbriefing (   self)

Definition at line 178 of file defend.py.

179  def initbriefing(self):
print "ending briefing"
def loopbriefing (   self)

Definition at line 180 of file defend.py.

181  def loopbriefing(self):
182  print "loop briefing"
Briefing.terminate();
def NoEnemiesInArea (   self,
  jp 
)

Definition at line 70 of file defend.py.

References defend.attackers, unit.getUnitFullName(), defend.objective, and defend.ship_check_count.

70 
71  def NoEnemiesInArea (self,jp):
72  if (self.adjsys.DestinationSystem()!=VS.getSystemFile()):
73  return 0
74  if (self.ship_check_count>=len(self.attackers)):
75  VS.setCompleteness(self.objective,1.0)
76  return 1
77 
78  un= self.attackers[self.ship_check_count]
79  self.ship_check_count+=1
80  if (un.isNull() or (un.GetHullPercent()<.7 and self.defendee.getDistance(un)>7000)):
81  return 0
82  else:
83  VS.setObjective(self.objective,"Destroy the %s"%unit.getUnitFullName(un))
84  self.ship_check_count=0
85  return 0
def SetVarValue (   self,
  value 
)

Definition at line 51 of file defend.py.

References defend.var_to_set, bounty.var_to_set, and cargo_mission.var_to_set.

51 
52  def SetVarValue (self,value):
53  if (self.var_to_set!=''):
quest.removeQuest (self.you.isPlayerStarship(),self.var_to_set,value)
def SuccessMission (   self)

Definition at line 54 of file defend.py.

References bounty.cred, defend.cred, cargo_mission.cred, SystemInformation.faction, ambush.faction, bounty.faction, defend.faction, ShipTracker.faction, cargo_mission.faction, go_to_adjacent_systems.faction, Launch.faction, ClearFactionRecord.faction, PushRelation.faction, PopRelation.faction, LaunchWingmen.faction, ChangeSystemOwner.faction, ChangeShipOwners.faction, defend.mplay, bounty.mplay, cargo_mission.mplay, and defend.SetVarValue().

54 
55  def SuccessMission (self):
56  self.you.addCredits (self.cred)
57  VS.AdjustRelation(self.you.getFactionName(),self.faction,.03,1)
58  self.SetVarValue(1)
59  VS.IOmessage(0,"defend",self.mplay,"[Computer] Defend mission accomplished")
60  if (self.cred>0):
61  VS.IOmessage(0,"defend",self.mplay,"[Computer] Bank account has been credited as agreed.")
VS.terminateMission(1)

Field Documentation

adjsys

Definition at line 48 of file defend.py.

arrived

Definition at line 16 of file defend.py.

attackers

Definition at line 27 of file defend.py.

cred

Definition at line 38 of file defend.py.

dedicatedattack

Definition at line 15 of file defend.py.

defend

Definition at line 31 of file defend.py.

References defend.defend, and defend.ship_check_count.

defend_base

Definition at line 32 of file defend.py.

defendbase

Definition at line 23 of file defend.py.

defendee

Definition at line 43 of file defend.py.

difficulty

Definition at line 44 of file defend.py.

distance_from_base

Definition at line 42 of file defend.py.

dynatkfg

Definition at line 24 of file defend.py.

dynatktype

Definition at line 25 of file defend.py.

dyndeffg

Definition at line 26 of file defend.py.

escdist

Definition at line 34 of file defend.py.

faction

Definition at line 33 of file defend.py.

greetingText

Definition at line 18 of file defend.py.

mplay

Definition at line 22 of file defend.py.

objective

Definition at line 28 of file defend.py.

protectivefaction

Definition at line 19 of file defend.py.

quantity

Definition at line 21 of file defend.py.

respawn

Definition at line 39 of file defend.py.

savedquantity

Definition at line 41 of file defend.py.

ship_check_count

Definition at line 30 of file defend.py.

targetiter

Definition at line 29 of file defend.py.

var_to_set

Definition at line 20 of file defend.py.

waves

Definition at line 17 of file defend.py.

you

Definition at line 45 of file defend.py.


The documentation for this class was generated from the following file: