[Change] Removed all the old Lephisto data. We have gone 3D!!

This commit is contained in:
Rtch90 2017-11-12 18:19:54 +00:00
parent d93e594787
commit 41950a3099
594 changed files with 135 additions and 88163 deletions

69
.gitignore vendored
View File

@ -1,48 +1,31 @@
# Object files
# Compiled object files.
*.slo
*.lo
*.o
# Libraries
*.lib
# Compiled Dynsamic libs.
*.so
# Compiled Static libs.
*.lai
*.la
*.a
# Shared objects (inc. Windows DLLs)
*.dll
*.so
*.so.*
*.dylib
*.bin
# Executables
*.exe
*.out
*.app
# Crap.
*.log
# Project Specific.
*Lephisto3D*
bin/*
*Makefile
*Makefile.in
*.stash
*.swp
*.txt
*.tsv
*.pdf
*.pyc
*bin/Lephisto
*bin/mksprite
*bin/ldata
*bin/test.xml
*pack
*core
screenshots/*.png
*VERSION
utils/resedit/*.xml
docs/doxygen/docs/*
docs/doxygen/lua/*
# Windows Crap
win32/Lephisto/*
win32/Pack/*
win32/Makefile
# Qt crap.
qt/*.user
qt/Makefile
*.swo
*.cache
*.deps
*aclocal.m4
*compile
*config.log
*config.status
*configure
*depcomp
*install-sh
*missing

131
README
View File

@ -1,131 +1,2 @@
Lephisto : SaraCraft Studio's
Overview:
~~~~~~~~~
Lephisto was the first game project I worked on. I have decided to start a new project and as originally planned when
ceasing work on the original, re-use the name!
Dependencies:
~~~~~~~~~~~~~
OpenGL
SDL
sdl_image
freetype2
libpng
Compiling:
~~~~~~~~~~
----------------------
-- Linux.
-- cd Lephisto/bin/
-- make
----------------------
Instalation:
~~~~~~~~~~~~~
Installation is not currently supported.
Bugs/Crashes and problems:
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Please visit the bug tracker https://github.com/Allanis/Lephisto/issues?state=open
and report any issues that you are having. Please ensure that your bug has not
already been documented before posting.
Dependencies:
~~~~~~~~~~~~~
-- Debian:
-- Binary:
-- libsdl1.2debian
-- libsdl-image1.2
-- libsdl-mixer1.2
-- libgl1-mesa-dri
-- libxml2
-- libfreetype6
-- libpng12-0
-- Source:
-- libsdl1.2-dev
-- libsdl-image1.2-dev
-- libsdl-mixer1.2-dev
-- libgl1-mesa-dev
-- libxml2-dev
-- libfreetype6-dev
-- libpng12-dev
Instructions:
~~~~~~~~~~~~~
Keys:
=========================================================
Lephisto uses a dynamic keybinding system that allows you
to configure the keybinds to joystick, keyboard or a mix
of both.
-- Joystick.
If you are going to use a joystick, You will have to tell
Lephisto which joystick to use. You can either use the -j
or -J parameter from the terminal or put it in the conf
file.
-- Eg.
-- ./Lephisto -j 0
-- ./Lephisto -J "Precision"
-- joystick = "Precision" # in conf file.
-- Syntax.
KEY_IDENTIFIER = { type = KEY_TYPE, key = KEY_NUMBER,
[reverse = KEY_REVERSE, mod = MOD_IDENTIFIER] }
KEY_IDENTIFIER is the indetifier given below:
KEY_TYPE can be one of keyboard, jaxis or jbutton.
KEY_NUMBER is the number of the key (found with xev usually, just
convert the keysym from hex to base 10).
KEY_REVERSE is whether it is reversed or not, which
is only useful in the case of jaxis.
MOD_IDENTIFIER is the modifier to take into account, can be on of:
lctrl, rctrl, lshift, rshift, lmeta, rmeta, ralt, lalt
It isn't used with joystick bindings.
-- Eg.
accel = { type = "jbutton", key = 0 }
=========================================================
Movement:
-- w : Accelerate.
-- Double tap for afterburners.
-- a : Left.
-- d : Right.
-- s : Turn 180 degree, so you can stop easily.
Combat:
-- Space : Primary weapons.
-- Tab : Target.
-- 'r' : Target closest hostile ship.
-- 'f' : Faces the target.
-- 'b' : Board the target.
-- 'LALT' : Fires secondary weapon.
-- 'e' : Cycle through secondary weapons.
-- 'LCTRL+e' : Cycle backwards through secondary weapons.
Escorts:
-- Cycle through secondary weapons until you find fighter bay, then fire
secondary weapon with LALT to dispatch fighters.
-- 1 : Command escort to attack.
-- 2 : Command escort to hold.
-- 3 : Command escort to return to hold.
-- 4 : Command escort to clear all commands.
Space:
-- 'p' : Cycles through planets.
-- 'l' : Attempts to land or targets nearest planet.
-- 'h' : Cycles through hyperspace jump points.
-- 'j' : Jump through hyperspace.
-- 'm' : StarMap
GUI:
-- '0' : Zoom in.
-- '9' : Zoom out.
-- F12 : Take a screenshot.
-- ESC : Menu.
-- 'i' : Opens the character information window.
-- Lephisto3D --

67
TODO
View File

@ -1,67 +0,0 @@
Vital:
-- Developer mode.
-- Lua console.
-- Run missions.
-- See mount points.
-- Integrate the resource editor possibly.
-- Asteroids.
-- Real news.
-- Event System.
-- Like mission system, but they occur naturally/randomly.
-- Has similar power to mission system.
-- More missions.
-- Empire shipping campaign.
-- FLF Nebulae campaign.
-- Space Trader Missions.
-- Misc Empire Guard missions.
-- Pirate Missions.
-- FLF Missions.
Major:
-- Unique pilot system (besides mission uniques).
-- Escorts available for hire.
-- Nicer AI.
-- Ship fleet movement (Maybe based on boids?)
-- Options menu needs to do something.
-- Configuration app for keybindings.
-- Secondary weapon revamp.
-- Players should be able to configure what outfits they want as secondary.
-- Players should also be able to set hotkeys for secondary weapons.
Minor:
-- Pilot communication system.
-- Request fuel.
-- Hybrid Ships.
-- Start out with X skillpoints that get spread out by use, use fast at first.
-- Can't use normal gear.
-- Very rare.
-- Random mutation for cloaking/displacement abilities.
-- Optimize texture usage.
-- All land graphics should be on land only (optionally).
-- Planet space graphics should be ondemand.
-- Improved graphics.
-- Have ships flying in nebulae leave traces.
-- Missile smoke.
-- Engine glow -> need models.
-- More special effects.
-- Cloaking effects?
-- Maybe some fancy displacement effects for some ships.
-- Dynamic politics - Faction wide ai.
-- Allow player to create faction and control fleets.
-- Cinematic scenes.
-- Allow for subsystems getting damaged.
-- Allow mouse movement (steering).
-- Pilot titles.
-- Would usually indicate changes on the base ship equipment.
-- Radar improvements.
-- Non-linear - See alot more data then currently possible.
-- Objects always in sight (depending on resolution).
-- Allow creating collision masks to make collision more realistic.
-- Improve font system to handle unicode.
-- Mission improvements.
-- Allow creation of OSD (On Screen Displays).
SOMEDAY!! MAYBE...:
-- 3d models (not actually a 3D perspective, just no sprites).

View File

@ -1,166 +0,0 @@
# OPTIONS.
DEBUG := 1
#DEBUG_PARANOID := 1
export DEBUG
OS := LINUX
#OS := FREEBSD
#OS := WIN32
#OS := MACOS
export OS
# Data path.
#LDATA_DEF := \"../ldata\"
#CC = clang
# VERSION.
VMAJOR := 0
VMINOR := 3
VREV := 5
VERSION = -DVMAJOR=$(VMAJOR) -DVMINOR=$(VMINOR) -DVREV=$(VREV)
VERSIONFILE = VERSION
# OBJECTS.
APPNAME := Lephisto
OBJS := $(patsubst %.c, %.o, $(wildcard ../src/*.c))
# CFLAGS
CLUA := -I../lib/lua
CCSPARSE := -I../lib/csparse
CSDL := $(shell sdl-config --cflags) -DGL_GLEXT_PROTOTYPES
CXML := $(shell xml2-config --cflags)
CTTF := $(shell freetype-config --cflags)
CPNG := #$(shell libpng-config libpng --cflags)
CGL :=
CFLAGS := $(CLUA) $(CCSPARSE) $(CSDL) $(CXML) $(CTTF) $(CPNG) $(CGL) $(VERSION) -D$(OS)
ifdef LDATA_DEF
CFLAGS += -DLDATA_DEF=$(LDATA_DEF)
endif
# Debug stuff.
ifdef DEBUG
CFLAGS += -W -Wall -Wextra -Wunused -Wshadow -Wpointer-arith -Wmissing-prototypes \
-Winline -Wcast-align -Wmissing-declarations -fstack-protector \
-fstack-protector-all -g -DDEBUG -DLUA_USE_APICHECK -std=c99
ifdef DEBUG_PARANOID
CFLAGS += -DDEBUG_PARANOID
endif
# Handle OS Debug stuff here.
# Linux Stuff.
ifeq ($(OS), LINUX)
LDFLAGS += -rdynamic
endif # Linux.
else # DEBUG
CFLAGS += -O2 -funroll-loops -pipe -std=c99
endif
# LDFLAGS.
LDLUA := ../lib/lua/liblua.a
LDCSPARSE := ../lib/csparse/libcsparse.a
LDSDL := $(shell sdl-config --libs) -lSDL_image -lSDL_mixer -lpng
LDXML := $(shell xml2-config --libs)
LDTTF := $(shell freetype-config --libs)
CPNG := #$(shell libpng-config libpng --libs)
LDGL := -lGL
LDFLAGS := -lm $(LDLUA) $(LDCSPARSE) $(LDSDL) $(LDXML) $(LDTTF) $(CPNG) $(LDGL) $(LDPNG)
# This is just for gstat to run some analysis on performance.
ifdef DEBUG
LDFLAGS += -pg
endif
# DATA.
DATA_MISC := ../AUTHORS VERSION
DATA_AI := $(wildcard ../scripts/ai/*.lua \
../scripts/ai/*/*.lua)
DATA_GFX := $(wildcard ../gfx/*.png \
../gfx/*/*.png \
../gfx/*/*/*.png)
DATA_XML := $(wildcard ../dat/*.xml ../dat/*.ttf ../dat/intro)
DATA_SND := $(wildcard ../snd/music/*.ogg \
../snd/sounds/*.wav) ../snd/music.lua
DATA_MISN := $(wildcard ../dat/missions/*.lua \
../dat/missions/*/*.lua \
../dat/mission/*/*/*.lua)
DATA := ldata
DATAFILES := $(DATA_MISC) $(DATA_AI) $(DATA_GFX) $(DATA_XML) $(DATA_SND) $(DATA_MISN)
# TARGETS.
.PHONY: all help csparse lua utils docs clean distclean
%.o: %.c %.h
@$(CC) -c $(CFLAGS) -o $@ $<
@echo " CC $@"
all: utils ldata lua csparse Lephisto
help:
@echo "Possible targets are:":
@echo " lua - Builds Lua support."
@echo " csparse - Builds CSparse support."
@echo " lephisto - Builds the Lephisto binary."
@echo " mkspr - Builds the mkspr utility."
@echo " ldata - Creates the ldata file."
@echo " utils - Builds all the utilities."
@echo " docs - Creates the doxygen documentation."
@echo " clean - Removes Lephisto's main binary and ldata file."
@echo " distclean - Removes everything done."
$(APPNAME): $(OBJS)
@$(CC) $(LDFLAGS) -o $(APPNAME) $(OBJS) ../lib/lua/liblua.a ../lib/csparse/libcsparse.a
@echo " LD $(APPNAME)"
lua: ../lib/lua/liblua.a
../lib/lua/liblua.a:
+@$(MAKE) -C ../lib/lua a
csparse: ../lib/csparse/libcsparse.a
../lib/csparse/libcsparse.a:
+@$(MAKE) -C ../lib/csparse
pack: ../src/md5.c ../src/pack.c ../utils/pack/main.c
@$(MAKE) -C ../utils/pack
mksprite: ../utils/mkspr/main.c
@$(MAKE) -C ../utils/mkspr
$(VERSIONFILE):
@echo -n "$(VMAJOR).$(VMINOR).$(VREV)" > $(VERSIONFILE)
ldata: pack $(DATAFILES)
@echo -n "$(VMAJOR).$(VMINOR).$(VREV)" > $(VERSIONFILE)
@echo " Creating ldata..\n"
@./pack $(DATA) $(DATAFILES)
utils: pack mksprite
docs:
+@$(MAKE) -C ../docs/
clean:
@echo " Removing ldata"
@$(RM) $(DATA)
@echo " Removing object files"
@$(RM) $(OBJS)
@echo " Removing main binary ($(APPNAME))"
@$(RM) $(APPNAME)
distclean: clean
@echo " Cleaning utilites"
@$(MAKE) -C ../utils/pack clean
@$(MAKE) -C ../utils/mkspr clean
@echo " Cleaning Lua"
@$(MAKE) -C ../lib/lua clean
@echo " Cleaning CSparse."
@$(MAKE) -C ../lib/csparse clean
@echo " Removing build tool binaries."
@$(RM) Lephisto mksprite ldata pack gmon.out VERSION

View File

@ -1,47 +0,0 @@
--WINDOW.
width = 800
height = 640
fullscreen = 0
-- SCREEN.
fps = 0
-- SOUND.
nosound = 0
sound = 0.7
music = 0.5
-- JOYSTICK.
-- Can be number or substring of joystick name.
joystick = "Precision"
-- KEYBINDINGS.
-- Type can be keyboard, jaxis or jbutton.
--
-- If left is an axis, it will automatically set right to the same axis.
-- setting both to the same axis (key).
-- You can use reverse = 1 option to reverse them.
-- Currently keybindings work with the number of the key only (when doing
-- keyboard). Would be cool to have a gui to do this for you at some point.
-- Movement.
accel = { type = "jbutton", key = 0 }
left = { type = "jaxis", key = 0 }
right = { type = "jaxis", key = 0 }
-- Combat.
primary = { type = "jbutton", key = 1 }
target = { type = "jbutton", key = 4 }
target_nearest = { type = "jbutton", key = 3 }
face = { type = "keyboard", key = 38 }
board = { type = "keyboard", key = 57 }
secondary = { type = "jbutton", key = 7 }
secondary_next = { type = "jbutton", key = 5 }
-- Space.
-- Gui.
mapzoomin = { type = "jbutton", key = 4 }
mapzoomout = { type = "jbutton", key = 6 }
screenshot = { type = "keyboard", key = 82 }

View File

@ -1,14 +0,0 @@
// ================
// NOTES.
// ================
Units:
Thrust, speed is in pixels/second.
turn is in degrees per half a second.
energy, armor and shield regen are in points a minute.
crew is in, uh.. people.
mass is in tons.
cargo and weapon capacity are int tons.

View File

@ -1,30 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Commodities>
<commodity name="Food">
<description>Airtight compressed nutrient packets. Very nutritious.</description>
<price>140</price>
</commodity>
<commodity name="Ore">
<description>All sorts of assorted ores. Needed for all sorts of production processes.</description>
<price>210</price>
</commodity>
<commodity name="Industrial Goods">
<description>Your basic industrial goods. From cutting lasers to processed metals.</description>
<price>340</price>
</commodity>
<commodity name="Medicine">
<description>An assortment of medicines suitable for curing all sorts of ailments.</description>
<price>750</price>
</commodity>
<commodity name="Luxury Goods">
<description>All sorts of high quality luxury goods.</description>
<price>630</price>
</commodity>
<commodity name="Parcels"/>
<commodity name="Colonists"/>
<commodity name="Tourists"/>
<commodity name="Pilgrims"/>
<commodity name="Datapad"/>
<commodity name="Satellite"/>
<commodity name="Prisoners"/>
</Commodities>

View File

@ -1,164 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Factions>
<faction name="Dummy">
<player>0</player>
<allies />
<enemies />
</faction>
<faction name="Independent">
<player>0</player>
<allies>
<ally>Trader</ally>
</allies>
<enemies>
<enemy>Pirate</enemy>
<enemy>Collective</enemy>
<enemy>FLF</enemy>
</enemies>
</faction>
<faction name="Frontier">
<longname>Frontier Alliance</longname>
<player>0</player>
<allies>
<ally>Trader</ally>
</allies>
<enemies>
<enemy>Pirate</enemy>
<enemy>Collective</enemy>
</enemies>
</faction>
<faction name="Trader">
<longname>Space Traders Guild</longname>
<player>0</player>
<allies>
<ally>Independent</ally>
<ally>Empire</ally>
<ally>Soromid</ally>
<ally>Frontier</ally>
</allies>
<enemies>
<enemy>Pirate</enemy>
<enemy>FLF</enemy>
<enemy>Collective</enemy>
</enemies>
</faction>
<faction name="Pirate">
<longname>Galactic Pirates</longname>
<player>-20</player>
<enemies>
<enemy>Empire</enemy>
<enemy>Dvaered</enemy>
<enemy>Za'lek</enemy>
<enemy>Collective</enemy>
<enemy>Soromid</enemy>
<enemy>Sirius</enemy>
<enemy>Frontier</enemy>
</enemies>
</faction>
<faction name="Empire">
<logo>empire</logo>
<player>0</player>
<allies>
<ally>Dvaered</ally>
<ally>Soromid</ally>
<ally>Za'lek</ally>
<ally>Trader</ally>
<ally>Sirius</ally>
</allies>
<enemies>
<enemy>Pirate</enemy>
<enemy>FLF</enemy>
<enemy>Collective</enemy>
</enemies>
</faction>
<faction name="Collective">
<player>-100</player>
<enemies>
<enemy>Empire</enemy>
<enemy>Dvaered</enemy>
<enemy>Za'lek</enemy>
<enemy>Soromid</enemy>
<enemy>Pirate</enemy>
<enemy>FLF</enemy>
<enemy>Sirius</enemy>
<enemy>Frontier</enemy>
</enemies>
</faction>
<faction name="FLF">
<longname>Frontier Liberation Front</longname>
<player>-10</player>
<enemies>
<enemy>Empire</enemy>
<enemy>Dvaered</enemy>
<enemy>Za'lek</enemy>
<enemy>Collective</enemy>
<enemy>Soromid</enemy>
</enemies>
</faction>
<faction name="Dvaered">
<logo>dvaered</logo>
<longname>House Dvaered</longname>
<player>0</player>
<allies>
<ally>Empire</ally>
</allies>
<enemies>
<enemy>Pirate</enemy>
<enemy>FLF</enemy>
<enemy>Collective</enemy>
</enemies>
</faction>
<faction name="Za'lek">
<logo>zalek</logo>
<longname>House Za'lek</longname>
<player>0</player>
<allies>
<ally>Empire</ally>
</allies>
<enemies>
<enemy>Pirate</enemy>
<enemy>Collective</enemy>
<enemy>FLF</enemy>
</enemies>
</faction>
<faction name="Sirius">
<logo>sirius</logo>
<longname>House Sirius</longname>
<player>0</player>
<allies>
<ally>Empire</ally>
</allies>
<enemies>
<enemy>Pirate</enemy>
<enemy>Collective</enemy>
<enemy>FLF</enemy>
</enemies>
</faction>
<faction name="Soromid">
<longname>House Soromid</longname>
<player>0</player>
<allies>
<ally>Empire</ally>
<ally>Trader</ally>
</allies>
<enemies>
<enemy>Pirate</enemy>
<enemy>FLF</enemy>
<enemy>Collective</enemy>
</enemies>
</faction>
<faction name="Goddard">
<logo>goddard</logo>
<longname>House Goddard</longname>
<player>0</player>
<allies>
<ally>Empire</ally>
<ally>Trader</ally>
</allies>
<enemies>
<enemy>Pirate</enemy>
<enemy>FLF</enemy>
<enemy>Collective</enemy>
</enemies>
</faction>
</Factions>

View File

