Avorion

Avorion

34 ratings
[2.5.2+] Xavorion: eXtended Scripting Framework
   
Award
Favorite
Favorited
Unfavorite
Mods: Mod
File Size
Posted
Updated
1.272 MB
Jan 15, 2023 @ 4:50am
Dec 16, 2024 @ 5:53am
42 Change Notes ( view )

Subscribe to download
[2.5.2+] Xavorion: eXtended Scripting Framework

In 3 collections by LM13
[2.5.2+] Avorion eXtended - Quick Install
28 items
eXtended Scripting Framework - Library collection
13 items
[2.5.2+] Xavorion: eXtended Gameplay Preset
38 items
Description
XSF is a core part for Xavorion gameplay overhaul, but also a modding toolset for those who wish to use it.

It's main purpose is to add support for more advanced gameplay changes and control over some internal systems that were not available, or just hard to touch.
Some parts are not finished, while other provide more personal QoL tools specific for Xavorion development.


eXtended Scripting Framework
This is a framework module, supporting Xavorion features.
It does nothing by itself.


(Some) Code features

ShipXAI - extended state machine

Script side extension to AI State Machine, allowing for new AI states to be added and extend or override vanilla states.
Plugins are supported, and communication between plugins and entities via Event System is available.


SystemUpgrade - extended ship upgrade framework

GalaxyGenerator - extended generation properties

DevCommands - extended command line tools

Other tools, libraries, and code stuff...


Main Mod Page
For more information, check "Xavorion: eXtended Avorion" link below.
https://steamcommunity.com/sharedfiles/filedetails/?id=2923179923

20 Comments
LM13  [author] Jan 7 @ 6:32am 
@RAID_HOOOT

Hello, apologies for late reply.

I've looked at "Category -> C_Economy -> E_Supply Demand.lua" but have no idea what that character is, doesn't seem to be there?
Could it be an encoding artifact from a text editor?
Lua files have used cp1250 encoding, which does not cover Cyrillic.
( My mistake for not using UTF )

The "%2%%3%%4%%5%%6%%7%%1%" name is something I've seen, but have no idea why and where is that name coming from.

As for tags in rarity field. Tags won't work as filters without # special characters. Not sure if those should be translated at all?

Mixing numeric values and texts, that is auto generated from data.
To be fair, I've never done localization support, so there's probably a lot of work to be done to fix this.
I'm not modding anymore, so most likely wont have time to fix this.
RAID_HOOOT Dec 22, 2024 @ 10:51am 
@LM13
Please correct these errors and exclude special characters in the texts.
I also ask you to separate the text fields from the values, if possible, because if you add a numeric value to the text field, then for localization it is necessary to specify the entire text and value as the msgid.
RAID_HOOOT Dec 22, 2024 @ 10:51am 
@LM13
Hi, I'm from Russia and decided to fix and expand the localization of the mod, because not everything was done to the end.
I found two bugs and problems in the text inside the mods.
Mod "Xavorion: eXtended Scripting Framework" -> data -> scripts -> Encyclopedia -> Category -> C_Economy -> E_Supply Demand.lua
line 15 and 19 have the characters "�", which are not displayed in the game, and thus do not allow localization of these lines
There are similar references elsewhere in the encyclopedia.

I don't know which specific mod and file the bug is in, but some weapons have a normal name instead. "%2%%3%%4%%5%%6%%7%%1%", and in the rarity field there is a part of its name, for example, "Reconstruction Beam".
And similarly to the above, it happens that in the "rarities" field of the enhancement module, its tags are written, for example, "#GYRO" or "#ENERGY #BATTERY".
LM13  [author] Jun 23, 2024 @ 11:42am 
@SuperWhiteGuy

Thanks :) Still, took longer than I expected.
Hope there are no new bugs this time.
SuperWhiteGuy Jun 23, 2024 @ 11:16am 
Thank you for your swift updates. It was a little disappointing when it broke on me after the game updated. Big fan of your work here.:steamthumbsup:
[uRxP]DrChocolate Feb 27, 2024 @ 8:46pm 
@LM13 I'm pretty early in my modding adventures. I haven't identified a specific class from your library that I'd like to use yet, nor anything I could contribute to your code, so I won't push you to publish this any time soon. I expect that as I start to work on integrating my functionalities with Xavorion, I'll identify cool things from this library that I'd like to use and possibly extend.

One thing I see already that I'll probably use, but might have to adapt on my end a bit, is your Plugin system (e.g. XAIComponent). It's amusing to be once again approaching an entity logic plugin system in a space game, when I did the same thing 8 years ago for Space Engineers - https://github.com/zrisher/SEGarden/blob/master/Logic/UpdateManager.cs .

This is a much better game, and a better modding environment, so I'm excited.

Thanks again!
은신헌터 Feb 21, 2024 @ 1:26am 
Thank you for your reply and hard work.
LM13  [author] Feb 21, 2024 @ 1:13am 
@은신헌터

I'll make a separate mod after Class Upgrades gets released, to allow randomized shops with restock mod. It will be added to "Optional Tweaks" collection at main mod page - as all other XT series tweaks.

There were others asking for that too, so It's probably best for me to do it.
은신헌터 Feb 20, 2024 @ 7:48am 
Thank you for your response.
I have 2 questions

First one.
Can you tell me the exact meaning of replace _EntityiIDString with shop seed string?

local _EntityIDString = Entity().id.string
local _SeedString = _EntityIDString .. "CargoUpgrades"

I replaced the _EntityIDString in these two lines with the shop seed string, but the tab for that item in the shop disappeared.

Do I need to find and enter the value of the shop seed string instead of just typing "shop seed string"?

If so, how do I get that value?
I looked in [shop.lua] in [\Avorion\data\scripts\lib] but couldn't find anything relevant.

Secondly.
If I replace it with shop seed string, will the shop items become 'completely random' by any chance?
I'm a big fan of the segmentation of equipment for sale by station, like mining related equipment at the materials station and repair equipment at the repair station.
However, it would be a bit disappointing if this resulted in completely different equipment.
LM13  [author] Feb 20, 2024 @ 5:33am 
@은신헌터

Extended shops have station-uniqe selection of items, it's not random. Rift shops are unchanged and should work.

It can be modded, but requires modification of all extended shop files:

Xavorion-SectorGenerator/data/scripts/Merchant/*

in function .shop:addItems()

there a stable random init:

local _EntityIDString = Entity().id.string
local _X, _Y = Sector():getCoordinates()
local _SeedString = _EntityIDString .. "CargoUpgrades"
local _Seed = IGalaxy.GetSectorSeedForProperty( _X, _Y, _SeedString )

-- Stable random - make all shops offer same wares, always
local _Generator = UpgradeGenerator( _Seed )
local _RNG = IGalaxy.GetSectorSeededRNG( _X, _Y, _SeedString )


All you need to do is replace _EntityiIDString with shop seed string ( which is rolled by Shop Restock mod if I remember correctly ).

New Class Upgrades module will modify ALL of those shops really soon btw.