tModLoader W1K's Weapon Scaling

W1K

Witch
W1K's Weapon Scaling

Current 1.3 version: 0.1.2.3 (March 27 2022)
Current 1.4 version: 0.1.3.7 (June 4 2022)
Download it from the in-game browser
or download it from (1.3) or (1.4)
Join our Discord for questions and feedback!

1.4 NOW SUPPORTS COMPATIBILITY PATCHES. THE GUIDE BELOW SHOULD STILL BE VALID

1.1 has been released! Now supporting weapon downgrading! Check the changelog for more info.

Have you ever reached late-game and wished there was something exactly like Waterbolt, but that actually dealt enough damage to be usable? Or maybe you really wanted to run a whole fire-themed character but all molten weapons become useless as soon as you get some funny red ore? Or maybe you just really want to make the god of all shortswords?
Fear no more! We got you covered!

unknown.png

W1K's Weapon Scaling works in a very simple way. Every vanilla weapon (more on mods later) has been given an appropriate tier based on when they are obtained in the game, this system, alongside farmable upgrade items, let you upgrade the weapon of your choice to higher tier, damage scaling as appropriate.
To keep it simple, this was done through a lot of math and a funny excel sheet calculating the average DPS increases for each progression tier. The result is a somewhat balanced system of scaling that should keep your weapon of choice comparable or slightly inferior to weapons of the same tier.
To craft tier upgrades, simply look for the relevant ore of the corresponding tier, they should be as expensive to craft as the corresponding pickaxe. However, there are exceptions. If you need additional pointers here's what you need for each upgrade:
Anvil
Iron Tier
: Iron Bars / Lead Bars
Gold Tier: Gold Bars / Platinum Bars
Shadow Tier: Shadow Scales and Demonite Bars / Tissue Samples and Crimtane Bars
Jungle Tier: Bee Wax
Dungeon Tier: Bones and Golden Keys
Hellstone Tier: Hellstone Bars

Mythril Anvil / Orichalcum Anvil
Adamantite Tier
: Adamantite Bars / Titanium Bars
Hallowed Tier: Hallowed Bars
Chlorophyte Tier: Chlorophyte Bars
Eldritch Tier: Ectoplasm
Royal Tier: dropped from Duke FIshron / Pumpking / Ice Queen/ Martian Saucer / Bettsy

Ancient Manipulator
Lunar Tier
: All four Lunar Fragments
Celestial Tier: Luminite Bars

unknown.png

Now, there's obviously downsides to this. Namely, not all weapons are perfectly balanced on their own. While I have done some individual adjustments myself, I can't try all potential weapon and tier combinations on my own, so I will ask for your comprehension and feedback so that I can keep tweaking the numbers further.

1602519395441.png
1602519407982.png

You might've noticed I specified vanilla. There is no way for me to determine the right tiers for weapons coming from external mods, HOWEVER, a solution is already in place.
Mod authors can specify compatible weapons, tiers and adjust scaling of any weapon through the comfiness of their own mods! This is quick and simple, if not a bit tedious for big mods.

1602519567808.png
1602519458113.png

1602519581402.png

Here's an example mod showcasing how to add your own support, or if you prefer, here's the relevant code from Mod.cs including everything you should need
C#:
using Terraria.ModLoader;

