Fractal Softworks Forum
January 21, 2017, 07:22:51 AM *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News: New blog post: Ship Recovery (1/20/17)
 
   Home   Help Search Login Register  
Pages: [1] 2 3 ... 84
  Print  
Author Topic: [0.7.2a] Nexerelin v0.7.6d (fixes 2016-11-20)  (Read 235896 times)
Histidine
Admiral
*****
Posts: 1331



View Profile Email
« on: March 07, 2015, 12:40:41 AM »


(explanation)

Nexerelin v0.7.6d
an update of Exerelin

Requires LazyLib
Omnifactory Integrated
Supports Version Checker
Compatible with Starsector Plus, DynaSector, Ship/Weapon Pack, Underworld

Download (full version)
Patch (0.7.6c -> 0.7.6d)
Previous downloads


Make sure to delete your old Nexerelin folder before installing a new full version!

Having problems?  Visit the Mod Troubleshooting Guide!

Features
  • 4X game features in Starsector
  • Factions will wage war against each other and try to conquer their enemies
  • Diplomacy events see faction relationships changing over time
  • Join a faction to gain useful support and represent them in war and peace, or start your own
  • Mine planets and asteroids for useful resources for trade, or some treasure
  • Play in a randomly generated Sector, or travel the star systems seen in vanilla and other mods

Changelog
Code:
v0.7.6d
* Corvus Scavengers (Tore Up Plenty) support
* New player faction flags/crests by Soren
* Remove SCY faction config (moved to Scy mod)
    * Patch version instead updates the config to match the Scy one
* Failsafe, debug for alliance name picking

v0.7.6c
* Fix broken binary star systems (applies to existing saves)
* Obey "enable pirates/independents" config settings when using all factions
* Revert asteroid mining danger (0.15 -> 0.2)

v0.7.6b
* Add DME start, directory options
* Fix patrol fleet manager crash with unsupported factions
* Fix sector generation crash from not having (enough) habitable planets

v0.7.6
* Faction updates/handling for: Exigency, ApproLight, Metelson, Ship Pack
* Mining adjustments/fixes:
    * Add SCY planets
    * Asteroids give a bit more ore, a bit safer to mine
    * Fix exhaustion rate for planet types not being used
    * Fix Shepherd (D) not being able to mine
* Sector generation:
    * Add two faction start
    * Tone down effects of star color on lighting
    * More planet names; add origin comments
    * Uninhabited systems can sometimes have relays
    * Make sure 70% of systems have at least one market belonging to a pirate faction (the others can have them too); configurable
    * Some factions can have more markets than others if so set in faction config
    * Add config toggles for presence of pirates, independents in non-Corvus mode
    * Fix some asteroid belt-related issues
    * Sector generation crashes instead of failing silently if it fails to load planetNames.json
* Other game start stuff:
    * Add random starting ships option
    * Pirate starting solo Cerberus is shielded, has different weapons
    * Auto assign starting officers
* Don't restore player relationships to previous state when leaving a pirate faction (once a pirate, always a pirate!)
* Stronger Templar defences against invasion
* Any fleet responding to an invasion is treated as having seen the player with their transponder off
* Prisoners can be ransomed to hostile factions if transponder-off trade is permitted and transponder is off
* Don't trigger warmonger event when joining an ally in battle, or enemy fleet is low-rep-impact
* Add hotkeys for most dialog options
* Various text amendments/fixes
* Fix behavior of some mod submarkets on market capture
* Fix patrol generation bugs
* Add crash safety if fleet factory fails to spawn fleet

Note on using Save Transfer (and other console commands)
You may want to use the ResetRelationships command to start with fresh faction relationships (particularly if some factions died in the last run).

The SetMarketOwner <market_or_location_name> <faction> command can be used to give a market to another faction (including one not currently alive in the sector).

Known bugs
Consider using the Bitbucket issue tracker for bug reports, it makes them less likely to be lost/forgotten.
  • Text can get cut off at bottom of faction directory (just click the button again to displace it up)
  • Faction relationships with factions that have an alliance may not be reset properly if the player leaves their current faction

