Vega strike Python Modules doc  0.5.1
Documentation of the " Modules " folder of Vega strike
 All Data Structures Namespaces Files Functions Variables
campaigns Namespace Reference

Functions

def loadAll
 
def getCampaigns
 
def LoadMainCampaign
 

Variables

list campaignsloaders = [lambda:LoadMainCampaign()]
 
list campaigns = []
 
 _loaded = False
 
dictionary haulerdeal1
 The Main Campaign. More...
 
dictionary haulerdeal2
 
list haulerreward
 
list gangsterswindled
 
list angryhauler
 
list angrygangster
 
dictionary confed_tail_finance
 
tuple confed_tail_insider = dict(confed_tail_finance)
 
list tailreward
 
list gangstersellout
 
dictionary gangsterhit1
 
tuple gangsterhit2 = dict(gangsterhit1)
 
dictionary gangsterbounty
 
list gangsterreward
 
string hitsuccess = "Hit on Atlantis:\\\\In yet another twist in the underworld wars raging through the Crucible sector, a little known cargo hauler, who cannot be named, is suspected dead after taking delivery of a shipment specified as \"Recycled Plastics.\" With hangars CA-47 to CB-55 suffering irrepairable damage, investigators believe the entire shipment must have consisted of plastic explosives. With such a scene an unfortunately common occurence in recent years, industry is quick at recovering. Business is expected to return to normal at the spaceport Tuesday week, once remains of the 35 suspected dead have been found and identified.\\\\GNN -- Providing news for the galaxy."
 
string confedwin = "IntelSEC Investigation Completed:\\\\IntelSEC has today completed the preliminary investigation into a group of pirate organisations. Operating out of Crucible Sector, in particular the system Cephid 17, this organisation has been found responsible for many offences, including many counts of murder, credit fraud, and several asassinations. So far however, only the details relating to the counts of credit fraud have been made publically available.\\\\This is good news for the citizens of the surrounding systems. The removal of the pirate menace has already seen local stockmarkets boom, and the Merchant's Union has already made plans to reopen disbanded trade routes.\\\\Aside from the criminals, the only others to lose out are several of the smaller financial institutions of the area. Now compelled to reimburse the victims of the credit fraud, and with little hope of benefitting from the selloff of the pirates' assets, their share price has dropper by as much as 20% in the case of \'Crucible Holdings.\'\\\\GNN -- Local news, for a galactic audience."
 
string piratewin = "IntelSEC Investigation Cancelled:\\\\IntelSEC has today cancelled their investigation into alledged criminal organisations operating out of Crucible Sector. Citing the murder of an investigating operative, as well as the general lack of anyone willing to provide testimonies, the agent leading the probe expressed his disappointment at the result. \"Such an outcome will only serve to strengthen the grip of these organisations on the outer systems. Every system with a pirate infestation is one that is lost to the Confederacy.\"\\\\The share markets in the involved systems took a battering today, with the only winners the smaller financial institutions. Faced with claims of credit fraud, many have been quite lacklustre in their attempts to reimburse victims. Some victims, 12 months later, still have their claims being assessed.\\\\GNN -- Local news, for a galactic audience."
 

Function Documentation

def campaigns.getCampaigns ( )

Definition at line 18 of file campaigns.py.

References loadAll().

18 
19 def getCampaigns():
20  if not _loaded:
21  # Loading happens in generate_dyn_universe.py
22  # But sometimes, e.g. multiplayer, this is not loaded.
23  loadAll(VS.getCurrentPlayer())
24  return campaigns
def campaigns.loadAll (   cockpit)

Definition at line 10 of file campaigns.py.

References atexit.x.

10 
11 def loadAll(cockpit):
12  global _loaded
13  _loaded=True
14  for x in campaignsloaders:
15  ret=x()
16  if ret:
17  campaigns.append(ret)
def campaigns.LoadMainCampaign ( )

Definition at line 225 of file campaigns.py.

References campaign_lib.AddRemovingSprite(), campaign_lib.CampaignEndNode(), universe.getAdjacentSystemList(), campaign_lib.MakeCargoMission(), campaign_lib.MakeMission(), and campaign_lib.MakeNoFailureCargoMission().

