News:

SMFNew Installed

+-+-

User+-

Welcome, Guest.
Please login or register.
 
 
 

Login with your social network

Forgot your password?

Site Stats+-

Members
Total Members: 728
Latest: Cho
New This Month: 0
New This Week: 0
New Today: 0
Stats
Total Posts: 10932
Total Topics: 795
Most Online Today: 389
Most Online Ever: 854
(September 18, 2024, 07:49:37 am)
Users Online
Members: 0
Guests: 243
Total: 243

Author Topic: Editing Armor Base Files  (Read 4231 times)

0 Members and 101 Guests are viewing this topic.

Editing Armor Base Files
« on: »
Okayyyy, first of all hey! I'm new to the forum and just got started in TL2 modding and I have to say I'm obsessed - I'll probably never get around to playing the actual game again.

I've been playing around with bits of the editor for a while now and my attention has just been turned to the game armors, which for someone like me are infuriatingly nonsensical. There seems to be no relation between the armor names, their appearances, and relative strength, and normal items seem to be consistently trash that take up inventory space until you sell them. So I'm trying to do a lil revamp switching the armors around, renaming them to make sense, and creating a consistent hierarchy so that collecting armor isn't such a confusing clusterfuck for new players.

annnnnnd I've already run into a problem. I'm sure this is something simple, but basically I made a clones of the base armor files (just normals to start, ex: basearmor_boots, basearmor_chest, etc) to break them up into cloth, light, medium, and heavy variants (so now there's basearmor_chest_cloth, basearmor_chest_light and so on). These variants refer back to the original basearmor_chest or whatever as their basefile.

So far so good, but now I'm trying to reassign the armors to have one of these variants as their base files so, for example, medium_01_chest will now have basearmor_chest_medium as its basefile instead of basearmor_chest. So I try changing this, and once I refresh the list/save and reload GUTS or whatever, the item just.... disappears. I have no idea what I did wrong, I can see the item's dat and basedat files in the mod's folder, it just doesn't show up in GUTS, NOR are the variants (medium_01_chest_alt_b for example) seem to be properly inheriting the stats from the new basefile --> thru the medium_01_chest item, as they're displaying the stats in the original basefile.

Any ideas? I'm desperate!

Share on Bluesky Share on Facebook


Re: Editing Armor Base Files
« Reply #1 on: »
I tried something like this. I suppose that the problem is that items "lose" their Item type - so the editor does not see these items.

Re: Editing Armor Base Files
« Reply #2 on: »
That seems so silly, they should still be inheriting it from their basefile - why would they stop? Has anyone found a workaround? Or is adding new basefiles simply unworkable?

Re: Editing Armor Base Files
« Reply #3 on: »
Has anyone found a workaround?
Well, these items may be correct in the game,  but GUTS considers them wrong and corrects it.
I'm not sure about the base file, but with Wardrobe have exactly the same problem.

Code: [Select]
<STRING>UNIT_GUID:6172636865737401011
<STRING>NAME:chest_a00_e01
<TRANSLATE>DISPLAYNAME:Homesteader Gambeson
<STRING>ICON:icons_armor_mixedmedium_chest3
<STRING>BASEFILE:media/units/items/tl2armor/basearmor_chest.dat
<INTEGER>LEVEL:1
<INTEGER>ARMORMIN:50
<INTEGER>ARMORMAX:50
<INTEGER>RARITY:100
<INTEGER>LEVEL_REQUIRED:1
<STRING>UNITTYPE:NORMAL_HEAVY_ARMOR
[WARDROBE]
<STRING>RACE:HUMAN
<STRING>GENDER:MALE
<STRING>TEXTURE:media/wardrobe/_lvls11_20/medium_c/hu_medium_c_chestall_ng.png
<STRING>MESH:media/wardrobe/_lvls11_20/medium_c/hum_medium_c.mesh
<STRING>SET:HARMOR_NP_NG0
[/WARDROBE]
[WARDROBE]
<STRING>RACE:HUMAN
<STRING>GENDER:FEMALE
<STRING>TEXTURE:media/wardrobe/_lvls11_20/medium_c/hu_medium_c_chestall_ng.png
<STRING>MESH:media/wardrobe/_lvls11_20/medium_c/huf_medium_c.mesh
<STRING>SET:HARMOR_NP_NG0
[/WARDROBE]
[WARDROBE]
<STRING>RACE:IMMORTAL
<STRING>GENDER:MALE
<STRING>TEXTURE:media/wardrobe/_lvls11_20/medium_c/im_medium_c_chestall.png
<STRING>MESH:media/wardrobe/_lvls11_20/medium_c/hum_medium_c.mesh
<STRING>SET:IARMOR_NP
[/WARDROBE]
[WARDROBE]
<STRING>RACE:IMMORTAL
<STRING>GENDER:FEMALE
<STRING>TEXTURE:media/wardrobe/_lvls11_20/medium_c/im_medium_c_chestall.png
<STRING>MESH:media/wardrobe/_lvls11_20/medium_c/huf_medium_c.mesh
<STRING>SET:IARMOR_NP
[/WARDROBE]
[WARDROBE]
<STRING>RACE:DWARF
<STRING>TEXTURE:media/wardrobe/_dwarf_lvls1_50/dwarf_01/dwarf_01_chestall.png
<STRING>MESH:media/wardrobe/_dwarf_lvls1_50/dwarf_01/dwarf_01.mesh
<STRING>SET:DARMOR
[/WARDROBE]
[WARDROBE]
<STRING>RACE:TICK
<STRING>CLASS:TICK_T
<STRING>TEXTURE:media/wardrobe/_tick_lvls1_50/tick_01/tick_01_chestall.png
<STRING>MESH:media/wardrobe/_tick_lvls1_50/tick_01/tick_01.mesh
<STRING>ICON:icons_armor_mixedlight_chest
<STRING>ITEM_MESH:media/models/npcs/robobard/RoboBard_body.mesh
<STRING>SET:TARMOR_T
[/WARDROBE]
[/UNIT]

When I open that item in the editor, all the non-standard WARDROBES are removed. But this item works fine in the game.

Re: Editing Armor Base Files
« Reply #4 on: »
It seems you're absolutely right about the unittype issues, as adding <STRING>UNITTYPE:NORMAL BOOTS to the medium_01_boots.dat file seems to bring it back. except now its clearly not inheriting properly from basearmor_boots_medium.dat at all, the unittype being just one of many missing things.

Oh dear. Upon further inspection this seems to simply be a problem with GUTS and inheritances in general. GUTS seems to prefer to only check the original game files for inheritance files, and not the game folder, as dropping the new basearmor_boots_medium.dat files from the mod directory to the base MEDIA directory seems to solve all the problems.

 I'm not sure if this is an issue with only NEW files that are being referred to for inheritance, or if GUTS will only check the original game files when carrying down data thru inheritance. I am also unsure if this is merely a GUTS issue or if things would play out similarly in game. As of now, just dropping the new files into the base game MEDIA folder solves them problem.

ACTUALLY *UPDATE* so it appears this is a general GUTS inheritance problem, it only seems to check the base files and not the mod files no matter what for inheritance, as medium_01_boots_alt_b are inheriting the original stats and not the new stats from basearmor_boots_medium --> medium_01_boots. I still don't know if this is merely a display issue in GUTS or if the problem would persist in the game.

Re: Editing Armor Base Files
« Reply #5 on: »
I believe it persists in-game.

Re: Editing Armor Base Files
« Reply #6 on: »
Firstly, welcome to Torchmodders Avocados!  ;)