Quick help
Alliances
Mining

FAQ
What is this?
This is my personal fork of Exerelin, given its own thread because I wanted to be able to maintain my own OP. It is essentially a reimplementation of Zaphide's project (and in fact uses it as a codebase), but updated for Starsector 0.7.

What are the new features over the original Exerelin?
Aside from all the new stuff in the newer Starsector versions, there’s:
  • Corvus mode: Battle for supremacy in the original Corvus cluster from vanilla (including mod systems and planets)!
  • Smoother market capture: No more needing to tow a superfreighter around, or manually hugging stations like a little girl with her teddy bear in order to capture stations. Simple dialog box with information, spend a day of ingame time waiting for the result, that’s it. Of course, that leads to…
  • Response fleets: Markets maintain a reserve force that regenerates over time. If you try to capture someone’s station or planet, be ready for a fight.
  • Insurance: Your faction will pay credits to cover your ship losses in battle (currently half the base sale cost).
  • Diplomacy events: Faction relationships change over time, and the player is notified accordingly. Hear the latest gossip about acts of terror, abuse of diplomatic immunity, extradition treaties and celebrity marriages.
  • More special powers: Agents can destabilize a market; saboteurs can weaken response fleets or torch food supplies; prisoners can be ransomed for cash - or sold as slaves.
  • Faction directory: Find out quickly which factions control what planets where.
  • The Prism Freeport: Sells top weapons and ships from all the factions in the game to anyone... for a price.
  • Custom planet names: Open data/config/exerelin/planetNames.json to name the stars and planets after your favorite animals, fictional planets, waifus, anything you please!

What was in the original Exerelin that is currently missing here?
  • No fancy fleet economics or spawning behavior, it mostly works the same as vanilla.

What faction mods work with this?
The following mods are supported (later versions of any of these should work as well):
*Does not support Corvus mode

Remember that only DynaSector integrated factions will fully benefit from DS features!

How do I win the game?
You win when all the other factions are either friendly or better towards your own… or dead.
Other factions can also win in the same way; you get an ally victory if you're at least friendly with whoever wins.

How do I remove a vanilla faction?
Open its faction config in data/config/exerelinFactionConfig and set the playable tag to false.

How do I customize the followers faction?
Faction name, logos and portraits are defined in Nexerelin/data/world/factions/player_npc.json. (Portrait Pack doesn't affect them at present)
Ship variant choices for non-DynaSector are also stored there.

For DynaSector, you can have the followers automatically use different tech from the DS-integrated factions with DynaSector/nexerelinOptions.json.
If you're really hardcore you can achieve full control over the ship choices by editing player_npc.json, ship_roles.csv and weapon_categories.csv DynaSector\data\factions

To change the dialogue lines, go to mods/Exerelin/data/campaign/rules.csv and look for the section "# Player fleet greeting lines"

How do I make my mod compatible with Nexerelin?
There are a few things you need to do.
(note: you can add needed files and csv entries (except rules.csv ones) in your own mod as well, that saves me the trouble of doing them and then waiting for a Nexerelin release)
1) Stop it from crashing
Your sector generation code should have something like this:

Code: (java)

    public void onNewGame()
    {
        try {
            //Got Nexerelin, so load Nexerelin
            Class<?> def = Global.getSettings().getScriptClassLoader().loadClass("exerelin.campaign.SectorManager");
            Method method;
            try {
                method = def.getMethod("getCorvusMode");
                Object result = method.invoke(def);
                if ((Boolean)result == true)
                {
                    // Nexerelin running in Corvus mode, go ahead and generate our sector
                    new MySectorGen().generate(Global.getSector());
                }
            } catch (NoSuchMethodException | SecurityException | IllegalAccessException | IllegalArgumentException |
                     InvocationTargetException ex) {
                // check failed, do nothing
            }
            
        } catch (ClassNotFoundException ex) {
            // Nexerelin not found so continue and run normal generation code
            new MySectorGen().generate(Global.getSector());
        }
        // IMPORTANT: Make sure your addParticipatingFaction call gets called regardless of whether the sector generator runs or not!
        SharedData.getData().getPersonBountyEventData().addParticipatingFaction("myFactionId");
    }

