https://github.com/grim-/outward-item-overrider
An attempting at creating a mod that allows modification to Item Values via a JSON file
https://github.com/grim-/outward-item-overrider
Last synced: about 2 months ago
JSON representation
An attempting at creating a mod that allows modification to Item Values via a JSON file
- Host: GitHub
- URL: https://github.com/grim-/outward-item-overrider
- Owner: Grim-
- License: mit
- Created: 2019-04-10T08:34:29.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2019-04-19T17:14:23.000Z (about 6 years ago)
- Last Synced: 2025-02-15T08:36:28.292Z (3 months ago)
- Language: C#
- Size: 4.77 MB
- Stars: 0
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Changes from Outward Item Overrider by Grim-
Added a base class called OverrideData that can be a base for any type of override data for other types such as the implemented WeaponOverrideData and ItemOverrideData, future implementations of Armor, Bags etc are on the way.
The project uses XML serialization and deserialization for its configuration file as to easily translate the configuration into C# classes and objects.
The project now also uses the OLogger class to debug information in-game## User Installation
Download the API from the Nexus or Github Releases, unzip the file and place the .dll file into "Outward\Mods\". Mods will now be able to use functions provided.
Set the attribute DebugMode to true or false in your xml to enable debugging. You can find the attribute on the root element## Massive thanks and pretty much all credit goes to Grim- (Emo#7953) for making the initial mod.
# Outward Item Overrider
> Simply Include the ItemOverride.dll as you would any other Partiality mod then put xml files formatted as below in Outward/Config (Create the folder if it does not exist).
The XMLConfigHelper API will automatically load all config files in "Outward\Config\".## Currently Supported Types
#### Weapon - Half way
#### Item - Half way
#### Armour - TODO
#### Bag - TODO
#### Skills -TODO# Outward Item Overrider XML structure
> For example the below files makes three modifications to one item and two on the other item.The first has an added 200 fire damage and has its impact set to 51 and has its max durability set to 211.
The second item has its impact set to 500 and its pouch bonus to 51
.
> You can copy this into a new file and change the ID and values to get started, simply make sure the .XML file is in the correct folder (above)```javascript
//2000090.xml (example)
```
> Another file
```javascript
//2100000.xml (example)
```
## Currently Supported XML Options
### itemID### Class ItemOverrideData
* OverrideType
* ItemStatType
* Value### Class WeaponOverrideData
* OverrideType
* WeaponStatType
* DmgType
* Value#### OverrideType
* NONE
* ITEMSTAT
* WEAPON
* ARMOUR
* SPELL
* BAG#### ItemStatType
* NONE
* RAWWEIGHT
* MAXDURABILITY#### WeaponStatType
* NONE
* DAMAGE
* IMPACT
* STAMINA_COST
* REACH
* SPEED
* HEALTH_BONUS
* POUCH_BONUS
* HEAT_PROTECTION
* COLD_PROTECTION
* IMPACT_PROTECTION
* CORRUPTION_PROTECTION
* WATER_PROOF
* MOVEMENT_PENALTY
* STAMINA_USE_PENALTY
* HEAT_REGEN_PENALTY
* MANA_USE_MODIFIER#### DmgType
* Physical
* Ethereal
* Decay
* Electric
* Frost
* Fire
* DarkOLD
* LightOLD
* RawIf you are editing a Weapon's Damage Stats you must include the ();
//Used to set the parent of all debug boxes to obj
OLogger.SetupObject(obj);
}public override void OnLoad()
{
base.OnLoad();
// Sets up "Default Unity Compiler" panel at location: (X:400,Y:400)
// size: (W:400,H:400) and have it log to file (mods/Debug/"PanelName".txt) and be enabled on start
OLogger.CreateLog(new Rect(400, 400, 400, 400), "Default Unity Compiler", true, true);
//If you want to also debug Unity's stack trace then call this
OLogger.CreateLog(new Rect(400, 400, 400, 400), "Default Unity Stack Trace", true, true);
// Create the default logging panel that your addon will print to
OLogger.CreateLog(new Rect(400, 400, 400, 400), "Default", true, true);
//Add ignores to OLogger ignore list (will filter out from Unity's Debug calls)
OLogger.ignoreList.AddToIgnore("Internal", "Failed to create agent"
, "is registered with more than one LODGroup"
, "No AudioManager");
//ignores can also be removed by calling OLogger.ignoreList.RemoveFromIgnore()
//Finally hook OLogger onto logMessageReceived to receive Unity's Debug calls
Application.logMessageReceived += OLogger.DebugMethodHook;
}
```