About this mod
LazyDataLib is a collection of functions that can dynamically modify the game's data without compromising mod compatibility. It is a mod that does nothing on it's own and requires the developer's input for it to shine.
- Requirements
- Permissions and credits
Requirement
GMLoader
Installation
Vortex or MO2 Mod Managers are supported
Manual Installation by extracting into the game folder
Usage
A complete example usages can be found in the mod files.
Functions available to choose
item_set(); is used to edit the json files below
[ammo.json] [armor.json] [backpack.json]
[barter.json] [base_storage_use.json] [book.json]
[book_r.json] [consumable.json] [documents.json]
[grenade.json] [headset.json] [injector.json]
[item_category.json] [key.json] [medication.json]
[repair_armor.json] [repair_weapon.json] [upgrade_base_kit.json]
[w_mod.json] [weapon.json]
caliber_set() => caliber.json
chest_set() => chest.json
chest_sound_set() => chest_sound.json
gamepad_set() => gamepad.json
language_set() => language.json
loadout_set() => loadout.json
mod_positions_set() => mod_positions.json
npc_set() => npc.json
npc_preset_set() => npc_preset.json
skills_set() = > skills.json
skills_gun_passives_set() => skills_gun_passives.json
skills_hunter_set() => skills_hunter_data.json
speaker_set() => speaker.json
stat_set() => stat.json
trader_set() => trader.json
trader_pages_set() => trader_pages.json
// Editing ammo.json example
item_set("ammo_12x70", "ammo", "damage", 61);
// Editing armor.json example
item_set("armor_arman", "armor", "anomaly", 2);
// Editing npc.json example
npc_set("killa", "hp", 999);
Note
If your adding a new caliber, you need to manually add their caliber using the example code below
// Add the new caliber
caliber_set("a40x46", "name", "40x46mm");
// Add as many ammo variant as you want on the array
variable_struct_set(global.caliber_ammo_data, "a40x46", ["ammo_40x46", "ammo_40x46_buckshot"]);
You will need to use GMLoader's appendgml feature and append the code to any game object that's persistent and runs after obj_logo_screen's step event.
the candidates are obj_gamepad, obj_cursor, obj_action_prompt, etc. (I'd personally append it to gml_Object_obj_cursor_Create_0)
This will make sure that the code runs after the json data are initialized. If by any chance your using json override framework that mod will always be the loser on conflicting mods.
My other mods