Note: This code will fail if you let Janino compile your mod plugin at runtime instead of having your IDE compile it into a .jar. You can do one of three things:

1) Compile the plugin into a .jar

2) Replace the NoSuchMethodException | SecurityException | IllegalAccessException | IllegalArgumentException | InvocationTargetException ex with an Exception ex

3) Spit the multi-catch block:
Code: (java)

// check failed, do nothing  
catch (NoSuchMethodException ex) {
}
catch (SecurityException ex) {
}
catch (IllegalAccessException) ex {
}
catch (IllegalArgumentException) ex {
}
catch (InvocationTargetException) ex) {  
}

Be careful with any code that targets a specific planet or star system by name! Make sure you disable it in non-Corvus mode, and don't assume a given planet will always belong to its original owner.

2) Add your faction to the list
Open data/config/exerelinFactionConfig and make a .json file with the name of your faction. Actually, copypaste one of the existing ones, like Templars, because it’s faster that way.

Now open your new file. The particular things you should pay attention to:
  • uniqueModClassName: This should point to a Java class that exists in your mod, so Nexerelin can check to see if it exists. probably not needed any more, just make sure it's not blank
  • corvusCompatible: Is this faction compatible with Corvus mode? (If you follow all the instructions here, it will be)
  • pirateFaction: Set to true to mark this as a pirate faction. Pirate factions start hostile to almost everyone, have fewer diplomacy event types, don’t engage in covert ops by themselves, don’t pay ransom for prisoners, and don’t participate in invasions by default (you can still capture their markets yourself).
  • isPirateNeutral: If true, pirates will not be hostile to this faction at start
  • factionsLiked: Start welcoming to this faction.
  • factionsDisliked: Start hostile to this faction.
  • factionsNeutral: Start neutral to this faction (used for hostile-to-all factions like the Luddic Path)
  • spawnPatrols: You can turn this off to make the faction not spawn patrols (which makes them much weaker). Only works if the faction is also set to not spawn patrols in the .faction file as well!

There are also a few other interesting options, look around for them.

Now open data/config/exerelinFactionConfig/mod_factions.csv and add your faction to the list.

3) Add your faction to rules.csv
There are two things to do here: the start faction selection option and faction directory (the latter lets the player find your faction’s planets and stations). The entries here should be self-explanatory, so just go ahead and copypaste + edit your own as appropriate.

Note: This can be done in the faction's rules.csv instead of the Nexerelin one, but will require two separate copies of rules.csv (one with the Nexerelin entries and one without) to avoid crashes. You can work around this by replicating the relevant rulescmd methods in your own mod, but it may be easier to just wait for me to update Nexerelin.

4) Corvus mode support
Open data/config/exerelin/corvus_capitals.csv and corvus_spawnpoints.csv and add the appropriate entries for your faction. This tells Nexerelin where to spawn the player at start, and which planet or station changes the system relay's faction when captured.

Where can I find the source code?
It’s included in the download, or you can look in Bitbucket here.

My wishlist
Revamped capture system
Economy development
(note: doing any of this depends on whether I still want to work on stuff at that point; none of this may ever get done)

Credits
Zaphide: the original Exerelin
Dark.Revenant: much coding help; SS+ compatibility
Psiyon: backgrounds
Tartiflette: Prism Freeport
The SS mod community: various tips, pointers and feedback
Alex, David, Ivaylo, StianStark: Starsector, what keeps us here
And lastly you, for playing this
« Last Edit: January 14, 2017, 07:04:21 AM by Histidine » Logged

Tartiflette
Admiral
*****
Posts: 1903


Kickstarter is not a magic spring of free money!


View Profile Email
« Reply #1 on: March 07, 2015, 02:53:31 AM »