226 def LoadMainCampaign():
227 
228  HAULER_SPRITE = ("campaign/hauler.spr","Talk_To_The_Hauler") #sprite file for the fixer
229  HAULER2_SPRITE = ("campaign/hauler.spr","Talk_To_Jenek") #sprite file for the fixer
230  HAULER_LOCATION = ("Crucible/Cephid_17","Atlantis")
231  HaulerMission1 = CampaignClickNode() # Initialize each node
232  HaulerMission2 = CampaignClickNode() # Initialize each node
233 
234  GANGSTER_SPRITE = ("campaign/gangster.spr","Talk_To_The_Patron")
235  GANGSTER_LOCATION = ("Crucible/Cephid_17","Serenity")
236  GangsterSwindled = CampaignClickNode()
237 
238  Hauler2Consequence = CampaignNode()
239  HaulerReward = CampaignClickNode()
240 
241  AngryHauler = CampaignClickNode()
242  AngryGangster = CampaignClickNode()
243 
244  SPY_SPRITE = ("campaign/investigator.spr","Talk_To_The_Investigator")
245  SPY_LOCATION = ("Crucible/Cephid_17","Ataraxia")
246  INVESTIGATORID_SPRITE = "campaign/investigatorID.spr"
247  INVESTIGATORID_POSITION= (0, -0.4)
248  INVESTIGATORID_SIZE = (1, 1)
249  TailMission1 = CampaignClickNode()
250  TailMission2 = CampaignClickNode()
251  TailReward = CampaignClickNode()
252  TailRewardPop = CampaignClickNode()
253 
254  GangsterSellout = CampaignClickNode()
255  GangsterFight = CampaignNode()
256 
257  GangsterHit1 = CampaignClickNode()
258  GangsterHit2 = CampaignClickNode()
259  GangsterBounty = CampaignClickNode()
260 
261  GangsterReward = CampaignClickNode()
262 
263  WrapUpSpy = CampaignNode()
264  WrapUpGangster = CampaignNode()
265 
266  vs=Campaign("vega_strike_campaign") # Name of the save game variable for the entire campaign. Can't contain spaces
267  vs.Init(HaulerMission1) # the first node.
268 
269  description = "Jenek:_Deliver_First_Cargo"
270  MakeCargoMission(vs, # Creates a cargo mission
271  HAULER_SPRITE, # Campaign, sprite
272  [InSystemCondition(HAULER_LOCATION[0],HAULER_LOCATION[1])], # Where fixer meets you to start the mission
273  [InSystemCondition("Redemption/Bernards_star","Jacobs")], # Where the mission ends. Usually the same as starting point for next fixer.
274  None, # Script to be run as you click on the fixer. A common use is to AddCredits() for the previous mission.
275  LoadMission(description,"directions_mission",(vs.name+"_mission",['Crucible/Stirling','Redemption/Bernards_star'], 'Jacobs')),#Script to be run to start the mission (usually None if you don't have a script, but ambush is also common.)
276  ("Syringes",2,False), # Mission arguments.
277  vs.name+"_mission", # Script to be set on completion. -1=Failure, 0=Not Accepted, 1=Succeed, 2=In progress
278  haulerdeal1, # Dictionary containing what the fixer says.
279  None, # If you reject the mission twice. "None" means that he continues asking you forever until you accept
280  GangsterSwindled, # If you lose the mission
281  HaulerMission2, # If you win the mission. Usually points to the next mission
282  HaulerMission1) # The current mission node.
283 
284  description = "Jenek:_Deliver_Second_Cargo"
285  MakeNoFailureCargoMission(vs, # Creates a cargo mission
286  HAULER2_SPRITE, # Campaign, sprite
287  [InSystemCondition(HAULER_LOCATION[0],HAULER_LOCATION[1])], # Where fixer meets you to start the mission
288  [InSystemCondition(GANGSTER_LOCATION[0],GANGSTER_LOCATION[1])], # Where the mission ends. Usually the same as starting point for next fixer.
289  ClearFactionRecord('merchant',0.7,PushRelation('merchant')), # Script to be run as you click on the fixer. A common use is to AddCredits() for the previous mission.
290  LoadMission(description,"directions_mission",(vs.name+"_mission",[], GANGSTER_LOCATION[1])), # Script to be run to start the mission (usually None if you don't have a script, but ambush is also common.) (having no destination will call significant unit.. oakham should be the only dockable significant in that system
291  ("Recycled_Plastics",50,False), #FIXME: varied cargo, and lots of it! Mission arguments.
292  vs.name+"_mission", # Script to be set on completion. -1=Failure, 0=Not Accepted, 1=Succeed, 2=In progress
293  haulerdeal2, # Dictionary containing what the fixer says.
294  GangsterHit1, # If you reject the mission twice. "None" means that he continues asking you forever until you accept
295  Hauler2Consequence, # If you lose the mission
296  HaulerReward, # If you win the mission. Usually points to the next mission
297  HaulerMission2) # The current mission node.
298 
299  HaulerReward.Init(vs,
300  [InSystemCondition(HAULER_LOCATION[0],HAULER_LOCATION[1])],
301  haulerreward,
302  HAULER2_SPRITE,
303  GoToSubnode(0,AddCredits(2000,ClearFactionRecord('merchant',1.0))),
304  None,
305  [GangsterHit2])
306 
307  GangsterSwindled.Init(vs,
308  [InSystemCondition(GANGSTER_LOCATION[0],GANGSTER_LOCATION[1])],
309  gangsterswindled,
310  GANGSTER_SPRITE,
311  GoToSubnode(0,SetCredits(0)),
312  None,
313  [TailMission1])
314 
315  Hauler2Consequence.Init(vs,[],None,None,TrueSubnode(),Hauler2Consequence,[AngryHauler,AngryGangster])
316 
317  AngryHauler.Init(vs,
318  [InSystemCondition(HAULER_LOCATION[0],HAULER_LOCATION[1])],
319  angryhauler,
320  HAULER2_SPRITE,
321  GoToSubnode(0,AdjustRelation('privateer','pirates',-0.05,AdjustRelation('privateer','merchant',-0.1,PopRelation('merchant')))),
322  None,
323  [GangsterFight])
324 
325  AngryGangster.Init(vs,
326  [InSystemCondition(GANGSTER_LOCATION[0],GANGSTER_LOCATION[1])],
327  angrygangster,
328  GANGSTER_SPRITE,
329  GoToSubnode(0,AdjustRelation('privateer','pirates',-0.05,AdjustRelation('privateer','merchant',-0.1,PopRelation('merchant')))),
330  None,
331  [GangsterFight])
332 
333  MakeMission(vs, # Creates any type of mission
334  SPY_SPRITE, # Campaign, sprite
335  [InSystemCondition(SPY_LOCATION[0],SPY_LOCATION[1])], # Where fixer meets you to start the mission
336  [InSystemCondition(SPY_LOCATION[0],SPY_LOCATION[1])], # Where the mission ends.
337  None, # Script on click
338  AddRemovingSprite("investigatorID", INVESTIGATORID_SPRITE, INVESTIGATORID_POSITION, INVESTIGATORID_SIZE, "Give back the ID"), # Script to be run to start the mission (usually None if you don't have a script. Do NOT load an ambush mission here.)
339  'tail',
340  (vs.name+"_mission",0,["Crucible/Cephid_17","Crucible/17-ar","Redemption/Quetal"],30000,11000,"pirates","confed","Napolae","IntelSEC"), # Mission arguments.
341  vs.name+"_mission", # Script to be set on completion. -1=Failure, 0=Not Accepted, 1=Succeed, 2=In progress
342  confed_tail_finance, # Dictionary containing what the fixer says.
343  GangsterSellout, # If you reject the mission twice. "None" means that he continues asking you forever until you accept
344  GangsterFight, # If you lose the mission
345  TailRewardPop, # Win mission
346  TailMission1)
347 
348  MakeMission(vs, # Creates any type of mission
349  SPY_SPRITE, # Campaign, sprite
350  [InSystemCondition(SPY_LOCATION[0],SPY_LOCATION[1])], # Where fixer meets you to start the mission
351  [InSystemCondition(SPY_LOCATION[0],SPY_LOCATION[1])], # Where the mission ends.
352  PushNews(hitsuccess), # Script on click
353  AddRemovingSprite("investigatorID", INVESTIGATORID_SPRITE, INVESTIGATORID_POSITION, INVESTIGATORID_SIZE, "Give back the ID"), # Script to be run to start the mission (usually None if you don't have a script. Do NOT load an ambush mission here.)
354  'tail',
355  (vs.name+"_mission",0,["Crucible/Cephid_17","Crucible/17-ar","Redemption/Quetal"],30000,11000,"pirates","confed","Napolae","IntelSEC"), # Mission arguments.
356  vs.name+"_mission", # Script to be set on completion. -1=Failure, 0=Not Accepted, 1=Succeed, 2=In progress
357  confed_tail_insider, # Dictionary containing what the fixer says.
358  GangsterFight, # If you reject the mission twice. "None" means that he continues asking you forever until you accept
359  GangsterFight, # If you lose the mission
360  TailReward, # Win mission
361  TailMission2)
362 
363  TailRewardPop.Init(vs,
364  [InSystemCondition(SPY_LOCATION[0],SPY_LOCATION[1])],
365  tailreward,
366  SPY_SPRITE,
367  GoToSubnode(0,AddCredits(50000,PopCredits(AdjustRelation('privateer','pirates',-0.55,AdjustRelation('privateer','confed',0.2))))),
368  None,
369  [WrapUpSpy])
370 
371  TailReward.Init(vs,
372  [InSystemCondition(SPY_LOCATION[0],SPY_LOCATION[1])],
373  tailreward,
374  SPY_SPRITE,
375  GoToSubnode(0,AddCredits(50000,AdjustRelation('privateer','pirates',-0.55,AdjustRelation('privateer','confed',0.2)))),
376  None,
377  [WrapUpSpy])
378 
379  GangsterSellout.Init(vs,
380  [InSystemCondition(GANGSTER_LOCATION[0],GANGSTER_LOCATION[1])],
381  gangstersellout,
382  GANGSTER_SPRITE,
383  GoToSubnode(0,AdjustRelation('privateer','pirates',-0.35)),
384  None,
385  [GangsterFight])
386 
387  description = "Luviccio:_Deliver_Cargo_To_Jenek"
388  MakeCargoMission(vs, # Creates a cargo mission
389  GANGSTER_SPRITE, # Campaign, sprite
390  [InSystemCondition(GANGSTER_LOCATION[0],GANGSTER_LOCATION[1])], # Where fixer meets you to start the mission
391  [InSystemCondition(HAULER_LOCATION[0],HAULER_LOCATION[1])], # Where the mission ends. Usually the same as starting point for next fixer.
392  None, # Script to be run as you click on the fixer. A common use is to AddCredits() for the previous mission.
393  LoadMission(description,"directions_mission",(vs.name+"_mission",[], HAULER_LOCATION[1])),# Script to be run to start the mission (usually None if you don't have a script, but ambush is also common.)
394  ("Low_Yield_Explosives",1), # Mission arguments.
395  vs.name+"_mission", # Script to be set on completion. -1=Failure, 0=Not Accepted, 1=Succeed, 2=In progress
396  gangsterhit1, # Dictionary containing what the fixer says.
397  TailMission2, # If you reject the mission twice. "None" means that he continues asking you forever until you accept
398  GangsterFight, # If you lose the mission
399  GangsterBounty, # If you win the mission. Usually points to the next mission
400  GangsterHit1) # The current mission node.
401 
402  description = "Luviccio:_Deliver_Cargo_To_Jenek"
403  MakeCargoMission(vs, # Creates a cargo mission
404  GANGSTER_SPRITE, # Campaign, sprite
405  [InSystemCondition(GANGSTER_LOCATION[0],GANGSTER_LOCATION[1])], # Where fixer meets you to start the mission
406  [InSystemCondition(HAULER_LOCATION[0],HAULER_LOCATION[1])], # Where the mission ends. Usually the same as starting point for next fixer.
407  None, # Script to be run as you click on the fixer. A common use is to AddCredits() for the previous mission.
408  LoadMission(description,"directions_mission",(vs.name+"_mission",[], HAULER_LOCATION[1])),# Script to be run to start the mission (usually None if you don't have a script, but ambush is also common.)
409  ("Low_Yield_Explosives",1), # Mission arguments.
410  vs.name+"_mission", # Script to be set on completion. -1=Failure, 0=Not Accepted, 1=Succeed, 2=In progress
411  gangsterhit2, # Dictionary containing what the fixer says.
412  TailMission2, # If you reject the mission twice. "None" means that he continues asking you forever until you accept
413  GangsterFight, # If you lose the mission
414  GangsterBounty, # If you win the mission. Usually points to the next mission
415  GangsterHit2) # The current mission node.
416 
417  MakeMission(vs, # Creates any type of mission
418  GANGSTER_SPRITE, # Campaign, sprite
419  [InSystemCondition(GANGSTER_LOCATION[0],GANGSTER_LOCATION[1])], # Where fixer meets you to start the mission
420  [], # Where the mission ends. Usually the same as starting point for next fixer.
421  AdjustRelation('privateer','pirates',0.2,AdjustRelation('privateer','merchant',-0.1,PushNews(hitsuccess))),
422  None, # Script to be run to start the mission (usually None if you don't have a script. Do NOT load an ambush mission here.)
423  'bounty',(0,0,0,False,0,'confed',(),vs.name+"_mission",'','',True,[]), #Mission arguments.
424  vs.name+"_mission", # Script to be set on completion. -1=Failure, 0=Not Accepted, 1=Succeed, 2=In progress
425  gangsterbounty, # Dictionary containing what the fixer says.
426  GangsterFight, # If you reject the mission twice. "None" means that he continues asking you forever until you accept
427  GangsterFight, # If you lose the mission
428  GangsterReward,
429  GangsterBounty)
430 
431  GangsterReward.Init(vs,
432  [InSystemCondition(GANGSTER_LOCATION[0],GANGSTER_LOCATION[1])],
433  gangsterreward,
434  GANGSTER_SPRITE,
435  GoToSubnode(0,AddCredits(10000,AdjustRelation('privateer','pirates',0.2,AdjustRelation('privateer','confed',-0.5)))),
436  None,
437  [WrapUpGangster])
438 
439  GangsterFight.Init(vs,
440  [],
441  [],
442  None,
443  GoToSubnode(0,(LoadMission("ambush","ambush",(vs.name+"_mission",universe.getAdjacentSystemList(GANGSTER_LOCATION[0]),0,'pirates',4,'','',["You shouldn't have left that system, Luviccio hadn't finished with you.", "No matter, we'll finish you for him!"])))),
444  None,
445  [WrapUpSpy])
446 
447  WrapUpSpy.Init(vs,
448  [],
449  [],
450  None,
451  GoToSubnode(0,(PushNews(confedwin))),
452  None,
453  [CampaignEndNode(vs)])
454 
455  WrapUpGangster.Init(vs, # savegame variable
456  [], #start location
457  [], #dialog
458  None, # fixer sprite
459  GoToSubnode(0,(PushNews(piratewin))), # subnode script
460  None, # completion script
461  #campaign_pirates.Mission1) #[CampaignEndNode(vs)]) # continue with next mission
462  [CampaignEndNode(vs)]) # continue with next mission
463 
464  return vs

