Modding Help So I tried to write a patch to return pre-1.3.0 crew engineers

Discussion in 'Starbound Modding' started by The1Chosen, Nov 4, 2021.

  1. The1Chosen

    The1Chosen Void-Bound Voyager

    I liked the idea of a time-progression on a fuel efficiency, and to the fact to make engineers more valuable I've had a mod that returns old hyperspace travelling fuel cost as well. So I want a mod to return the old crew engineer's mechanics.

    The problem:
    It's not enough to simply mod/patch "npcs/crew/crewmemberengineer.npctype" file, because the script of crew benefits itself has been changed ("scripts/companions/crewbenefits.lua").
    In older versions of Starbound there was a "PeriodicMultiplier" type of "benefits", now there's "ShipUpgradeBenefit" instead (upd: which seemingly doesn't support a "Period" field).
    I want to preserve both types of ship benefits if possible.
    I have all old files on my hand, but I can't combine old and new crewbenefits in an one .lua file because I don't know how to write code. If allowed, I can send them in this thread.

    Of course, copy-paste of missing code from 1.2 version leads to errors, but not quite as expected: old crew benefits won't work, but it would not affect any other crew; also engineers wouldn't be able to combat on ground anymore, they would instantly die on any planet with this error:

    [19:17:46.646] [Error] Exception while invoking lua message handler for message 'recruit.status'. (LuaException) Error code 2, [string "/scripts/udrecruitablecompat.lua"]:200: attempt to index a nil value (field 'itemSlots')
    stack traceback:
    [C]: in metamethod '__index'
    [string "/scripts/udrecruitablecompat.lua"]:200: in function <[string "/scripts/udrecruitablecompat.lua"]:157>
    (...tail calls...)

    ...I'll continue on experimenting, but if someone knows... what should I do? Is it even possible to roll back to old mechanics at least, and if so, to combine all of them?
    Last edited: Nov 4, 2021
  2. Genevra

    Genevra Scruffy Nerf-Herder

    if it's possible to restore the old functionality completely, then it's possible to combine both.

    by that I mean you should focus on attempting to restore the ship benefits that existed previously.
    if you can get it to work, it's possible to combine them and then i can help you further with that.

    if you are not able to get the old benefits working completely then they probably changed stuff C++ side, and that will be much harder to mod in than simply restoring the old Lua files
    The1Chosen likes this.

Share This Page