Nice to see (N)exerelin back, good work Histidine. I'll have to release a Scy update to make it compatible, but in the meantime here's an updated faction file: the current one is lacking a lot of new stuff.

Since it didn't worked in Exerelin, would it be possible to use ships instead of wings to mine too? I made a mining destroyer that beg to be put to good use, and should be more efficient than a wing since it's quite bigger. I already commented out the corresponding entry for when it become possible (unless you already changed that in this case thank you).

Well, gotta get back working on that update then.

[attachment deleted by admin]
Logged

 
HELMUT
Admiral
*****
Posts: 1223



View Profile
« Reply #2 on: March 07, 2015, 05:11:40 AM »

Bug when i launched the campaign, after distributing my skill points at the character creation.

Code:
106480 [Thread-5] ERROR com.fs.starfarer.combat.O0OO  - java.lang.RuntimeException: Texture [urban03] from category [illustrations] not found
java.lang.RuntimeException: Texture [urban03] from category [illustrations] not found
at com.fs.starfarer.settings.StarfarerSettings.Ó00000(Unknown Source)
at com.fs.starfarer.campaign.BaseCampaignEntity.setInteractionImage(Unknown Source)
at data.scripts.world.ExerelinSectorGen.pickEntityInteractionImage$(ExerelinSectorGen.java:173)
at data.scripts.world.ExerelinSectorGen.buildSystem(ExerelinSectorGen.java:684)
at data.scripts.world.ExerelinSectorGen.generate(ExerelinSectorGen.java:383)
at com.fs.starfarer.campaign.save.CampaignGameManager.super(Unknown Source)
at com.fs.starfarer.title.OoOO.dialogDismissed(Unknown Source)
at com.fs.starfarer.ui.do.dismiss(Unknown Source)
at com.fs.starfarer.ui.impl.O0oO.dismiss(Unknown Source)
at com.fs.starfarer.campaign.save.O0oO.actionPerformed(Unknown Source)
at com.fs.starfarer.ui.i.o00000(Unknown Source)
at com.fs.starfarer.ui.OooO.processInput(Unknown Source)
at com.fs.starfarer.ui.V.o00000(Unknown Source)
at com.fs.starfarer.B.null.class$super(Unknown Source)
at com.fs.super.A.new(Unknown Source)
at com.fs.starfarer.combat.O0OO.o00000(Unknown Source)
at com.fs.starfarer.StarfarerLauncher$2.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

Tried a few times with just Lazylibs, Shaderlibs and common radar. Most of the [urban] textures seems to be missing or something.
Logged

HELMUT's sprites factory:

Histidine
Admiral
*****
Posts: 1331



View Profile Email
« Reply #3 on: March 07, 2015, 05:41:37 AM »

Bug when i launched the campaign, after distributing my skill points at the character creation.

Code:
106480 [Thread-5] ERROR com.fs.starfarer.combat.O0OO  - java.lang.RuntimeException: Texture [urban03] from category [illustrations] not found
java.lang.RuntimeException: Texture [urban03] from category [illustrations] not found
at com.fs.starfarer.settings.StarfarerSettings.Ó00000(Unknown Source)
at com.fs.starfarer.campaign.BaseCampaignEntity.setInteractionImage(Unknown Source)
at data.scripts.world.ExerelinSectorGen.pickEntityInteractionImage$(ExerelinSectorGen.java:173)
at data.scripts.world.ExerelinSectorGen.buildSystem(ExerelinSectorGen.java:684)
at data.scripts.world.ExerelinSectorGen.generate(ExerelinSectorGen.java:383)
at com.fs.starfarer.campaign.save.CampaignGameManager.super(Unknown Source)
at com.fs.starfarer.title.OoOO.dialogDismissed(Unknown Source)
at com.fs.starfarer.ui.do.dismiss(Unknown Source)
at com.fs.starfarer.ui.impl.O0oO.dismiss(Unknown Source)
at com.fs.starfarer.campaign.save.O0oO.actionPerformed(Unknown Source)
at com.fs.starfarer.ui.i.o00000(Unknown Source)
at com.fs.starfarer.ui.OooO.processInput(Unknown Source)
at com.fs.starfarer.ui.V.o00000(Unknown Source)
at com.fs.starfarer.B.null.class$super(Unknown Source)
at com.fs.super.A.new(Unknown Source)
at com.fs.starfarer.combat.O0OO.o00000(Unknown Source)
at com.fs.starfarer.StarfarerLauncher$2.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