@ -1,323 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Fleets>
<fleet name="Goddard Goddard">
<ai>goddard</ai>
<faction>Goddard</faction>
<pilots>
<pilot chance="100">Goddard</pilot>
</pilots>
</fleet>
<fleet name="Trader Llama">
<ai>trader</ai>
<faction>Trader</faction>
<pilots>
<pilot chance="100">Llama</pilot>
</pilots>
</fleet>
<fleet name="Trader Koala">
<ai>trader</ai>
<faction>Trader</faction>
<pilots>
<pilot chance="100">Koala</pilot>
</pilots>
</fleet>
<fleet name="Trader Mule">
<ai>trader</ai>
<faction>Trader</faction>
<pilots>
<pilot chance="100">Mule</pilot>
</pilots>
</fleet>
<fleet name="Sml Trader Convoy">
<ai>trader</ai>
<faction>Trader</faction>
<pilots>
<pilot chance="100">Llama</pilot>
<pilot chance="80">Llama</pilot>
<pilot chance="80">Koala</pilot>
<pilot chance="80">Mule</pilot>
</pilots>
</fleet>
<fleet name="FLF Pacifier">
<ai>flf</ai>
<faction>FLF</faction>
<pilots>
<pilot chance="100">Pacifier</pilot>
</pilots>
</fleet>
<fleet name="FLF Vendetta">
<ai>flf</ai>
<faction>FLF</faction>
<pilots>
<pilot chance="100">Vendetta</pilot>
</pilots>
</fleet>
<fleet name="FLF Sml Force">
<ai>flf</ai>
<faction>FLF</faction>
<pilots>
<pilot chance="100">Hyena</pilot>
<pilot chance="80">Hyena</pilot>
<pilot chance="60">Admonisher</pilot>
<pilot chance="80">Vendetta</pilot>
</pilots>
</fleet>
<fleet name="FLF Med Force">
<ai>flf</ai>
<faction>FLF</faction>
<pilots>
<pilot chance="100">Hyena</pilot>
<pilot chance="80">Hyena</pilot>
<pilot chance="60">Hyena</pilot>
<pilot chance="60">Admonisher</pilot>
<pilot chance="80">Vendetta</pilot>
<pilot chance="60">Vendetta</pilot>
<pilot chance="40">Pacifier</pilot>
</pilots>
</fleet>
<fleet name="FLF Lge Force">
<ai>flf</ai>
<faction>FLF</faction>
<pilots>
<pilot chance="100">Hyena</pilot>
<pilot chance="80">Hyena</pilot>
<pilot chance="60">Hyena</pilot>
<pilot chance="40">Hyena</pilot>
<pilot chance="60">Admonisher</pilot>
<pilot chance="40">Admonisher</pilot>
<pilot chance="80">Vendetta</pilot>
<pilot chance="60">Vendetta</pilot>
<pilot chance="40">Vendetta</pilot>
<pilot chance="40">Pacifier</pilot>
<pilot chance="40">Hawking</pilot>
</pilots>
</fleet>
<fleet name="Pirate Hyena">
<ai>pirate</ai>
<faction>Pirate</faction>
<pilots>
<pilot chance="100">Hyena</pilot>
</pilots>
</fleet>
<fleet name="Pirate Hyena Pack">
<ai>pirate</ai>
<faction>Pirate</faction>
<pilots>
<pilot chance="100">Hyena</pilot>
<pilot chance="100">Hyena</pilot>
<pilot chance="80">Hyena</pilot>
<pilot chance="60">Hyena</pilot>
<pilot chance="40">Hyena</pilot>
</pilots>
</fleet>
<fleet name="Pirate Admonisher">
<ai>pirate</ai>
<faction>Pirate</faction>
<pilots>
<pilot name="Admonisher" chance="100">Pirate Admonisher</pilot>
</pilots>
</fleet>
<fleet name="Pirate Vendetta">
<ai>pirate</ai>
<faction>Pirate</faction>
<pilots>
<pilot name="Vendetta" chance="100">Pirate Vendetta</pilot>
</pilots>
</fleet>
<fleet name="Pirate Ancestor">
<ai>pirate</ai>
<faction>Pirate</faction>
<pilots>
<pilot name="Ancestor" chance="100">Pirate Ancestor</pilot>
</pilots>
</fleet>
<fleet name="Pirate Kestrel">
<ai>pirate</ai>
<faction>Pirate</faction>
<pilots>
<pilot name="Kestrel" chance="100">Pirate Kestrel</pilot>
</pilots>
</fleet>
<fleet name="Collective Drone">
<ai>collective</ai>
<faction>Collective</faction>
<pilots>
<pilot chance="100">Drone</pilot>
</pilots>
</fleet>
<fleet name="Collective Lge Swarm">
<ai>collective</ai>
<faction>Collective</faction>
<pilots>
<pilot chance="100">Drone</pilot>
<pilot chance="100">Drone</pilot>
<pilot chance="100">Drone</pilot>
<pilot chance="100">Drone</pilot>
<pilot chance="100">Drone</pilot>
<pilot chance="100">Drone</pilot>
<pilot chance="90">Drone</pilot>
<pilot chance="90">Drone</pilot>
<pilot chance="90">Drone</pilot>
<pilot chance="90">Drone</pilot>
<pilot chance="80">Drone</pilot>
<pilot chance="80">Drone</pilot>
<pilot chance="80">Drone</pilot>
<pilot chance="80">Drone</pilot>
<pilot chance="70">Drone</pilot>
<pilot chance="70">Drone</pilot>
<pilot chance="60">Drone</pilot>
<pilot chance="60">Drone</pilot>
<pilot chance="50">Drone</pilot>
<pilot chance="50">Drone</pilot>
</pilots>
</fleet>
<fleet name="Collective Sml Swarm">
<ai>collective</ai>
<faction>Collective</faction>
<pilots>
<pilot chance="100">Drone</pilot>
<pilot chance="90">Drone</pilot>
<pilot chance="80">Drone</pilot>
<pilot chance="70">Drone</pilot>
<pilot chance="60">Drone</pilot>
<pilot chance="50">Drone</pilot>
</pilots>
</fleet>
<fleet name="Dvaered Vendetta">
<ai>dvaered</ai>
<faction>Dvaered</faction>
<pilots>
<pilot name="Vendetta" chance="100">Dvaered Vendetta</pilot>
</pilots>
</fleet>
<fleet name="Dvaered Ancestor">
<ai>dvaered</ai>
<faction>Dvaered</faction>
<pilots>
<pilot name="Ancestor" chance="100">Dvaered Ancestor</pilot>
</pilots>
</fleet>
<fleet name="Dvaered Goddard">
<ai>dvaered</ai>
<faction>Dvaered</faction>
<pilots>
<pilot name="Goddard" chance="100">Dvaered Goddard</pilot>
<pilot name="Ancestor" chance="80">Dvaered Ancestor</pilot>
<pilot name="Ancestor" chance="80">Dvaered Ancestor</pilot>
</pilots>
</fleet>
<fleet name="Dvaered Sml Force">
<ai>dvaered</ai>
<faction>Dvaered</faction>
<pilots>
<pilot name="Vendetta" chance="100">Dvaered Vendetta</pilot>
<pilot name="Vendetta" chance="80">Dvaered Vendetta</pilot>
<pilot name="Ancestor" chance="60">Dvaered Ancestor</pilot>
<pilot name="Ancestor" chance="40">Dvaered Ancestor</pilot>
<pilot name="Goddard" chance="20">Dvaered Goddard</pilot>
</pilots>
</fleet>
<fleet name="Dvaered Med Force">
<ai>dvaered</ai>
<faction>Dvaered</faction>
<pilots>
<pilot name="Vendetta" chance="100">Dvaered Vendetta</pilot>
<pilot name="Vendetta" chance="80">Dvaered Vendetta</pilot>
<pilot name="Vendetta" chance="60">Dvaered Vendetta</pilot>
<pilot name="Vendetta" chance="40">Dvaered Vendetta</pilot>
<pilot name="Ancestor" chance="60">Dvaered Ancestor</pilot>
<pilot name="Ancestor" chance="40">Dvaered Ancestor</pilot>
<pilot name="Ancestor" chance="20">Dvaered Ancestor</pilot>
<pilot name="Goddard" chance="60">Dvaered Goddard</pilot>
</pilots>
</fleet>
<fleet name="Empire Lancelot">
<ai>empire</ai>
<faction>Empire</faction>
<pilots>
<pilot name="Lancelot" chance="100">Empire Lancelot</pilot>
</pilots>
</fleet>
<fleet name="Empire Sml Defense">
<ai>empire</ai>
<faction>Empire</faction>
<pilots>
<pilot name="Lancelot" chance="100">Empire Lancelot</pilot>
<pilot name="Lancelot" chance="80">Empire Lancelot</pilot>
<pilot name="Admonisher" chance="60">Empire Admonisher</pilot>
<pilot name="Pacifier" chance="50">Empire Pacifier</pilot>
<pilot name="Hawking" chance="30">Empire Hawking</pilot>
</pilots>
</fleet>
<fleet name="Empire Lge Attack">
<ai>empire</ai>
<faction>Empire</faction>
<pilots>
<pilot name="Lancelot" chance="100">Empire Lancelot</pilot>
<pilot name="Lancelot" chance="100">Empire Lancelot</pilot>
<pilot name="Lancelot" chance="100">Empire Lancelot</pilot>
<pilot name="Lancelot" chance="80">Empire Lancelot</pilot>
<pilot name="Lancelot" chance="80">Empire Lancelot</pilot>
<pilot name="Lancelot" chance="60">Empire Lancelot</pilot>
<pilot name="Lancelot" chance="40">Empire Lancelot</pilot>
<pilot name="Admonisher" chance="100">Empire Admonisher</pilot>
<pilot name="Admonisher" chance="80">Empire Admonisher</pilot>
<pilot name="Admonisher" chance="60">Empire Admonisher</pilot>
<pilot name="Pacifier" chance="50">Empire Pacifier</pilot>
<pilot name="Hawking" chance="100">Empire Hawking</pilot>
<pilot name="Hawking" chance="60">Empire Hawking</pilot>
</pilots>
</fleet>
<fleet name="Empire Med Attack">
<ai>empire</ai>
<faction>Empire</faction>
<pilots>
<pilot name="Lancelot" chance="100">Empire Lancelot</pilot>
<pilot name="Lancelot" chance="100">Empire Lancelot</pilot>
<pilot name="Lancelot" chance="80">Empire Lancelot</pilot>
<pilot name="Lancelot" chance="80">Empire Lancelot</pilot>
<pilot name="Admonisher" chance="80">Empire Admonisher</pilot>
<pilot name="Admonisher" chance="60">Empire Admonisher</pilot>
<pilot name="Pacifier" chance="20">Empire Pacifier</pilot>
<pilot name="Hawking" chance="60">Empire Hawking</pilot>
</pilots>
</fleet>
<fleet name="Empire Sml Attack">
<ai>empire</ai>
<faction>Empire</faction>
<pilots>
<pilot name="Lancelot" chance="100">Empire Lancelot</pilot>
<pilot name="Lancelot" chance="80">Empire Lancelot</pilot>
<pilot name="Admonisher" chance="60">Empire Admonisher</pilot>
<pilot name="Pacifier" chance="50">Empire Pacifier</pilot>
</pilots>
</fleet>
<fleet name="Empire Pacifier">
<ai>empire</ai>
<faction>Empire</faction>
<pilots>
<pilot name="Pacifier" chance="100">Empire Pacifier</pilot>
</pilots>
</fleet>
<fleet name="Empire Admonisher">
<ai>empire</ai>
<faction>Empire</faction>
<pilots>
<pilot name="Admonisher" chance="100">Empire Admonisher</pilot>
</pilots>
</fleet>
<fleet name="Trinity">
<ai>collective</ai>
<faction>Collective</faction>
<pilots>
<pilot name="ESS Trinity" chance="100">Empire Hawking</pilot>
</pilots>
</fleet>
<fleet name="Starfire">
<ai>collective</ai>
<faction>Collective</faction>
<pilots>
<pilot name="Starfire" chance="100">Goddard</pilot>
</pilots>
</fleet>
</Fleets>

View File

@ -1,129 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<FleetGroups>
<fleetgroup name="Goddard Prescence">
<fleet chance="50">Goddard Goddard</fleet>
<fleet chance="50">Goddard Goddard</fleet>
</fleetgroup>
<fleetgroup name="Trader Light Prescence">
<fleet chance="70">Trader Llama</fleet>
<fleet chance="50">Trader Llama</fleet>
<fleet chance="50">Trader Koala</fleet>
<fleet chance="30">Trader Koala</fleet>
<fleet chance="30">Trader Mule</fleet>
</fleetgroup>
<fleetgroup name="Trader Medium Prescence">
<fleet chance="70">Trader Llama</fleet>
<fleet chance="60">Trader Llama</fleet>
<fleet chance="60">Trader Koala</fleet>
<fleet chance="50">Trader Koala</fleet>
<fleet chance="50">Trader Mule</fleet>
<fleet chance="40">Trader Mule</fleet>
<fleet chance="30">Sml Trader Convoy</fleet>
</fleetgroup>
<fleetgroup name="Trader Heavy Prescence">
<fleet chance="80">Trader Llama</fleet>
<fleet chance="70">Trader Llama</fleet>
<fleet chance="60">Trader Llama</fleet>
<fleet chance="70">Trader Koala</fleet>
<fleet chance="60">Trader Koala</fleet>
<fleet chance="50">Trader Koala</fleet>
<fleet chance="60">Trader Mule</fleet>
<fleet chance="50">Trader Mule</fleet>
<fleet chance="40">Trader Mule</fleet>
<fleet chance="40">Sml Trader Convoy</fleet>
<fleet chance="30">Sml Trader Convoy</fleet>
</fleetgroup>
<fleetgroup name="Pirate Light Prescence">
<fleet chance="50">Pirate Hyena</fleet>
<fleet chance="40">Pirate Vendetta</fleet>
<fleet chance="30">Pirate Ancestor</fleet>
<fleet chance="20">Pirate Hyena Pack</fleet>
<fleet chance="5" >Pirate Admonisher</fleet>
</fleetgroup>
<fleetgroup name="Pirate Medium Prescence">
<fleet chance="50">Pirate Hyena</fleet>
<fleet chance="60">Pirate Vendetta</fleet>
<fleet chance="50">Pirate Ancestor</fleet>
<fleet chance="30">Pirate Hyena Pack</fleet>
<fleet chance="20">Pirate Admonisher</fleet>
</fleetgroup>
<fleetgroup name="Pirate Heavy Prescence">
<fleet chance="80">Pirate Hyena</fleet>
<fleet chance="50">Pirate Hyena</fleet>
<fleet chance="80">Pirate Vendetta</fleet>
<fleet chance="60">Pirate Vendetta</fleet>
<fleet chance="70">Pirate Ancestor</fleet>
<fleet chance="50">Pirate Ancestor</fleet>
<fleet chance="50">Pirate Hyena Pack</fleet>
<fleet chance="40">Pirate Admonisher</fleet>
<fleet chance="20">Pirate Kestrel</fleet>
</fleetgroup>
<fleetgroup name="Empire Patrol Prescence">
<fleet chance="70">Empire Pacifier</fleet>
<fleet chance="20">Empire Pacifier</fleet>
</fleetgroup>
<fleetgroup name="Empire Light Prescence">
<fleet chance="50">Empire Lancelot</fleet>
<fleet chance="30">Empire Admonisher</fleet>
<fleet chance="10">Empire Pacifier</fleet>
</fleetgroup>
<fleetgroup name="Empire Medium Prescence">
<fleet chance="60">Empire Lancelot</fleet>
<fleet chance="30">Empire Lancelot</fleet>
<fleet chance="45">Empire Admonisher</fleet>
<fleet chance="25">Empire Pacifier</fleet>
</fleetgroup>
<fleetgroup name="Empire Heavy Prescence">
<fleet chance="80">Empire Lancelot</fleet>
<fleet chance="70">Empire Lancelot</fleet>
<fleet chance="60">Empire Admonisher</fleet>
<fleet chance="50">Empire Admonisher</fleet>
<fleet chance="40">Empire Pacifier</fleet>
<fleet chance="30">Empire Pacifier</fleet>
<fleet chance="50">Empire Sml Defense</fleet>
</fleetgroup>
<fleetgroup name="Collective Light Prescence">
<fleet chance="80">Collective Drone</fleet>
<fleet chance="40">Collective Drone</fleet>
<fleet chance="20">Collective Sml Swarm</fleet>
</fleetgroup>
<fleetgroup name="Collective Medium Prescence">
<fleet chance="80">Collective Drone</fleet>
<fleet chance="60">Collective Drone</fleet>
<fleet chance="40">Collective Drone</fleet>
<fleet chance="40">Collective Sml Swarm</fleet>
<fleet chance="20">Collective Sml Swarm</fleet>
</fleetgroup>
<fleetgroup name="Dvaered Light Prescence">
<fleet chance="70">Dvaered Vendetta</fleet>
<fleet chance="20">Dvaered Vendetta</fleet>
<fleet chance="40">Dvaered Ancestor</fleet>
</fleetgroup>
<fleetgroup name="Dvaered Medium Prescence">
<fleet chance="70">Dvaered Vendetta</fleet>
<fleet chance="50">Dvaered Vendetta</fleet>
<fleet chance="60">Dvaered Ancestor</fleet>
<fleet chance="40">Dvaered Ancestor</fleet>
<fleet chance="5" >Dvaered Goddard</fleet>
</fleetgroup>
<fleetgroup name="Dvaered Heavy Prescence">
<fleet chance="80">Dvaered Vendetta</fleet>
<fleet chance="60">Dvaered Vendetta</fleet>
<fleet chance="40">Dvaered Vendetta</fleet>
<fleet chance="60">Dvaered Ancestor</fleet>
<fleet chance="40">Dvaered Ancestor</fleet>
<fleet chance="15">Dvaered Goddard</fleet>
<fleet chance="30">Dvaered Sml Force</fleet>
</fleetgroup>
<fleetgroup name="FLF Light Guerrilla">
<fleet chance="20">FLF Vendetta</fleet>
<fleet chance="10">FLF Pacifier</fleet>
<fleet chance="5" >FLF Sml Force</fleet>
</fleetgroup>
<fleetgroup name="FLF Medium Guerrilla">
<fleet chance="30">FLF Vendetta</fleet>
<fleet chance="20">FLF Pacifier</fleet>
<fleet chance="15">FLF Sml Force</fleet>
<fleet chance="5" >FLF Med Force</fleet>
</fleetgroup>
</FleetGroups>

Binary file not shown.

View File

@ -1,22 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<GUIs>
<gui gfx="minimal" name="minimal">
<offset x="0" y="0" />
<radar type="circle" w="82" x="83" y="90" />
<health>
<shield alpha = "0.70" w="103" h="7" x="68" y="185" />
<armour alpha = "0.70" w="103" h="7" x="68" y="199" />
<energy alpha = "0.70" w="0" h="0" x="97" y="177">minimal_energy</energy>
<fuel alpha = "0.70" w="0" h="0" x="95" y="78">minimal_fuel</fuel>
</health>
<nav w="110" h="40" x="60" y="220" />
<weapon w="110" h="32" x="60" y="274" />
<target>
<gfx x="55" y="343" />
<name x="65" y="330" />
<faction x="65" y="343" />
<health x="65" y="430" />
</target>
<misc w="110" h="134" x="60" y="460" />
</gui>
</GUIs>

View File

@ -1,23 +0,0 @@
Humans had always looked up at the skies at night, dreaming of being one with the stars. Yet they could never imagine what their dreams got them in.
They ended getting into space and the revolution that this provoked. With the advent of terraforming technologies colonists began flocking to the stars en masse. Many worlds were colonized and humanity expanded. It was still slow traveling and time was starting to erode humanity's unity.
Then came the great advance in travel. Light speeds were finally broken. This technology spread quickly and reignited the colonization spree. Humans had conquered a great part of the galaxy. Things were hectic though, with mankind fragmented in many factions. A federation was created to attempt to affront this.
Yet this only incremented tension. Man was too fractured to be weaved together with diplomacy. War broke out, timidly at first, but quickly gathering momentum. Thus began the Great Faction War.
Being the first space-era all out global war, the Faction War brought much pain and misery to humanity. Many planets were annihilated, trillions killed, all in the name each faction. Mankind started becoming tribal and isolated, separated by vast space filled with the debris of battleships and smoldering planets. Then came hope at the hand of Emperor Daedris.
A newly forged Empire began sweeping the factions, dominating with clear military superiority. Some factions resisted at first, but most saw the only way was to submit to the iron fist of the Emperor. Eventually there was only the Empire. Those who helped in the birth of this Empire were given the status of Great House, and the golden age began.
Trade routes were created, patrols were installed and piracy was non-existent. Supplies were being moved all around the Empire and population was booming. Technology advanced quickly and permitted the terraforming of many new planets. All was working well.
Eventually corruption started to appear, slowly at first, but ended up avalanching. The Great Houses started bickering between each other. Privateers and Pirates started appearing, while the Emperor started to get drowned in bureaucracy. Terrorism also began to appear by sectors of the Empire not content with their status.
Then suddenly, silence. No one knows exactly what happened, but a gigantic explosion shook the foundations of the universe. The magnitude of the explosion was so enormous that it quickly annihilated many planets leaving a gigantic void in the center of the Empire. Humanity's birthplace was near the epicenter, and the entire area was covered in a gigantic nebulae. It is referred to as The Incident and marks the end of the golden age.
You find yourself in a universe with a decaying Empire, full of piracy and corruption shaken to it's very bones by the Incident. However where there is chaos, there is also opportunity.
Welcome to the universe of Lephisto...

View File

@ -1,170 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Missions>
<mission name="Tutorial">
<lua>tutorial</lua>
<flags>
<unique>1</unique>
</flags>
<avail>
<location>None</location>
</avail>
</mission>
<mission name="Cargo">
<lua>neutral/cargo</lua>
<avail>
<chance>960</chance>
<location>Computer</location>
<faction>Independent</faction>
<faction>Empire</faction>
<faction>Soromid</faction>
<faction>Dvaered</faction>
<faction>Frontier</faction>
<faction>Goddard</faction>
</avail>
</mission>
<mission name="Empire Recruitment">
<lua>empire/emp_cargo00</lua>
<flags>
<unique>1</unique>
</flags>
<avail>
<chance>80</chance>
<location>Bar</location>
<faction>Empire</faction>
</avail>
</mission>
<mission name="Empire Shipping">
<lua>empire/es_cargo</lua>
<avail>
<cond>player.getFaction("Empire") &gt;= 0 and var.peek("es_cargo") == true</cond>
<chance>350</chance>
<location>Computer</location>
<faction>Empire</faction>
<faction>Soromid</faction>
</avail>
</mission>
<mission name="Empire Shipping 1">
<lua>empire/shipping/es00.lua</lua>
<avail>
<cond>player.getFaction("Empire") &gt;= 0 and var.peek("es_misn") &gt;= 3</cond>
<chance>30</chance>
<location>Bar</location>
<faction>Empire</faction>
</avail>
</mission>
<mission name="Collective Scouting">
<lua>empire/collective/ec00</lua>
<flags>
<unique>1</unique>
</flags>
<avail>
<cond>var.peek("es_cargo") == true and space.getSystem("NGC-7291"):jumpDist() &lt; 5 and player.getFaction("Empire") &gt; 5 and player.getRating() &gt; 5 and var.peek("collective_fail") ~= true</cond>
<chance>80</chance>
<location>Bar</location>
<faction>Empire</faction>
</avail>
</mission>
<mission name="Collective Espionage 1">
<lua>empire/collective/ec01</lua>
<flags>
<unique>1</unique>
</flags>
<avail>
<cond>player.getFaction("Empire") &gt; 5 and var.peek("collective_fail") ~= true</cond>
<done>Collective Scouting</done>
<chance>100</chance>
<location>Bar</location>
<planet>Omega Station</planet>
</avail>
</mission>
<mission name="Collective Espionage 2">
<lua>empire/collective/ec02</lua>
<flags>
<unique>1</unique>
</flags>
<avail>
<cond>player.getFaction("Empire") &gt; 5 and var.peek("collective_fail") ~= true</cond>
<done>Collective Espionage 1</done>
<chance>100</chance>
<location>Bar</location>
<planet>Omega Station</planet>
</avail>
</mission>
<mission name="Collective Espionage 3">
<lua>empire/collective/ec03</lua>
<flags>
<unique>1</unique>
</flags>
<avail>
<cond>player.getFaction("Empire") &gt; 5 and var.peek("collective_fail") ~= true</cond>
<done>Collective Espionage 2</done>
<chance>100</chance>
<location>Bar</location>
<planet>Omega Station</planet>
</avail>
</mission>
<mission name="Collective Distraction">
<lua>empire/collective/ec04</lua>
<flags>
<unique>1</unique>
</flags>
<avail>
<cond>player.getFaction("Empire") &gt; 5 and var.peek("emp_commando") ~= nil and time.get() &gt; var.peek("emp_commando")</cond>
<done>Collective Espionage 3</done>
<chance>100</chance>
<location>Land</location>
<planet>Omega Station</planet>
</avail>
</mission>
<mission name="Operation Black Trinity">
<lua>empire/collective/ec05</lua>
<flags>
<unique>1</unique>
</flags>
<avail>
<cond>player.getFaction("Empire") &gt; 5 and var.peek("collective_fail") ~= true</cond>
<done>Collective Distraction</done>
<chance>100</chance>
<location>Bar</location>
<planet>Omega Station</planet>
</avail>
</mission>
<mission name="Operation Cold Metal">
<lua>empire/collective/ec06</lua>
<flags>
<unique>1</unique>
</flags>
<avail>
<cond>player.getFaction("Empire") &gt; 5 and var.peek("collective_fail") ~= true</cond>
<done>Operation Black Trinity</done>
<chance>100</chance>
<location>Bar</location>
<planet>Omega Station</planet>
</avail>
</mission>
<mission name="Nebulae Satellite">
<lua>neutral/nebu_satellite</lua>
<flags>
<unique>1</unique>
</flags>
<avail>
<chance>15</chance>
<location>Bar</location>
<faction>Independent</faction>
<faction>Empire</faction>
<faction>Soromid</faction>
<faction>Dvaered</faction>
<faction>Frontier</faction>
<faction>Goddard</faction>
</avail>
</mission>
<mission name="Dvaered Patrol">
<lua>dvaered/dv_patrol</lua>
<avail>
<chance>366</chance>
<cond>player.getFaction("Dvaered") &gt; 5 and player.getRating() &gt; 100</cond>
<location>Computer</location>
<faction>Dvaered</faction>
</avail>
</mission>
</Missions>

View File