Variable Documentation

_loaded = False

Definition at line 8 of file campaigns.py.

list angrygangster
Initial value:
1 = [("Patron", "You are the man who was to deliver my shipment."),
2  "Taken aback by the abrupness of this statement, \"How did he know?\", Deucalion is lost for words",
3  ("Deucalion","I ..."),
4  ("Patron","It was not a question. I know who you are, and I know what you were contracted for. I know you broke that contract, and I know that there will be a price to pay. What I do not know is what that price will be. Do not attempt to leave this system however, or payment of this debt will be your life.")]

Definition at line 90 of file campaigns.py.

list angryhauler
Initial value:
1 = [("Jenek", "Why haven't you delivered the cargo yet? The recipient is starting to get angry."),
2  ("Deucalion","The cargo wont be getting delivered ... I lost it."),
3  "Jenek's agitation level noticably increased.",
4  ("Jenek","This isn't good for either of us, the man you were to deliver to has a reputation for extracting compensation for premature contract termination. I hope you know how to take care of yourself .. you're going to need to."),
5  "Deucalion felt it was best to leave the hauler alone, Jenek was already angry and stressed enough as it is."]

Definition at line 84 of file campaigns.py.

list campaigns = []

Definition at line 6 of file campaigns.py.

list campaignsloaders = [lambda:LoadMainCampaign()]