namespace WWSSupportExample
{
    public class WWSSupportExample : Mod
    {
        public override void PostSetupContent()
        {
            Mod wWeaponScaling = ModLoader.GetMod("WWeaponScaling"); // Checks whether the Weapon Scaling mod is loaded
            if(wWeaponScaling != null)
            {
                /*WEAPON TIERS
                1 = Wooden
                2 = Iron
                3 = Gold
                4 = Evil
                5 = Jungle
                6 = Dungeon
                7 = Molten
                8 = Adamantite
                9 = Hallowed
                10 = Chlorophyte
                11 = Post-Plantera
                12 = Post-Golem
                13 = Lunar
                14 = Moon Lord*/
 
                //wWeaponScaling.Call(WEAPON ID, TIER, SCALING FACTOR);
                //WEAPON ID is the internal ID of the weapon to be added to the database of supported weapons.
                //TIER is the starting tier of said weapon. For example, if it is obtained in the post-skeletron dungeon, it would be tier 6. Refer to the table above.
                //SCALING FACTOR is how much of the scaling multiplier is applied to the weapon. 1f is the default.
                //    If the weapon scales too much at higher tiers, lower the number into decimals until it feels right. Increase if the weapon scales too slowly.
 
                wWeaponScaling.Call(ModContent.ItemType<Items.Weapon1>(), 1, 1f);
                wWeaponScaling.Call(ModContent.ItemType<Items.Weapon2>(), 2, 1f);
            }
        }
    }
}
Alternatively here's a tutorial on how to create a compatibility patch.




So that's all! Enjoy your probably-still-pathetic celestial-tiered wooden hammer! Feel free to ask questions or provide feedback! Also we got a funny discord!
 
Last edited:
Hello, I bring forth an update.

Version 0.1.1!
- It is now possible to use weapon upgrade items to downgrade an item’s tier if you really want to.
- It is now also possible to downgrade an item’s tier below its original tier if you really really want to. Weapon stats downgraded this way use a slightly weaker version of the upgrade scaling. Should be passable but results may vary wildly.
- Introducing Wood tier upgrade items. Yes.
- It is now possible to hold the “Auto Select” keybind while hovering over a weapon to show its original tier, just in case you forget.
- Weapon upgrade items tooltips were updated to reflect these changes so people don’t accidentally downgrade their Meowmeres.
- Renamed Wooden tier to Wood because I felt like it. Also consistency. Yes.
- Fixed names of Celestial and Luminite upgrade items to match their corresponding tier names. Whoopsies!
 
Last edited:
I don't see it here, so Imma just say it - add toggle option to config menu to enable auto add tiers to modded weapons, based on their rarity Rarity. It's simple and quite effective. No dev would take their time to implement compatibility with a side mod - no offense, it's just that's the reality, please don't have that much time to work on multiple things at once.
 
I don't see it here, so Imma just say it - add toggle option to config menu to enable auto add tiers to modded weapons, based on their rarity Rarity. It's simple and quite effective. No dev would take their time to implement compatibility with a side mod - no offense, it's just that's the reality, please don't have that much time to work on multiple things at once.
Compatibility isn't exactly the hardest thing to add in, each weapon is a single line of code and the only variable is the weapon's tier. Supposedly third party modders can make compatibility patches as well knowing the right internal names.
Rarity, for as much as I wish was a good option, is a really poor indicative of tier as often weapons of the same tier have widely different rarities. The stat was really never intended for anything past cosmetic and is used very liberaly. I can add in the option as a config but it is definitelly going to be off for a lot if not most weapons.
 
Compatibility isn't exactly the hardest thing to add in, each weapon is a single line of code and the only variable is the weapon's tier. Supposedly third party modders can make compatibility patches as well knowing the right internal names.
Rarity, for as much as I wish was a good option, is a really poor indicative of tier as often weapons of the same tier have widely different rarities. The stat was really never intended for anything past cosmetic and is used very liberaly. I can add in the option as a config but it is definitelly going to be off for a lot if not most weapons.
Yeah, I am aware that it's gonna be mostly off, but at least it would somehow work with other mods, not just a vanilla stuff.
 
Hello again fellas. I've been experimenting with making third party compatibility patches and I've figured out a fairly simple process really anyone who's never touched coding should be able to go through for whoever wishes to contribute with this mod's support. Consider this a short tutorial. I'll be using Thorium's Golden Bugle Horn as an example.