@ -1,176 +0,0 @@
--[[
-- Handles random Dvaered Patrol missions.
--
-- Stage 1: Travelling.
-- Stage 2: Must clear enemies.
-- Stage 3: Continue travelling.
--]]
lang = lephisto.lang()
if lang == "es" then
-- Not translated atm.
else -- Default English.
misn_desc = {}
misn_desc[1] = "Patrol %d systems for hostiles: "
misn_desc[2] = "Travel to the %s system and check for hostiles."
misn_desc[3] = "Return to %s in the %s system for payment."
misn_reward = "%d credits"
title = {}
title[1] = "DV: Routine %d sector patrol"
title[2] = "DV: Patrol %d sectors"
title[3] = "DV: Scan of %d sectors"
accpet_title = "Mission Accepted"
msg_title = {}
msg_msg = {}
msg_title[1] = "Mission Success"
msg_msg[1] = "You are greeted by a Dvaered official and recieve your payment of %d credits for your contribution in keeping Dvaered systems clean."
msg_msg[2] = "DV: Engage hostiles."
msg_msg[3] = "MISSION FAILED: Fled from the heat of battle."
msg_msg[5] = "DV: Patrol finished, return to base."
end
-- Create the mission.
function create()
-- Get systems to patrol.
num_systems = rnd.int(2, 4)
systems = {}
s = space.getSystem():adjacentSystems()
systems[1] = s[rnd.int(1, #s)]
for i = 2, num_systems do
s = systems[i-1]:adjacentSystems()
systems[i] = s[rnd.int(1, #s)]
end
system1, system2, system3, system4 = unpack(systems)
base, base_sys = space_getPlanet()
misn_setMarker(systems[1])
-- Create the description.
desc = string.format(misn_desc[1], num_systems) .. systems[1]:name()
for i = 2, num_systems-1 do
desc = desc ..", " .. systems[i]:name()
end
desc = desc .. " and " .. systems[num_systems]:name() .. "."
-- Set mission stage.
misn_stage = 1
visited = 0
-- Calculate reward.
reward = 10000
for i = 1, num_systems do
reward = reward + 15000 + 5000 * rnd.twosigma()
end
-- Set some details.
misn.setTitle(string.format(title[rnd.int(1, 3)], num_systems))
misn.setDesc(desc)
misn_setReward(string.format(misn_reward, reward))
end
-- Mission is accepted.
function accept()
if misn.accept() then
-- Update the description.
misn.setDesc(string.format(misn_desc[2], systems[1]:name()))
-- Set the hooks.
hook.land("land")
hook.enter("jump")
end
end
-- Jump hook.
function jump()
if misn_stage == 1 then
sys = space.getSystem()
-- Hack in case it wasn't saved.
if systems == nil then
systems = { system1, system2, system3, system4 }
end
-- Check to see if system is next.
if sys == systems[visited+1] then
visited = visited + 1
-- Get the next goal.
setNextGoal()
end
elseif misn_stage == 3 then
player.msg(msg_msg[3])
misn.finish(false)
end
end
-- Set the next goal.
function setNextGoal()
-- Check to see if there are enemies.
f = faction.get("Dvaered")
enemies = pilot.get(f:enemies())
hostiles = #enemies
if hostiles > 0 then
misn_stage = 3
-- Set hooks.
for k,v in ipairs(enemies) do
v:setHostile() -- Should be hostile to player.
hook.pilot(v, "disable", "death")
hook.pilot(v, "jump", "death")
end
-- Update description and send messages.
player.msg(msg_msg[2])
misn.setDesc(string.format(misn_desc[4], sys:name()))
-- No hostiles, continue route.
else
-- Finished visiting systems.
if visited >= #systems then
misn_stage = 2
player.msg(msg_msg[5])
misn.setDesc(string.format(misn_desc[3], base:name(), base_sys:name()))
misn.setMarker(base_sys)
-- Need to visit more systems.
else
player.msg(msg_msg[4])
misn.setDesc(string.format(misn_desc[2], systems[visited+1]:name()))
misn.setMarker(systems[visited+1])
end
end
end
-- Pilot death hook.
function death()
hostiles = hostiles - 1
if hostiles <= 0 then
misn_stage = 1
setNextGoal()
end
end
-- land hook.
function land()
landed = space.getPlanet()
if misn_stage == 2 and landed == base then
player.pay(reward)
tk.msg(msg_title[1], string.format(msg_msg[1], reward))
-- Increase dv patrol mission counter.
n = var.peek("dv_patrol")
if n ~= nil then
var.push("dv_patrol", n+1)
else
var.push("dv_patrol", 1)
end
-- Modify the faction standing.
if player.getFaction("Dvaered") < 70 then
player.modFaction("Dvaered", rnd.rnd(1, num_systems/2));
end
misn.finish(true)
end
end

View File

@ -1,94 +0,0 @@
--[[
-- Start the collective mini campaign.
--
-- You must inspect a stray drone.
--]]
lang = lephisto.lang()
if lang == "es" then
-- Not translated atm.
else -- Default english.
misn_title = "Collective Scout"
misn_reward = "None"
misn_desc = {}
misn_desc[1] = "Find a scout last seen in the %s system."
misn_desc[2] = "Travel back to %s in %s."
title = {}
title[1] = "Empire Officer"
title[2] = "Briefing"
title[3] = "Mission Accomplished"
text = {}
text[1] = [[As you enter the bar you notice some one signal to you from the counter. You notice he's wearing an Empire insignia on his uniform.
"Hello %s, we have a reconnaissance you might be interested. You up for the challenge?"]]
text[2] = [["I don't think we've met. I'm Sargent Dimitri. If all goes well you'll be reporting to me for the next assignments."
"This week Collective activity has increased heavily around NGC-7291. We've been trying to contain them, but reports detect that a scout broke through. The scout was last detected near %s. We expect it to not have gone far. You are to locate the scout and report back to %s in the %s system. It seems like the Collective is planning something and we want to follow their game a bit more"
"It is of vital important that you do not engage the drone. Report back as soon as you locate it."]]
text[3] = [[After landing you head to the Empire military headquarters and find Sgt. Dimitri there.
"Well it seems like the drone has some strange fixation with %s. We aren't quite sure what to make of it, but intelligence is on it. Report back at the bar in bit and we'll see what we can do about the Collective"]]
msg_killdrone = "Mission Failed: You weren't supposed to kill the drone!"
end
function create()
-- Intro text.
if tk.yesno(title[1], string.format(text[1], player.name()))
then
misn.accept()
misn_stage = 0
misn_nearby = space.getSystem("Coriolis")
misn_target = space.getSystem("Dune")
misn_base,misn_base_sys = space.getPlanet("Omega Station")
misn_base_sys = "NGC-7291"
misn.setMarker(misn_nearby) -- Not exact target.
-- Mission details.
misn.setTitle(misn_title)
misn.setReward(misn_reward)
misn.setDesc(string.format(misn_desc[1],misn_nearby:name()))
-- Flavour text and mini-briefing.
tk.msg(title[2], string.format(text[2], misn_nearby:name(),
misn_base:name(), misn_base_sys:name()))
hook.enter("enter")
hook.land("land")
end
end
function enter()
sys = space.getSystem()
-- Additional fleets.
if sys:name() == "NGC-7291" then -- Increase action for realism.
pilot.add("Empire Sml Defense")
pilot.add("Collective Sml Swarm")
elseif sys == misn_target then
p = pilot.add("Collective Drone", "scout")
for k,v in pairs(p) do
hook.pilot(v, "death", "kill")
end
end
-- Update mission.
if misn_stage == 0 and sys == misn_target then
misn.setDesc(string.format(misn_desc[2], misn_base:name() ,misn_base_sys:name()))
misn_stage = 1
misn.setMarker(misn_base_sys) -- Now we mark return to base.
end
end
function land()
planet = space.getPlanet()
if misn_stage == 1 and planet == misn_base then
tk.msg(title[3], string.format(text[3],misn_target:name()))
player.modFaction("Empire", 5)
misn.finish(true)
end
end
function kill()
player.msg(msg_killdrone)
misn.finish(false)
var.push("collective_fail", true)
end

View File

@ -1,75 +0,0 @@
--[[
-- Second mission in the mini collective compaign.
--
-- You must inspect a system for wireless communications.
--]]
lang = lephisto.lang()
if lang == "es" then
-- Not translated atm.
else -- Default language.
misn_title = "Collective Espionage"
misn_reward = "None"
misn_desc = {}
misn_desc[1] = "Scan the Collective systems for wireless communications."
misn_desc[2] = "Travel back to %s in %s."
title = {}
title[1] = "Sargent Dimitri"
title[2] = "Collective Espionage"
title[3] = "Mission Accomplished"
text = {}
text[1] = [[You notice Sargent Dimitri at the bar, he calls you over.
"We managed to capture the drone after you located it. It didn't seem to be in good health. Our scientists are studying it as we speak, but we've found something strange in it. Some sort of weird wireless module. We'd like you to go run through the collective systems to see if you can pick up any strange wireless communications. Just do a quick run through, be careful of the Collective though. You interested in doing the run? It'll be dangerous."]]
text[2] = [["Just run through some systems while keeping your communications system on logging. We'll parse the results when you get back. Good luck."]]
text[3] = [[After landing, Sargent Dimitri greets you on the pad.
"I suppose all went well? Those drones can really give a beating. We'll have the researchers start looking at your logs right away. Meet me in the bar again in a while."]]
end
function create()
-- Intro text.
if tk.yesno(title[1], text[1]) then
misn.accept()
misn_stage = 0
systems_visited = 0 -- Number of Collective systems visited.
misn_base,misn_base_sys = space.getPlanet("Omega Station")
-- Mission details.
misn.setTitle(misn_title)
misn.setReward(misn_reward)
misn.setDesc(misn_desc[1])
tk.msg(title[2], text[2])
hook.enter("enter")
end
end
function enter()
local sys = space.getSystem()
local factions = sys:faction()
-- Increment system visited count.
if misn_stage == 0 and factions["Collective"] then
systems_visited = systems_visited + 1
-- Visited enough systems.
if misn_stage == 0 and systems_visited >= 2 then
misn.setDesc(string.format(misn_desc[2],
misn_base:name(), misn_base_sys:name()))
misn_stage = 1
misn.setMarker(misn_base_sys) -- Now we mark return to base.
hook.land("land")
end
end
end
function land()
local planet = space.getPlanet()
if misn_stage == 1 and planet == misn_base then
tk.msg(title[3], text[3])
player.modFaction("Empire", 5);
misn.finish(true)
end
end

View File

@ -1,79 +0,0 @@
--[[
-- Third mission in the collective campaign.
--
-- You must land on an ex-empire planet in collective territory and return.
--]]
lang = lephisto.lang()
if lang == "es" then
-- Not translated yet.
else -- Default English.
misn_title = "Collective Espionage"
misn_reward = "None"
misn_desc = {}
misn_desc[1] = "Land on %s in the %s system to monitor Collective communications."
misn_desc[2] = "Travel back to %s in %s."
title = {}
title[1] = "Collective Espionage"
title[2] = "Mission Accomplished"
text = {}
text[1] = [[You notice Sargent Dimitry at one of the booths. You head over to see what the results are.
"Hello again there %s. Bad news on your latest run, you got nothing other than the usual robotic chatter. We'll have to send you out again, this time we'll follow a different approach. Interested in giving it another shot?]]
text[2] = [["On your last run you where monitoring while out in the open, while you do get better signals, upon noticing your presence. This mission will consist of hiding and moitoring from a safer spot, Hopefully catching them more relaxed."
"When the Collective struck, they quickly took many systems, one of the bigger hits was %s, an important gas gient rich in methane. They destroyed the gas refineries and slaughtered the humans, there was nothing we could do. the turbulance and dense atmosphere should be able to hide your ship."]]
text[3] = [["The plan is to have you infiltrate Collective space alone, to no arouse too much suspicion. Once inside you should head to %s system. Stay low and monitor all frequencies in the system. If anything is suspicious, we'll surely catch it then."
"Good luck, I'll be waiting for you on your return."]]
text[4] = [[You quickly land on %s and hide in the deep dense methane atmosphere it has. Your monitoring gear flickers into action, hopefully catching something of use. With some luck there won't be too many collective ships when you take off.]]
text[5] = [[As your ship touches ground you see Sargent Dimitry come out to greet you.
"How was the weather", he mentions jokingly. "Glad to see you're in one peice. We'll get right on analyzing the data acquired. These robots have to be up to something. Meet me in the bar later, meanwhile give yourself a treat, you earned it. We've made a 100k scred deposit in your bank account, enjoyu it"]]
end
function create()
-- Intro text.
if tk.yesno(title[1], string.format(text[1], player.name())) then
misn.accept()
misn_stage = 0
systems_visited = 0 -- Number of Collective systems visited.
misn_base, misn_base_sys = space.getPlanet("Omega Station")
misn_target, misn_target_sys = space.getPlanet("Eiroik")
misn.setMarker(misn_target_sys)
-- Mission details.
misn.setTitle(misn_title)
misn.setReward(misn_reward)
misn.setDesc(string.format(misn_desc[1], misn_target:name(), misn_target_sys:name()))
tk.msg(title[1], string.format(text[2], misn_target:name()))
tk.msg(title[1], string.format(text[3]. misn_target:name(), misn_target_sys:name()))
hook.enter("land")
end
end
function land()
planet = space.getPlanet()
-- First mission part is landing on the planet.
if misn_stage == 0 and planet == misn_target then
-- Sinister music landing.
music.load("landing_sinister")
music.play()
-- Some text.
tk.msg(title[1], string.format(text[4], misn_target:name()))
misn_stage = 1
misn.setDesc(string.format(misn_desc[1], misn_base:name(), misn_base_sys:name()))
misn.setMarker(misn_base_sys)
-- Return bit.
elseif misn_stage == 1 and planet == misn_base then
tk.msg(title[2], text[5])
-- Rewards.
player.modFaction("Empire", 5)
player.pay(10000)
misn.finish(true)
end
end

View File

@ -1,92 +0,0 @@
-- [[
-- Collective Espionage III
--
-- Fourth mission in the collective mini campaign.
--
-- You must distract the collective forces by breaching into their systems
-- while a commando lands to monitor wireless.
-- ]]
lang = lephisto.lang()
if lang == "es" then
-- Not translated atm.
else -- Default English.
misn_title = "Collective Espionage"
misn_reward = "None"
misn_desc = {}
misn_desc[1] = "Go to draw the Collective's attention in the %s system."
misn_desc[2] = "Travel back to %s in %s."
title = {}
title[1] = "Collective Espionage"
title[2] = "Mission Accomplished"
text = {}
text[1] = [[You find Sergeant Dimitri at the bar as usual. He looks somewhat excited as you approach.
"It looks like you got something. It's not very clear because of %s's atmosphere creating a lot of noise, but it does seem to be similar to Empire transmissions. We've got another plan to try to get a cleaner signal. It'll be uglier than the last one. You in?"]]
text[2] = [["Here's the plan: We want to drop a commando team on %s to set up more sophisticated surveillance. We've already got a team assembled. Your job would be to provide a distraction."
"The idea would be to have you fly deep into Collective territory and start causing disturbances. This is no suicidal mission so you'll have to fly back when things start getting ugly. Meanwhile we'll send a fast convoy with the commandos to %s who will start monitoring."]]
text[3] = [["If all goes well, the commandos will stay 10STU before returning here with the results. Then we'll have a definitive answer on the communication issues. We aren't anticipating problems on the return, but we'll have some ships ready just in case they get chased."
"Good luck and be careful out there", he adds before saluting you off onto your mission.]]
text[4] = [[Your ship touches ground and once again you see the face of sergeant Dimitri.
"How was the trip? I trust you didn't have too many issues evading the Collective. We won't hear from the commandos until 10STU from now when they get back, but I believe everything went well."
"Stay alert. We'll probably need your assistance when they get back. Take the free time as vacation. I heard the weather on Caladan is pretty nice this time of year, maybe you should visit them. We'll keep in touch."]]
end
function create()
commando_planet = "Eiroik"
-- Intro text.
if tk.yesno(title[1, string.format(text[1], commando_planet)) then
misn_accept()
misn_stage = 0
misn_base, misn_base_sys = space.getPlanet("Omega Station")
misn_target_sys = space.getSystem("C-28")
misn.setMarker(misn_target_sys)
-- Mission details.
misn.setTitle(misn_title)
misn.setReward(misn_reward)
misn.setDesc(string.format(misn_desc[1], misn_target_sys:name()))
tk.msg(title[1], string.format(text[2], commando_planet, commando_planet))
tk.msg(title[1], text[3])
hook.enter("jump")
end
end
-- Handles jumping to target system.
function jump()
local sys = space.getSystem()
local factions = sys:faction()
-- First mission part is landing on the planet.
if misn_stage == 0 and sys == misn_target_sys then
-- Maybe introducing a delay here would be interesting.
misn_stage = 1
misn_setDesc(string.format(misn_desc[2], misn_base:name(), misn_base_sys:name()))
misn_setMarker(misn_base_sys)
hook.land("land")
elseif misn_stage == 1 and (sys:name() == "NGC-7132" or factions["Collective"]) then
pilot.add("Collective Sml Swarm")
end
end
-- Handle arrival back to base.
function land()
planet = space.getPlanet()
if misn_stage == 1 and planet == misn_base then
tk.msg(title[2], text[4])
-- Store time commando theoretically landed.
var.push("emp_commando", time_get() + time.units(10))
-- Rewards.
player.modFaction("Empire", 5)
misn.finish(true)
end
end

View File

@ -1,98 +0,0 @@
--[[
-- Collective Distraction.
--
-- Fifth mission in the collective mini campaign.
--
-- You must go rescue a team of commandos after being attacked by collective
-- forces on a surveillence mission.
--]]
lang = lephisto.lang()
if lang == "es" then
-- Not translated atm.
else -- Default english.
misn_title = "Collective Distraction"
misn_reward = "None"
misn_desc = {}
misn_desc[1] = "Check for survivors on %s in %s."
misn_desc[2] = "Travel back to %s in %s."
title = {}
title[1] = "Collective Espionage"
title[2] = "Eiroik"
title[3] = "Mission Accomplished"
text = {}
text[1] = [[As soon as you exit the landing pad you see Sergeant Dimitri waiting for you. He seems a bit more nervouse than usual.
"We haven't heard from the commando team, we have to assume the worst. It seems like Collective presence has also been incremented around %s. We need you to go check for survivors. Would you be willing to embark on another dangerous mission?"]]
text[2] = [["We'll send extra forces to %s to try to weaken the blockade. You'll have to fly through and land on %s and see if there are any survivors. The increased drone patrols will pose an issue, be very careful, this is going to be no walk in the park."]]
text[3] = [[The atmosphere once again starts giving your shields a workout as you land. You spend a while flying low until you see sensors pick up a reading of possible life forms. The silhouette of the transport ships is barely visible. It seems like they were detected and massacred. You try to see if you can salvage the readings from their equipment, but it seems like it's completely toasted.
You spend a while searching until you find a datapad on one of the corpses, ignoring the stench of burnt flesh, you grab it, you've got one right?]]
text[4] = [[Sergeant Dimitri's face cannot hide his sadness as he sees you approachwith no commando members.
"No survivors eh? I had that gut feeling. At least you were able to salvage something? Good, at least it'll make these deaths not be completely futile. Meet me in the bar in a while. We're going to try to process this datapad. It'll hopefully have the final results."]]
end
function create()
misn_target, misn_target_sys = sapce.getPlanet("Eiroik")
-- Intro text.
if tk.yesno(title[1], string.format(text[1], misn_target:name())) then
misn.accept()
misn_stage = 0
blockade_sys = space.getSystem("NGC-7132")
misn_base, misn_base_sys = space.getPlanet("Omega Station")
misn.setMarker(misn_target_sys)
-- Mission details.
misn.setTitle(misn_title)
misn.setReward(misn_reward)
misn.setDesc(string.format(misn_desc[1], misn_target:name(), misn_target_sys:name()))
tk.msg(title[1], string.format(text[2], blockade_sys:name(), misn_target:name()))
hook.enter("jump")
hook.land("land")
end
end
-- Handle jumping to target system.
function jump()
local sys = space.getSystem()
local factions = sys:faction()
-- Create some havoc.
if factions["Collective"] then
pilot.add("Collective Sml Swarm")
pilot.add("Collective Sml Swarm")
elseif sys == blockade_sys then
pilot.add("Collective Sml Swarm")
pilot.add("Collective Sml Swarm")
pilot.add("Empire Sml Defense")
end
end
-- Handle arrival back to base.
function land()
local planet = space.getPlanet()
-- Just landing.
if misn_stage == 0 and planet == misn_target then
-- Sinister music landing.
music.load("landing_sinister")
music.play()
-- Some flavour text.
tk.msg(title[2], text[3])
misn_stage = 1
misn.setDesc(string.format(misn_desc[2], misn_base:name(), misn_base_sys:name()))
misn.setMarker(misn_base_sys)
misn_cargo = player.addCargo("Datapad", 0)
elseif misn_stage == 1 and planet == misn_base then
tk.msg(title[3], text[4])
player.rmCargo(misn_cargo)
-- Rewards.
player.modFaction("Empire", 5)
misn.finish(true)
end
end

View File

@ -1,270 +0,0 @@
--[[
-- Operation Black Trinity.
--
-- Sixth mission in the collective mini campaign.
--
-- Notable compaign changes:
-- * Keer takes over command superseding Dimitri.
-- * First real combat begins.
-- * Most of the pilot is unrevealed.
--
-- Mission Obectives:
-- * Attempt to arrest Zakred.
-- * Kill Zakred.
--
-- Mission Stages:
-- 0) Get to the trinity.
-- 1) Trinity combat.
-- 2) Trinity dead/run.
-- 3) Ran away.
--
-- Not too happy with the text (it chews it all up for you), but then again,
-- I'm no writer. ;P
--]]
lang = lephisto.lang()
if lang == "es" then
-- Not translated atm.
else
misn_title = "Operation Black Trinity"
misn_reward = "None"
misn_desc = {}
misn_desc[1] = "Arrest the ESS Trinity in %s."
misn_desc[2] = "Return to base at %s in %s."
title = {}
title[1] = "Bar"
title[2] = "Interrogation Room"
title[3] = "Operation Black Trinity"
title[4] = "Mission Accomplished"
title[5] = "Mission Failure"
text = {}
text[1] = [[As you enter the bar you can't seem to to see Sergeant Dimitri. You look a around a little for him, when you feel a heavy hand fall on your shoulder. It seems like two armed soldiers are here to escort you somewhere, and from the looks of their weapons, they mean business. You have no choice other than to comply.
They start leading you away from the bar through some hallways you've never been through. Must be all those 'Authorized Personnel Only' signs and the armed guards that didn't make them too appealing.
Finally they toss you into what seems to be an interrogation room, telling you just to wait there.]]
text[2] = [[After what seems to be a decaSTU you hear the door open. You see a condecorated woman walk in with two soldiers at the door. She seems to be a Commodore from the insignia on her uniform.
"Hello, I'm Commodore Keer, I've taken over the Collective issue. I have heard about your success in the previous missions and would like to offer you more continued work. However further procedings must be kept in strict confidentiality for the interest of the Empire. Are you willing to go all the way with this?"]]
text[3] = [[You accept, she then dismisses both of the soldiers who proceed to wait outside.
"We've been following Sergeant Dimitri's progress since he started at %s. The datapad you brought back has confirmed what we have suspected. We have an undercover Collective agent somewhere in the military who's been feeding ex-Commodore Welsh data. You don't understand right? Let me Explain."]]
text[4] = [["The Collective was actually a project for the Empire, they were supposed to be the ultimate weapon in flexibility and offense. Commodore Welsh was in charge of the secret science facility on %s. Shortly after the Incident we stopped hearing from the science facility. We sent a recon and were met with hostile Collective Drones. It seems like the project had been a success, but the traitor Welsh went rogue. Under normal circumstances we would have easily crushed the Collective, but after the incident these are hardly normal circumstances."
She goes on, "Things have got out of hand. We have had chances to crush Welsh, but he seems to have always evaded us and struck us where we were weakest. We always knew there must have been another traitor in our midst, but the datapad information we now know who it is."]]
text[5] = [[She now clears her throat, "This operation has been dubbed "Operation Black Trinity". We have reason to believe that the ESS Trinity has been operating with the traitor Welsh. The ESS Trinity is commanded by Captain Zakred. You will form part of an assault team with primary objectives of arresting Zakred. If all goes wrong, you are ordered to kill Zakred. He must not escape."
"We'll be sending you with a small force. You just stick around and if any trouble arises, take the ESS Trinity down. Zakred is currently doing some maneuver exercises in %s. You will have to find him there. The other ships will follow your lead to %s. Good luck!"]]
text[6] = [[You see Commodore Keer with a dozen soldiers waiting for you outside the landing pad.
Congratulations on the success %s. We never really expected to take Zakred alove. Good Riddance. The next step is to begin an all out attack on Collective territory. Meet up in the bar when you're ready. We'll need all available pilots."]]
text[7] = [[You see Commodore Keer with a dozen soldiers waiting for you outside the landing pad.
You weren't supposed to let the Trinity get away! Now we have no cards to play, we must wait for the Collective response or new information before being able to continue. We'll notify you if we have something you can do for us, but for now we just wait."]]
-- Conversation between pilots.
talk = {}
talk[1] = "ESS Trinity: Please turn off your engines and prepare to be boarded."
talk[2] = "You will never take me alive!"
talk[3] = "Very well then. All units engage ESS Trinity."
talk[4] = "Incoming Collective drones detected."
talk[5] = "Mission Success: Return to base."
talk[6] = "Mission Failure: Return to base."
end
-- Create the mission.
function create()
tk.msg(title[1], text[1])
-- Intro text.
if tk.yesno(title[2], text[2])
then
misn.accept()
-- Mission data.
misn_stage = 0
misn_base, misn_base_sys = space.getPlanet("Omega Station")
misn_target_sys = space.getSystem("NCG-7690")
misn.setMarker(misn_target_sys)
-- Mission details.
misn.setTitle(misn_title)
misn.setReward(misn_reward)
misn.setDesc(string.format(misn_desc[1], misn_target_sys:name()))
tk.msg(title[2], string.format(text[3], misn_base:name()))
tk.msg(title[3], string.format(text[4], "Eiroik"))
tk.msg(title[4], string.format(text[5], misn_target_sys:name()))
-- Escorts.
esc_pacifier = true
esc_lancelot1 = true
esc_lancelot2 = true
hook.enter("jump")
hook.land("land");
end
end
-- Handle jumping to target system.
function jump()
-- Only done for stage 1.
if misn_stage == 0 then
local sys = space.getSystem()
-- Escorts enter a while back.
enter_vect = player.pos()
if enter_vect:dist() < 1000 then -- Assume landed.
add_escorts()
else -- Just jumped.
misn.timerStart("add_escorts", rnd.int(2000, 5000))
end
-- Create some havoc.
if sys == target_sys then
-- Disable spawning and clear pilots -> make it more epic. ;P
pilot.clear()
pilot.toggleSpawn(false)
misn_stage = 1
-- Position trinity on the other side of the player.
v = player.pos()
x, y = v:get()
v:set(-x, -y)
trinity = pilot.add("Trinity", "noidle", v)
trinity = trinity[1]
hook.pilot(trinity, "death", "trinity_kill")
hook.pilot(trinity, "jump", "trinity_jump")
final_fight = 0
misn.timerStart("final_talk", rnd.int(6000, 8000)) -- Escorts should be in system by now.
end
-- Player ran away from combat - big disgrace..
elseif misn_stage == 1 then
misn_stage = 3
player.msg(talk[6])
end
end
-- Get the empire talker.
function emp_talker()
if esc_pacifier then
talker = paci
elseif esc_lancelot1 then
talker = lance1
elseif esc_lancelot2 then
talker = lance2
else
-- I don't like the idea of player talking, but we need the conversation.
talker = player.getPilot()
end
return talker
end
-- Little talk when ESS Trinity is encountered.
function final_talk()
-- Empire taks about arresting.
if final_fight == 0 then
talker = emp_talker()
talker:broadcast(talk[1])
final_fight = 1
misn.timerStart("final_talk", rnd.int(3000, 4000))
elseif final_fight == 1 then
talker = trinity
talker:broadcast(talk[2])
final_fight = 2
misn.timerStart("final_talk", rnd.int(3000, 4000))
elseif final_fight == 2 then
-- Talk.
talk = emp_talker()
talker:broadcast(talk[3])
-- ESS Trinity becomes collective now.
trinity:setFaction("Collective")
trinity:setHostile()
final_fight = 3
misn.timerStart("final_talk", rnd.int(4000, 5000))
else if final_fight == 3 then
player.msg(talk[4])
misn.timerStart("call_drones", rnd.int(3000, 5000))
end
end
-- Calls help for the ESS Trinity.
function call_drones()
pilots = pilot.add("Collective Sml Swarm")
for k, v in ipairs(pilots) do
v:setHostile()
end
end
-- Add escorts that weren't killed sometime.
function add_escorts()
if esc_pacifier then
enter_vect:add(rnd.int(-50,50), rnd.int(-50,50))
paci = pilot.add("Empire Pacifier", "escorts_player", enter_vect)
paci = paci[1]
paci:setFriendly()
hook.pilot(paci, "death", "paci_dead")
end
if esc_lancelot1 then
enter_vect:add(rnd.int(-50,50), rnd.int(-50,50))
lance1 = pilot.add("Empire Lancelot", "escort_player", enter_vect)
lance1 = lance1[1]
lance1:setFriendly()
hook.pilot(lance1, "death", "lance1_dead")
end
if esc_lancelot2 then
enter_vect:add(rnd.int(-50,50), rnd.int(-50,50))
lance2 = pilot_add("Empire Lancelot", "escort_player", enter_vect)
lance2 = lance[2]
lance2:setFriendly()
hook.pilot(lance2, "death", "lance2_dead")
end
end
-- Escort death functions -> will stop spawning.
function paci_dead() esc_pacifier = false end
function lanc1_dead() esc_lancelot1 = false end
function lanc2_dead() esc_lancelot2 = false end
-- Handle arrival back to base.
function land()
local planet = space.getPlanet()
-- Just landing.
if(misn_stage == 2 or misn_stage == 3) and planet == misn_base then
if trinity_alive or misn_stage == 3 then
-- Failed to kill.
tk.msg(title[5], text[7])
var.push("trinity", true)
-- Rewards.
player.modFaction("Empire", -5)
var.push("collective_fail", true)
else
-- Successfully killed.
tk.msg(title[4], string.format(text[6], player.name()))
var.push("trinity", false)
-- Rewards.
player.modFaction("Empire", 5)
end
misn.finish(true)
end
end
-- Trinity hooks.
function trinity_kill() -- Got killed.
player.msg(talk[5])
misn_stage = 2
trinity_alive = false
misn.setDesc(string.format(misn_desc[2], misn_base:name(), misn_base_sys:name()))
misn.setMarker(misn_base_sys)
end
function trinity_jump() -- Got away.
player.msg(talk[6])
misn_stage = 2
trinity_alive = true
misn.setDesc(string.format(misn_desc[2], misn_base:name(), misn_base_sys:name()))
misn_setMarker(misn_base_sys)
end

View File

@ -1,257 +0,0 @@
--[[
Operation Cold Metal
Seventh and final mission in the Collective Campaign
Mission Objectives:
-- Assault C-43
-- Final Assault on C-28
-- Kill the Starfire
-- Kill the Trinity (if it got away in Operation Black Metal)
Stages:
0) Just started..
1) Entered C-43.
2) Cleared C-43.
3) Entered C-28.
4) Cleared C-28.
5) Ran away.
]]--
lang = lephisto.lang()
if lang == "es" then
-- not translated atm
else -- default english
misn_title = "Operation Cold Metal"
misn_reward = "Fame and Glory"
misn_desc = {}
misn_desc[1] = "Neutralize enemy forces in %s."
misn_desc[2] = "Destroy the Starfire and hostiles in %s."
misn_desc[3] = "Return to %s in the %s system."
title = {}
title[1] = "Bar"
title[2] = "Operation Cold Metal"
title[3] = "Mission Success"
title[4] = "Cowardly Behaviour"
text = {}
text[1] = [[You see Commodore Keer at a table with a couple other pilots. She motions you over to sit down.
She begins, "We're going to finally attack the Collective. We've gotten the Emperor himself to bless the mission and send some of his better pilots. Would you be interested in joining the destruction of the Collective?"]]
text[2] = [["The Operation has been dubbed 'Cold Metal'. Our goal is to head to C-00, we'll take the route of %s, %s then C-00. Should we encounter the Starfire at any stage our goal will be to destroy it and head back. We'll also clear each system completely of Collective presence before continuing to the next system. See you in combat pilots."]]
text[3] = [[As you do your approach to land on %s you notice big banners placed on the exterior of the station. They seem to be in celebration of the final defeat of the Collective. When you do land you are saluted by the welcoming committee in charge of saluting all the returning pilots.
You notice Commodore Keer. Upon greeting her she says, "You did a good job out there. No need to worry about the Collective anymore. Without Welsh the Collective won't stand a chance, since they aren't truly autonomous. Right now we have some ships cleaning up the last of the Collective, shouldn't take too long to be back to normal."]]
text[4] = [[She continues, "As a symbol of appreciation you should find a deposit of 500 thousand credits has been made to your account. There will be a celebration later today in the officer's room if you want to join in."
And so ends the Collective threat...]]
text[5] = [[You recieve a message signed by Commodore Keeras soon as you enter Empire space:
There is no room for cowards in the Empires' fleet."
The signature does seem valid.]]
-- Conversation between pilots
talk = {}
talk[1] = "System Cleared: Procede to %s."
talk[2] = "Mission Success: Return to %s."
talk[3] = "Mission Failure: Return to %s."
end
-- Creates the mission
function create()
-- Intro text
if tk.yesno( title[1], text[1] )
then
misn.accept()
-- Mission data.
misn_stage = 0
misn_base, misn_base_sys = space.getPlanet("Omega Station")
misn_target_sys = space.getSystem("C-43")
misn_final_sys = space.getSystem("C-28")
misn.setMarker(misn_target_sys)
-- Mission details.
misn.setTitle(misn_title)
misn.setReward( misn_reward )
misn.setDesc( string.format(misn_desc[1], misn_target_sys:name() ))
tk.msg( title[2], string.format( text[2],
misn_target_sys:name(), misn_final_sys:name() ) )
hook.enter("jump")
hook.land("land")
end
end
-- Handles jumping to target system.
function jump()
sys = space.getSystem()
if misn_stage == 0 then
offset = 500
-- Entering target system?
if sys == misn_target_sys then
-- Create big battle.
enter_vect = player.pos()
pilot.clear()
pilot.toggleSpawn(false)
-- Empire.
emp_fleets = {}
emp_fleets[1] = "Empire Sml Attack"
emp_fleets[2] = "Empire Sml Attack"
emp_fleets[3] = "Dvaered Goddard" -- They help empire.
-- Get position
x, y = enter_vect:get()
-- Add pilots.
for k,v in ipairs(emp_fleets) do
spawn_vect:add(rnd.int(-offset, offset), rnd.int(-offset, offset))
pilots = pilot.add(v, "def", spawn_vect)
for k, v in ipairs(pilots) do
v:setFriendly()
end
end
-- Collective.
col_fleets = {}
col_fleets[1] = "Collective Sml Swarm"
col_fleets[2] = "Collective Sml Swarm"
col_fleets[3] = "Collective Sml Swarm"
-- Set up position.
x,y = enter_vect:get()
spawn_vect = enter_vect.new(-x, -y)
-- Count amount created
col_alive = 0
for k,v in ipairs(col_fleets) do
spawn_vect:add(rnd.int(-offset, offset), rnd.int(-offset, offset))
pilots = pilot.add(v, "def", spawn_vect)
col_alive = col_alive + #pilots
for k,v in ipairs(pilots) do
v:setHostile()
hook.pilot( v, "disable", "col_dead" )
end
end
misn_stage = 1
end
elseif misn_stage == 2 then
-- Entering target system?
if sys == misn_final_sys then
-- Create bigger battle
enter_vect = player.pos()
pilot.clear()
pilot.toggleSpawn(false)
-- Empire
emp_fleets = {}
emp_fleets[1] = "Empire Lge Attack"
emp_fleets[2] = "Empire Med Attack"
emp_fleets[3] = "Dvaered Goddard" -- They help empire.
-- Get position.
x, y = enter_vect:get()
spawn_vect = enter_vect.new(x, y)
-- Add pilots.
for k,v in ipairs(emp_fleets) do
spawn_vect:add(rnd.int(-offset,offset), rnd.int(-offset, offset))
pilots = pilot.add(v, "def", spawn_vect)
for k, v in ipairs(pilot) do
v:setFriendly()
end
end
-- Collective.
col_fleets = {}
col_fleets[1] = "Starfire"
col_fleets[2] = "Collective Lge Swarm"
col_fleets[3] = "Collective Lge Swarm"
if var.peek("trinity") == true then
col_fleets[4] = "Trinity"
end
-- Set up position.
x,y = enter_vect:get()
spawn_vect = enter_vect.new(-x, -y)
-- Add pilots.
col_alive = 0
for k,v in ipairs(col_fleets) do
spawn_vect:add(rnd.int(-offset, offset), rnd.int(-offset, offset))
pilots = pilot.add(v, "def", spawn_vect)
-- Handle special ships.
if v == "Starfire" then
starfire = pilots[1]
elseif v == "Trinity" then
trinity = pilots[1]
end
-- Count amount created.
col_alive = col_alive + #pilots
for k,v in ipairs(pilots) do
v:setHostile()
hook.pilot( v, "disable", "col_dead" )
end
end
misn_stage = 3
end
elseif misn_stage == 1 or misn_stage == 3 then
-- Fled from battle - disgraceful.
misn_stage = 5
player.msg( string.format( talk[3], misn_base_sys:name() ))
elseif misn_stage == 5 then
-- Lower faction by a lot, without making hostile.
f = player.getFaction("Empire")
if f > 0 then
if f > 20 then player.modFactionRaw("Empire", -20)
else player.modFactionRaw("Empire", -f)
end
end
-- Display message.
tk.msg(title[4], text[5])
-- Mission failed.
var.push("collective_fail", true)
misn.finish(false)
end
end
-- Handles collective death.
function col_dead()
col_alive = col_alive - 1 -- Another one bites the dust.
-- All dead -> area clear.
if col_alive == 0 then
if misn_stage == 1 then
misn.setDesc( string.format(misn_desc[2], misn_final_sys:name() ))
player.msg( string.format( talk[1], misn_final_sys:name() ))
misn.setMarker(misn_final_sys)
misn_stage = 2
elseif misn_stage == 3 then
misn.setDesc( string.format(misn_desc[3], misn_base:name(), misn_base_sys:name() ))
player.msg( string.format( talk[2], misn_base_sys:name() ))
misn.setMarker(misn_base_sys)
misn_stage = 4
end
end
end
-- Handles arrival back to base.
function land()
planet = space.getPlanet()
-- Final landing stage
if misn_stage == 4 and planet == misn_base then
tk.msg( title[3], string.format(text[3], misn_base:name()))
-- Rewards
player.modFaction("Empire",5)
misn.finish(true)
diff.apply("collective_dead")
player.pay( 500000 ) -- 500k
tk.msg( title[3], text[4] )
end
end

View File

@ -1,75 +0,0 @@
--[[
-- Simple cargo mission that optns up the Empire cargo missions.
--]]
lang = lephisto.lang()
if lang == "es" then
-- Not translated atm.
else -- Default english.
misn_title = "Empire Recruitment"
misn_reward = "%d credits"
misn_desc = "Deliver some parcels for the Empire to %s in %s."
title = {}
title[1] = "Spaceport Bar"
title[2] = "Empire Recruitment"
title[3] = "Mission Accomplished"
text = {}
text[1] = [[As you enter the bar you can't help to notice that a fellow at a table is looking at you since you came in. You tend to your business as if you hadn't noticed. A while later you feel a tap on your shoulder and see it's the same fellow.]]
text[2] = [["Hello, sorry about interrupting you. I'm Lieutenant medek from the Empire Armada Shipping Division. We're having another recruitment operation and would be interested in having another pilot among us. Would be interesting in working for the Empire?"]]
text[3] = [["Welcome aboard.", says medek before giving you a firm handshake. "At first you'll just be tested with cargo missions while we get data on your flying skills. Later you could get called for more important mission. Who knows? You could be the next dfighter, greatest pilot we ever had on the armada."
He hits a couple buttons on his wrist computer that springs into action.
"It looks like we already have a simple task for you. Deliver these parcels to %s. The best pilots started delivering papers and ended up flying into combat against gigantic warships with the Interception Division."]]
text[4] = [[You deliver the parcels to the Empire Shipping station at the %s spaceport. Afterwards they make you do some paperwork to formalize your participation with the Empire. They tell you to keep an eye out for missions labeled ES in the mission computer which stand for Empire Shipping which you now have access to.
You aren't too sure of what to make of your encounter with the Empire, only time will tell...]]
end
function create()
local landed = space.getPlanet()
-- Target destination.
local i = 0
repeat
dest,system = space.getPlanet(misn.factions())
i = i+1
until dest ~= landed or i > 10
-- Infinate loop protection.
if i > 10 then
misn.finish(false)
end
misn.setMarker(system)
-- Intro text.
tk.msg(title[1], text[1])
if tk.yesno(title[1], text[2])
then
misn.accept()
-- Mission details.
reward = 3000
misn.setTitle(misn_title)
misn.setReward(string.format(misn_reward, reward))
misn.setDesc(string.format(misn_desc, dest:name(), system:name()))
-- Flavour text and mini-briefing.
tk.msg(title[2], string.format( text[3], dest:name()))
-- Set up the goal.
parcels = player.addCargo("Parcels", 0)
hook.land("land")
end
end
function land()
local landed = space.getPlanet()
if landed == dest then
if player.rmCargo(parcels) then
player.pay(reward)
-- More flavour text.
tk.msg(title[3], string.format(text[4], dest:name()))
var.push("es_cargo", true)
player.modFaction("Empire", 3)
misn.finish(true)
end
end
end

View File

@ -1,149 +0,0 @@
--[[
Handle the randomly generated Empire cargo missions.
--]]
lang = lephisto.lang()
if lang == "es" then
-- Not translated atm.
else -- Default english.
misn_desc = "The Empire needs to ship %d tons of %s to %s in the %s system by %s (%s left)."
misn_reward = "%d credits"
title = {}
title[1] = "ES: Ship to %s"
title[2] = "ES: Delivery to %s"
full = {}
full[1] = "Ship is full"
full[2] = "Your ship is too full. You need to make room for %d more tons if you want to be able to accept the mission."
msg_title = {}
msg_title[1] = "Mission Accepted"
msg_title[2] = "Too many missions"
msg_title[3] = "Succesful Delivery"
msg_msg = {}
msg_msg[1] = "The Empire workers load the %d tons of %s onto your ship."
msg_msg[2] = "You have too many active missions."
msg_msg[3] = "The Empire workers unload the %s at the docks."
miss = {}
miss[1] = "Cargo Missing"
miss[2] = "You are missing the %d tons of %s!."
miss[3] = "MISSION FAILED: You have failed to deliver the goods to the Empire on time!"
end
-- Empire shipping missions are always timed, but quite lax on the schedules.
-- Pays a bit more then the rush missions.
-- Create the mission.
function create()
-- Target destination.
local i = 0
local landed = space.getPlanet()
repeat
planet, system = space.getPlanet(misn.factions())
i = i + 1
until planet ~= landed or i > 10
-- Infinite loop protection.
if i > 10 then
misn.finish(false)
end
misn.setMarker(system) -- Set system marker.
misn_dist = system:jumpDist()
-- Mission generics.
misn_type = "Cargo"
i = rnd.int(1)
misn.setTitle(string.format(title[i+1], planet:name()))
-- More mission specifics.
carg_mass = rnd.int(10, 30)
i = rnd.int(12)
if i < 5 then
carg_type = "Food"
elseif i < 8 then
carg_type = "Ore"
elseif i < 10 then
carg_type = "Industrial Goods"
elseif i < 12 then
carg_type = "Luxury Goods"
else
carg_type = "Medicine"
end
misn_time = time.get() + time.units(5) +
rnd.int(time.units(5), time.units(8)) * misn_dist
misn.setDesc(string.format( misn_desc, carg_mass, carg_type,
planet:name(), system:name(),
time.str(misn_time), time.str(misn_time-time.get())))
reward = misn_dist * carg_mass * (500+rnd.int(250)) +
carg_mass * (250+rnd.int(150)) +
rnd.int(2500)
misn.setReward(string.format( misn_reward, reward))
end
-- Mission is accepted.
function accept()
if player.freeCargo() < carg_mass then
tk.msg(full[1], string.format(full[2], carg_mass-player.freeCargo()))
misn.finish()
elseif misn.accept() then -- Able to accept the mission, hooks BREAK after accepting.
carg_id = player.addCargo(carg_type, carg_mass)
tk.msg(msg_title[1], string.format(msg_msg[1], carg_mass, carg_type))
hook.land("land") -- Only hook after accepting.
hook.time("timeup")
else
tk.msg(msg_title[2], msg_title[2])
misn.finish()
end
end
-- Land hook.
function land()
local landed = space.getPlanet()
if landed == planet then
if player.rmCargo(carg_id) then
player.pay(reward)
tk.msg(msg_title[3], string.format(msg_msg[3], carg_type))
-- Increase empire shipping mission counter.
n = var.peek("es_misn")
if n ~= nil then
var.push("es_misn", n+1)
else
var.push("es_misn", 1)
end
-- Increase faction.
if player.getFaction("Empire") < 50 then
player.modFaction("Empire", rnd.int(5))
end
misn.finish(true)
else
tk.msg(miss[1], string.format(miss[2], carg_mass, carg_type))
end
end
end
-- Time hook.
function timeup()
if time.get() > misn_time then
misn_timerStart("failed", 2000)
else
misn.setDesc(string.format( misn_desc, carg_mass, carg_type,
planet:name(), system:name(),
time.str(misn_time), time.str(misn_time-time.get())))
end
end
function failed()
player.msg(miss[3])
if misn_type ~= "People" then
player.jetCargo(cargo_id)
end
misn_finish(false)
end
function abort()
if misn_type ~= "People" then
player.jetCargo(carg_id)
end
end

View File

@ -1,126 +0,0 @@
--[[
Empire Shipping Prisoner Exchange
]]--
lang = naev.lang()
if lang == "es" then
-- not translated atm
else -- default english
misn_title = "Prisoner Exchange"
misn_reward = "%d credits"
misn_desc = {}
misn_desc[1] = "Go to %s in the %s system to exchange prisoners with the FLF."
misn_desc[2] = "Return to %s in the %s system to report what happened."
title = {}
title[1] = "Spaceport Bar"
title[2] = "Prisoner Exchange"
title[3] = "Mission Report"
text = {}
text[1] = [[You are approached by an Empire Commander.
"Hello, you must be %s. I've heard about you. I'm Commander Soldner. We've got some harder missions for someone like you in the Empire Shipping division. There would be real danger involved in these missions unlike the ones you've been doing recently for the division. Would you be up for the challenge?"]]
text[2] = [["We've got a prisoner exchange set up with the FLF to take place on %s in the %s system. They want a more neutral pilot to do the exchange. You would have to go to %s with some FLF prisoners aboard your ship and exchange them for some of our own. You won't have visible escorts but we will have your movements watched by ships in nearby sectors."
"Once we get the men they captured back bring them over to %s in %s for debriefing. You'll be compensated for your troubles. Good luck."]]
text[3] = [[The Prisoners are loaded on your ship along with a few marines to ensure nothing happens.]]
text[4] = [[As you land you notice the starport has been emptied. You notice some explosives rigged on some of the columns. This doesn't look good. The marines tell you to sit still and go out to try to do the prisoner exchange.
From the cockpit you see how the marines lead the prisoners in front of them with their guns to their back. You notice that some people step out of the shadows with weapons too, most likely the FLF.]]
text[5] = [[You suddenly hear a blaring siren and hear shooting. You quickly start your engines and prepare for take off. You see shots all over and a couple of prisoner corpses as you leave the starport. As you remember the explosives you hear loud detonations behind you. This doesn't look to good.
You start your climb out of the atmosphere and notice how you're picking up many FLF and Dvaered ships. Looks like you're going to have quite a run to get the hell out of here. It didn't go as you expected.]]
text[6] = [[After you leave your ship in the Starport you meet up with Commander Soldner. From the look on his face it seems like he already knows about what happened.
"It was all the Dvaered's fault. They just came in out of no where and started shooting. What a horrible mess. We're already working on sorting out the blame, we had good men there."
He sighs, "Didn't want you to start with a mess like this, but if you're interested in another meet me up in the bar in a while. We get no rest here. We alread transfered the payment to your bank account."]]
end
function create ()
-- Intro text
if tk.yesno( title[1], string.format( text[1], player.name() ) )
then
misn.accept()
-- target destination
dest,destsys = space.getPlanet( faction.get("Frontier") )
ret,retsys = space.getPlanet( "Polaris Prime" )
misn.setMarker(destsys)
-- Mission details
misn_stage = 0
reward = 50000
misn.setTitle(misn_title)
misn.setReward( string.format(misn_reward, reward) )
misn.setDesc( string.format(misn_desc[1], dest:name(), destsys:name()))
-- Flavour text and mini-briefing
tk.msg( title[2], string.format( text[2], dest:name(), destsys:name(),
dest:name(), ret:name(), retsys:name() ))
-- Set up the goal
prisoners = player.addCargo("Prisoners", 0)
tk.msg( title[2], text[3] )
-- Set hooks
hook.land("land")
hook.enter("enter")
end
end
function land ()
landed = space.getPlanet()
if landed == dest and misn_stage == 0 then
if player.rmCargo(prisoners) then
-- Go on to next stage
misn_stage = 1
-- Some text
tk.msg(title[2], text[4] )
tk.msg(title[2], text[5] )
misn.setMarker(retsys)
misn.setDesc( string.format(misn_desc[2], ret:name(), retsys:name()))
-- We'll take off right away again
misn.takeoff()
end
elseif landed == ret and misn_stage == 1 then
-- Rewards
player.pay(reward)
player.modFaction("Empire",5);
-- Flavour text
tk.msg(title[3], text[6] )
misn.finish(true)
end
end
function enter ()
sys = space.getSystem()
if misn_stage == 1 and sys == destsys then
-- Get a position near the player
enter_vect = player.pos()
a = rnd.rnd() * 2 * math.pi
d = rnd.rnd( 100, 200 )
enter_vect:add( math.cos(a) * d, math.sin(a) * d )
-- Create some pilots to go after the player
pilot.add( "FLF Sml Force", "def", enter_vect )
-- Get a far away position for fighting to happen
-- We'll put the FLF first
a = rnd.rnd() * 2 * math.pi
d = rnd.rnd( 700, 1000 )
enter_vect:set( math.cos(a) * d, math.sin(a) * d )
pilot.add( "FLF Med Force", "def", enter_vect )
-- Now the Dvaered
a = rnd.rnd() * 2 * math.pi
d = rnd.rnd( 200, 300 )
enter_vect:add( math.cos(a) * d, math.sin(a) * d )
pilot.add( "Dvaered Med Force", "def", enter_vect )
end
end

View File

@ -1,210 +0,0 @@
-- [[
-- Handle the randomly created cargo delivery missions.
-- ]]
lang = lephisto.lang()
if lang == "es" then
-- Not translated atm.
else -- Default english.
misn_desc = {}
misn_desc[1] = "%s in the %s system needs a delivery of %d tons of %s."
misn_desc[11] = "%s in the %s system needs a rush delivery of %d tons of %s before %s (%s left)."
misn_desc[21] = "A group of %s needs to travel to %s in the %s system."
misn_reward = "%d credits"
title = {}
title[1] = "Cargo delivery to %s"
title[2] = "Freight delivery to %s"
title[3] = "Transport to %s"
title[4] = "Delivery to %s"
title[11] = "Rush Delivery to %s"
title[21] = "Transport %s to %s"
title[22] = "Ferry %s to %s"
full = {}
full[1] = "Ship is full"
full[2] = "Your ship is too full. You need to make room for %d more tons if you want to be able to accept the mission."
accept_title = "Mission Accepted"
accept_msg = {}
accept_msg[1] = "The Workers load the %d tons of %s onto your ship."
accept_msg[2] = "The %s board your ship."
msg_title = {}
msg_msg = {}
msg_title[1] = "Too many missions"
msg_msg[1] = "You have too many active missions."
msg_title[2] = "Succesful Delivery"
msg_msg[2] = "The workers unload the %s at the docks."
msg_msg[5] = "The %s leave your ship."
msg_title[3] = "Cargo Missing"
msg_msg[3] = "You are missing the %d tons of %s!."
msg_msg[4] = "MISSION FAILED: You have failed to delivery the goods on time!"
end
-- Create the mission.
function create()
landed = space.getPlanet() -- Get landed planet.
-- Only 50% chance of appearing on Dvaered systems.
dv = faction.get("Dvaered")
if landed:faction() == dv and rnd.int(1) == 0 then
misn.finish(false)
end
-- Target destination.
i = 0
repeat
planet, system = space.getPlanet(misn.factions())
i = i + 1
until planet ~= landed or i > 10
-- Infinite loop protection.
if i > 10 then
misn.finish(false)
end
misn.setMarker(system) -- Mark the system.
misn_dist = system:jumpDist()
-- Mission generics.
i = rnd.int(6)
if i < 4 then -- Cargo delivery.
misn_type = "Cargo"
misn_faction = rnd.int(2)
i = rnd.int(3)
misn.setTitle(string.format(title[i+1], planet:name()))
elseif i < 6 then-- Rush delivery.
misn_type = "Rush"
misn_faction = rnd.int(5)
misn.setTitle(string.format(title[11], planet:name()))
else -- People delivery :P
misn_type = "People"
misn.faction = rnd.int(1)
carg_mass = 0
i = rnd.int(5)
if i < 2 then
carg_type = "Colonists"
elseif i < 4 then
carg_type = "Tourists"
else
carg_type = "Pilgrims"
end
i = rnd.int(1)
misn_setTitle(string.format(title[i+21], carg_type, planet:name()))
end
-- More mission specifics.
if misn_type == "Cargo" or misn_type == "Rush" then
carg_mass = rnd.int(10, 30)
i = rnd.int(12) -- Set the goods.
if i < 5 then
carg_type = "Food"
elseif i < 8 then
carg_type = "Ore"
elseif i < 10 then
carg_type = "Industrial Goods"
elseif i < 12 then
carg_type = "Luxury Goods"
else
carg_type = "Medicine"
end
end
-- Set reward and description.
if misn_type == "Cargo" then
misn.setDesc(string.format( misn_desc[1], planet:name(), system:name(), carg_mass, carg_type))
reward = misn_dist * carg_mass * (250+rnd.int(150)) +
carg_mass * (150+rnd.int(75)) +
rnd.int(1500)
elseif misn_type == "Rush" then
misn_time = time.get() + time.units(2) +
rnd.int(time.units(2), time.units(4)) * misn_dist
misn.setDesc(string.format( misn_desc[11], planet:name(), system:name(),
carg_mass, carg_type,
time.str(misn_time), time.str(misn_time-time.get())))
reward = misn_dist * carg_mass * (450+rnd.int(250)) +
carg_mass * (250+rnd.int(125)) +
rnd.int(2500)
elseif misn_type == "People" then
misn.setDesc(string.format(misn_desc[21], carg_type, planet:name(), system:name()))
reward = misn_dist * (1000 + rnd.int(500)) + rnd.int(2000)
end
misn.setReward(string.format(misn_reward, reward))
end
-- Mission is accepted.
function accept()
if player.freeCargo() < carg_mass then
tk.msg(full[1], string.format(full[2], carg_mass-player.freeCargo()))
misn.finish()
elseif misn.accept() then -- Able to accept the mission, hooks BREAK after accepting.
carg_id = player.addCargo(carg_type, carg_mass)
if misn_type == "People" then
tk.msg(accept_title, string.format(accept_msg[2], carg_type))
else
tk.msg(accept_title, string.format(accept_msg[1], carg_mass, carg_type))
end
-- Set the hooks.
hook.land("land") -- Only hook after accepting.
if misn_type == "Rush" then -- Rush needs additional time hook.
hook.time("timeup")
end
else
tk.msg(msg_title[1], msg_msg[1])
misn.finish()
end
end
-- Land hook.
function land()
landed = space.getPlanet()
if landed == planet then
if player.rmCargo(carg_id) then
player.pay( reward )
if misn_type == "People" then
tk.msg(msg_title[2], string.format(msg_msg[5], carg_type))
else
tk.msg(msg_title[2], string.format(msg_msg[2], carg_type))
end
-- Modify the faction standing.
if player.getFaction("Trader") < 70 then
player.modFactionRaw("Trader", misn_faction)
end
if player.getFaction("Independent") < 30 then
player.modFactionRaw("Independent", misn_faction/2)
end
if player.getFaction("Empire") < 10 then
player.modFaction("Empire", misn_faction/3)
end
misn.finish(true)
else
tk.msg(msg_title[3], string.format(msg_msg[3], carg_mass, carg_type))
end
end
end
-- Time hook.
function timeup()
if time.get() > misn_time then
misn.timerStart("failed", 2000)
else
misn.setDesc(string.format( misn_desc[11], planet:name(), system:name(),
carg_mass, carg_type,
time.str(misn_time), time.str(misn_time-time.get())))
end
end
function failed()
player.msg(msg_msg[4])
if misn_type ~= "People" then
player.jetCargo(carg_id)
end
misn.finish(false)
end
function abort()
if misn_type ~= "People" then
player.jetCargo(carg_id)
end
end

View File

@ -1,120 +0,0 @@
--[[
-- Nebulae Satellite.
--
-- One-shot mission.
--
-- Help some independent scientists put a satellite in the nebulae.
--]]
-- Localization stuff, translators would work here.
lang = lephisto.lang()
if lang == "es" then
else -- Default to English.
mtitle = {}
mtitle[1] = "Nebulae Satellite"
mreward = {}
mreward[1] = "%d credits"
mdesc = {}
mdesc[1] = "Go to the %s system to launch the probe."
mdesc[2] = "Drop off the scientists at %s in the %s system."
title = {}
title[1] = "Bar"
title[2] = "Scientific Exploration"
title[3] = "Mission Success"
text = {}
text[1] = [[You are sitting at the bar when you are approached by a couple of short guys. They seem a bit nervous and one mutters something about whether it's a good idea or not. Eventually one of them comes up to you.
"Hello Captain, We're looking for a ship to take us into the Sol Nebulae. Would you be willing to take us there?]]
text[2] = [["We had a trip scheduled with some Space Trader ship, but they backed out at the last minute. So we were stuck here until you came. We've got a probe satellite that we have to release in the %s system to monitor the nebulae's growth rate. The probe launch procedure is pretty straightforward and shouldn't have any complications."
He takes a deep breath, "We hope to be able to find out more secrets of the Sol Nebulae so man can once again regain it's lost patrimony. So far the radiation and volatility of the deeper area haven't been very kind to our instruments. That's why we designed this Satellite we're going to launch."]]
text[3] = [["The plan is for you to take us to %s so we can launch the probe, then back to our home at %s in the %s system. The probe will automatically send us the data we need if all goes well. You'll be paid %d credits when we arrive."]]
text[4] = [[The scientists thank you for your help before going back to their home to continue their nebulae research.]]
text[9] = [["You do ot have enough free cargo space to accept this mission!"]]
launch = {}
launch[1] = "Preparing to launch the satellite probe..."
launch[2] = "Launch in 5..."
launch[3] = "Satellite launch successful!"
end
function create()
if tk.yesno(title[1], text[1]) then
-- Check for cargo space.
if player.freeCargo() < 3 then
tk.msg(title[1], text[9])
return
end
misn.accept()
-- Set up mission variables.
misn_stage = 0
homeworld, homeworld_sys = space.getPlanet(misn.factions())
satellite_sys = space.getSystem("Arandon") -- Not too unstable.
credits = 75000
cargo = player.addCargo("Satellite", 3)
-- Set up mission information.
misn.setTitle(mtitle[1])
misn.setReward(string.format(mreward[1], credits))
misn.setDesc(string.format(mdesc[1], satellite_sys:name()))
misn.setMarker(satellite_sys)
-- More flavour text.
tk.msg(title[2], string.format(text[2], satellite_sys:name()))
tk.msg(title[2], string.format(text[3], satellite_sys:name(),
homeworld:name(), homeworld_sys:name(), credits))
-- Set up hooks.
hook.land("land")
hook.enter("jump")
end
end
function land()
landed = space.getPlanet()
-- Mission success.
if misn_stage == 1 and landed == homeworld then
tk.msg(title[3], text[4])
player.pay(credits)
misn.finish(true)
end
end
function jump()
sys = space.getSystem()
-- Launch satellite.
if misn_stage == 0 and sys == satellite_sys then
misn.timerStart("beginLaunch", 3000)
end
end
--[[
-- Launch process.
--]]
function beginLaunch()
player.msg(launch[1])
misn.timerStart("beginCountdown", 3000)
end
function beginCountdown()
countdown = 5
player.msg(launch[2])
misn.timerStart("countLaunch", 1000)
end
function countLaunch()
countdown = countdown - 1
if countdown <= 0 then
launchSatellite()
else
player.msg(string.format("%d..." countdown))
misn.timerStart("countLaunch", 1000)
end
end
function launchSatellite()
misn_stage = 1
player.msg(launch[3])
player.jetCargo(cargo)
misn.setDesc(string.format(mdesc[2], homeworld:name(), homeworld_sys:name()))
misn.setMarker(homeworld_sys)
end

View File

@ -1,309 +0,0 @@
--[[
The beginner player tutorial.
Does simple stuff like teach the player to fly around or use her
communications system.
Step 1
Basic flight.
Step 2
Braking.
Step 3
Targetting.
Step 4
Dummy combat.
Step 5
Board dummy.
Step 6
Real pirate.
Step 7
Landing.
Step 8
Hyperspace.
Step 9
Finished.
]]--
-- Localization stuff, translators would work here.
lang = lephisto.lang()
if lang == "es" then
else -- Default english.
title = {}
text = {}
title[1] = "Tutorial"
text[1] = "Would you like to run the Tutorial to learn how to play Lephisto?"
text[2] = [[Welcome to the Lephisto Tutorial. This Tutorial assumes you are using the default keybindings, if you aren't please use whatever keybindings you switched to instead of the defaults.]]
-- Step 1.
title[2] = "Flight Tutorial"
text[3] = [[We'll first start off by flying around. Use the 'a' and 'd' keys to turn and the 'w' key to accelerate. Try flying around the planet, it's hard at first but you'll get the hang of it eventually.]]
-- Step 2.
text[4] = [[Good. Now we'll try braking. Since you can only accelerate forward, you'll have to turn backwards and accelerate to break. To make this easier you can use the 's' key to turn around automatically. Then you accelerate until you stop. Look at the stars in the background for an indication of your velocity. Try braking now.]]
text[5] = [[ Now you're getting the hang of it. It'll still take a while until you can fly well, but this is a start. ]]
-- Step 3.
title[3] = "Targetting Tutorial"
text[6] = [[Now we'll work on targetting. To target you have multiple options.
'tab' cycles through ships.
'ctrl + tab' cycles through ships backwards.
't' targets nearest ship.
'r' targets nearest hostile.]]
text[7] = [[I'll bring in a couple of ships so you can try playing around with targetting. You'll notice your targetted ship gets hilighted blue in the radar (top-right). You can use the + and - key on the keypad to change the zoom on the map. Yellow is neutral, red is hostile, green is friendly and grey is inert. The new ships will be yellow.]]
-- Step 4.
title[4] = "Combat Tutorial"
text[8] = [[Now let's try using the weapon systems. There are primarily three keys:
'space' shoots primary weapons.
'e' selects secondary weapon.
'left alt' shoots secondary weapon.]]
text[9] = [[Your ship (Llama) only has a single Laser Cannon as a primary weapon, so we'll try using that. I'll put in a Dummy Llama so you can try destroying it. So try targetting it with 'tab' or 't' and then approach it and shoot it with 'space' until it is disabled. You can also use 'f' to autoface the target you have selected.]]
-- Step 5.
text[10] = [[Good. Now that the Llama is disabled you can try to board it. To board a ship you must target it and then go very slow and stop above it. Once you're ontop of the ship you can hit 'b' which will allow you to board the ship to steal resources.
Try to board the ship now.]]
-- Back to Step 4.
text[11] = [[You weren't supposed to destroy the Llama! I'll add another so you can try again.]]
text[12] = [[Good. Now if the Llama had money or cargo you could attempt to steal it. Your probability is based on your crew versus their crew. The more crew you have the more chance. Since the ship has nothing just leave it be and we'll introduce real enemies.]]
-- Step 6.
text[13] = [[Now comes the real challenge. I'll bring in a real pirate to see how you fare with him. Don't worry, help is on the way.]]
text[14] = [[That wasn't so scary was it? Now we'll learn more about other things like Landing. Landing allows you to not only regenerate all your shield and armour, but to buy/trade goods, outfits for your ship and ships. The only downside is that you take a while to land, so if you're in a hurry for some mission, it's good to try not to land.]]
-- Step 7.
title[5] = "Landing Tutorial"
text[15] = [[Landing is also how you save in Lephisto. Every time you land, it'll save your game. So don't land if you just screwed up an important mission or pissed off a big faction. The keys involved with landing are:
'p' cycles through planets.
'l' lands or targets nearest planet if none selected. Needed to get confirmation.]]
text[16] = [[The easiest way to land is to hit 'l' to get the first land target and get the land acknowledgement. Then you have to "board" the planet, meaning go and brake on top of it. Then you hit 'l' again to land. Try doing this now.]]
text[17] = [[This is the land window. Here you can see an image of where you are with a description of where you landed. Depending on the planet you'll have various services available. Services include:
* Commodity Exchange
* Spaceport Bar
* Mission Computer
* Outfitting
* Shipyard]]
title[6] = "Commodity Exchange"
text[18] = [[In the Commodity Exchange you can buy or sell goods. The goods available depend on where you are. Not every place has everything.]]
title[7] = "Spaceport Bar"
text[19] = [[The Spaceport Bar is a great place to find all sorts of esoteric missions. If you are looking for adventure you should always check the Spaceport Bar as soon as you land. Don't forget to have some cargo space available as most missions will use it.]]
title[8] = "Mission Computer"
text[20] = [[The Mission Computer is a place where you can find many missions available for getting quick money. Since these missions are created by computer systems they tend to not be too interesting compared to what you can find in the Spaceport Bar. They're a great way to start exploring the universe though.]]
title[9] = "Outfitting"
text[21] = [[The more advanced planets and stations will have Outfitting available. There you can modify your ship and add all sorts of gadgets allowing you to increase your ship's efficiency giving you an edge over the rest. Not every place has every outfit so it's good to travel all over to see what's available. It's advisable to always buy maps if they're available.]]
title[10] = "Shipyard"
text[22] = [[In the Shipyard you can buy ships. You can also store the ships you own and switch between them or sell them. It's very expensive to transport ships between systems, so it's usually best to go to where the ship is.]]
text[23] = [[Try exploring a bit around the planet. When you're ready to leave click on 'Takeoff' and we'll continue the tutorial.]]
-- Step 8.
title[11] = "Navigation Tutorial"
text[24] = [[In this final part of the tutorial we'll deal with long-distance navigation. All ships in Lephisto are equipped with a hyperspace drive and universe map. Important keys to remember:
'm' opens the system map.
'h' cycles through hyperspace targets.
'j' attemps to enter hyperspace or aborts an attempt.
'ctrl + j' actives autonavigation pilot.]]
title[12] = "System Map"
text[25] = [[We'll first talk about the map. When you open your map you'll notice it's very empty. That's because you haven't explored much yet. As you explore stuff or buy star maps it'll expand. Each circle represents a system, and the lines represent hyperspace routes. You can click on a system to select it as a hyperspace target. If it's far away the autonav system will make a route to it which your autonavigation pilot can use. The colour of each jump indicates whether you have enough fuel or not to make it.]]
title[13] = "Nav System"
text[26] = [[Once you have a target you'll notice it in your nav system. If you are far enough to jump it'll be green, otherwise it'll be grey. You can't jump near big gravity centers, meaning basically planets and space stations. Once you get far enough away it'll turn green and you can initialize the jump.]]
text[27] = [[Now we'll try to jump, he's an overview of how it works:
1) Select target with map ('m') or cycle through targets with 'h'.
2) Get away from gravity wells until navigation turns green or use autopilot 'ctrl + j'.
3) Use 'j' to initialize the jump.
Try doing this now, since you haven't explored any systems just pick any one and try jumping. I'd recommend the one on the bottom right if you don't want trouble]]
-- Stage 9.
title[14] = "Tutorial Finished"
text[28] = [[And this concludes the tutorial. You should now know how to:
* Fly
* Target
* Fight
* Land
* Jump
You should start getting better by getting cargo missions at Mission Computers, which will also help you explore the universe.
Enjoy them game!]]
-- Mission details.
misn_title = "Lephisto Tutorial"
misn_reward = "Knowledge of how to play the game."
misn_desc = "New Player Tutorial to learn how survive in the universe."
-- Aborted mission.
msg_abortTitle = "Tutorial Aborted"
msg_abort = [[You seem to know more then is needed for the tutorial. Tutorial aborting.]]
end
function create ()
if tk.yesno( title[1], text[1] )
then
misn.accept()
-- Clear area of enemies.
pilot.clear()
pilot.toggleSpawn(false)
-- Set basic mission information.
misn.setTitle( misn_title )
misn.setReward( misn_reward )
misn.setDesc( misn_desc )
-- Give indications on how to fly.
misn_stage = 1
tk.msg( title[1], text[2] )
tk.msg( title[2], text[3] )
misn.timerStart( "flightOver", 15000 ) -- 15 second timer to fly around
-- Set Hooks
hook.land( "tutLand" )
hook.takeoff( "tutTakeoff" )
hook.enter( "tutEnter" )
end
end
function flightOver ()
misn_stage = 2
tk.msg( title[2], text[4] )
misn.timerStart( "brakeOver", 1000 )
end
function brakeOver ()
player = pilot.player()
-- Check if player successfully braked.
if player:vel():mod() < 10 then
misn_stage = 3
tk.msg( title[2], text[5] )
tk.msg( title[3], text[6] )
tk.msg( title[3], text[7] )
pilots = pilot.add( "Sml Trader Convoy", "dummy" )
for k,v in ipairs(pilots) do
v:setFaction("Dummy")
v:rename("Dummy")
end
misn.timerStart( "targetOver", 20000 ) -- 20 seconds to target
else
-- Keep on trying until he braked
misn.timerStart( "brakeOver", 1000 )
end
end
function targetOver ()
misn_stage = 4
-- Tell about combat.
tk.msg( title[4], text[8] )
tk.msg( title[4], text[9] )
-- Clear pilots again.
pilot.clear()
addLlamaDummy()
end
function addLlamaDummy ()
-- Add the combat dummy.
pilots = pilot.add( "Trader Llama", "dummy" )
for k,v in ipairs(pilots) do
v:setFaction("Dummy")
v:rename("Dummy")
hook.pilot( v, "disable", "llamaDisabled" )
hook.pilot( v, "death", "llamaDead" )
hook.pilot( v, "board", "llamaBoard" )
end
end
function llamaDisabled ()
misn_stage = 5
tk.msg( title[4], text[10] )
end
function llamaDead ()
if misn_stage < 6 then
misn_stage = 4
tk.msg( title[4], text[11] )
addLlamaDummy()
end
end
function llamaBoard ()
misn_stage = 6
tk.msg( title[4], text[12] )
misn.timerStart( "boardOver", 3000 )
end
function boardOver ()
tk.msg( title[4], text[13] )
pilot.clear() -- Get rid of disabled llama
pilots = pilot.add( "Pirate Hyena" )
for k,v in ipairs(pilots) do
hook.pilot( v, "death", "hyenaDead" )
hook.pilot(v, "jump", "hyenaDead") -- Treat jump as dead.
end
misn.timerStart( "bringHelp", 9000 ) -- Player "should" surive 9 seconds
end
function bringHelp ()
pilot.add( "Empire Lancelot" )
pilot.add( "Empire Lancelot" ) -- Lancelot crushes Hyena
end
function hyenaDead ()
misn_stage = 7
tk.msg( title[4], text[14] )
tk.msg( title[5], text[15] )
tk.msg( title[5], text[16] )
end
function tutLand ()
-- Shouldn't be landing yet.
if misn_stage ~= 7 then
tk.msg( msg_abortTitle, msg_abort )
misn.finish(false)
else
misn_stage = 8
tk.msg( title[5], text[17] )
tk.msg( title[6], text[18] )
tk.msg( title[7], text[19] )
tk.msg( title[8], text[20] )
tk.msg( title[9], text[21] )
tk.msg( title[10], text[22] )
tk.msg( title[5], text[23] )
end
end
function tutTakeoff ()
misn_stage = 8
misn_sys = space.getSystem()
tk.msg( title[11], text[24] )
tk.msg( title[12], text[25] )
tk.msg( title[13], text[26] )
tk.msg( title[13], text[27] )
end
function tutEnter ()
enter_sys = space.getSystem()
if misn_stage ~= 8 then
tk.msg( msg_abortTitle, msg_abort )
misn.finish(false)
elseif enter_sys ~= misn_sys then
misn_stage = 9
tk.msg( title[14], text[28] )
misn.finish(true)
end
end

View File

@ -1,822 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Outfits>
<outfit name="Ripper MK2">
<general>
<max>3</max>
<tech>11</tech>
<license>Medium Weapon License</license>
<mass>12</mass>
<price>95000</price>
<description>The Ripper does what it's name implies: it rips through enemies with ease. Only downside is the energy needed to power it.</description>
<gfx_store>heavy</gfx_store>
</general>
<specific type="bolt">
<gfx>ripper</gfx>
<sound>laser</sound>
<spfx_shield>ShiS</spfx_shield>
<spfx_armour>ExpS</spfx_armour>
<delay>700</delay>
<speed>700</speed>
<range>400</range>
<accuracy>10</accuracy>
<energy>22</energy>
<damage type="energy">18</damage>
</specific>
</outfit>
<outfit name="Laser Cannon">
<general>
<max>6</max>
<tech>2</tech>
<mass>5</mass>
<price>5000</price>
<description>Your basic laser. Fires charged energy beams that do a decent amount of damage to both shield and armour.</description>
<gfx_store>laser</gfx_store>
</general>
<specific type="bolt">
<gfx>laserred</gfx>
<sound>laser</sound>
<spfx_shield>ShiS</spfx_shield>
<spfx_armour>ExpS</spfx_armour>
<delay>500</delay>
<speed>550</speed>
<range>300</range>
<accuracy>25</accuracy>
<energy>8</energy>
<damage type="energy">10</damage>
</specific>
</outfit>
<outfit name="Laser Turret">
<general>
<max>4</max>
<tech>4</tech>
<license>Medium Weapon License</license>
<mass>20</mass>
<price>25000</price>
<description>Two laser cannons added on a rotating turret, allowing for 360 degrees of firepower.</description>
<gfx_store>turret</gfx_store>
</general>
<specific type="turret bolt">
<gfx>laserred</gfx>
<sound>laser</sound>
<spfx_shield>ShiS</spfx_shield>
<spfx_armour>ExpS</spfx_armour>
<delay>300</delay>
<speed>550</speed>
<range>300</range>
<accuracy>25</accuracy>
<energy>10</energy>
<damage type="energy">10</damage>
</specific>
</outfit>
<outfit name="Plasma Blaster">
<general>
<max>4</max>
<tech>3</tech>
<mass>5</mass>
<price>9000</price>
<description>Plasma is very volatile, if properly controlled it can be very destructive, it does tend to dissipate quickly though.</description>
<gfx_store>laser</gfx_store>
</general>
<specific type="bolt">
<gfx>plasma</gfx>
<sound>laser</sound>
<spfx_shield>ShiS</spfx_shield>
<spfx_armour>PlaS</spfx_armour>
<delay>400</delay>
<speed>450</speed>
<range>250</range>
<accuracy>25</accuracy>
<energy>7</energy>
<damage type="energy">7</damage>
</specific>
</outfit>
<outfit name="Ion Cannon">
<general>
<max>4</max>
<tech>7</tech>
<license>Medium Weapon License</license>
<mass>9</mass>
<price>15000</price>
<description>Ion pulses were originally intended only to deactivate shields since they had completely nullified the old radiation technology weapons. It was thought that by figuring out a way to deactivate shields fast the radiation technology would still be able to destroy the armour. By combining shield destruction power and armour destruction power, the perfect weapons could be designed. The Ion pulses ended up being very effective against armour and electronics. With the invention of the latest generation shields and armour materials, Ion pulses have lost much of the terrain they had as newfound technology.</description>
<gfx_store>medium</gfx_store>
</general>
<specific type="bolt">
<gfx>ion</gfx>
<sound>ion</sound>
<spfx_shield>ShiS</spfx_shield>
<spfx_armour>ExpS</spfx_armour>
<delay>800</delay>
<speed>500</speed>
<range>400</range>
<accuracy>13</accuracy>
<energy>13</energy>
<damage type="ion">15</damage>
</specific>
</outfit>
<outfit name="Heavy Ion Turret">
<general>
<max>3</max>
<tech>11</tech>
<mass>35</mass>
<license>Heavy Weapon License</license>
<price>75000</price>
<description>The heavy Ion Turret uses a bigger generator for each cannon giving it more punch then the Ion cannon. The drawback is that this augments the power usage considerably. Being designed for capital ships, this doesn't seem to worry the makers too much.</description>
<gfx_store>turret2</gfx_store>
</general>
<specific type="turret bolt">
<gfx>ion</gfx>
<sound>ion</sound>
<spfx_shield>ShiS</spfx_shield>
<spfx_armour>ExpS</spfx_armour>
<delay>400</delay>
<speed>500</speed>
<range>400</range>
<accuracy>7</accuracy>
<energy>17</energy>
<damage type="ion">17</damage>
</specific>
</outfit>
<outfit name="150mm Railgun">
<general>
<max>2</max>
<tech>8</tech>
<license>Heavy Weapon License</license>
<mass>15</mass>
<price>85000</price>
<description>The rail gun is a cannon that uses heavy magnetic pulses to accelerate pieces of debris to extremely high velocities. The impact caused by the pieces of debris can tear apart even the strongest ship hulls.</description>
<gfx_store>heavy</gfx_store>
</general>
<specific type="bolt" secondary="1">
<gfx>mass</gfx>
<sound>mass</sound>
<spfx_shield>ShiM</spfx_shield>
<spfx_armour>ExpM</spfx_armour>
<delay>1100</delay>
<speed>650</speed>
<range>500</range>
<accuracy>10</accuracy>
<energy>35</energy>
<damage type="kinetic">40</damage>
</specific>
</outfit>
<outfit name="Orion Beam">
<general>
<max>1</max>
<tech>11</tech>
<license>Heavy Weapon License</license>
<mass>20</mass>
<price>184000</price>
<description>One of the more popular beam weapons for it's simplicity and size. Most heavy fighters have no trouble fitting one of these. Being fixed mounted it inherits their maneuverability, allowing for greater precision on agile ships.</description>
<gfx_store>orion</gfx_store>
</general>
<specific type="beam" secondary="1">
<delay>6000</delay>
<duration>3</duration>
<range>300</range>
<energy>70</energy>
<damage type="energy">40</damage>
<spfx_shield>ShiS</spfx_shield>
<spfx_armour>ExpS</spfx_armour>
<gfx>beam_orion</gfx>
<sound>beam0</sound>
<sound_off>beam_off0</sound_off>
</specific>
</outfit>
<outfit name="Ragnarok Beam">
<general>
<max>1</max>
<tech>13</tech>
<mass>60</mass>
<price>745000</price>
<description>The Ragnorak Beam is one of the most powerful beam class weapons on the market. It's designed for capital ship combat, although its extremely large payload makes it also somewhat useful for clearing enemy fighters.</description>
<gfx_store>turret3</gfx_store>
</general>
<specific type="turret beam" secondary="1">
<delay>10000</delay>
<duration>5</duration>
<range>400</range>
<turn>50</turn>
<energy>130</energy>
<damage type="energy">100</damage>
<spfx_shield>ShiS</spfx_shield>
<spfx_armour>ExpS</spfx_armour>
<gfx>beam_ragnarok</gfx>
<sound>beam0</sound>
<sound_off>beam_off0</sound_off>
</specific>
</outfit>
<outfit name="Seeker Launcher">
<general>
<max>2</max>
<tech>4</tech>
<mass>10</mass>
<price>25000</price>
<description>Base for launching seeking missiles.</description>
<gfx_store>missile</gfx_store>
</general>
<specific type="missile seek" secondary="1">
<ammo>Seeker Missile</ammo>
<delay>1800</delay>
</specific>
</outfit>
<outfit name="Seeker Missile">
<general>
<max>60</max>
<tech>2</tech>
<mass>1</mass>
<price>800</price>
<description>The cheapest missile on the market, what it lacks in a decent tracking system it makes up for in affordability and firepower.</description>
<gfx_store>missile</gfx_store>
</general>
<specific type="missile seek ammo">
<gfx>missile</gfx>
<sound>missile</sound>
<spfx_shield>ExpM</spfx_shield>
<spfx_armour>ExpM</spfx_armour>
<duration>5</duration>
<lockon>1</lockon>
<thrust>400</thrust>
<turn>60</turn>
<speed>800</speed>
<damage type="kinetic">20</damage>
</specific>
</outfit>
<outfit name="Headhunter Launcher">
<general>
<max>2</max>
<tech>5</tech>
<license>Medium Weapon License</license>
<mass>12</mass>
<price>40000</price>
<description>The Headhunter Launcher is one of the most used missile launchers by the security companies. Much more reliable then the regular missiles, Headhunters feature more sensors and an advanced tracking system making them much better at hitting their targets.</description>
<gfx_store>missile</gfx_store>
</general>
<specific type="missile smart" secondary="1">
<ammo>Headhunter</ammo>
<delay>2200</delay>
</specific>
</outfit>
<outfit name="Headhunter">
<general>
<max>40</max>
<tech>5</tech>
<license>Medium Weapon License</license>
<mass>1</mass>
<price>2000</price>
<description>Headhunters first gained fame in the crush of the Araknoid, a fearsome battle against a pirate stronghold where the Empire crushed the pirates thanks to the advanced guidance system on the Headhunter. Now used by mercenaries and bounty hunters all over.</description>
<gfx_store>missile</gfx_store>
</general>
<specific type="missile smart ammo">
<gfx>headhunter</gfx>
<sound>missile</sound>
<spfx_shield>ExpM</spfx_shield>
<spfx_armour>ExpM</spfx_armour>
<duration>7</duration>
<lockon>0.5</lockon>
<resist>5</resist>
<thrust>325</thrust>
<turn>90</turn>
<speed>550</speed>
<damage type="kinetic">20</damage>
</specific>
</outfit>
<outfit name="Banshee Launcher">
<general>
<max>2</max>
<tech>9</tech>
<license>Medium Weapon License</license>
<mass>10</mass>
<price>25000</price>
<gfx_store>bansheelauncher</gfx_store>
<description>The Banshee Launcher uses a quick action firing mechanism to be able to quickly launch the banshee rockets. The only drawback is that this mechanism can only be used with light rockets, limiting the payload the rockets can have.</description>
</general>
<specific type="missile dumb" secondary="1">
<ammo>Banshee Rocket</ammo>
<delay>300</delay>
</specific>
</outfit>
<outfit name="Banshee Rocket">
<general>
<max>40</max>
<tech>6</tech>
<license>Medium Weapon License</license>
<mass>0</mass>
<price>100</price>
<description>The Banshee Rocket gets it's name from the wail it makes when launched. They carry an EMP payload which is very helpful when attempting to disable ships.</description>
<gfx_store>banshee</gfx_store>
</general>
<specific type="missile dumb ammo">
<gfx>banshee</gfx>
<sound>missile</sound>
<spfx_shield>EmpS</spfx_shield>
<spfx_armour>EmpS</spfx_armour>
<duration>0.8</duration>
<accuracy>12</accuracy>
<thrust>0</thrust>
<speed>600</speed>
<damage type="emp">15</damage>
</specific>
</outfit>
<outfit name="Neutron Disruptor">
<general>
<max>3</max>
<tech>99</tech>
<mass>8</mass>
<price>25000</price>
<description>Neutron Disruptor.</description>
<gfx_store>neutron</gfx_store>
</general>
<specific type="bolt">
<gfx>neutron</gfx>
<sound>neutron</sound>
<spfx_shield>ShiS</spfx_shield>
<spfx_armour>ExpS</spfx_armour>
<delay>400</delay>
<speed>650</speed>
<range>275</range>
<accuracy>15</accuracy>
<energy>5</energy>
<damage type="energy">7</damage>
</specific>
</outfit>
<outfit name="Battery">
<general>
<max>10</max>
<tech>3</tech>
<mass>2</mass>
<price>22500</price>
<description>A heavy battery that will increase your ship's energy to allow you to pack more firepower.</description>
<gfx_store>capacitator</gfx_store>
</general>
<specific type="modification">
<energy>30</energy>
</specific>
</outfit>
<outfit name="Solar Panel">
<general>
<max>5</max>
<tech>5</tech>
<mass>3</mass>
<price>55000</price>
<description>A big panel that will generate energy based off solar energy. This will allow your ship to regenerate its energy supplies faster.</description>
<gfx_store>solar</gfx_store>
</general>
<specific type="modification">
<energy_regen>75</energy_regen>
</specific>
</outfit>
<outfit name="Shield Capacitor">
<general>
<max>12</max>
<tech>9</tech>
<mass>3</mass>
<price>75000</price>
<description>An enhancement for the shield power system, allowing it to resist much heavier fire.</description>
<gfx_store>capacitator</gfx_store>
</general>
<specific type="modification">
<shield>15</shield>
</specific>
</outfit>
<outfit name="Shield Booster">
<general>
<max>4</max>
<tech>10</tech>
<mass>5</mass>
<price>145000</price>
<description>A shield generator that feeds off the ship's main energy line. It will allow you to generate your shield faster and give you a small maximum shield boost at the expense of draining some of the ship's energy.</description>
<gfx_store>shield</gfx_store>
</general>
<specific type="modification">
<shield>15</shield>
<shield_regen>15</shield_regen>
<energy_regen>-50</energy_regen>
</specific>
</outfit>
<outfit name="Engine Reroute">
<general>
<max>1</max>
<tech>13</tech>
<mass>1</mass>
<price>125000</price>
<description>This enhancement routes energy from the ship's energy supplies to the engine, giving the ship an increased thrust. It does not increase the ship's max speed nor turn abilities.</description>
<gfx_store>reroute</gfx_store>
</general>
<specific type="modification">
<thrust>70</thrust>
<energy_regen>-50</energy_regen>
</specific>
</outfit>
<outfit name="Improved Stabilizer">
<general>
<max>1</max>
<tech>13</tech>
<mass>1</mass>
<price>135000</price>
<description>By improving your ship's stabilization systems drastically, this modification will allow you to reach higher speeds while still keeping the ship stable.</description>
<gfx_store>stabilizer</gfx_store>
</general>
<specific type="modification">
<speed>50</speed>
<turn>5</turn>
<energy_regen>-10</energy_regen>
</specific>
</outfit>
<outfit name="Steering Thrusters">
<general>
<max>1</max>
<tech>13</tech>
<mass>1</mass>
<price>130000</price>
<description>With the adding of a couple of additional steering thrusters you can make your ship very agile at turning.</description>
<gfx_store>thruster</gfx_store>
</general>
<specific type="modification">
<turn>25</turn>
<energy_regen>-10</energy_regen>
</specific>
</outfit>
<outfit name="Generic Afterburner">
<general>
<max>1</max>
<tech>3</tech>
<mass>2</mass>
<price>20000</price>
<description>Being able to run from your enemies is a very powerful ability. A generic afterburner will allow you to do that. It may not be as powerful as some of the more high-end afterburners, but they're not nearly as affordable as a generic one.</description>
<gfx_store>afterburner</gfx_store>
</general>
<specific type="afterburner">
<rumble>0.5</rumble>
<sound>afterburner</sound>
<thrust_perc>100</thrust_perc>
<thrust_abs>50</thrust_abs>
<speed_perc>50</speed_perc>
<speed_abs>30</speed_abs>
<energy>60</energy>
</specific>
</outfit>
<outfit name="Hellburner">
<general>
<max>1</max>
<tech>13</tech>
<mass>4</mass>
<price>95000</price>
<description>The Hellburner is one of the best afterburners available in the market. They have a much better energy to speed ratio then the generics and are much stronger. A must for any spacefarer who is proud of his ship.</description>
<gfx_store>afterburner2</gfx_store>
</general>
<specific type="afterburner">
<rumble>0.9</rumble>
<sound>afterburner</sound>
<thrust_perc>185</thrust_perc>
<thrust_abs>100</thrust_abs>
<speed_perc>85</speed_perc>
<speed_abs>50</speed_abs>
<energy>65</energy>
</specific>
</outfit>
<outfit name="Fuel Pod">
<general>
<max>4</max>
<tech>3</tech>
<mass>5</mass>
<price>15000</price>
<description>The Fuel Pod allows a ship to store more fuel for hyperspace jumps. Each pod effectively increases a ship's range by a jump.</description>
<gfx_store>fuel_pod</gfx_store>
</general>
<specific type="modification">
<fuel>100</fuel>
</specific>
</outfit>
<outfit name="Cargo Pod">
<general>
<max>4</max>
<tech>6</tech>
<mass>15</mass>
<price>35000</price>
<description>Cargo Pods are big containers you can attach to dedicated weapon space allowing you to transport more cargo. The drawback is that you lose a lot of weapon space and won't be able to defend your cargo as well...</description>
<gfx_store>cargo_pod</gfx_store>
</general>
<specific type="modification">
<cargo>15</cargo>
</specific>
</outfit>
<outfit name="Weapon Rack">
<general>
<max>4</max>
<tech>8</tech>
<mass>-10</mass>
<price>65000</price>
<description>Adding a Weapon Rack to your ship will allow you to enjoy the benefits of more weapon space at the cost of cargo space. It's often more wiser to have less cargo, but to guard it well.</description>
<gfx_store>weapon_rack</gfx_store>
</general>
<specific type="modification">
<cargo>-15</cargo>
</specific>
</outfit>
<outfit name="Star Map">
<general>
<max>1</max>
<tech>4</tech>
<mass>0</mass>
<price>7000</price>
<description>A Star Map will give you details about all systems up to 2 jumps away. It's a great risk-free way to discover parts of the universe.</description>
<gfx_store>map</gfx_store>
</general>
<specific type="map">
<radius>2</radius>
</specific>
</outfit>
<outfit name="Civilian Jammer">
<general>
<max>1</max>
<tech>7</tech>
<mass>2</mass>
<price>40000</price>
<description>This jammer allows you to block the targetting systems of some of the missiles headed towards you, giving them unpredictable behaviors, likely not to impact with your ship.</description>
<gfx_store>jammer0</gfx_store>
</general>
<specific type="jammer">
<range>400</range>
<chance>20</chance>
<energy>3</energy>
</specific>
</outfit>
<outfit name="Milspec Jammer">
<general>
<max>1</max>
<tech>13</tech>
<mass>3</mass>
<price>250000</price>
<description>This jammer follows the much stricter military specifications, allowing it to deflect a much greater amount of missiles at more range then the civilian counterpart. The downside is that the energy requirements are much greater.</description>
<gfx_store>jammer1</gfx_store>
</general>
<specific type="jammer">
<range>600</range>
<chance>40</chance>
<energy>10</energy>
</specific>
</outfit>
<outfit name="Mace Launcher">
<general>
<max>2</max>
<tech>3</tech>
<license>Medium Weapon License</license>
<mass>10</mass>
<price>19000</price>
<description>A base for launching Dvaered Mace rockets.</description>
<gfx_store>mace</gfx_store>
</general>
<specific type="missile dumb" secondary="1">
<ammo>Mace Rocket</ammo>
<delay>2000</delay>
</specific>
</outfit>
<outfit name="Mace Rocket">
<general>
<max>40</max>
<tech>2</tech>
<license>Medium Weapon License</license>
<mass>2</mass>
<price>700</price>
<description>The Mace rocket is a very heavy, fast accelerating rocket designed for high speed collisions. The rockets doesn't have too much explosive, instead it has a lot of fuel it uses for the acceleration. Most of the damage it does is from the impact and not the explosion though.</description>
<gfx_store>mace</gfx_store>
</general>
<specific type="missile dumb ammo">
<gfx>mace</gfx>
<sound>missile</sound>
<spfx_shield>ExpM</spfx_shield>
<spfx_armour>ExpM</spfx_armour>
<duration>3</duration>
<thrust>300</thrust>
<speed>1000</speed>
<damage type="kinetic">35</damage>
</specific>
</outfit>
<outfit name="EMP Grenade Launcher">
<general>
<max>2</max>
<tech>7</tech>
<mass>17</mass>
<price>31000</price>
<gfx_store>empgrenadelauncher</gfx_store>
<description>This launcher can fire EMP grenades in any direction using a unique internal guidance system. These are favored by traders for escaping from pirates.</description>
</general>
<specific type="turret dumb" secondary="1">
<ammo>EMP Grenade</ammo>
<delay>2000</delay>
</specific>
</outfit>
<outfit name="EMP Grenade">
<general>
<max>30</max>
<tech>6</tech>
<mass>1</mass>
<price>600</price>
<gfx_store>empgrenade</gfx_store>
<description>This is a grenade that can be launched to unleash EMP blasts rendering most electronics in the area useless. Good for taking ships alive instead of killing them, as the EMP blasts rarely destroy the ship, leaving it intact with non-working electronics instead.</description>
</general>
<specific type="turret dumb ammo">
<gfx spin="0.3">empgrenade</gfx>
<sound>grenade</sound>
<spfx_shield>EmpS</spfx_shield>
<spfx_armour>EmpM</spfx_armour>
<duration>1.3</duration>
<thrust>0</thrust>
<speed>400</speed>
<damage type="emp">40</damage>
</specific>
</outfit>
<outfit name="Plasteel Plating">
<general>
<max>1</max>
<tech>6</tech>
<mass>15</mass>
<price>65000</price>
<gfx_store>plasteel</gfx_store>
<description>Plasteel was one of man's greatest improvements on materials. It's a cheap, very strong armour that seems to take the best from both plastic and steel. You can bend it relatively easily while keeping it's incredible strength. The Second Growth was only possible with this amazing new material.
By adding quite a dense layer of Plasteel to your ship you can increase it's sturdiness by a lot. Although with the advent of even newer materials Plasteel is starting to fade in popularity, although it's lower price tag always seems to keep a loyal customer base.</description>
</general>
<specific type="modification">
<armour>35</armour>
</specific>
</outfit>
<outfit name="Nanobond Plating">
<general>
<max>1</max>
<tech>9</tech>
<mass>35</mass>
<price>365000</price>
<gfx_store>nanobond</gfx_store>
<description>Nanobond is the successor to Plasteel. It follows the same approach but has a much more refined manufacturing process with much more control on the small scale. The result is a much more robust and dense material although much more expensive.</description>
</general>
<specific type="modification">
<armour>120</armour>
</specific>
</outfit>
<outfit name="Biometal Armour">
<general>
<max>1</max>
<tech>15</tech>
<mass>57</mass>
<price>1120000</price>
<gfx_store>biometal</gfx_store>
<description>Biometal is a metal armour that will actually regenerate itself thanks to some special bacteria it uses. The downside is that this makes it much bulkier and more expensive then just using a more refined Nanobond. The results are pretty formidable, but it's hard to equip such armour on anything short of a Destroyer.</description>
</general>
<specific type="modification">
<armour>150</armour>
<armour_regen>60</armour_regen>
</specific>
</outfit>
<outfit name="Droid Repair Crew">
<general>
<max>3</max>
<tech>11</tech>
<mass>3</mass>
<price>430000</price>
<gfx_store>droid</gfx_store>
<description>This low maintenance droid crew will scour your ship to repair any damages caused by space hazards. They are very small and able to work both on the interior or exterior of the ship. Power is drawn from the ship to feed the robots, although the load is generally very low compared to the benefits of having a robotic repair crew.</description>
</general>
<specific type="modification">
<armour_regen>30</armour_regen>
<energy>-5</energy>
<energy_regen>-40</energy_regen>
</specific>
</outfit>
<outfit name="Reactor Class I">
<general>
<max>1</max>
<tech>9</tech>
<mass>12</mass>
<price>170000</price>
<gfx_store>reactor_i</gfx_store>
<description>Adding a complementary reactor to your ship is a great way to get that extra energy boost you need. This do not replace the existing reactor but works alongside it and hooks up directly to the energy flux.</description>
</general>
<specific type="modification">
<energy>20</energy>
<energy_regen>330</energy_regen>
</specific>
</outfit>
<outfit name="Reactor Class II">
<general>
<max>1</max>
<tech>12</tech>
<mass>23</mass>
<price>530000</price>
<gfx_store>reactor_ii</gfx_store>
<description>The class II reactor takes a different approach to energy creation then the class I reactor. The new fusion design allows it to have a higher energy output, but is deemed unstable at bigger loads. The result is a medium sized reactor that can't really suit the needs of the bigger warships.</description>
</general>
<specific type="modification">
<energy>60</energy>
<energy_regen>720</energy_regen>
</specific>
</outfit>
<outfit name="Reactor Class III">
<general>
<max>1</max>
<tech>12</tech>
<mass>46</mass>
<price>970000</price>
<gfx_store>reactor_iii</gfx_store>
<description>The class III reactor pretty much makes all your energy worries negligible. It follows the traditional fusion approach of the class I reactor, only making it much bigger. The size increase makes it only fit comfortably on large vessels, but the energy output is also suited for those.</description>
</general>
<specific type="modification">
<energy>100</energy>
<energy_regen>1620</energy_regen>
</specific>
</outfit>
<outfit name="Lancelot Fighter Bay">
<general>
<max>1</max>
<tech>14</tech>
<license>Light Combat Vessel License</license>
<mass>80</mass>
<price>830000</price>
<gfx_store>lancelot_fighter</gfx_store>
<description>This fighter bay allows your ship to carry a pair of Lancelot class Fighters. It comes with all the devices required for the maintenance and flight of the fighters.</description>
</general>
<specific type="fighter bay" secondary="1">
<ammo>Lancelot Fighter</ammo>
<delay>4000</delay>
</specific>
</outfit>
<outfit name="Lancelot Fighter">
<general>
<max>2</max>
<tech>12</tech>
<license>Light Combat Vessel License</license>
<mass>0</mass>
<price>500000</price>
<gfx_store>lancelot_fighter</gfx_store>
<description>This is a Lancelot class Fighter adapted for usage in the Lancelot Fighter Bay. It contains all the features of the standalone Lancelot with improved encrypted communication.</description>
</general>
<specific type="fighter">
<ship>Lancelot</ship>
</specific>
</outfit>
<outfit name="Large Civilian Vessel License">
<general>
<max>1</max>
<tech>7</tech>
<mass>0</mass>
<price>75000</price>
<gfx_store>license</gfx_store>
<description>This license will authorize you to buy Cruise Ship and Bulk Carrier class ships.</description>
</general>
<specific type="license" />
</outfit>
<outfit name="Medium Weapon License">
<general>
<max>1</max>
<tech>5</tech>
<mass>0</mass>
<price>50000</price>
<gfx_store>license</gfx_store>
<description>This license will authorize you to buy and use medium weapons like the Ion Cannon.</description>
</general>
<specific type="license" />
</outfit>
<outfit name="Heavy Weapon License">
<general>
<max>1</max>
<tech>9</tech>
<mass>0</mass>
<price>125000</price>
<gfx_store>license</gfx_store>
<description>This license will authorize you to buy and use heavy weapons like the Heavy Ion Turret.</description>
</general>
<specific type="license" />
</outfit>
<outfit name="Light Combat Vessel License">
<general>
<max>1</max>
<tech>9</tech>
<mass>0</mass>
<price>175000</price>
<gfx_store>license</gfx_store>
<description>This license will authorize you to buy Fighter and Bomber class ships.</description>
</general>
<specific type="license" />
</outfit>
<outfit name="Medium Combat Vessel License">
<general>
<max>1</max>
<tech>11</tech>
<mass>0</mass>
<price>350000</price>
<gfx_store>license</gfx_store>
<description>This license will authorize you to buy Destroyer and Corvette class ships.</description>
</general>
<specific type="license" />
</outfit>
<outfit name="Heavy Combat Vessel License">
<general>
<max>1</max>
<tech>13</tech>
<mass>0</mass>
<price>900000</price>
<gfx_store>license</gfx_store>
<description>This license will authorize you to buy Cruiser and Carrier class ships.</description>
</general>
<specific type="license" />
</outfit>
</Outfits>

View File

@ -1,823 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Planets>
<planet name="Caladan">
<GFX>
<exterior>oceanic.png</exterior>
<space>M01.png</space>
</GFX>
<pos>
<y>0</y>
<x>0</x>
</pos>
<general>
<prodfactor>0.5</prodfactor>
<bar>The bar is just off the starport with a great view of the harbor. You could watch the fishermen run frantically about attending their duties for hours.</bar>
<description>The surface of the planet is predominantly covered with water and the planetary climate is characterized by abundant precipitation and strong winds, yet tolerable enough to make special and expensive weather control measures unnecessary. Habitable land is often characterized by soft meadows, swamps and dense forests. The resource base of Caladan consists mainly of agriculture and biomass, with the locally bred and grown pundi rice being its main export, and fishing a traditional source of sustenance for its people. Other traditional products include wine and various livestock, most prominently cattle. Cuisine on Caladan is rather refined, with most dishes containing meat.</description>
<faction>Empire</faction>
<commodities>
<commodity>Food</commodity>
<commodity>Ore</commodity>
<commodity>Industrial Goods</commodity>
<commodity>Medicine</commodity>
</commodities>
<tech>
<main>5</main>
<special>0</special>
</tech>
<services>31</services>
<class>M</class>
<population>17000000</population>
</general>
</planet>
<planet name="Eiroik">
<GFX>
<exterior>methane.png</exterior>
<space>J01.png</space>
</GFX>
<pos>
<y>239</y>
<x>73</x>
</pos>
<general>
<services>1</services>
<tech>
<main>0</main>
<special>0</special>
</tech>
<class>J</class>
<description>Eiroik used to be a mining planet under the Empire rule until the Collective wiped out the human colonies on it. The harsh atmosphere did the rest, erasing all tracks of former human life.</description>
</general>
</planet>
<planet name="S23491">
<GFX>
<exterior>station01.png</exterior>
<space>001.png</space>
</GFX>
<pos>
<y>0</y>
<x>0</x>
</pos>
<general>
<services>0</services>
<tech>
<main>0</main>
<special>0</special>
</tech>
<class>3</class>
<faction>Collective</faction>
</general>
</planet>
<planet name="Nor">
<GFX>
<exterior>gas.png</exterior>
<space>I01.png</space>
</GFX>
<pos>
<y>0</y>
<x>0</x>
</pos>
<general>
<prodfactor>0.3</prodfactor>
<bar>There's nothing remarkable about the Nor spaceport bar. It's full of drunken Dvaereds trying to forget their hard labour.</bar>
<description>Nor was one of the first Dvaered worlds to be terraformed. It's abundance in gas and ores made it a strategic location and has since then been heavily reinforced after FLF attacks and sabotages.</description>
<faction>Dvaered</faction>
<commodities>
<commodity>Food</commodity>
<commodity>Medicine</commodity>
<commodity>Ore</commodity>
<commodity>Industrial Goods</commodity>
</commodities>
<tech>
<main>0</main>
<special>0</special>
</tech>
<services>7</services>
<class>I</class>
<population>130000</population>
</general>
</planet>
<planet name="Jorlan">
<GFX>
<exterior>traderoom.png</exterior>
<space>D01.png</space>
</GFX>
<pos>
<y>120</y>
<x>-97</x>
</pos>
<general>
<prodfactor>0.5</prodfactor>
<bar>The Jorlan people don't really have a habit for drinking. You only seem to see other spacefarers in the bar, but no natives.</bar>
<description>Jorlan is a small moon that orbits Haleb IV. It's inhabitants are mostly part of the ore refining process, as it supplies most of the Frontier with all sorts of alloys. Gas miners are also sent down to Haleb IV every dozen STU when the planetary conditions are favorable, otherwise the incredible winds can crush many ships like tin cans.</description>
<faction>Frontier</faction>
<commodities>
<commodity>Food</commodity>
<commodity>Ore</commodity>
<commodity>Industrial Goods</commodity>
</commodities>
<tech>
<main>6</main>
<special>0</special>
</tech>
<services>15</services>
<class>D</class>
<population>5000000</population>
</general>
</planet>
<planet name="Selphod">
<GFX>
<exterior>snow.png</exterior>
<space>P00.png</space>
</GFX>
<pos>
<y>0</y>
<x>0</x>
</pos>
<general>
<prodfactor>0.3</prodfactor>
<bar>Most of the drinks served at the bar are served very warm with heavy infusions of all kinds of spices. They are designed to give a lot of energy to keep the body warm when walking in the cold base.</bar>
<description>Selphod is a very harsh and barren ice planet. Most of the locals have never ventured outside the established bases. The reason is that to be able to venture outside you have to wear really heavy thermal protection with a personal generator to keep the body temperature at optimal. Even then, if the gear isn't worn properly the cold will quickly enter and kill the living being in less then a mTSU.</description>
<faction>Empire</faction>
<commodities>
<commodity>Food</commodity>
<commodity>Ore</commodity>
<commodity>Industrial Goods</commodity>
</commodities>
<tech>
<main>7</main>
<special>0</special>
</tech>
<services>7</services>
<class>P</class>
<population>27000</population>
</general>
</planet>
<planet name="Doranthex Prime">
<GFX>
<exterior>lava.png</exterior>
<space>A01.png</space>
</GFX>
<pos>
<y>0</y>
<x>0</x>
</pos>
<general>
<prodfactor>0.7</prodfactor>
<bar>The drinks served in the Furnance, as the bar calls itself are of a pretty strange variety. They are generally very strong and served at a warm temperature. The house specialties also contain volcanic ash which is harvested on the planet surface. A strange bar indeed.</bar>
<description>Doranthex Prime is a mostly molten planet. The only exception is a small island that drifts around the surface mainly around the polar regions. On this island the Dvaered have established a small base, mainly for research and military prototyping, although civilians are allowed in the main facilities. Due to the intense temperatures they are shielded by over 50m of temperature isolating plating, which doesn't allow any views of the planet itself once you've landed.</description>
<faction>Dvaered</faction>
<commodities>
<commodity>Food</commodity>
</commodities>
<tech>
<main>0</main>
<special>0</special>
</tech>
<services>3</services>
<class>A</class>
<population>20000</population>
</general>
</planet>
<planet name="Cerberus">
<GFX>
<exterior>traderoom.png</exterior>
<space>003.png</space>
</GFX>
<pos>
<y>0</y>
<x>0</x>
</pos>
<general>
<prodfactor>0.5</prodfactor>
<bar>The bar is maintained by off-duty scientists and soldiers. It's very small and doesn't have much offerings. There's not much ambient noise, it seems like the boredom has gotten the best of most of the people.</bar>
<description>Named after the guardian dog of hell for its role in monitoring and observing the immense Sol nebulae. It was created shortly after the nebulae stabilized. Exact details are confidential and there's more then enough military influence to make it suspicious. With all the conspiracy theories around the Incident, one can never be too sure where reality ends and fiction starts.</description>
<faction>Empire</faction>
<tech>
<main>0</main>
<special>0</special>
</tech>
<services>3</services>
<class>0</class>
<population>700</population>
</general>
</planet>
<planet name="Haleb IV">
<GFX>
<space>I00.png</space>
</GFX>
<pos>
<y>-17</y>
<x>-57</x>
</pos>
<general>
<services>0</services>
<tech>
<main>0</main>
<special>0</special>
</tech>
<class>I</class>
</general>
</planet>
<planet name="Tau Station">
<GFX>
<exterior>station00.png</exterior>
<space>000.png</space>
</GFX>
<pos>
<y>54</y>
<x>47</x>
</pos>
<general>
<prodfactor>0.8</prodfactor>
<bar>The Tau Prime algae has a very strong stench which seems to envelope the bar completely. The smell is so strong you can actually taste it. It doesn't taste nearly as good unprocessed. Most algae runners stop to grab drinks between runs to try to get the taste of the algae out of their mouth, although the usually use liquor made out of processed algae to do that.</bar>
<description>Tau Station was constructed with the sole purpose of exploiting the algae produced on Tau Prime. Being a completely watery algae world with a very corrosive environment, it was deemed more profitable to build a space station then a city on the planet surface. From the station windows you can see heavy algae collectors flying to and from the surface on their endless algae runs.</description>
<faction>Empire</faction>
<commodities>
<commodity>Food</commodity>
</commodities>
<tech>
<main>7</main>
<special>0</special>
</tech>
<services>7</services>
<class>0</class>
<population>12000</population>
</general>
</planet>
<planet name="Raglan Outpost">
<GFX>
<exterior>station00.png</exterior>
<space>000.png</space>
</GFX>
<pos>
<y>17</y>
<x>394</x>
</pos>
<general>
<prodfactor>0.5</prodfactor>
<bar>The Raglan bar is a pretty small bar for Dvaered standards, and quite empty too.</bar>
<description>Raglan Outpost was established after the Dvaered-Frontier war broke out before the Incident. To this day the Frontier still is demanding for its dismantling in the halls of the Emperor, although he has yet to make a statement. Meanwhile the Dvaereds use this base intensively in their fight against the FLF.</description>
<faction>Dvaered</faction>
<tech>
<main>7</main>
<special>0</special>
</tech>
<services>3</services>
<class>1</class>
<population>7000</population>
</general>
</planet>
<planet name="Torloth">
<GFX>
<exterior>mining.png</exterior>
<space>G00.png</space>
</GFX>
<pos>
<y>0</y>
<x>0</x>
</pos>
<general>
<prodfactor>0.7</prodfactor>
<bar>The spaceport bar is carved into a rich mineral deposit giving the walls great reflections and colours. The local drink are made partially with minerals giving all a rocky taste.</bar>
<description>Torloth is a heavy mining planet. It has rich ores and minerals in abundance with no local life forms to speak of. It's one of the strongholds of the Nexus corporation housing some of their important ship factories. Of course the bigger ships have to get built off planet.</description>
<faction>Empire</faction>
<commodities>
<commodity>Food</commodity>
<commodity>Ore</commodity>
<commodity>Industrial Goods</commodity>
</commodities>
<tech>
<main>0</main>
<special>0</special>
</tech>
<services>7</services>
<class>G</class>
<population>350000</population>
</general>
</planet>
<planet name="Omega Station">
<GFX>
<exterior>station00.png</exterior>
<space>000.png</space>
</GFX>
<pos>
<y>0</y>
<x>0</x>
</pos>
<general>
<prodfactor>0.3</prodfactor>
<bar>The Omega Canteen is a dark place that seems calm, although everytime a robotic drone approaches an alarm sounds sending pilots to man their ships to fight off the menace.</bar>
<description>Built to defend the Empire from the Collective. The Omega Station has been the observer of countless battles fought in its sector. It's helped keep a stalemate in the sector.</description>
<faction>Empire</faction>
<commodities>
<commodity>Food</commodity>
<commodity>Medicine</commodity>
</commodities>
<tech>
<main>9</main>
<special>0</special>
</tech>
<services>15</services>
<class>0</class>
<population>14000</population>
</general>
</planet>
<planet name="Emperor's Fist">
<GFX>
<exterior>mining.png</exterior>
<space>C00.png</space>
</GFX>
<pos>
<y>0</y>
<x>0</x>
</pos>
<general>
<population>127000</population>
<prodfactor>0.4</prodfactor>
<bar>The bar is designed for the workers of the terraforming project. It's a simple dusty bar constantly full of workers.</bar>
<description>Emperor's Fist is intended to be the new homeworld of the Emperor itself since the last one was destroyed in the Incident. It's a gigantic project that is attempting to completely adapt a C-class world to be suitable for the highest ranks of the Empire's aristocracy. Currently it doesn't have much past the Starport.</description>
<faction>Empire</faction>
<tech>
<main>0</main>
<special>0</special>
</tech>
<services>3</services>
<class>C</class>
</general>
</planet>
<planet name="Tau Prime">
<GFX>
<space>M02.png</space>
</GFX>
<pos>
<y>0</y>
<x>0</x>
</pos>
<general>
<services>0</services>
<tech>
<main>0</main>
<special>0</special>
</tech>
<class>M</class>
</general>
</planet>
<planet name="Arrakis">
<GFX>
<exterior>desertic.png</exterior>
<space>H00.png</space>
</GFX>
<pos>
<y>0</y>
<x>0</x>
</pos>
<general>
<prodfactor>0.3</prodfactor>
<bar>The Arrakeen canteen is a shady place. Many scoundrels and lowlifes make this their home to avoid notice from the universal police.</bar>
<description>Arrakis is a desert planet with no natural precipitation.</description>
<faction>Empire</faction>
<commodities>
<commodity>Food</commodity>
<commodity>Ore</commodity>
</commodities>
<tech>
<main>0</main>
<special>0</special>
</tech>
<services>7</services>
<class>H</class>
<population>32000</population>
</general>
</planet>
<planet name="Thar">
<GFX>
<exterior>mining.png</exterior>
<space>L00.png</space>
</GFX>
<pos>
<y>0</y>
<x>0</x>
</pos>
<general>
<prodfactor>0.5</prodfactor>
<bar>"The bar has a strange old meter on one of the walls that seems to dance erratically. When you ask the bartender about it he mentions it measures the current pressure outside.</bar>
<description>Thar is a simple mining world owned by the Dvaered. It has a very variable atmosphere that can go from a few kilometers wide to barely existent in no time. The pressure changes are harmful to most lifeforms, making it an almost completely sterile planet. With the advent of terraforming techniques it was finally made habitable for humans so they could exploit some of the resources it has.</description>
<faction>Dvaered</faction>
<commodities>
<commodity>Food</commodity>
<commodity>Ore</commodity>
<commodity>Industrial Goods</commodity>
</commodities>
<tech>
<main>0</main>
<special>0</special>
</tech>
<services>7</services>
<class>L</class>
<population>2000</population>
</general>
</planet>
<planet name="S38729">
<GFX>
<exterior>station01.png</exterior>
<space>001.png</space>
</GFX>
<pos>
<y>0</y>
<x>0</x>
</pos>
<general>
<services>0</services>
<tech>
<main>0</main>
<special>0</special>
</tech>
<class>3</class>
<faction>Collective</faction>
</general>
</planet>
<planet name="Polaris Prime">
<GFX>
<exterior>traderoom.png</exterior>
<space>002.png</space>
</GFX>
<pos>
<y>77</y>
<x>-42</x>
</pos>
<general>
<population>318000</population>
<prodfactor>0.5</prodfactor>
<bar>Since you aren't allowed in the fancier bars you wander into the spaceport bar. You can only imagine how the Emperor's bar itself can be like.</bar>
<description>Polaris Prime has become recent home to the Emperor himself as he plans and constructs his new stronghold on Emperor's Fist. It is an immense station that has most things anyone would want.</description>
<faction>Empire</faction>
<commodities>
<commodity>Food</commodity>
<commodity>Medicine</commodity>
<commodity>Ore</commodity>
<commodity>Luxury Goods</commodity>
<commodity>Industrial Goods</commodity>
</commodities>
<tech>
<main>15</main>
<special>0</special>
</tech>
<services>31</services>
<class>1</class>
</general>
</planet>
<planet name="Jorcan">
<GFX>
<exterior>mining.png</exterior>
<space>G01.png</space>
</GFX>
<pos>
<y>0</y>
<x>0</x>
</pos>
<general>
<prodfactor>0.5</prodfactor>
<bar>The one word that would describe the Jorcan spaceport bar would be dust. It's everywhere: on the seats, on the counter, in the drinks, on everyone's faces... It's not the usual finer dust you find on most worlds either, it's a thick, consistant, black, disgusting dust that you think you'll never be able to get off you.</bar>
<description>Jorcan is a very barren dull planet, like most mining worlds. It's very poor in deposits, but mining is still done heavily in an attempt to remove every single drop of ore from the planet.</description>
<faction>Dvaered</faction>
<commodities>
<commodity>Food</commodity>
<commodity>Ore</commodity>
</commodities>
<tech>
<main>0</main>
<special>0</special>
</tech>
<services>7</services>
<class>G</class>
<population>170000</population>
</general>
</planet>
<planet name="Vlexair">
<GFX>
<exterior>snow.png</exterior>
<space>P01.png</space>
</GFX>
<pos>
<y>0</y>
<x>0</x>
</pos>
<general>
<prodfactor>0.5</prodfactor>
<bar>The Vlexair bar is small as far as Dvaered bars go. There's not much variety of drink other then the standard Dvaered grogs.</bar>
<description>Vlexair is a harsh frozen world. The planet wasn't always frozen though, it used to be a lush world until the planet's core froze. Since then it's an extremely dangerous environment suitable only to the Dvaered workers.</description>
<faction>Dvaered</faction>
<commodities>
<commodity>Food</commodity>
<commodity>Medicine</commodity>
<commodity>Ore</commodity>
<commodity>Industrial Goods</commodity>
</commodities>
<tech>
<main>0</main>
<special>0</special>
</tech>
<services>7</services>
<class>P</class>
<population>2500</population>
</general>
</planet>
<planet name="S72839">
<GFX>
<exterior>station01.png</exterior>
<space>001.png</space>
</GFX>
<pos>
<y>0</y>
<x>0</x>
</pos>
<general>
<services>0</services>
<tech>
<main>0</main>
<special>0</special>
</tech>
<class>3</class>
<faction>Collective</faction>
</general>
</planet>
<planet name="Zhiru">
<GFX>
<exterior>oceanic.png</exterior>
<space>M04.png</space>
</GFX>
<pos>
<y>0</y>
<x>0</x>
</pos>
<general>
<prodfactor>0.7</prodfactor>
<bar>The Goddard Bar is unsurprisingly an old obsolete model remade as a bar. It's surprisingly comfortable and cozy as a bar, although every so often you can hear creaking in the ancient metal frame.</bar>
<description>Zhiru was a quiet planet, home of House Goddard, one of the minor Houses. One day House Goddard began a plan to create a massive spacecraft, based on their air-born planes. The result was the massive Goddard, named after the house that created it. The ship was a massive success and went about to give House Goddard fame throughout the galaxy. Now Zhiru is a booming ship factory, specialized in the creation and maintenance of the Goddard ships. This is all possible due to the weak gravity and atmosphere that envelopes Zhiru that allows the massive spacecraft to land and take off without much difficulty.</description>
<faction>Goddard</faction>
<commodities>
<commodity>Food</commodity>
<commodity>Ore</commodity>
<commodity>Industrial Goods</commodity>
</commodities>
<tech>
<main>10</main>
<special>1001</special>
</tech>
<services>31</services>
<class>M</class>
<population>13000000</population>
</general>
</planet>
<planet name="S00000">
<GFX>
<exterior>station01.png</exterior>
<space>001.png</space>
</GFX>
<pos>
<y>0</y>
<x>0</x>
</pos>
<general>
<services>0</services>
<tech>
<main>0</main>
<special>0</special>
</tech>
<class>3</class>
<faction>Collective</faction>
</general>
</planet>
<planet name="New Haven">
<GFX>
<exterior>gas.png</exterior>
<space>D00.png</space>
</GFX>
<pos>
<y>0</y>
<x>0</x>
</pos>
<general>
<prodfactor>0.6</prodfactor>
<bar>The Slop and Grill is one of the nastiest taverns in the universe. The food and drink doesn't exactly help. Most of it is brewed on New Haven and wouldn't pass any of the minimal health insurance tests. Some of the booze even doubles as ship fuel if needed, which says a lot about the quality.The clients are also deep space thugs, pirates, black marketers, mercenaries and other shady folk that insist on keeping the ground coated with blood and broken teeth. Not a great place to bring the family.</bar>
<description>New Haven is a small planet located beyond the boundaries of law and justice. Founded by Bartax the Great, one of the most successful pirates to ever live after the old Haven was annihilated.The planet is mostly covered by very toxic gases and has a lot of radiation if you stray from the stronghold. These very features are what made the Empire qualify it as uninhabitable as it doesn't have any strategic resources. It's distance from other civilized worlds also gives it a nice cover from prying eyes.</description>
<faction>Pirate</faction>
<commodities>
<commodity>Medicine</commodity>
<commodity>Luxury Goods</commodity>
<commodity>Industrial Goods</commodity>
</commodities>
<tech>
<main>13</main>
<special>9009</special>
</tech>
<services>31</services>
<class>D</class>
<population>9000</population>
</general>
</planet>
<planet name="Zabween">
<GFX>
<exterior>station00.png</exterior>
<space>000.png</space>
</GFX>
<pos>
<y>0</y>
<x>0</x>
</pos>
<general>
<prodfactor>0.3</prodfactor>
<bar>The bar walls are covered with pictures of Empire soldiers fallen in the fight against Haven and piracy in general. It has become a custom of the Empire to put pictures of the fallen from fighting piracy. They are working on another addition to be able to fit more pictures.</bar>
<description>Zabween is an old station. It was first created as an outpost to fight piracy, but with the destruction of the Haven it has calmed down a lot. Now it's more of a gigantic commercial center selling all sorts of goods. It keeps a museum with all sorts of ships and weapons that were used in the final fight against Haven.</description>
<faction>Empire</faction>
<commodities>
<commodity>Food</commodity>
<commodity>Medicine</commodity>
<commodity>Luxury Goods</commodity>
<commodity>Industrial Goods</commodity>
</commodities>
<tech>
<main>9</main>
<special>0</special>
</tech>
<services>31</services>
<class>0</class>
<population>4000</population>
</general>
</planet>
<planet name="Cetrat">
<GFX>
<exterior>aquatic.png</exterior>
<space>O01.png</space>
</GFX>
<pos>
<y>0</y>
<x>0</x>
</pos>
<general>
<prodfactor>0.6</prodfactor>
<bar>The bar is very large and not too full. You notice the drink list has a "living" menu. When you ask the bartender about them, he says they specialize in drinks containing living beings. Generally jellyfish, but sometimes small cephalopods or more exotic beings. What strange habits.</bar>
<description>Cetrat is a small aquatic planet known for its medical algae that grows. No one has been able to reproduce it exactly as it is in the wild, but with the abundance of it all over there hasn't been too much effort in that field.</description>
<faction>Frontier</faction>
<commodities>
<commodity>Medicine</commodity>
<commodity>Luxury Goods</commodity>
</commodities>
<tech>
<main>6</main>
<special>0</special>
</tech>
<services>15</services>
<class>A</class>
<population>930000</population>
</general>
</planet>
<planet name="Raelid Outpost">
<GFX>
<exterior>station02.png</exterior>
<space>002.png</space>
</GFX>
<pos>
<y>0</y>
<x>0</x>
</pos>
<general>
<prodfactor>0.2</prodfactor>
<bar>Another big dirty bar full of hulking, smelly, sweaty Dvaereds. They make a good brew though.</bar>
<description>Constructed by many captured and then enslaved FLF armsmen. The design is pretty sturdy but you can't help to think there must be a hidden bomb somewhere, just waiting to go off and kill the Dvaered oppressors.</description>
<faction>Dvaered</faction>
<tech>
<main>3</main>
<special>0</special>
</tech>
<services>11</services>
<class>0</class>
<population>3000</population>
</general>
</planet>
<planet name="Darkshed">
<GFX>
<exterior>station02.png</exterior>
<space>002.png</space>
</GFX>
<pos>
<y>-53</y>
<x>-77</x>
</pos>
<general>
<prodfactor>0.8</prodfactor>
<bar>The Darkshed cantina is decorated with all sorts of odd artifacts that marked different tendencies in spaceship outfitting.</bar>
<description>Renowned for its outfit market and shipyards. Almost the entire Darkshed station is dedicated to trading outfits and ships. Mercenaries and bounty hunters from all over the galaxy come here to see the newest enhancements available in the market. This tends to also attract many of the shadier characters in the universe winding up with frequent fights where they test their newly bought outfits.</description>
<faction>Independent</faction>
<commodities>
<commodity>Food</commodity>
<commodity>Ore</commodity>
<commodity>Industrial Goods</commodity>
<commodity>Medicine</commodity>
<commodity>Luxury Goods</commodity>
</commodities>
<tech>
<main>15</main>
<special>0</special>
</tech>
<services>31</services>
<class>0</class>
<population>14000</population>
</general>
</planet>
<planet name="Nova Shakar">
<GFX>
<exterior>oceanic.png</exterior>
<space>M05.png</space>
</GFX>
<pos>
<y>0</y>
<x>0</x>
</pos>
<general>
<population>812000</population>
<prodfactor>0.5</prodfactor>
<bar>The bar is a nice clean place unlike most other bars. It's been cleaned thoroughly for all the Empire officials that are starting to use the planet as their home.</bar>
<description>Nova Shakar was a somewhat abandoned Empire planet until the Emperor's Fist project was started. Since then it's become a major producer of goods for the project and has started to gain importance.</description>
<faction>Empire</faction>
<commodities>
<commodity>Food</commodity>
<commodity>Medicine</commodity>
<commodity>Ore</commodity>
<commodity>Industrial Goods</commodity>
</commodities>
<tech>
<main>6</main>
<special>0</special>
</tech>
<services>15</services>
<class>M</class>
</general>
</planet>
<planet name="S49281">
<GFX>
<exterior>station01.png</exterior>
<space>001.png</space>
</GFX>
<pos>
<y>0</y>
<x>0</x>
</pos>
<general>
<services>0</services>
<tech>
<main>0</main>
<special>0</special>
</tech>
<class>3</class>
<faction>Collective</faction>
</general>
</planet>
<planet name="Ozogo X">
<GFX>
<space>J00.png</space>
</GFX>
<pos>
<y>17</y>
<x>23</x>
</pos>
<general>
<services>0</services>
<tech>
<main>0</main>
<special>0</special>
</tech>
<class>J</class>
</general>
</planet>
<planet name="Anecu">
<GFX>
<exterior>aquatic.png</exterior>
<space>O00.png</space>
</GFX>
<pos>
<y>0</y>
<x>0</x>
</pos>
<general>
<prodfactor>0.4</prodfactor>
<bar>The spaceport bar is approximately 3 km below the surface of the planet. Most of the walls are of a hardened transparent polymer that allows you to see into the darkness of the water. Every so often you can notice a gelatinous creature slide around, barely illuminated by the bar lighting.</bar>
<description>Anecu is a completely aquatic planet. It's surface is covered completely by water. In the shallow areas great underwater cities are constructed, as the climate above the water can be very harsh (waves been recorded to be up to 2 km high). The planet boasts of extensive ship designing facilities, using the high pressure water as a testbed for ships of all sorts.</description>
<faction>Dvaered</faction>
<commodities>
<commodity>Food</commodity>
<commodity>Medicine</commodity>
<commodity>Ore</commodity>
<commodity>Luxury Goods</commodity>
<commodity>Industrial Goods</commodity>
</commodities>
<tech>
<main>6</main>
<special>0</special>
</tech>
<services>31</services>
<class>M</class>
<population>70000</population>
</general>
</planet>
</Planets>

File diff suppressed because it is too large Load Diff

View File

@ -1,44 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<spfxs>
<spfx name="ExpS">
<gfx x="6" y="5">exps</gfx>
<anim>400</anim>
</spfx>
<spfx name="ExpM">
<gfx x="6" y="5">expm</gfx>
<anim>450</anim>
</spfx>
<spfx name="ExpL">
<gfx x="6" y="5">expl</gfx>
<anim>500</anim>
</spfx>
<spfx name="cargo">
<gfx x="6" y="6">cargo</gfx>
<ttl>15000</ttl>
<anim>5000</anim>
</spfx>
<spfx name="EmpS">
<gfx x="6" y="5">emps</gfx>
<anim>400</anim>
</spfx>
<spfx name="EmpM">
<gfx x="6" y="5">empm</gfx>
<anim>450</anim>
</spfx>
<spfx name="ShiS">
<gfx x="6" y="5">shis</gfx>
<anim>400</anim>
</spfx>
<spfx name="ShiM">
<gfx x="6" y="5">shim</gfx>
<anim>450</anim>
</spfx>
<spfx name="PlaS">
<gfx x="6" y="5">plas</gfx>
<anim>400</anim>
</spfx>
<spfx name="PlaM">
<gfx x="6" y="5">plam</gfx>
<anim>450</anim>
</spfx>
</spfxs>

File diff suppressed because it is too large Load Diff

View File

@ -1,21 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Start>
<name>Dark Tides</name>
<player>
<ship>TestShip</ship>
<credits>
<low>1000000000000</low>
<high>9999999999999999</high>
</credits>
<date>
<low>1300</low>
<high>1400</high>
</date>
<system>
<name>Delta Pavonis</name>
<x>150</x>
<y>150</y>
</system>
<mission>Tutorial</mission>
</player>
</Start>

View File

@ -1,56 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<unidiffs>
<unidiff name="collective_dead">
<system name="C-00">
<planet name="S00000">remove</planet>
<fleet name="Collective Sml Swarm" chance="80">remove</fleet>
<fleet name="Collective Sml Swarm" chance="80">remove</fleet>
<fleet name="Collective Sml Swarm" chance="80">remove</fleet>
<fleet name="Collective Drone" chance="80">remove</fleet>
<fleet name="Collective Drone" chance="80">remove</fleet>
<fleet name="Empire Pacifier" chance="70">add</fleet>
<fleet name="Empire Pacifier" chance="70">add</fleet>
</system>
<system name="C-14">
<planet name="S49281">remove</planet>
<fleet name="Collective Sml Swarm" chance="80">remove</fleet>
<fleet name="Collective Sml Swarm" chance="80">remove</fleet>
<fleet name="Collective Drone" chance="80">remove</fleet>
<fleet name="Empire Pacifier" chance="50">add</fleet>
<fleet name="Empire Pacifier" chance="30">add</fleet>
</system>
<system name="C-28">
<planet name="S38729">remove</planet>
<fleet name="Collective Sml Swarm" chance="60">remove</fleet>
<fleet name="Collective Sml Swarm" chance="60">remove</fleet>
<fleet name="Collective Drone" chance="80">remove</fleet>
<fleet name="Empire Pacifier" chance="40">add</fleet>
<fleet name="Empire Lancelot" chance="40">add</fleet>
</system>
<system name="C-59">
<planet name="S72839">remove</planet>
<fleet name="Collective Sml Swarm" chance="60">remove</fleet>
<fleet name="Collective Sml Swarm" chance="50">remove</fleet>
<fleet name="Collective Drone" chance="80">remove</fleet>
<fleet name="Empire Pacifier" chance="40">add</fleet>
<fleet name="Empire Lancelot" chance="40">add</fleet>
</system>
<system name="C-43">
<planet name="S23491">remove</planet>
<fleet name="Collective Sml Swarm" chance="60">remove</fleet>
<fleet name="Collective Sml Swarm" chance="50">remove</fleet>
<fleet name="Collective Drone" chance="80">remove</fleet>
<fleet name="Empire Pacifier" chance="40">add</fleet>
</system>
<system name="NGC-7291">
<fleet name="Collective Drone" chance="60">remove</fleet>
<fleet name="Collective Sml Swarm" chance="50">remove</fleet>
</system>
<system name="NGC-7132">
<fleet name="Collective Drone" chance="60">remove</fleet>
<fleet name="Collective Sml Swarm" chance="60">remove</fleet>
<fleet name="Collective Sml Swarm" chance="30">remove</fleet>
<fleet name="Empire Lancelot" chance="40">add</fleet>
</system>
</unidiff>
</unidiffs>

View File

@ -1,12 +0,0 @@
.PHONY: all lua doxy
all: doxy lua
doxy:
@echo " DOC docs/doxygen"
@(cd doxygen; doxygen)
lua:
@echo " DOC docs/lua"
@(cd doxygen; sh luadoc.sh)

View File

@ -1,225 +0,0 @@
// ================
// CONSTANTS!
// ================
number player
-- players pilot id.
// ================
// TASKS!
// ================
pushtask(number pos, string name, int/pointer targer)
-- Pushes a task onto the queue.
-- pos : Place task at the beginning if 0, or end if 1.
-- name : Function name, this is to be defined in the lua file.
-- target : int or pointer containing target info (for example, could be
pilot id or a Vec2).
-- return nil.
poptask()
-- Pops the current task from the list.
-- return nil
taskname()
-- Returns the current task name.
-- return string name of the current task.
// ================
// CONSULT!
// ================
target()
-- Gets the current target.
-- return pointer to the target.
targerid()
-- Gets the current targets id.
-- return number of the current target id.
rndpilot()
-- Gets a random target ID
-- return number of random target id.
dist(Vec2 vect)
-- Gets the distance from the position of the Vec2 vect.
-- Vect point to calculate the distance from.
-- return nil.
pos([number pilot])
-- Get the pilots position of the current pilots position if no pilot
is specified.
-- pilot ID of the pilot to get the position of, if no params are called
it uses the current pilot as target.
-- return Vec2
minbrakedist()
-- Returns the minimum required braking distance assuming all goes well.
-- return number distance needed to brake.
armour([number pilot])
-- Returns the total amount of armour left.
shield()
-- Returns the total amount of shield left.
parmour()
-- Returns the percentage of armour remaining.
-- pilot - Optional pilot id, if not the current pilot is used.
pshield()
-- Returns the percentage of shield remaining.
-- pilot - Optional pilot id, if not the current pilot is used.
cargofree()
-- Return amount of free space the pilot has.
// ================
// BOOLEAN!
// ================
exists(number id)
-- Check to see if pilot id is valid.
-- id -- Pilot to check.
-- return true if the pilot is valid.
ismaxval()
-- Check if velocity is maximum.
-- return true if velocity is max, false otherwise.
isstopped()
-- Check if we are stopped.
-- return true if stopped, false otherwise.
isenemy(Pilot pilot)
-- Check if p is an enemy of current pilot.
-- p - Pilot to check if enemy.
-- return true if p is enemy.
isally(Pilot p)
-- Check if p is an ally of current pilot.
-- p - Pilot to check if ally.
-- return true if p is ally.
incombat([number id])
-- Queries whether a pilot is in combat or not.
-- id - Pilot to check if is in combat. -- Defaults to self.
-- return if pilos is in combat or not.
// ================
// MOVEMENT!
// ================
accel(number mod)
-- Accelerates the pilot.
-- mod float that represents speed to accel to (1. is full speed, 0. is stopped).
-- return nil.
turn(number mod)
-- Turns the pilot.
-- mod float that represents the turning ratio between -1(max right) and 1(max left).
-- return nil.
face(number/Vec2 target, number invert)
-- Turn to face the current target.
-- target pilot ID or Vec2 to face.
-- invert face away if 1
-- return number offset from target in grad
brake()
-- Makes the pilot brake (backthrust).
-- return nil.
getnearestplanet()
-- Gets the nearest friendly planet's position.
-- return position to the nearest friendly planet.
getrndplanet()
-- Gets the position of a random friendly planet.
-- return position to a random friendly planet.
// ================
// COMBAT!
// ================
combat([number b])
-- Set pilot as either in combat or out (for comm etc.)
-- b - if 0 set the pilot to be in combat, if 1 or ommitted sets it to be in combat.
-- return nil
settarget(number target)
-- Set the target for the pilot, should be called each frame.
-- target - Pilot to be targeted.
-- return nil.
secondary()
-- Tries to set the best secondary weapon (defaults to launchers).
-- return the type of secondary weapon set ("None", "Weapon", "Launcher")
shoot([number weapon])
-- Make the pilot shoot weapons.
-- weapon to shoot, 1 if primary, 2 if secondary, 3 if both. Defaults to 1.
-- return nil.
getenemy()
-- return the id of the nearest enemy or 0 if none is found.
// ================
// TIMERS!
// ================
settimer(number t, number delay)
-- Set timer t to wait for delay ms.
-- t - Timer to set.
-- delay - Delay time in ms to wait.
-- return nil.
timeup(number t)
-- Return true if time is up for timer t.
-- t - timer to check.
-- return boolean true if timer t is up.
// ================
// MESSAGING!
// ================
comm(number id, string message)
-- Make the pilot say something to the pilot of id.
-- id - of the pilot to speak to.
-- message - string to output.
-- return nil
broadcast(string message)
-- Make the pilot broadcast a message to everyone in the system.
-- message - string to say to everyone in the system.
-- return nil
// ================
// LOOT
// ================
setcredits(number creds)
-- Set the pilot's credits. Only works during create.
-- creds - Pilot's credits.
-- return nil.
setcargo(string cargo, number quantity)
-- Give the pilot quantity of cargo, only works during create.
-- cargo - name of cargo to give the pilot.
-- quantity - amount to give.
-- return nil.
shipprice()
-- Get the price of the pilot's ship.
-- return the price of the ship.
// ================
// MISC
// ================
rng(number low, number high)
-- Return a random number between low and high.
-- low - minimum to return.
-- high - maximum to return
-- return random number between low and high.

File diff suppressed because it is too large Load Diff

View File

@ -1,47 +0,0 @@
# Run this from docs directory.
# Create docs/lua directory.
test -d lua || mkdir lua
# Convert doxygen comments to luadoc comments.
for F in ../../src/llua_*.c
do
sed -n '
1 i -- This is file was generated automatically from C sources to feed luadoc
#converts doxygens /** to luadocs ---
s|^ */\*\*|---|p
#convert special tags to lua expressions.
#notice lines after @luafunc & @luamod will be ignored by luadoc
#also doxygen comments that do not contain a any of this tags have no
#influence on luadoc output
s|^ *\* *@luafunc|function|p
s|^ *\* *@luamod *\(.*\)|module "\1"|p
#rename some tags:
s|^ *\* *@brief|-- @description|p
s|^ *\* *@luaparam|-- @param|p
s|^ *\* *@luareturn|-- @return|p # We accept both @luareturn & @return
#keep tags luadoc understands:
# s|^ *\* *@param|-- @param|p # Use luaparam, param reserved for C arguments.
s|^ *\* *@see|-- @see|p
s|^ *\* *@return|-- @return|p
s|^ *\* *@usage|-- @usage|p
s|^ *\* *@description|-- @description|p
s|^ *\* *@name|-- @name|p
s|^ *\* *@class|-- @class|p
s|^ *\* *@field|-- @field|p
s|^ *\* *@release|-- @release|p
#remove other tags:
\|^ *\* *@.*|d
#insert newline between comments, replace */ by \n
\|^ *\*/|c
#keep other comments, replace * by --
s|^ *\*|--|p
#delete everything else, just in case
d
' $F > lua/`basename $F`.luadoc
done
# Run luadoc, put html files into lua dir.
(
cd lua
luadoc --nofiles *.luadoc
rm *.luadoc
)

View File

@ -1,11 +0,0 @@
MILITARY RANKS:
* Emperor
* Admiral
* Vice-Admiral
* Commodore
* Captain
* Commander
* Sergeant
* Lieutenant
* Ensign

View File

@ -1,51 +0,0 @@
-- Faction Overview. --
EMPIRE:
-------
-- The Empire consists of the hard nuclei (Emperor) and assosciated Houses.
The Houses can only be created by the Emporer's whim and are allowed to
participate in the Galaxy politics.
-- GREAT HOUSES:
-- SIRIUS
-- Religious nuts.
-- PROTERON:
-- Close allies of Sirius.
-- SOROMID:
-- Emperor's right hand.
-- DRAKTHARR:
-- Brutal and more primitive, very warlike.
-- TEK'NUS:
-- Technophiles of the Empire, distrusted by most.
-- MINOR HOUSES:
-- These houses are given the privileges to participate in the Council,
but do not have the powers the other Houses have, nor the influence.
-- GODDARD:
-- Design and take care of the Goddard ships.
DETOURS LIBERATION FRONT:
-------------------------
-- The Early Tribes that where shunned in the Empire creation and have since
then forged the Detours Liberation Front (DLF) into a guerilla resistance
movement to resist the advances by the Empire. They employ dirty tactics
to level the playing field against the superior Empire.
SPACE TRADERS:
--------------
-- Independent guild of merchants, protected by the Emporer himself. They
keep the galaxy working with their deliveries.
GALACTIC PIRATES:
--------
-- Space brought an entire new dimenstion to pirating. These outlaws attack
any ship transporting anything of value with no regard nor respect to
authority.

View File

@ -1,78 +0,0 @@
-- C O L L E C T I V E C A M P A I G N --
OVERVIEW:
---------
-- Short campaign, mainly to use as an introduction to Lephisto and for the
first release.
HISTORY:
--------
-- The Collective are a recently new menace. They caught the empire off
guard and took over a few systems which they proceded to systematically
purge of all life forms. The Empire then responded to the attack and a
stalemate was reached. Frequent skirmishes still accured around the
border star systems.
A lot of speculation has been created among the Collective. Top secret
scientific experiment gone wrong? New weapon of the Detours? Long-existing
civilization converted to robots? No one knows for sure.
PLOT OVERVIEW:
--------------
-- Initial stalemate.
-- Drone breaks blockade, seems to be malfunctioning.
-- Drone captured and analyzed, weird wireless module found (seeminglyu of
empire make), seems to have had corruption on AI.
-- Fly back to listen on wireless conversations.
-- Nothing reported, try again and deeper and hide on planet.
-- Logs display Empire Military craft detect around area, seemingly
communicate with Empire.
-- Need distraction to monitor with a special covert ops team.
-- Covert ops discovered and slaughtered, must check for survivors.
-- One survivor hidden with data.
-- Proof the the ESS Trinity communicates with the collective (preparing
coup).
-- Prepare trap for the ESS Trinity to arrest.
-- ESS Trinity jumps to Collective space.
-- Final showdown at NCG-7132.
-- ESS Trinity destroyed, Collective/Empire suffer heavy losses.
-- Cinematic scene to finish:
-- You see the ESS Trinity release the AI limiter.
-- Collective back off.
-- Scientists and militaries found guilty. Their heads roll.
-- End of Collective conflift.
MISSIONS:
---------
-- Collective Scout
-- Find scout that broke through blockade.
-- If combat rating is high enough (>200), you disable and board it.
-- Else you just locate it.
-- Fly back to Omega Station.
-- Collective Espionage I
-- Fly around systems listening on signals, enforce minimum system time.
-- Fly back to Omega Station.
-- Collective Espionage II
-- Enter deeper into space and land on planet that got annihilated.
-- Fly back to Omega Station.
-- Collective Espionage III
-- Fly very deep into collective space, make nuisance of yourself.
-- Fly back to Omega Station.
-- Operation Green Giant
-- Fly to the planet and land amidst heavy Collective opposition.
-- Fly back to Omega Station.
-- Operation Back Trinity
-- Attempt to stop ESS Trinity on way to Collective space.
-- Trinity will jump (unless you destroy it *really* fast) leaving collective
drones behind for you to fight.
-- Rebrief at Omega Station.
-- Showdown at NCG-7132.
-- If flee, different ending with no medal.
-- If win, cinema scene.

View File

@ -1,49 +0,0 @@
GLOBAL.
~~~~~~~
* Catastrophic event (pre-hyperspace and long-range communication - englobe
under some type of technology)
* Destruction of earth and nearby stuff - big crater or something as a
symbol.
* Massive fleeing (entire civilizations/cultures) design gigantic exploration
ships that flee in different directions.
* Establishment of multiple parallel human civilizations far from each other as
a sort of "dark age" where everything is isolated and progress is very slow.
--
* Now it would branch off as each evolve differently, some ideas:
* Humans that discover friendly aliens, form conjoint society and evolve
together.
* Maybe a good place to introduce hybrid biological ships.
* Humans that discover hostile aliens, kill each other in long feudal war.
* Humans killed off by.. { plague, end of supplies, aliens }, find derelict
ship or annihilated systems (partially destroyed stations and whatnot).
* Humans hit technological singularity then:
* Robots proceed to exterminate humans creating a hostile robotic
faction.
* Humans evolve into cyborgs and/or "living robotic ships"
* Discovery of hyperspace and the consequent acquiration by all/almost all
factions would then make it easier to communicate and travel, increasing
friendships (and enemies)
* A couple civilizations fuse together forming "The Empire" which will
be a strong faction with importance in the early game (you will start
in Empire terratory).
* Player would come into an unstable world few years after hyperspace with
every increasing technological advancement and such, making it all more
intersting.
TRAVEL AND HYPERSPACE.
~~~~~~~~~~~~~~~~~~~~~
* Hyperspace will be the latest version of travel that actually makes it spread
out, older versions (more primitive) would be the huge "guild highliners"
(Need to get rid of dune plagerism) and jump gates.
* Need some fancy name for it.

View File

@ -1,48 +0,0 @@
Contains an overview of ship classification in Lephisto.
STANDARD SHIPS
-- Military
-- Large Ships:
-- Carrier
-- Must contain fighter bays.
-- Cuiser
-- No fighter bays.
-- Medium Ships:
-- Destroyer
-- Fast and maneuverable.
-- Vorvette
-- Maneuverable and lightly armed.
-- Small Ships:
-- Bomber
-- Heavy bomb usage.
-- Fighter
-- Standard small ship.
-- Scout
-- Not intended for combat.
-- Merchant
-- Large Ships
-- Cruise ships
-- Basically a larger yacht.
-- Small Ships.
-- Luxery Yacht
-- Very expensive.
Yacht
-- Not expensive.
ROBOTIC SHIPS:
-- Large Ships
-- Mothership
-- Small Ships
-- Drone
HYBRID SHIPS
-- TODO

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 187 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 266 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 318 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 298 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 390 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 370 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 375 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 423 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -1,54 +0,0 @@
#!/usr/bin/env bash
DATA="../../dat/outfit.xml"
echo "Checking for unused graphics.."
echo
# Check unused space gfx.
echo " Unused outfit store gfx."
cd store
for SPACE in *.png; do
if [ -z "`grep ${SPACE%.png} ../$DATA | grep "<gfx_store>"`" ]; then
echo " $SPACE"
fi
done
cd ..
# Check unused exteria gfx.
echo " Unused outfit gfx"
cd space
for SPACE in *.png; do
if [ -z "`grep ${SPACE%.png} ../$DATA | grep "<gfx>"`" ]; then
echo " $SPACE"
fi
done
cd ..
echo
echo
echo "Checking for overused graphics.."
echo
# Check overused.
echo " Overused outfit store gfx"
cd store
for SPACE in *.png; do
COUNT=`grep ${SPACE%.png} ../$DATA | grep -c "<gfx_store>"`
if [ $COUNT -gt 1 ]; then
echo " $SPACE => $COUNT times"
fi
done
cd ..
# Check unused exteria gfx.
echo " Overused outfit gfx"
cd space
for SPACE in *.png; do
COUNT=`grep ${SPACE%.png} ../$DATA | grep -c "<gfx>"`
if [ $COUNT -gt 1 ]; then
echo " $SPACE => $COUNT times"
fi
done
cd ..

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

Some files were not shown because too many files have changed in this diff Show More