Definition at line 5 of file campaigns.py.

dictionary confed_tail_finance

Definition at line 95 of file campaigns.py.

tuple confed_tail_insider = dict(confed_tail_finance)

Definition at line 128 of file campaigns.py.

string confedwin = "IntelSEC Investigation Completed:\\\\IntelSEC has today completed the preliminary investigation into a group of pirate organisations. Operating out of Crucible Sector, in particular the system Cephid 17, this organisation has been found responsible for many offences, including many counts of murder, credit fraud, and several asassinations. So far however, only the details relating to the counts of credit fraud have been made publically available.\\\\This is good news for the citizens of the surrounding systems. The removal of the pirate menace has already seen local stockmarkets boom, and the Merchant's Union has already made plans to reopen disbanded trade routes.\\\\Aside from the criminals, the only others to lose out are several of the smaller financial institutions of the area. Now compelled to reimburse the victims of the credit fraud, and with little hope of benefitting from the selloff of the pirates' assets, their share price has dropper by as much as 20% in the case of \'Crucible Holdings.\'\\\\GNN -- Local news, for a galactic audience."

Definition at line 221 of file campaigns.py.

dictionary gangsterbounty
Initial value:
1 = {"intro":[("Patron","Well done Deucalion. You have won my confidence. But I am just one man, and you do not get far in life with the confidence of just one."),
2  ("Deucalion","You have other plans for me then?"),
3  ("Patron","Plans? Who is talking about plans? I was merely stating my satisfaction of a job well done."),
4  ("Deucalion","I--"),
5  ("Patron","But now that you mention it, I do have an opportunity for you. This opportunity can provide you a way out of this backwater, and give you the lifestyle everyone dreams of."),
6  ("Deucalion","This opportunity, can it be refused?"),
7  ("Patron","Of course it can! What kind of man do you take me for? I would never force anyone into a job they didn't want. However, I need an answer now ... I cannot tell you what this opportunity involves unless you can commit to it.")],
8  "reject1":[("Deucalion","I'll have to think this one over. From what you have told me, it is a big decision to make."),
9  ("Patron","That is okay, but do not take too long to make up your mind.")],
10  "reconsider":[("Patron","You are back! Have you made your decision yet?"),
11  ("Deucalion","Maybe."),
12  ("Patron","I'm afraid I won't be able to keep this offer open any longer. If you are going to accept it, you must do it now.")],
13  "reject2":[("Deucalion", "I'm sorry, I can't commit to such a large uncertainty."),
14  ("Patron","You dissapoint me Deucalion, but I will respect your decision. Unfortunately for you, not all of my associates will. I would be careful about leaving this system. Since the fighting began, the reign of law in this sector is not what it used to be.")],
15  "failure":[("Patron", "You have cost me more by failing that mission than you ever could have by not accepting it."),
16  ("Deucalion","The target was expec--"),
17  ("Patron","Be quiet and listen. There has been a Confederate investigation into activities of some criminals in this system. Your mission was a personal favour to a friend of mine, as the target was a spy about to steal some very important information. By failing in this mission, you have ensured the success of that investigation, and reduced any potential business in this system to none. You can see how this makes my friend angry. My friend no doubt will attempt to exact revenge. Goodbye Deucalion.")],
18  "reminder":[("Patron", "The target is on the move. If you don't get him before he has left this system, you will have failed the mission.")],
19  "accept":[("Deucalion", "I will take this opportunity."),
20  ("Patron","That is a good decision, one that I hope will be of benefit to both you and me."),
21  ("Deucalion","The job?"),
22  ("Patron","Yes, there is a ship that will soon be on a mission that will pose a threat to ..."),
23  "The patron turns away to answer a communication.",
24  ("Patron","The ship has just jumped into this system. Instructions have been sent to your flightcomputer to target this ship's last known position. You are to destroy it before it has a chance to jump to the next system. Quickly, you must go now.")]
25  }