Tried a few times with just Lazylibs, Shaderlibs and common radar. Most of the [urban] textures seems to be missing or something.
Hmm, that's odd.

What OS? I'm wondering if the Linux/Mac installers don't have the (unused in vanilla, AFAIK) urban graphics included.
Vanilla folder graphics\illustrations should contain files urban_0[1-3].jpg, with the corresponding entries in settings.json->illustrations:
Code:
"urban00":"graphics/illustrations/urban00.jpg",
"urban01":"graphics/illustrations/urban01.jpg",
"urban02":"graphics/illustrations/urban02.jpg",
"urban03":"graphics/illustrations/urban03.jpg",

But I want to push another bugfix soon anyway, so I'll probably just take them out for the time being.
To do this locally: comment out lines 150-153 in data/scripts/world/ExerelinSectorGen.java

would it be possible to use ships instead of wings to mine too?
I don't actually have any plans to implement mining for now, but if I do I'll keep that in mind!
« Last Edit: March 07, 2015, 05:45:40 AM by Histidine » Logged

Ahne
Captain
****
Posts: 289



View Profile
« Reply #4 on: March 07, 2015, 06:45:50 AM »

Awesome man!

If this mod gets compatible with SS+ my life is complete!

Hahaha, great work indeed!

greetings
Ahne
Logged

HELMUT
Admiral
*****
Posts: 1223



View Profile
« Reply #5 on: March 07, 2015, 08:36:15 AM »

Hmm, that's odd.

Actually nevermind. I'm just a braindead idiot that forgot to update his game to RC2. God i feel so bad...

Anyway, congrats on updating (N)Exerelin to 0.65.2, i'm sure a lot of people will be happy to see this mod working again.
Logged

HELMUT's sprites factory:

gruberscomplete
Commander
***
Posts: 198



View Profile
« Reply #6 on: March 07, 2015, 08:47:51 AM »

Thank you I appreciate this.
Also this should be moved to the mods thread instead of hiding in the modding area.
After adding all the mods you mentioned, and after making a character, when it is starting the game by "creating trade fleets", it crashes, saying something like
: out of bounds:10.

UPDATE:
after reinstalling SS and all mods it worked. Thanks.
another update
After doing the above and starting with a crystantite ship, picked a fight with a one-ship fleet of "neutral" faction, defeated it, took more cargo than could carry, GAME CRASHED:
427339 [Thread-5] INFO  com.fs.starfarer.combat.CombatEngine  - FP1: 5, FP2: 5, maxFP1: 200, maxFP2: 200
470935 [Thread-5] INFO  exerelin.world.InvasionFleetManager  - Get reserve size - failed to get key fake_market
475523 [Thread-5] ERROR com.fs.starfarer.combat.D  - java.lang.NullPointerException
java.lang.NullPointerException
   at exerelin.campaign.DiplomacyManager.reportBattleOccurred(DiplomacyManager.java:445)
   at com.fs.starfarer.campaign.CampaignEngine.reportBattleOccurred(Unknown Source)
« Last Edit: March 07, 2015, 03:21:49 PM by gruberscomplete » Logged

Plentysector               Robots With Souls
Midnight Kitsune
Admiral
*****
Posts: 1377



View Profile
« Reply #7 on: March 07, 2015, 10:16:15 AM »

Dude, why isn't Exi in here? They were around in 54 and especially in 62!
Logged

Stop trying to balance the game around a few minmaxers...
Programming is like sex:
One mistake and you have to support it for the rest of your life.

