FSCMOVE = 6 # Supercommander moves (might attack base)
FSCDBAS = 7 # Supercommander destroys base
FDSPROB = 8 # Move deep space probe
FSCMOVE = 6 # Supercommander moves (might attack base)
FSCDBAS = 7 # Supercommander destroys base
FDSPROB = 8 # Move deep space probe
-FDISTR = 9 # Emit distress call from an inhabited world
-FENSLV = 10 # Inhabited word is enslaved */
-FREPRO = 11 # Klingons build a ship in an enslaved system
-NEVENTS = 12
+FDISTR = 9 # Emit distress call from an inhabited world
+FENSLV = 10 # Inhabited word is enslaved */
+FREPRO = 11 # Klingons build a ship in an enslaved system
+NEVENTS = 12
# Abstract out the event handling -- underlying data structures will change
# when we implement stateful events
# Abstract out the event handling -- underlying data structures will change
# when we implement stateful events
# after killing the last klingon when score is shown -- perhaps also
# if the only remaining klingon is SCOM.
self.state.remtime = self.state.remres/(self.state.remkl + 4*len(self.state.kcmdr))
# after killing the last klingon when score is shown -- perhaps also
# if the only remaining klingon is SCOM.
self.state.remtime = self.state.remres/(self.state.remkl + 4*len(self.state.kcmdr))
dispersion = (randreal()+randreal())*0.5 - 0.5
dispersion += 0.002*enemy.power*dispersion
hit = torpedo(enemy.location, pcourse, dispersion, number=1, nburst=1)
dispersion = (randreal()+randreal())*0.5 - 0.5
dispersion += 0.002*enemy.power*dispersion
hit = torpedo(enemy.location, pcourse, dispersion, number=1, nburst=1)
finish(FWON) # Klingons did themselves in!
if game.state.galaxy[game.quadrant.i][game.quadrant.j].supernova or game.alldone:
return # Supernova or finished
finish(FWON) # Klingons did themselves in!
if game.state.galaxy[game.quadrant.i][game.quadrant.j].supernova or game.alldone:
return # Supernova or finished
game.state.kcmdr.remove(game.quadrant)
unschedule(FTBEAM)
if game.state.kcmdr:
schedule(FTBEAM, expran(1.0*game.incom/len(game.state.kcmdr)))
if is_scheduled(FCDBAS) and game.battle == game.quadrant:
unschedule(FCDBAS)
game.state.kcmdr.remove(game.quadrant)
unschedule(FTBEAM)
if game.state.kcmdr:
schedule(FTBEAM, expran(1.0*game.incom/len(game.state.kcmdr)))
if is_scheduled(FCDBAS) and game.battle == game.quadrant:
unschedule(FCDBAS)
torpedo(game.sector, tcourse[i], dispersion, number=i, nburst=n)
if game.alldone or game.state.galaxy[game.quadrant.i][game.quadrant.j].supernova:
return
torpedo(game.sector, tcourse[i], dispersion, number=i, nburst=n)
if game.alldone or game.state.galaxy[game.quadrant.i][game.quadrant.j].supernova:
return
continue
else: # decide whether or not to emasculate klingon
if kpow > 0 and withprob(0.9) and kpow <= randreal(0.4, 0.8)*kpini:
continue
else: # decide whether or not to emasculate klingon
if kpow > 0 and withprob(0.9) and kpow <= randreal(0.4, 0.8)*kpini:
game.brigfree -= i
prout(_("%d captives taken") % i)
deadkl(weakest.location, weakest.type, game.sector)
game.brigfree -= i
prout(_("%d captives taken") % i)
deadkl(weakest.location, weakest.type, game.sector)
if game.quadrant == nq or communicating():
game.state.galaxy[nq.i][nq.j].supernova = True
# If supernova destroys last Klingons give special message
if game.quadrant == nq or communicating():
game.state.galaxy[nq.i][nq.j].supernova = True
# If supernova destroys last Klingons give special message
prout(_("conquered. Your starship is now Klingon property,"))
prout(_("and you are put on trial as a war criminal. On the"))
proutn(_("basis of your record, you are "))
prout(_("conquered. Your starship is now Klingon property,"))
prout(_("and you are put on trial as a war criminal. On the"))
proutn(_("basis of your record, you are "))
goodies = game.state.remres/game.inresor
baddies = (game.state.remkl + 2.0*len(game.state.kcmdr))/(game.inkling+2.0*game.incom)
if goodies/baddies >= randreal(1.0, 1.5):
goodies = game.state.remres/game.inresor
baddies = (game.state.remkl + 2.0*len(game.state.kcmdr))/(game.inkling+2.0*game.incom)
if goodies/baddies >= randreal(1.0, 1.5):
def boom(w):
"Enemy fall down, go boom."
if game.options & OPTION_CURSES:
def boom(w):
"Enemy fall down, go boom."
if game.options & OPTION_CURSES:
setwnd(srscan_window)
srscan_window.attron(curses.A_REVERSE)
put_srscan_sym(w, game.quad[w.i][w.j])
setwnd(srscan_window)
srscan_window.attron(curses.A_REVERSE)
put_srscan_sym(w, game.quad[w.i][w.j])
prout(_("%d captured Klingons transferred to base") % (game.brigcapacity-game.brigfree))
game.kcaptured += game.brigcapacity-game.brigfree
game.brigfree = game.brigcapacity
prout(_("%d captured Klingons transferred to base") % (game.brigcapacity-game.brigfree))
game.kcaptured += game.brigcapacity-game.brigfree
game.brigfree = game.brigcapacity
((is_scheduled(FCDBAS) or game.isatb == 1) and not game.iseenit):
# get attack report from base
prout(_("Lt. Uhura- \"Captain, an important message from the starbase:\""))
((is_scheduled(FCDBAS) or game.isatb == 1) and not game.iseenit):
# get attack report from base
prout(_("Lt. Uhura- \"Captain, an important message from the starbase:\""))
while len(game.enemies) > 0:
deadkl(game.enemies[1].location, game.quad[game.enemies[1].location.i][game.enemies[1].location.j],game.enemies[1].location)
prout(_("Ensign Chekov- \"Congratulations, Captain!\""))
while len(game.enemies) > 0:
deadkl(game.enemies[1].location, game.quad[game.enemies[1].location.i][game.enemies[1].location.j],game.enemies[1].location)
prout(_("Ensign Chekov- \"Congratulations, Captain!\""))
finish(FWON)
if (game.options & OPTION_PLAIN) == 0:
prout(_("Spock- \"Captain, I believe the `Experimental Death Ray'"))
finish(FWON)
if (game.options & OPTION_PLAIN) == 0:
prout(_("Spock- \"Captain, I believe the `Experimental Death Ray'"))
if game.tourn:
prout(_("This is tournament game %d.") % game.tourn)
prout(_("Your secret password is \"%s\"") % game.passwd)
if game.tourn:
prout(_("This is tournament game %d.") % game.tourn)
prout(_("Your secret password is \"%s\"") % game.passwd)
(game.inkling + game.incom + game.inscom)))
if game.incom - len(game.state.kcmdr):
prout(_(", including %d Commander%s.") % (game.incom - len(game.state.kcmdr), (_("s"), "")[(game.incom - len(game.state.kcmdr))==1]))
(game.inkling + game.incom + game.inscom)))
if game.incom - len(game.state.kcmdr):
prout(_(", including %d Commander%s.") % (game.incom - len(game.state.kcmdr), (_("s"), "")[(game.incom - len(game.state.kcmdr))==1]))
rechart()
if game.lastchart < game.state.date and game.condition == "docked":
prout(_("Spock- \"I revised the Star Chart from the starbase's records.\""))
rechart()
if game.lastchart < game.state.date and game.condition == "docked":
prout(_("Spock- \"I revised the Star Chart from the starbase's records.\""))
% (int((100.0*game.shield)/game.inshld + 0.5), game.shield)
prstat(_("Shields"), s+data)
if not req or req == 9:
% (int((100.0*game.shield)/game.inshld + 0.5), game.shield)
prstat(_("Shields"), s+data)
if not req or req == 9:
game.state.chart[game.quadrant.i][game.quadrant.j].klingons = game.state.galaxy[game.quadrant.i][game.quadrant.j].klingons
game.state.chart[game.quadrant.i][game.quadrant.j].starbase = game.state.galaxy[game.quadrant.i][game.quadrant.j].starbase
game.state.chart[game.quadrant.i][game.quadrant.j].stars = game.state.galaxy[game.quadrant.i][game.quadrant.j].stars
game.state.chart[game.quadrant.i][game.quadrant.j].klingons = game.state.galaxy[game.quadrant.i][game.quadrant.j].klingons
game.state.chart[game.quadrant.i][game.quadrant.j].starbase = game.state.galaxy[game.quadrant.i][game.quadrant.j].starbase
game.state.chart[game.quadrant.i][game.quadrant.j].stars = game.state.galaxy[game.quadrant.i][game.quadrant.j].stars