Definition at line 190 of file campaigns.py.

dictionary gangsterhit1
Initial value:
1 = {"intro":[("Patron", "Deucalion! So good of you to come all the way out here to see me!"),
2  ("Deucalion", "Do I know you?"),
3  ("Patron", "No, certainly not. But you know a hauler named Jenek, who was unable to fulfill a contract with me."),
4  "This conversation was starting to sound like one Deucalion didn't want to be part of.",
5  ("Deucalion", "I'm sorry, I've really got to ..."),
6  "As he speaks, several people get up from nearby tables, and surround Deucalion",
7  ("Patron", "As I understand it, you were in a position to fulfill this contract, but did not. This hurts me greatly, to see a man not willing to help another in distress. But don't worry, you have a chance to make it up to me. Now it is up to you, do you wish to make up for this last mistake of yours?")],
8  "reject1":[("Deucalion","I don't think I want to get involved in this."),
9  ("Patron", "I understand. You are lucky I am a generous man, I will give you the chance to reconsider."),
10  "With that, the patron closed his eyes and leaned back in his chair, and the men surrounding Deucalion walk back to the tables they rose from."],
11  "reconsider":[("Patron", "Welcome back, I knew you would see what must be done. Are you ready to begin?")],
12  "reject2":[("Deucalion", "No."),
13  ("Patron", "That is unfortunate. I would advise you to wait in this system until I have dealt with this matter."),
14  "The men surrounding Deucalion move just enough to allow him to exit. As he leaves the table, every pair of eyes in the bar follow him. It was, to say the least, not Deucalion's finest hour."],
15  "failure":[("Patron", "You never arrived with the package, and yet you do not have it with you. You will not leave the system until I have decided what to do with you.")],
16  "reminder":[("Patron", "My men are waiting. You should not keep them waiting much longer.")],
17  "accept":[("Deucalion", "What does it involve?"),
18  ("Patron","Just a simple cargo run, a special package, to the hauler."),
19  "As much as Deucalion did not like the sound of this, he got the feeling he no longer had any choice in the matter.",
20  ("Patron","Just dock and have it unloaded, my men will take care of the rest.")]
21  }