NOTE FOR TMODLOADER 1.4 THE SYNTAX IS NOW SLIGHTLY DIFFERENT. REFER TO THE SPOILER BELOW OR USE THE UPDATED ATTACHMENT
UzYiT0t.png

Prereq
- 1.3's Example mod
OR
- 1.4's Example mod

Recommended
- Notepad++ (or any similar program to facilitate code editing, otherwise any text editing program will do)
- Which Mod Is This From by gardenapple (used to find item and mod internal names, you can find it in the in-game browser as well)
- Cheat Sheet by jopojelly (used to find the mod internal names for mods that don't show on WMITF, you can find it in the in-game browser as well)

So first things first, we're gonna want to find out some things about the mod we're making a patch for. Namely, the mod's internal name and the items' internal names. This is where Which Mod Is This From comes in.
Simply load the mod and load into a world, then open your inventory, go to Settings, Mod Configuration, WMITF Config, turn on "Display Technical Names".
1618354372791.png

This will allow the mod to show the internal names of the items you hover over.
1618354411740.png

This also, generally, allows you to find the mod's internal name, however this does not work for Thorium.

If you cannot find the mod's internal name through this method, we will need the Cheat Sheet mod instead. Simply load the world with said mod and you will see the cheat sheet UI at the bottom fo the screen. Expand it and go to the Item Browser.

Now here you can either order items by mod or use the search bar to the right to look for the item itself. Once you find it, hover over it.
1618354450666.png
And you can see our mod's internal name at the end of the item's name.

So now that we have gotten our short research out of the way, we can determine that Thorium's internal name is "ThoriumMod" and the Gold Bugle Horn's internal name is "GoldenBugleHorn"

With this knowledge, let's move to setting up the patch itself.
- First things first download the example mod folder. Open the zip file and extract the WWSThoriumExample folder into the directory "Documents/My Games/Terraria/ModLoader/Mod Sources". If Mod Sources does not exist, create it.
- Now, rename the WWSThoriumExample folder to your prefered name. This will be our patch's internal name and it can be anything. Just make sure there is no special symbols or spaces.
- Next, access your mod's folder and you should be greeted by these files.
1618354701096.png
- First things first, open "build.txt" with a text editor of your choosing.
- - Change the displayName to your prefered name. Thi can be anything and is the mod's name that will show up in-game.
- - Same for author.
- - Version can be anything. You want to increase this number when uploading updates.
- - In modReferences, fill in the name of the mod you are making a patch for (ThoriumMod in this case, as we found earlier), and WWeaponScaling.
- Second you can edit "description.txt" in the same manner. Anything goes.
- Third, open "patch.cs" with Notepad++ or any text editor of your chosing. Edit it as follows.
1618355180451.png
To add more items, simply copy the last line and change the values.
1618355232152.png
Make sure all lines end with a ";". Do not change the format of the "}". Make sure all names are inbetwen quotation marks. This is where Notepad++ helps immensely.
NOTE FOR TMODLOADER 1.4 THE SYNTAX IS NOW SLIGHTLY DIFFERENT. REFER TO THE SPOILER BELOW OR USE THE UPDATED ATTACHMENT
UzYiT0t.png


- Once done, save the file and close it. Now go to tModLoader's main menu and into the Mod Sources menu. If this is your first time coming here, tModLoader might ask you to follow some additional steps to set up the compiler. Once you find yourself on the screen with all your mod's sources, find your mod and click "Build + Reload". Assuming no errors you should be done here.
1618355410201.png

- You should now find your compiled mod in the Mods menu alongside your other mods. Additionally you should now find the .tmod file for the mod inside of "Documents/My Games/Terraria/ModLoader/Mods".

And that's it. That's the compatibility patch. Obviously you really are only going to need to find the mod's internal name once. At which point all you need is looking for the name of every item you are patching, and figure out the number of the tier they belong in. Lemme know if there's any problems with the instructions.
 

Attachments

  • Example.zip
    1.5 KB · Views: 216
  • Example1.4.zip
    1.5 KB · Views: 64
Last edited:
quick suggestion a tier assigner item that assigns a base tier to a weapon when used on that weapon (mostly for weapons that don't need that much adjustments or just for weapons that you want to adjust and don't care if its slightly unbalanced) it would obviously not be able to be used on weapons that already have a base tier
 
quick suggestion a tier assigner item that assigns a base tier to a weapon when used on that weapon (mostly for weapons that don't need that much adjustments or just for weapons that you want to adjust and don't care if its slightly unbalanced) it would obviously not be able to be used on weapons that already have a base tier
Very interesting idea. Albeit it would probably have to be a toggleable config as it can be abused. I would say a UI that lets you regulate the scaling factor as well could work. If I can figure out how to do it, I could even have a feature that prints all "custom supported" weapons to a file to auto-generate support patches.
 
Hey I’m just here to point out that the mini shark is already a WOF tier weapon, and should start as tier 6-7, rather than 4. Tier 7 mini shark is very overpowered.
 
  • Like
Reactions: W1K
Hey I’m just here to point out that the mini shark is already a WOF tier weapon, and should start as tier 6-7, rather than 4. Tier 7 mini shark is very overpowered.
Objection!

Depending on your luck, and how deep is your pocket, you can get the Minishark without even facing the evil boss.
You only need to destroy shadow orb/heart. If It gives you a gun, already unlocks the way of getting the minishark, even if you didn't see the face of the boss, or any boss.
 
  • Like
Reactions: W1K
Hey I’m just here to point out that the mini shark is already a WOF tier weapon, and should start as tier 6-7, rather than 4. Tier 7 mini shark is very overpowered.

Objection!

Depending on your luck, and how deep is your pocket, you can get the Minishark without even facing the evil boss.
You only need to destroy shadow orb/heart. If It gives you a gun, already unlocks the way of getting the minishark, even if you didn't see the face of the boss, or any boss.
That is very correct, and likely the main reason why minishark is currently evil tier. When we originally tiered the weapons, we first took into account when they are obtained in progression, then compared their DPS to weapons of adjacent tiers to find the best fit. Minishark's tier was choosen early on when we were heavily relying on their point in progression which proved problematic later down the line.

Essentially the issue is that minishark sits right inbetween evil and jungle dps-wise but after some tests (which I'm currently doubting validity) we found it adequate to put it under evil tier as it *should* have matched the megashark in dps by hallowed tier, however as it stands minishark achieves twice the intended DPS so something is clearly wrong.

First of all I've been reevaluating the table, adjusting numbers based on 1.4.1's balance changes (as I find the 1.4+ balance to be much easier to handle as less weapons throw the numbers out of whack).
Also, I am going to move minishark up a tier, to jungle, as it more correctly matches the tier's intended dps after calculating with silver bullets in mind (which we should have in the first place). I did notice that causes the scaling to even out a bit, as currently there is a massive jump between gold and evil due to the inclusion of minishark and the harpoon's maximum optimal dps. That still won't fix minishark's scaling fully, but I will apply some extra tweaking to it to make it fall in line with megashark once again, the same way I did with other more specific problematic weapons.

TL/DR I'm tweaking the tiers using 1.4.1's balance changes, then I'm moving minishark up a tier and slowing down its scaling to match other weapons.

EDIT: I triple checked my numbers and seems my minishark calculations were correct in the first place. However, there seems to be a bug with the scaling seemingly tied to ranged weapons, posibly ones with ammo. Will be looking into it.
 
Last edited:
Hello yes double post.

WWeaponScaling version 0.1.2! Aka guns now work properly and slight rebalance.
  • Critical bug involving ranged weapons ammo damage unintentionally scaling has been fixed. Please report to us should anything else break as a result of this change.
  • Tweaked scaling for a majority of tiers based on the latest Terraria patches. They differ as follows:
    • Iron now increases damage by 34% instead of the previous 52%
    • Shadow now increases damage by 60% instead of the previous 73%
    • Jungle now increases damage by 49% instead of the previous 43%
    • Dungeon now increases damage by 28% instead of the previous 15%
    • Hellstone now increases damage by 35% instead of the previous 33%
    • Adamantite now increases damage by 59% instead of the previous 76%
    • Hallowed now increases damage by 27% instead of the previous 24%
    • Chlorophyte now increases damage by 39% instead of the previous 46%
    • Eldritch now increases damage by 47% instead of the previous 32%
    • Royal now increases damage by 56% instead of the previous 58%
    • Celestial now increases damage by 26% instead of the previous 32%
    • Luminite remains at its previous 14%
  • Minishark and the Harpoon have been moved from Shadow to Jungle tier. Minishark’s scaling has been increased by 15% to help it keep up with Megashark’s scaling.
 
Hello yes triple post.

WWeaponScaling version 0.1.2.1! Aka we rebalanced a bunch of stuff.

  • Applied a total scaling reduction of 10%. All scaled weapons damage values should be slightly lower.

  • Tweaks to some specific tiers scaling as follows:
    • Shadow scaling down from 60% to 55%
    • Jungle scaling down from 49% to 45%
    • Dungeon scaling up from 28% to 40%
    • Molten scaling down from 35% to 30%

  • Cactus Sword’s multiplier reduced from 100% to 73%
  • Copper Broadsword’s multiplier reduced from 100% to 78%
  • Tin Broadsword’s multiplier reduced from 100% to 74%
  • Iron Broadsword’s multiplier reduced from 100% to 80%
  • Lead Broadsword’s multiplier reduced from 100% to 75%
  • Silver Broadsword’s multiplier reduced from 100% to 72%
  • Tungsten Broadsword’s multiplier reduced from 100% to 70%
  • Gold Broadsword’s multiplier reduced from 100% to 70%
  • Platinum Broadsword’s multiplier reduced from 100% to 65%
  • Spear’s tier increased from Iron to Gold and scaling multiplied reduced from 100% to 95%
  • Trident’s scaling multiplied reduced from 100% to 95%
  • Enchanted Boomerang’s scaling multiplier reduced from 100% to 60%
  • Katana’s tier increased from Gold to Shadow and scaling multiplier reduced from 100% to 61%
  • Ice Blade’s tier increased from Gold to Shadow
  • Ice Boomerang’s tier increased from Gold to Shadow and scaling multiplier reduced from 100% to 70%
  • Light’s Bane’s scaling multiplier reduced from 100% to 75%
  • Blood Butcherer’s scaling multiplier reduced from 100% to 70%
  • The Rotted Fork’s scaling multiplier reduced from 100% to 95%
  • Enchanted Sword tier increased from Shadow to Jungle
  • Muramasa’s scaling multiplier reduced from 100% to 83%

  • Fixed being able to use tier upgrades on unsupported weapons.
 
Just curious, where can I find the list of which mods are currently compatiblye with the weapon scaling?
They are on the first post, but to my knowledge no one has made their mod compatible yet, Or at least I am not aware of any outside of my own.
 
They are on the first post, but to my knowledge no one has made their mod compatible yet, Or at least I am not aware of any outside of my own.
My Expanded Sentries mod has support for this mod. I forgot to note it in the change log. However, I haven't yet touched the actual % scaling of specific weapons, just put them all into different tiers. That will have to come later, the hard tweaking. I find that stuff very difficult. It's highly possible my turrets may scale too high, effectively leading to lower tiered weapons upscaling to far greater damage than higher tier weapons.
 
  • Like
Reactions: W1K
I also added support to companion only weapons on TerraGuardians mod. Like the person above, I also didn't changed the percentage of damage, I only set the tiers.
 
  • Like
Reactions: W1K
Back
Top Bottom