Tired of having your game crash because of out of date mods? Then click here!
Get Version Checker today! Now with 90% less hassle! Simply toss it into your mod folder, activate the mod like a normal one and BINGO you will now be informed of any and all updates when you start SS campaign up!
Histidine
Admiral
*****
Posts: 1331



View Profile Email
« Reply #8 on: March 07, 2015, 07:56:46 PM »

Nexerelin v0.2.2
Download

Code:
v0.2.2
- Compatibility with Exigency, II and Templars (once they're updated)
-- SCY too, but I forgot to uncomment the lines in rules.csv so you'll have to do it manually unless I update again by then
- Fix crash after fighting with independents
- Agents, prisoners, saboteurs less common
- Reduce reserve damage from saboteur action
- Lower chances of detection from destroying food
- NPC covert action interval increased 30 days -> 45
- Don't change storage submarket faction on market capture

After doing the above and starting with a crystantite ship, picked a fight with a one-ship fleet of "neutral" faction, defeated it, took more cargo than could carry, GAME CRASHED:
427339 [Thread-5] INFO  com.fs.starfarer.combat.CombatEngine  - FP1: 5, FP2: 5, maxFP1: 200, maxFP2: 200
470935 [Thread-5] INFO  exerelin.world.InvasionFleetManager  - Get reserve size - failed to get key fake_market
475523 [Thread-5] ERROR com.fs.starfarer.combat.D  - java.lang.NullPointerException
java.lang.NullPointerException
   at exerelin.campaign.DiplomacyManager.reportBattleOccurred(DiplomacyManager.java:445)
   at com.fs.starfarer.campaign.CampaignEngine.reportBattleOccurred(Unknown Source)
Thanks for report, fixed.

Dude, why isn't Exi in here? They were around in 54 and especially in 62!
'cos it crashes (on account of not keeping Exerelin compatibility in mind during the recent updates)
Don't worry, it'll be updated in time.
Logged

xenoargh
Admiral
*****
Posts: 3332


View Profile
« Reply #9 on: March 07, 2015, 08:01:57 PM »

Hey, this great, looking forward to seeing it get done.  It's so boring not having a conquer-the-Sector mod atm Smiley
Logged
Dark.Revenant
Admiral
*****
Posts: 2043



View Profile WWW Email
« Reply #10 on: March 07, 2015, 10:34:16 PM »

Starting templar ship really needs to be the _sal variant.  The current one is the support one, making it nigh impossible to fight properly.
Logged

Histidine
Admiral
*****
Posts: 1331



View Profile Email
« Reply #11 on: March 08, 2015, 01:39:30 AM »

Nexerelin v0.2.3
Download

Code:
v0.2.3
- Fix misreporting of market captures
- Fix SCY support
- Fix Mayorate being listed in the wrong category
- Change starting Templar Martyr variant to Saltare
- Reduce default star/planet/station count
- Remove size 2 stations
Logged

MesoTroniK
Admiral
*****
Posts: 954


I am going to destroy your ships


View Profile
« Reply #12 on: March 08, 2015, 01:43:47 AM »

Histidine, since you are updating this very often (appreciated!) I might suggest utilizing Version Checker here Smiley
Logged

Tartiflette
Admiral
*****
Posts: 1903


Kickstarter is not a magic spring of free money!


View Profile Email
« Reply #13 on: March 08, 2015, 01:48:48 AM »

Hum, Scy will need an update on my end to be compatible, since I removed the "Exerelin" check. But at least it should work as soon as I release something.
Logged

 
Nicke535
Commander
***
Posts: 132


What do you want, human?


View Profile Email
« Reply #14 on: March 08, 2015, 10:08:27 AM »

Huh, i did not even realize i made my mod (N)exerelin compatible. Oh well. Time to stomp some stations with the Rebirth-class.
Logged

Pages: [1] 2 3 ... 84
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.20 | SMF © 2006-2011, Simple Machines
Simple Audio Video Embedder
Valid XHTML 1.0! Valid CSS!