Definition at line 155 of file campaigns.py.

tuple gangsterhit2 = dict(gangsterhit1)

Definition at line 177 of file campaigns.py.

list gangsterreward
Initial value:
1 = [("Patron","My associates, as well as I, wish to congratulate you on your success Deucalion. In destroying that ship, you have ensured our organisation a few more years of uninterrupted operations in this sector. As reward for this success, we have deposited a small amount into your account, and provide you access to all of our installations throughout the galaxy. You have done well today."),
2  "The patron stands up and shakes Deucalion's hand. Only a few short days ago Deucalion was just another pilot making just enough to be comfortable. Now he had the key to the galaxy!"]

Definition at line 216 of file campaigns.py.

list gangstersellout
Initial value:
1 = [("Patron","Good day sir. I think we have some business to discuss."),
2  ("Deucalion","No we don't, I have nothing I want to talk to you about."),
3  ("Patron","Nevertheless, you are still here!"),
4  "As he speaks, several people get up from nearby tables, and surround Deucalion.",
5  ("Deucalion","It appears I have little choice in the matter."),
6  "Ignoring Deucalion's remarks, the man continues...",
7  ("Patron","A little bird has told me that someone has been aiding an IntelSEC investigation. This IntelSEC investigation puts in danger a great many important people, who do a great deal of important work."),
8  "Deucalion attempts to interrupt, but a sudden exertion of pressure on his back suggests that it would be a good idea not to.",
9  ("Patron","This same little bird has also told me that my most recent \"business assiciate\" has been dealing with the head of the investigation. Fortunately, this act of blatant disregard for the power structure in this corner of the galaxy has put no-one jeopardy, save my associate. With the current confederate presence in this system however, any such action against said associate has been put on hold ... but it most certainly has not been suspended."),
10  "With that, the patron closed his eyes and leaned back in his chair, and the men surrounding Deucalion walk back to the tables they rose from."]