It seems to me most item overhaul mods achieve "re-balancing" of the items by controlling the affixes which get applied rather than by tweaking the parent-child inheritances (altho the latter is absolutely the more intuitive method), probably because of this GUTS limitation.

RnF's item overhaul mod files are around here somewhere. I'm sure he wouldn't mind you taking the mod apart to see what you can use...


Re: Editing Armor Base Files
« Reply #7 on: »
How did you point the unit files to your new base unit file?

is just:
/media/unit/items/[other folder if it existis]/[name_of_basefile].dat ?
or is it
/mods/[Your mod folder name]/ /media/unit/items/[other folder if it existis]/[name_of_basefile].dat  ?

For the modded base files to display correctly in guts and the items that inherit from them to also show what they inherit, you have to use the second way to point to your file.

Re: Editing Armor Base Files
« Reply #8 on: »
Wow thanks for all the replies and warm welcomes so far guys! :D

Well the little problem so far is rather silly. My current findings are thus:
1. The good news is that these issues do NOT persist in game - once things are booted and loaded to go actually Torchlight will look at the mod first in terms of inheritance, and all things will be working as intended (I think >_<)

2. The annoying news is the this is indeed just a problem with GUTS it seems, and it will refuse to look in the active mod folder for item basefiles/inheritances. It will see that the basefiles you made are there (i.e. basearmor_amulet_new) and you can edit those directly in GUTS, but will completely forget to check there when loading basefiles from another unit
              (so for example if amulet_01_fun has basearmor_amulet_new as its basefile, GUTS will simply not know this exists and only look in the regular MEDIA folder. The especially annoying part of this is that if you expect your units to inherit their unittype, they won't even show up in GUTS at all! if amulet_01_fun is supposed to inherit the MAGIC AMULET unittype or whatever from basearmor_amulet_new, it doesn't find your basearmor_amulet_new.dat, so you can't really even find your amulet_01_fun in GUTS at all just to take inventory. Again, this won't be a problem in game when you package the mod. A simple and incomplete solution is just to assign the unittype in the amulet_01_fun itself and not have it inherit it, and it will atleast show up in GUTS, although it won't be inheriting anything else. An ugly solution anyways)

3. @ Anarch16sync - You are 100% right!! The only odd bits about this is that navigating to the base file via the GUTS editor/interfact, guts will default by automatically removing the /mods/[Your mod folder name]/ at the beginning - which is fine and works for most cases, just not this one lol. So it seems you have to type this in manually for this solution to work, but it certainly does.
     The only problem I forsee with this is in the case that one wanted to change their mod name/transfer the files to a different mod/merge with another mod, I think??? I'm not sure about this, but I assume if you had the base file directing to /mods/EXAMPLEMOD01 /media/unit/items/... and you changed your mod name or tried dragging the files to another mod /mods/DIFFERENTMOD/media/unit/items/.... it might cause issues? I'll check this in a second as I'm not sure. That and the annoyance of going back and having to chance all my items' basefile references (lol im lazy) are the only issues I see here with this.

      The alternative solution is of course just to drop a copy of your new basefiles being referenced into the original MEDIA directory, and shouldn't cause any problems as long as you are just using new ones/not changing preexisting basefiles. This will cause everything to display correctly in GUTS as well for ones ease while modding (and everything will work out *in game* regardless).

Thanks again guys! I'll let you know if I find out if putting in the /mods/MODNAME/ causes issues when renaming or merging the mod - if it doesn't it's the best way to go for sure.

On a semi- related note: WHY ARE MY NEW SETS NOT SHOWING UP ON MY ITEMS? And also why does the character refuse to wear items given in the EQUIPMENT section like the automatically equip the weapons there?

Re: Editing Armor Base Files
« Reply #9 on: »
...why does the character refuse to wear items given in the EQUIPMENT section like the automatically equip the weapons there?

For the character's starting wardrobe? I think you need to use the wardrobe item "override" options, like in this short tut...


Re: Editing Armor Base Files
« Reply #10 on: »
Ah thanks! But does this make it their starting wardrobe? Because I just want them to have starting actual equipment, not the default appearance when 'nothing' is worn.

I was an idiot though and was giving them items that had a level requirement >_< I fixed it and now they start out with the new gear equiped (actually I should test if this only happens for people with that 'automatically equip items' setting on...)

Re: Editing Armor Base Files
« Reply #11 on: »
So I'm almoost done with the core of it, and I should probably post it if anyone wants to rummage through it, so I'll attach the nonsense below.
The basics are this: Rearrage all the the armor sets into an intuitive 'hierarchy' system to make things immediately clear to the player. There are 7 Tiers (approximately levels ~10, 20, 35, 50, 65, 80, and 100). Armors are broken down into cloth, light, medium and heavy, with normal cloth basically have no requirements, and heavy armor requiring a bit of strength and vitality investment. Heavier armors cost more, provide more defense, and also protect from knockback, but the heaviest also slow the wearer. Specific Items are rebalanced to mean chest and pants are by far the most relevant, and with item costs made proportional. Here are some FuN ChArTs attached lol. 

In addition, I got tired of the 'loot finding' part of this game to be more like 'sifting through tons of useless crap'. So to make things clear and intuitive and useful, ALL armors are being added to a set, even the normal ones. So now there's an "Iron Plate" set and "Reinforced Leather" set so the armor you find doesn't feel so random, and normal armors will now have a specific use in that you can likely find/buy a complete set relatively easily/cheaply into a tier before you find a better set of rares or uniques. Armor will be dropped less in general now, and hopefully even normal/white drops will feel significant/possibly useful. The goal is to make everything feel purposeful, visually clear, consistent and intuitive. When I played I had no idea what armor went with what or if any of it was supposed to make sense and quickly learned to ignore whites and yellows unless I wanted to play caravan simulator.

Obviously to go along with this is an attempt to rebalance the stats and the way armor itself works to make your armor actually matter. And that is major annoyance number two: Apparently Graphs used for affixes will ONLY take EFFECT LEVEL as their input... no other stat will be used. Attempting to make a stat like CHARACTER STRENGTH or ARMOR be the StatName, will only multiply this input, by the "effect percent", by the first level of the mastery graph :(

Which is annoying because a nice smooth curve that gives damage reduction based on armor would be very handy, and instead what I have is just a not-so-elegant linear increase using ARMOR and STATPERCENT in a direct relationship up to 60%DR- ish. I was wondering if anyone knew of a way to make Graphs work with inputs other than the Affix Level, and if not, what you think the best solution would be.

The solutions I can think of are basically creating a skill with many possible affixes with stat watchers to turn them on/off based on the player's armor rating. So for example, in the skill you'd have an affix that is attached between 0 to 500 armor that gives .03% DR per point of armor (giving 15% DR at 500 armor). Above 500 armor that stat watcher flips that off and applies the affix that gives 2.5% DR + .025% DR per point of armor up until 1000 armor(so you still start at 15% DR at 500 armor but increase more slowly after). Above that, stat watcher flips that affix off, and another is turned on that gives 7.5% DR + .02% DR per point of Armor (so you'd still have 27.5% at 1000 armor, but increase more slowly after that). Continue this onward until as high as an armor level you think is necessary, and with enough "switches" to make it as smooth as you want. This can actually get you super close to a good looking curve with only 5 or 6 switches.
The problem with this method is that, ofc, WHY? So much extra work :( just to deal with the fact that Graph Overrides will only take level as their input. Also considering it would have to be repeated for each resistance, meaning about 5 damage types * 6 = 30 different affixes that are flipped on/off with stat watchers, and I haven't used them much so I don't how nicely I expect the statwatchers to do what they're supposed to do.

This goes together with moving/assigning the bonus to each stat.  The problem of course is that any of the relationships not hard-coded (DEX giving dodge, for example), you cant find a way to make a graph define the relationship, and so if you wanted to make Vitality give DR or Dex give execute chance to attack speed or whatever, you're stuck with the frumpy old linear relationship.

Ideally, it'd be nice to find a way to make a STAT determine an affix level, so you'd only need one affix and the mastery graph, but I haven't yet found a way to make a skill read a stat and make that the affix level. A functional alternative is just scrap all the stats and make them skills with 100 or 500 or whatever levels, each level attaching the same affix with the affix level set to the skills level. These skills would then be "pseudo stats" and I think someone made a program around here that can automate making a skill with a bunch of ranks and just changing the affix level each rank. This would allow it to use a GraphOverride and thus a non-linear graph/relationship between your "pseudo-stats" and their bonuses. Again though, I hate how much extra effort that is for something that would be so easy if there was a way to make GraphOverride and StatName play nicely.

Sorry for wall of text, but I'm interesting in hear your guys' thoughts on the best workarounds for these situation (or if HEAVEN FORBID someone found a way to make the graph override work and Ive been wasting a bunch of time lol)


Re: Editing Armor Base Files
« Reply #12 on: »
Forgot to attach the files oops. Theres some other random nonsense in there too - rebalancing stats to get 1 point every other level (because personally 374 Strength is conceptually meaningless to me; if I start with 6 strength and instead a very high level character can have 24 strength, I have some idea what that means and what each point is worth.)
I tried making a playable Ponya but there arent enough animations to make it do much other than run away and kick things lol. Also toying with potions and stat graphs to rebalance  to make the game more about trying to conserve health and manage mana use rather than just trying to survive at least one hit at the late game. Limited balance testing so far tho

Re: Editing Armor Base Files
« Reply #13 on: »
Hey Avocados! I do not know much about item tweaking, but I do know a LOT of modders have been wanting to "correct" the way the TL2 engine implements armor in game.

Not sure if it'll help you at all, but you might take a look at how Chthon was planning to tackle this, in his "armor fix" for his Eternity mod project.


Re: Editing Armor Base Files
« Reply #14 on: »
Yeah! We're on the same page and I even looked at his before! Unfortunately  his suffers from the same problem - its actually being impleted as a linear relationship and the armortodr graph is not being used at all by the affix really. The values are similar at low levels of armor but start diverging greatly at around 1500+, which is why he probably did not notice the game was not doing what he wanted!

 

Recent Topics+-