Modding Help Is it possible to edit a status effect directly from an armor file?

Discussion in 'Starbound Modding' started by EclipticWulf, May 26, 2017.

  1. EclipticWulf

    EclipticWulf Scruffy Nerf-Herder

    I want to add a regeneration passive to an armor set, so I'm trying to make the regeneration a little slower than it is and also trying to remove the icon/name so it doesn't make the tooltip messy. I don't want to create a new status effect if I don't have to as it tends to make a character unplayable if they still have the status effect once they remove the mod. So, is this possible?


    Here's the armor file

    Code:
    {
      "itemName" : "vflesharmorchest",
      "price" : 4800,
      "inventoryIcon" : "icons.png:chest",
      "maxStack" : 1,
      "rarity" : "Rare",
      "category" : "chestarmour",
      "description" : "Resilient leggings made of flesh and Violium. No muscle? No problem!",
      "shortdescription" : "Violium Flesh Chestplate",
      "tooltipKind" : "armoraugment",
    
      "maleFrames" : {
        "body" : "chestm.png",
        "backSleeve" : "bsleeve.png",
        "frontSleeve" : "fsleeve.png"
      },
    
      "femaleFrames" : {
        "body" : "chestf.png",
        "backSleeve" : "bsleeve.png",
        "frontSleeve" : "fsleeve.png"
      },
    
      "statusEffects" : [
        "regeneration1" : {
         "effectConfig" : {
           "healTime" : 80
         },
         "label" : "",
         "icon" : ""
        }
      ],
    
      "level" : 5,
      "leveledStatusEffects" : [
        {
          "levelFunction" : "separatorArmorLevelPowerMultiplierMultiplier",
          "stat" : "powerMultiplier",
          "baseMultiplier" : 1.25
        },
        {
          "levelFunction" : "separatorArmorLevelProtectionMultiplier",
          "stat" : "protection",
          "amount" : 0.5
        },
        {
          "levelFunction" : "separatorArmorLevelMaxEnergyMultiplier",
          "stat" : "maxEnergy",
          "amount" : 5
        },
        {
          "levelFunction" : "separatorArmorLevelMaxHealthMultiplier",
          "stat" : "maxHealth",
          "amount" : 5
        }
      ],
    
      "acceptsAugmentType" : "back",
    
      "itemTags" : [ "tier5armour" ]
    }
    


    This is the part I'm trying to add to it specifically (it works otherwise or even when I just leave it as regeneration1)

    Code:
      "statusEffects" : [
        "regeneration1" : {
         "effectConfig" : {
           "healTime" : 80
         },
         "label" : "",
         "icon" : ""
        }
      ],
    


    And finally, here's the log

    Code:
    [12:55:21.362] [Info] Root: Preparing Root...
    [12:55:21.363] [Info] Root: Done preparing Root.
    [12:55:21.363] [Info] Client Version 1.2.3b (windows x86_64) Source ID: 69bc1c906122a1c61453c6cff15aa088b613db78 Protocol: 729
    [12:55:21.363] [Info] Root: Scanning for asset sources in directory '..\assets\'
    [12:55:23.127] [Warn] Root: Overriding duplicate asset source '..\assets\UnpackedAssets' named 'base' with higher or equal priority source '..\assets\packed.pak
    [12:55:23.138] [Info] Root: Scanning for asset sources in directory '..\mods\'
    [12:55:23.356] [Info] Root: Detected asset source named 'base' at '..\assets\packed.pak'
    [12:55:23.356] [Info] Root: Detected asset source named 'Manipulated UI' at '..\mods\ManipulatedUI.pak'
    [12:55:23.356] [Info] Root: Detected asset source named 'SpawnableItemPack' at '..\mods\SpawnableItemPack.pak'
    [12:55:23.356] [Info] Root: Detected asset source named 'xbawks' at '..\mods\xbawks'
    [12:55:23.356] [Info] Root: Detected asset source named 'Avali' at '..\mods\Avali-triage'
    [12:55:23.356] [Info] Root: Detected asset source named 'Augment Slots for Armor' at '..\mods\ArmorAugments'
    [12:55:23.356] [Info] Root: Detected asset source named 'Enhanced Party Interface' at '..\mods\EnhancedPartyInterface'
    [12:55:23.356] [Info] Root: Detected asset source named 'Nudity Overhaul' at '..\mods\NudityOverhaul'
    [12:55:23.356] [Info] Root: Detected asset source named 'Relocate More (10)' at '..\mods\Relocate More (10).pak'
    [12:55:23.356] [Info] Root: Detected asset source named 'Sure Footed' at '..\mods\Sure Footed'
    [12:55:23.356] [Info] Root: Detected asset source named 'Ultra-Techs' at '..\mods\Ultra-Techs.pak'
    [12:55:23.356] [Info] Root: Detected asset source named 'Universal Uncrafter v1.46' at '..\mods\Universal Uncrafter v1.46 (p1.2).pak'
    [12:55:23.356] [Info] Root: Detected asset source named 'betterupgrades7' at '..\mods\betterupgrades7'
    [12:55:23.356] [Info] Root: Detected asset source named 'Classic Food Mechanics' at '..\mods\classicfoodmechanics'
    [12:55:23.356] [Info] Root: Detected asset source named 'Explorerpod' at '..\mods\explorerpod'
    [12:55:23.356] [Info] Root: Detected asset source named 'Extended GUI' at '..\mods\extended_gui_2-8.pak'
    [12:55:23.356] [Info] Root: Detected asset source named 'Hover Wheelchair' at '..\mods\hoverwheelchair'
    [12:55:23.356] [Info] Root: Detected asset source named 'p_Pets' at '..\mods\p_Pets1.4.pak'
    [12:55:23.356] [Info] Root: Detected asset source named 'pmr' at '..\mods\pmr.pak'
    [12:55:23.357] [Info] Root: Detected asset source named 'Skippable Cinematics' at '..\mods\skippable_cinematics_1-1.pak'
    [12:55:23.357] [Info] Root: Detected unnamed asset source at '..\mods\zWulfsHuntingPlusWildfire'
    [12:55:23.357] [Info] Root: Detected asset source named 'GardenBot2' at '..\mods\Gardenbot2'
    [12:55:23.357] [Info] Root: Detected unnamed asset source at '..\assets\user'
    [12:55:23.357] [Info] Loading assets from: '..\assets\packed.pak'
    [12:55:24.026] [Info] Loading assets from: '..\mods\ManipulatedUI.pak'
    [12:55:24.026] [Info] Loading assets from: '..\mods\SpawnableItemPack.pak'
    [12:55:24.028] [Info] Loading assets from: '..\mods\xbawks'
    [12:55:24.029] [Info] Loading assets from: '..\mods\Avali-triage'
    [12:55:24.142] [Info] Loading assets from: '..\mods\ArmorAugments'
    [12:55:24.264] [Info] Loading assets from: '..\mods\EnhancedPartyInterface'
    [12:55:24.266] [Info] Loading assets from: '..\mods\NudityOverhaul'
    [12:55:24.270] [Info] Loading assets from: '..\mods\Relocate More (10).pak'
    [12:55:24.271] [Info] Loading assets from: '..\mods\Sure Footed'
    [12:55:24.271] [Info] Loading assets from: '..\mods\Ultra-Techs.pak'
    [12:55:24.272] [Info] Loading assets from: '..\mods\Universal Uncrafter v1.46 (p1.2).pak'
    [12:55:24.272] [Info] Loading assets from: '..\mods\betterupgrades7'
    [12:55:24.287] [Info] Loading assets from: '..\mods\classicfoodmechanics'
    [12:55:24.315] [Info] Loading assets from: '..\mods\explorerpod'
    [12:55:24.320] [Info] Loading assets from: '..\mods\extended_gui_2-8.pak'
    [12:55:24.321] [Info] Loading assets from: '..\mods\hoverwheelchair'
    [12:55:24.324] [Info] Loading assets from: '..\mods\p_Pets1.4.pak'
    [12:55:24.325] [Info] Loading assets from: '..\mods\pmr.pak'
    [12:55:24.332] [Info] Loading assets from: '..\mods\skippable_cinematics_1-1.pak'
    [12:55:24.333] [Info] Loading assets from: '..\mods\zWulfsHuntingPlusWildfire'
    [12:55:24.398] [Info] Loading assets from: '..\mods\Gardenbot2'
    [12:55:24.410] [Info] Loading assets from: '..\assets\user'
    [12:55:26.150] [Info] Assets digest is 8af58c5c58631886cd43c837a63390817857bca5d349d3272d65375ccd635506
    [12:55:26.151] [Info] Root: Loaded Assets in 4.78814 seconds
    [12:55:26.156] [Info] Application: Initializing SDL Video
    [12:55:26.160] [Info] Application: Initializing SDL Joystick
    [12:55:26.258] [Info] Application: Initializing SDL Sound
    [12:55:26.277] [Info] Failed to initialize Steam platform services
    [12:55:26.277] [Info] Application: No platform services available
    [12:55:26.277] [Info] Application: Creating SDL Window
    [12:55:26.984] [Info] Application: Enabling VSync with late swap tearing
    [12:55:26.995] [Info] Application: Opened default audio device with 44.1khz / 16 bit stereo audio, 2048 sample size buffer
    [12:55:27.005] [Info] OpenGL version: '4.5.0 NVIDIA 376.82' vendor: 'NVIDIA Corporation' renderer: 'GeForce 940M/PCIe/SSE2' shader: '4.50 NVIDIA'
    [12:55:27.008] [Info] Application: initialization...
    [12:55:27.010] [Info] Root: Loaded Configuration in 0.00105876 seconds
    [12:55:27.014] [Info] Application: renderer initialization...
    [12:55:27.015] [Info] detected supported OpenGL texture size 16384, using atlasNumCells 128
    [12:55:27.015] [Info] detected supported OpenGL texture size 16384, using atlasNumCells 64
    [12:55:27.017] [Info] Root: Loaded ImageMetadataDatabase in 4.34568e-06 seconds
    [12:55:27.037] [Info] Application: main update loop...
    [12:55:27.056] [Info] Root: Loaded NameGenerator in 0.0175218 seconds
    [12:55:27.069] [Error] OpenGL errors this frame:  GL_INVALID_VALUE
    [12:55:27.190] [Info] Root: Loaded PlantDatabase in 0.134483 seconds
    [12:55:27.468] [Info] Root: Loaded ObjectDatabase in 0.429231 seconds
    [12:55:27.724] [Info] Root: Loaded MonsterDatabase in 0.256905 seconds
    [12:55:27.789] [Info] Root: Loaded NpcDatabase in 0.064442 seconds
    [12:55:27.791] [Info] Root: Loaded StagehandDatabase in 0.00169442 seconds
    [12:55:27.800] [Info] Root: Loaded VehicleDatabase in 0.00841994 seconds
    [12:55:27.815] [Info] Root: Loaded PlayerFactory in 0.0150838 seconds
    [12:55:27.865] [Info] Root: Loaded ProjectileDatabase in 0.674784 seconds
    [12:55:27.866] [Info] Root: Loaded VersioningDatabase in 0.000592197 seconds
    [12:55:27.866] [Info] Root: Loaded EntityFactory in 0.0514445 seconds
    [12:55:27.918] [Info] Root: Loaded ParticleDatabase in 0.0516452 seconds
    [12:55:28.169] [Error] Exception caught loading asset: /items/armors/tier5/flesh/vflesharmor.chest, (AssetException) Could not read JSON asset /items/armors/tier5/flesh/vflesharmor.chest
    [0] 7ff6dfb24403 Star::captureStack
    [1] 7ff6dfb2318e Star::StarException::StarException
    [2] 7ff6dfb23278 Star::StarException::StarException
    [3] 7ff6dfb33b80 Star::AssetException::AssetException
    [4] 7ff6e03d6551 `<lambda_80e152f0e8987fd28e54fe8e75d4e933>::operator()'::`1'::catch$25
    [5] 7ffd72f2c710 _C_specific_handler
    [6] 7ffd72f22ac2 _FrameUnwindFilter
    [7] 7ffd7ad9a193 RtlCaptureContext
    [8] 7ff6dfb35f7d <lambda_80e152f0e8987fd28e54fe8e75d4e933>::operator()
    [9] 7ff6dfb2d6ef std::_Invoker_functor::_Call<<lambda_80e152f0e8987fd28e54fe8e75d4e933> & __ptr64>
    [10] 7ff6dfb31156 std::invoke<<lambda_80e152f0e8987fd28e54fe8e75d4e933> & __ptr64>
    [11] 7ff6dfb2ed80 std::_Invoke_ret<std::shared_ptr<Star::Assets::AssetData>,<lambda_80e152f0e8987fd28e54fe8e75d4e933> & __ptr64>
    [12] 7ff6dfb37426 std::_Func_impl<<lambda_80e152f0e8987fd28e54fe8e75d4e933>,std::allocator<int>,std::shared_ptr<Star::Assets::AssetData> >::_Do_call
    [13] 7ff6e0223787 std::_Func_class<Star::WidgetConstructResult,Star::String const & __ptr64,Star::Json const & __ptr64>::operator()
    [14] 7ff6dfb3fbe8 Star::Assets::processAssetData
    [15] 7ff6dfb3db88 Star::Assets::loadJson
    [16] 7ff6dfb3cdf3 Star::Assets::loadAsset
    [17] 7ff6dfb3aaef Star::Assets::doLoad
    [18] 7ff6dfb4314d Star::Assets::workerMain
    [19] 7ff6dfb20a07 <lambda_acdb4815e022f76f36408ff78907d178>::operator()
    [20] 7ff6dfb20f2e Star::ThreadImpl::runThread
    [21] 7ffd7a158364 BaseThreadInitThunk
    [22] 7ffd7ad570d1 RtlUserThreadStart
    Caused by: (JsonParsingException) Cannot parse json file: /items/armors/tier5/flesh/vflesharmor.chest
    [0] 7ff6dfb24403 Star::captureStack
    [1] 7ff6dfb2318e Star::StarException::StarException
    [2] 7ff6dfb23278 Star::StarException::StarException
    [3] 7ff6dfb34960 Star::JsonParsingException::JsonParsingException
    [4] 7ff6e03d79a6 `Star::Assets::readJson'::`1'::catch$264
    [5] 7ffd72f2c710 _C_specific_handler
    [6] 7ffd72f22ac2 _FrameUnwindFilter
    [7] 7ffd7ad9a193 RtlCaptureContext
    [8] 7ff6dfb401ea Star::Assets::readJson
    [9] 7ff6dfb35f7d <lambda_80e152f0e8987fd28e54fe8e75d4e933>::operator()
    [10] 7ff6dfb2d6ef std::_Invoker_functor::_Call<<lambda_80e152f0e8987fd28e54fe8e75d4e933> & __ptr64>
    [11] 7ff6dfb31156 std::invoke<<lambda_80e152f0e8987fd28e54fe8e75d4e933> & __ptr64>
    [12] 7ff6dfb2ed80 std::_Invoke_ret<std::shared_ptr<Star::Assets::AssetData>,<lambda_80e152f0e8987fd28e54fe8e75d4e933> & __ptr64>
    [13] 7ff6dfb37426 std::_Func_impl<<lambda_80e152f0e8987fd28e54fe8e75d4e933>,std::allocator<int>,std::shared_ptr<Star::Assets::AssetData> >::_Do_call
    [14] 7ff6e0223787 std::_Func_class<Star::WidgetConstructResult,Star::String const & __ptr64,Star::Json const & __ptr64>::operator()
    [15] 7ff6dfb3fbe8 Star::Assets::processAssetData
    [16] 7ff6dfb3db88 Star::Assets::loadJson
    [17] 7ff6dfb3cdf3 Star::Assets::loadAsset
    [18] 7ff6dfb3aaef Star::Assets::doLoad
    [19] 7ff6dfb4314d Star::Assets::workerMain
    [20] 7ff6dfb20a07 <lambda_acdb4815e022f76f36408ff78907d178>::operator()
    [21] 7ff6dfb20f2e Star::ThreadImpl::runThread
    [22] 7ffd7a158364 BaseThreadInitThunk
    [23] 7ffd7ad570d1 RtlUserThreadStart
    Caused by: (JsonParsingException) Error parsing json: bad array, should be ',' or ']' at 25:21
    [0] 7ff6dfb24403 Star::captureStack
    [1] 7ff6dfb2318e Star::StarException::StarException
    [2] 7ff6dfb30f6c Star::inputUtf8Json<char * __ptr64>
    [3] 7ff6dfb401ea Star::Assets::readJson
    [4] 7ff6dfb35f7d <lambda_80e152f0e8987fd28e54fe8e75d4e933>::operator()
    [5] 7ff6dfb2d6ef std::_Invoker_functor::_Call<<lambda_80e152f0e8987fd28e54fe8e75d4e933> & __ptr64>
    [6] 7ff6dfb31156 std::invoke<<lambda_80e152f0e8987fd28e54fe8e75d4e933> & __ptr64>
    [7] 7ff6dfb2ed80 std::_Invoke_ret<std::shared_ptr<Star::Assets::AssetData>,<lambda_80e152f0e8987fd28e54fe8e75d4e933> & __ptr64>
    [8] 7ff6dfb37426 std::_Func_impl<<lambda_80e152f0e8987fd28e54fe8e75d4e933>,std::allocator<int>,std::shared_ptr<Star::Assets::AssetData> >::_Do_call
    [9] 7ff6e0223787 std::_Func_class<Star::WidgetConstructResult,Star::String const & __ptr64,Star::Json const & __ptr64>::operator()
    [10] 7ff6dfb3fbe8 Star::Assets::processAssetData
    [11] 7ff6dfb3db88 Star::Assets::loadJson
    [12] 7ff6dfb3cdf3 Star::Assets::loadAsset
    [13] 7ff6dfb3aaef Star::Assets::doLoad
    [14] 7ff6dfb4314d Star::Assets::workerMain
    [15] 7ff6dfb20a07 <lambda_acdb4815e022f76f36408ff78907d178>::operator()
    [16] 7ff6dfb20f2e Star::ThreadImpl::runThread
    [17] 7ffd7a158364 BaseThreadInitThunk
    [18] 7ffd7ad570d1 RtlUserThreadStart
    [12:55:28.192] [Info] Root: Loaded TerrainDatabase in 0.0145509 seconds
    [12:55:28.399] [Info] Root: Loaded MaterialDatabase in 0.533021 seconds
    [12:55:28.435] [Error] Application: exception thrown, shutting down: (ItemException) Could not load item asset /items/armors/tier5/flesh/vflesharmor.chest
    [0] 7ff6dfb24403 Star::captureStack
    [1] 7ff6dfb2318e Star::StarException::StarException
    [2] 7ff6dfb23278 Star::StarException::StarException
    [3] 7ff6dfc93160 Star::ItemException::ItemException
    [4] 7ff6e03fdb98 `Star::ItemDatabase::addItemSet'::`1'::catch$473
    [5] 7ffd72f2c710 _C_specific_handler
    [6] 7ffd72f22ac2 _FrameUnwindFilter
    [7] 7ffd7ad9a193 RtlCaptureContext
    [8] 7ff6dfc98276 Star::ItemDatabase::addItemSet
    [9] 7ff6dfc9f0de Star::ItemDatabase::scanItems
    [10] 7ff6dfc9303d Star::ItemDatabase::ItemDatabase
    [11] 7ff6dfe9ec15 std::make_shared<Star::ItemDatabase>
    [12] 7ff6dfea4039 <lambda_c979fe2661440bde921b022a5da87f15>::operator()
    [13] 7ff6dfe9579f std::_Invoker_functor::_Call<<lambda_c979fe2661440bde921b022a5da87f15> & __ptr64>
    [14] 7ff6dfe99736 std::invoke<<lambda_c979fe2661440bde921b022a5da87f15> & __ptr64>
    [15] 7ff6dfe96fb9 std::_Invoke_ret<std::shared_ptr<Star::ItemDatabase>,<lambda_c979fe2661440bde921b022a5da87f15> & __ptr64>
    [16] 7ff6dfea6526 std::_Func_impl<<lambda_c979fe2661440bde921b022a5da87f15>,std::allocator<int>,std::shared_ptr<Star::ItemDatabase> >::_Do_call
    [17] 7ff6e0223787 std::_Func_class<Star::WidgetConstructResult,Star::String const & __ptr64,Star::Json const & __ptr64>::operator()
    [18] 7ff6dfe9b8c3 Star::Root::loadMemberFunction<Star::ItemDatabase>
    [19] 7ff6dfe99d09 Star::Root::loadMember<Star::ItemDatabase>
    [20] 7ff6dfeab282 Star::Root::itemDatabase
    [21] 7ff6dfe958f0 std::_Invoker_pmf_pointer::_Call<std::shared_ptr<Star::ItemDatabase const > (__cdecl Star::Root::*)(void) __ptr64,Star::Root * __ptr64 & __ptr64>
    [22] 7ff6dfe992e9 std::invoke<std::shared_ptr<Star::Configuration> (__cdecl Star::Root::*& __ptr64)(void) __ptr64,Star::Root * __ptr64 & __ptr64>
    [23] 7ff6dfe96cbc std::_Invoke_ret<std::shared_ptr<Star::Configuration> (__cdecl Star::Root::*& __ptr64)(void) __ptr64,Star::Root * __ptr64 & __ptr64>
    [24] 7ff6dfe9597e std::_Call_binder<std::_Unforced,0,std::shared_ptr<Star::ObjectDatabase const > (__cdecl Star::Root::*)(void) __ptr64,std::tuple<Star::Root * __ptr64>,std::tuple<> >
    [25] 7ff6dfe9503e std::_Binder<std::_Unforced,std::shared_ptr<Star::PlayerFactory const > (__cdecl Star::Root::*)(void) __ptr64,Star::Root * __ptr64 const>::operator()<>
    [26] 7ff6dfea5e72 std::_Func_impl<Star::SwallowReturn<std::_Binder<std::_Unforced,std::shared_ptr<Star::EntityFactory const > (__cdecl Star::Root::*)(void) __ptr64,Star::Root * __ptr64 const> >,std::allocator<int>,void>::_Do_call
    [27] 7ff6dfb1ae1b <lambda_7b083dc4bdd496712d99e51bb49515b5>::operator()
    [28] 7ff6dfb1bc42 Star::WorkerPool::WorkerThread::run
    [29] 7ff6dfb20f2e Star::ThreadImpl::runThread
    [30] 7ffd7a158364 BaseThreadInitThunk
    [31] 7ffd7ad570d1 RtlUserThreadStart
    Caused by: (AssetException) Error loading asset /items/armors/tier5/flesh/vflesharmor.chest
    [0] 7ff6dfb24403 Star::captureStack
    [1] 7ff6dfb2318e Star::StarException::StarException
    [2] 7ff6dfb3056a Star::AssetException::format<Star::AssetPath>
    [3] 7ff6dfb3c11b Star::Assets::getAsset
    [4] 7ff6dfb3cb0a Star::Assets::json
    [5] 7ff6dfc98276 Star::ItemDatabase::addItemSet
    [6] 7ff6dfc9f0de Star::ItemDatabase::scanItems
    [7] 7ff6dfc9303d Star::ItemDatabase::ItemDatabase
    [8] 7ff6dfe9ec15 std::make_shared<Star::ItemDatabase>
    [9] 7ff6dfea4039 <lambda_c979fe2661440bde921b022a5da87f15>::operator()
    [10] 7ff6dfe9579f std::_Invoker_functor::_Call<<lambda_c979fe2661440bde921b022a5da87f15> & __ptr64>
    [11] 7ff6dfe99736 std::invoke<<lambda_c979fe2661440bde921b022a5da87f15> & __ptr64>
    [12] 7ff6dfe96fb9 std::_Invoke_ret<std::shared_ptr<Star::ItemDatabase>,<lambda_c979fe2661440bde921b022a5da87f15> & __ptr64>
    [13] 7ff6dfea6526 std::_Func_impl<<lambda_c979fe2661440bde921b022a5da87f15>,std::allocator<int>,std::shared_ptr<Star::ItemDatabase> >::_Do_call
    [14] 7ff6e0223787 std::_Func_class<Star::WidgetConstructResult,Star::String const & __ptr64,Star::Json const & __ptr64>::operator()
    [15] 7ff6dfe9b8c3 Star::Root::loadMemberFunction<Star::ItemDatabase>
    [16] 7ff6dfe99d09 Star::Root::loadMember<Star::ItemDatabase>
    [17] 7ff6dfeab282 Star::Root::itemDatabase
    [18] 7ff6dfe958f0 std::_Invoker_pmf_pointer::_Call<std::shared_ptr<Star::ItemDatabase const > (__cdecl Star::Root::*)(void) __ptr64,Star::Root * __ptr64 & __ptr64>
    [19] 7ff6dfe992e9 std::invoke<std::shared_ptr<Star::Configuration> (__cdecl Star::Root::*& __ptr64)(void) __ptr64,Star::Root * __ptr64 & __ptr64>
    [20] 7ff6dfe96cbc std::_Invoke_ret<std::shared_ptr<Star::Configuration> (__cdecl Star::Root::*& __ptr64)(void) __ptr64,Star::Root * __ptr64 & __ptr64>
    [21] 7ff6dfe9597e std::_Call_binder<std::_Unforced,0,std::shared_ptr<Star::ObjectDatabase const > (__cdecl Star::Root::*)(void) __ptr64,std::tuple<Star::Root * __ptr64>,std::tuple<> >
    [22] 7ff6dfe9503e std::_Binder<std::_Unforced,std::shared_ptr<Star::PlayerFactory const > (__cdecl Star::Root::*)(void) __ptr64,Star::Root * __ptr64 const>::operator()<>
    [23] 7ff6dfea5e72 std::_Func_impl<Star::SwallowReturn<std::_Binder<std::_Unforced,std::shared_ptr<Star::EntityFactory const > (__cdecl Star::Root::*)(void) __ptr64,Star::Root * __ptr64 const> >,std::allocator<int>,void>::_Do_call
    [24] 7ff6dfb1ae1b <lambda_7b083dc4bdd496712d99e51bb49515b5>::operator()
    [25] 7ff6dfb1bc42 Star::WorkerPool::WorkerThread::run
    [26] 7ff6dfb20f2e Star::ThreadImpl::runThread
    [27] 7ffd7a158364 BaseThreadInitThunk
    [28] 7ffd7ad570d1 RtlUserThreadStart
    [12:55:28.436] [Info] Application: shutdown...
    [12:55:28.624] [Info] Root: Shutting down Root
    [12:55:28.624] [Info] Root: Writing runtime configuration to '..\storage\starbound.config'
    [12:55:28.886] [Info] Application: Destroying SDL Window
    [12:55:28.920] [Info] Application: stopped gracefully
    


    Thanks for any help again.
     
    Last edited: May 26, 2017
  2. Nexus Of Chaos

    Nexus Of Chaos Parsec Taste Tester

    ik there is a status effect for having a full hunger bar that is similar to regen, but idk how to use it
     
  3. Hellession

    Hellession Subatomic Cosmonaut

    The error in the log file is associated with incorrect JSON parsing:
    You made an object with a key inside of a list - that is not how you do it.
    You need to remove the key in "statusEffects" list, since Lists never contain keys for their values.
    JSON-valid code:

    "statusEffects" : [
    {
    "effectConfig" : {
    "healTime" : 80
    },
    "label" : "",
    "icon" : ""
    }
    ]

    Now when it comes to making your own status effect, I personally doubt Starbound is ready to read objects, instead of strings inside of the "statusEffects" list,
    but you can try - simply remove the key and launch Starbound. If it errors, then it is not valid.

    EDIT: One more thing - I agree with your concerns about players having Starbound crash if they continue to have an effect that doesn't exist after they uninstall, but then you can ask players of your mod to do special uninstall procedures, such as getting rid of the item from the wear slot. As far as I know, when the item is just in your inventory and is not found, it would be automatically turned into a Perfectly Generic Item.
     
    Last edited: May 26, 2017
    EclipticWulf likes this.
  4. Cyel

    Cyel Scruffy Nerf-Herder

    Instead of doing a statusEffect, you might be able to use a leveledStatusEffects like the armor boost etc., but on the healthRegen stat:
    Code:
    "leveledStatusEffects" : [
        {
          "levelFunction" : "separatorArmorLevelPowerMultiplierMultiplier",
          "stat" : "healthRegen",
          "baseMultiplier" : 1.25
        },
        {
          "levelFunction" : "separatorArmorLevelPowerMultiplierMultiplier",
          "stat" : "powerMultiplier",
          "baseMultiplier" : 1.25
        },
        {
          "levelFunction" : "separatorArmorLevelProtectionMultiplier",
          "stat" : "protection",
          "amount" : 0.5
        },
        {
          "levelFunction" : "separatorArmorLevelMaxEnergyMultiplier",
          "stat" : "maxEnergy",
          "amount" : 5
        },
        {
          "levelFunction" : "separatorArmorLevelMaxHealthMultiplier",
          "stat" : "maxHealth",
          "amount" : 5
        }
      ],
    

    You'll maybe need to chose a different levelFunction (you can look at the available ones in the /leveling folder) and the baseMultiplier
     
    EclipticWulf and Hellession like this.
  5. EclipticWulf

    EclipticWulf Scruffy Nerf-Herder

    Thank you!
    As for your edit, that's definitely possibility. The issue remains, though (procedures aside) that the character may still have the status effect even after removing the armor for a couple seconds (or more, depending on the amount of specified in the effect). This would still make the character unplayable, unfortunately. And even if the armor turn into a Perfectly Generic Item (which it does), the character will still be unplayable because they had the effect before it turned into an item - and to the game, they are still wearing that item until they are loaded up and it realizes it should be a PGI and turns it into one.

    Edit: This doesn't seem to work either. I also see no reference to the regeneration1 status effect which it needs so that it knows what to actually call. Perhaps I am just missing something though.

    I toyed with this possibility before and had no luck. Most likely I just didn't do it right, but for now this is the easiest solution for me.
     
    Last edited: May 26, 2017
  6. bk3k

    bk3k Oxygen Tank

    Possibly this works different from armors, but probably not. You can either list out your effects as strings, or as objects like so.
    Code:
    "statusEffects" : [
      {
        "effect" : "regeneration1",
        "healTime" : 80,
      }
    ],
    
    And obviously that leaves room to do stuff like this.

    Code:
    "statusEffects" : [
      {
        "effect" : "regeneration1",
        "healTime" : 80
      },
      "xenonglow",
      "rageaugment3",
      {
        "effect" : "levitation",
        "duration" : 5
      }
    ],
    
    For a slightly difficult to read vanilla example, look at the "ghostlycollar"
    Code:
    {
      "itemName" : "ghostlycollar",
      "price" : 7500,
      "rarity" : "Legendary",
      "tooltipKind" : "petcollar",
      "category" : "petCollar",
      "inventoryIcon" : "ghostlycollar.png",
      "description" : "A collar that gives your pet a ghostly visage.",
      "shortdescription" : "Ghostly Collar",
    
      "collar" : {
        "name" : "ghostly",
        "displayName" : "Ghostly",
        "displayIcon" : "/items/augments/pet/ghostlycollar.png",
        "effects" : [ "camouflage35", "ghostlyglow", {"stat" : "wetImmunity", "amount" : 1.0 }, {"stat" : "fireStatusImmunity", "amount" : 1.0 }, {"stat" : "iceStatusImmunity", "amount" : 1.0 }, {"stat" : "electricStatusImmunity", "amount" : 1.0 }, {"stat" : "poisonStatusImmunity", "amount" : 1.0 } ]
      },
    
      "radioMessagesOnPickup" : [ "pickupcollar" ],
    
      "scripts" : [ "/scripts/augments/collar.lua" ]
    }
    
     
    EclipticWulf and Cyel like this.
  7. EclipticWulf

    EclipticWulf Scruffy Nerf-Herder

    Unfortunately that still doesn't seem to work - when spawned, the item becomes a PGI.

    The edit I tried:

    Code:
    {
      "itemName" : "vflesharmorchest",
      "price" : 4800,
      "inventoryIcon" : "icons.png:chest",
      "maxStack" : 1,
      "rarity" : "Rare",
      "category" : "chestarmour",
      "description" : "Resilient leggings made of Flesh and Violium. No muscle? No problem! Slowly heals the wearer.",
      "shortdescription" : "Violium Flesh Chestplate",
      "tooltipKind" : "armoraugment",
    
      "maleFrames" : {
        "body" : "chestm.png",
        "backSleeve" : "bsleeve.png",
        "frontSleeve" : "fsleeve.png"
      },
    
      "femaleFrames" : {
        "body" : "chestf.png",
        "backSleeve" : "bsleeve.png",
        "frontSleeve" : "fsleeve.png"
      },
    
      "statusEffects" : [
        {
          "effect" : "regeneration1",
          "healTime" : 80
        }
      ],
    
      "level" : 5,
      "leveledStatusEffects" : [
        {
          "levelFunction" : "separatorArmorLevelPowerMultiplierMultiplier",
          "stat" : "powerMultiplier",
          "baseMultiplier" : 1.25
        },
        {
          "levelFunction" : "separatorArmorLevelProtectionMultiplier",
          "stat" : "protection",
          "amount" : 0.5
        },
        {
          "levelFunction" : "separatorArmorLevelMaxEnergyMultiplier",
          "stat" : "maxEnergy",
          "amount" : 5
        },
        {
          "levelFunction" : "separatorArmorLevelMaxHealthMultiplier",
          "stat" : "maxHealth",
          "amount" : 5
        }
      ],
    
      "acceptsAugmentType" : "back",
    
      "itemTags" : [ "tier5armour" ]
    }
    


    I also tried putting
    Code:
      {
        "effect" : "regeneration1",
        "healTime" : 80
      },
    
    inside the leveledStatusEffects area which didn't work either.

    The edit I tried:

    Code:
    {
      "itemName" : "vflesharmorchest",
      "price" : 4800,
      "inventoryIcon" : "icons.png:chest",
      "maxStack" : 1,
      "rarity" : "Rare",
      "category" : "chestarmour",
      "description" : "Resilient leggings made of Flesh and Violium. No muscle? No problem! Slowly heals the wearer.",
      "shortdescription" : "Violium Flesh Chestplate",
      "tooltipKind" : "armoraugment",
    
      "maleFrames" : {
        "body" : "chestm.png",
        "backSleeve" : "bsleeve.png",
        "frontSleeve" : "fsleeve.png"
      },
    
      "femaleFrames" : {
        "body" : "chestf.png",
        "backSleeve" : "bsleeve.png",
        "frontSleeve" : "fsleeve.png"
      },
    
      "level" : 5,
      "leveledStatusEffects" : [
        {
          "effect" : "regeneration1",
          "healTime" : 80
        },
        {
          "levelFunction" : "separatorArmorLevelPowerMultiplierMultiplier",
          "stat" : "powerMultiplier",
          "baseMultiplier" : 1.25
        },
        {
          "levelFunction" : "separatorArmorLevelProtectionMultiplier",
          "stat" : "protection",
          "amount" : 0.5
        },
        {
          "levelFunction" : "separatorArmorLevelMaxEnergyMultiplier",
          "stat" : "maxEnergy",
          "amount" : 5
        },
        {
          "levelFunction" : "separatorArmorLevelMaxHealthMultiplier",
          "stat" : "maxHealth",
          "amount" : 5
        }
      ],
    
      "acceptsAugmentType" : "back",
    
      "itemTags" : [ "tier5armour" ]
    }
    
     

Share This Page