Definition at line 144 of file campaigns.py.

list gangsterswindled
Initial value:
1 = [("Patron", "Pardon the abruptness and the liberty of this conversation; It is due to its exigency. I am a Credit official in New Baikal. I ask for your help. I am in need of a foreign partner to assist in the transfer of a considerable amount of money. What we require is someone who is reliable and trustworthy, who has a vision and who will be able to manage whatever business in which we shall inject venture capital. We need someone who can share our dreams and ideals."),
2  ("Deucalion", "Pardon me but, who are you?"),
3  ("Patron","Please do not at this point misunderstand my intention, because understandably, we are not acqainted. I do not even know if you will be reliable and trustworthy, but I believe that everything starts with a first step ... If you will excuse me."),
4  "The man turns to answer a communication.",
5  ("Patron", "Dear friend, you must forgive my rudeness, but I must go. Thank you for your courtesies.")]

Definition at line 78 of file campaigns.py.

dictionary haulerdeal1
Initial value:
1 = {"intro":[("Hauler", "Quelle chance, je pensais vous avoir rate!"),
2  ("Deucalion", "I think you've mistaken me for someone else."),
3  ("Hauler", "No, I'm certain - you're running the Llama that just got recertified."),
4  "Deucalion stares ambiguously at this vexacious interruption.",
5  ("Deucalion", "I'm not buying."),
6  ("Hauler", "No, no, no. You misunderstand, I'm a freight merchant, my hauler has broken down and I need help delivering the rest of my shipment."),
7  ("Deucalion", "I've got my own problems right now, find someo--"),
8  ("Hauler", "Jenek, my name's Jenek. Look, just two crates, just two systems. Anything at all would be great."),
9  ("Deucalion", "I'm sor--"),
10  ("Jenek", "I can't pay you anything, but I'll be in your personal debt. What do you say?")],
11  "reject1":[("Jenek", "I understand. Hope you get your problems sorted out. If you change your mind, I can't see me leaving here anytime soon.")],
12  "reconsider":[("Jenek", "You're back! I wasn't expecting to see you again. Have you reconsidered?")],
13  "reject2":[("Deucalion", "No."),
14  ("Jenek", "Well then, this shipment isn't going anywhere anytime soon. If you change your mind...")],
15  "failure":[("Jenek", "You're back again, did it all go okay?"),
16  ("Deucalion", "There were problems."),
17  ("Jenek", "What?!? You mean you didn't get it delivered? That's gotta be the simplest cargo mission you could ever get, and you couldn't do it? You're not getting any more jobs from me, I'll wait until the insurance comes through for the repair bill. The cargo may not be on time, but at least this way I know it'll get there.")],
18  "reminder":[("Jenek", "Jump to Stirling, jump to Bernards star, deliver crates to the arid planet. Get going!")],
19  "accept":[("Jenek", "Great, thank you. There's a couple of crates of medical supplies that need to get delivered to the arid planet, Jacobs, in Bernards star. Just jump to Stirling, then to Bernards star, and then land at the planet's spaceport! I'll get the crates loaded now.")]
20  }

The Main Campaign.

Definition at line 27 of file campaigns.py.

dictionary haulerdeal2
Initial value:
1 = {"intro":[("Jenek", "Thanks for that, you really helped me out."),
2  ("Deucalion", "No problem."),
3  ("Jenek", "I really mean it, and I want to repay you. I just don't have the finance to do it at the moment, but once the rest of this shipment has been delivered..."),
4  "Deucalion, observing the brief flash of inspiration in Jenek's eyes, acts to avoid the imminent sales onslaught.",
5  ("Deucalion", "I'll deliver the rest of the shipment for you."),
6  ("Jenek", "Look, I know that you've already helped me out, and I wouldn't ... What?"),
7  ("Deucalion", "I'll deliver the shipment for you, if you still want me to of course."),
8  "With a look of surprised bewilderment frozen on his face, Jenek momentarilly loses himself in his own thoughts.",
9  ("Jenek", "... You really mean it?")],
10  "reject1":[("Jenek", "Oh ... Okay.")],
11  "reconsider":[("Jenek", "Please, don't toy with me, goodwill seems to be in rather short supply these days. If you want to help me just say, otherwise it might be safer for you if you hadn't met me.")],
12  "reject2":[("Deucalion", "No."),
13  ("Jenek", "I can't really blame you, I probably would have made the same decision. Space isn't as friendly around these parts since the war arrived. But even though you don't want my shipment, take my advice ... the choices you make today will forever affect your future. Oh, and watch out for Luviccio.")],
14  "reminder":[("Jenek", "Just follow the directions I gave you, and sign over the shipment to Luviccio.")],
15  "accept":[("Jenek", "Thank you so much. I was beginning to think I wouldn't be able to get anyone to help. You have no idea how much this means to me!"),
16  ("Deucalion","Where am I taking the shipment?"),
17  ("Jenek","I've managed to organise another merchant to finish shipping to all the individual recipients, so you just have to take it all to him. His name is Luviccio, and you'll have to get him to sign off on the delivery personally. You should be able to contact him on Serenity Mining Base.")]
18  }

Definition at line 48 of file campaigns.py.

list haulerreward
Initial value:
1 = [("Jenek","Thank you so much for finishing that. You have helped me more than you know."),
2  ("Deucalion","It's okay, it wasn't too much of an effort on my part."),
3  ("Jenek","That may be, but most people would not have done what you have. You are a good man."),
4  "Deucalion is a little surprised at how glad Jenek is, but doesn't think further of it.",
5  ("Jenek","And, as I promised, I have a little something for you. There are now 2000 more credits in your bank account. I know it's not much, but it's all I can afford."),
6  ("Deucalion","I really wasn't expect--"),
7  ("Jenek","I know, but I promised, and I want to try and make up for what I may have just gotten you into."),
8  ("Deucalion","What are you talking about?"),
9  ("Jenek","Luviccio, the man you delivered the last set of crates to, thanks you for your work and wants to speak with you further. As innocent as it sounds, he's not to be trusted. If you decide to meet him, be careful, but I strongly recommend you don't go and see him at all. Whatever choice you make now, thank you again for your help."),
10  "Jenek finishes his drink and prepares to leave. \"This little adventure,\" Deucalion thought, \"seems to be over.\""]

Definition at line 67 of file campaigns.py.

string hitsuccess = "Hit on Atlantis:\\\\In yet another twist in the underworld wars raging through the Crucible sector, a little known cargo hauler, who cannot be named, is suspected dead after taking delivery of a shipment specified as \"Recycled Plastics.\" With hangars CA-47 to CB-55 suffering irrepairable damage, investigators believe the entire shipment must have consisted of plastic explosives. With such a scene an unfortunately common occurence in recent years, industry is quick at recovering. Business is expected to return to normal at the spaceport Tuesday week, once remains of the 35 suspected dead have been found and identified.\\\\GNN -- Providing news for the galaxy."

Definition at line 219 of file campaigns.py.

string piratewin = "IntelSEC Investigation Cancelled:\\\\IntelSEC has today cancelled their investigation into alledged criminal organisations operating out of Crucible Sector. Citing the murder of an investigating operative, as well as the general lack of anyone willing to provide testimonies, the agent leading the probe expressed his disappointment at the result. \"Such an outcome will only serve to strengthen the grip of these organisations on the outer systems. Every system with a pirate infestation is one that is lost to the Confederacy.\"\\\\The share markets in the involved systems took a battering today, with the only winners the smaller financial institutions. Faced with claims of credit fraud, many have been quite lacklustre in their attempts to reimburse victims. Some victims, 12 months later, still have their claims being assessed.\\\\GNN -- Local news, for a galactic audience."

Definition at line 223 of file campaigns.py.

list tailreward
Initial value:
1 = [("Investigator","Well done, the mission was a complete success! Luviccio has been arrested, his while organisation has been shut down, and the creditors are now legally compelled to repay those who have been subject to his credit fraud. Although you wont get public recognition, my director thanks you for your help."),
2  ("Deucalion","As much as I appreciate the gratitude, that's not why I did the mission."),
3  ("Investigator","Yes, I know. You didn't really have much of a choice did you? To make up for it, I have, as I said I would, arranged a little financial assistance for losses incurred during your assistance. It has already been transferred to your account. Good luck for the future.")]

Definition at line 140 of file campaigns.py.