THIS THREAD IS RETIRED

Status
Not open for further replies.
Is the latest version of TT2 compatible to use for 1.4.1.1? I want the tweaks to still be functional amidst the 1.4.1.2 ruckus so I just stuck with 1.4.1.1, but I also don't want to miss out on the newly-released tweaks
It works fine with 1.4.1.2 to me
 
If you don't want to use modifiers:
  1. Make an empty list of item IDs for each rarity.
  2. Fill the rarity lists:
    1. Create a temporary dummy item.
    2. Call SetDefaults on the dummy item for each item ID. (With code to skip specific items or item types you don't want to generate)
    3. Read the dummy item's rarity and write the dummy item's item ID into the matching rarity list.
  3. When generating a random item of a rarity, pick a random index into the chosen rarity list and spawn the item with that ID.
Weapons can go down one tier or up 2 tiers in rarity depending on the modifier. To do this correctly including weapons with modifiers you would need to also take into account every possible "valid" modifier a weapon can get. If you want to use modifiers, you will need to place a weapon into a rarity list for each rarity that weapon can generate at. When spawning the weapon you need to generate a valid modifier matching the selected rarity tier. You would also have to decide how to adjust the probability distribution to account for the fact that weapons appear in multiple rarity lists, and each rarity of a weapon has a different number of modifiers. You will be 4 times more likely to spawn most weapons if you don't account for the fact that they would appear in multiple rarity lists.
An other way would be to take the cargo tables of the wiki in JSON and use them instead of generating them by yourself
 
An other way would be to take the cargo tables of the wiki in JSON and use them instead of generating them by yourself
Dynamically generating the rarity list allows the plugin to work on multiple versions of the game.
Adding data from the wiki will make the plugin file size massive.
You won't easily be able to verify the wiki data is correct and up to date.
 
Is there plans for world seed feature selection/tweaker? Or does anyone know a plugin for this? I would love to mix the For The Worthy seed challenge with the Drunk seed generation. Features here and there from both
 
Is there plans for world seed feature selection/tweaker? Or does anyone know a plugin for this? I would love to mix the For The Worthy seed challenge with the Drunk seed generation. Features here and there from both
You are in luck, there is a plugin for that in the list, it is called Random Gen (By Gaelyte)
You can hover your mouse over the notes to see it, but the seed is: "For the drunk" once the plugin is running
 
Since it seems the thread's been unlocked again, I'll repost my issue here for better visibility:

Ever since a few days ago I have begun experiencing a few issues regarding the program. Specifically, after I launch a tweak list and play the game, after I close out the program refuses to unlock the settings, leaving it permanently stuck. Here is what it looks like on my end:

tweakerbroke.png


Initially I was able to circumvent this by launching TTApplicator, however that now no longer works either as the program seems to believe terraria is running, even though it is not, and thus refuses to open. I am not sure what to do as this renders the program completely unusable.

A few things I've tried to fix the problem:

- Closing and restarting Terraria Tweaker
- Closing and restarting Terraria
- Verifying integrity of game files
- Un/Reinstalling Terraria
- Un/Reinstalling TT2
- Restarting my PC (this is the only one that seems to provide any sort of results, as upon a restart the program will work properly again, until i tweak and launch at which point it locks up again)
 
How did you manage to break ILSpy and dnSpy? Also why does it need admin perms by default? if it's writing to the terraria directory it should probably be changed to the save data location, a patcher needing admin perms is sketchy af.
 
Now I'm not accusing you of anything, but I've literally made my own patcher for Stardew Valley that uses MonoMod, and it doesn't require any special permissions.
Keep in mind that:
1. Stardew Valley is also programmed in XNA/MonoGame, depending on the platform (Terraria is XNA/FNA, and your program uses WPF, so I mean... XNA...).
2. MonoMod uses Mono.Cecil to modify the IL of an assembly, I assume you do the same given the packaged libraries (and the fact that Harmony is supported).

Also, you kind of glossed over what @pollen__ originally said: "How did you manage to break ILSpy and dnSpy?"
That really is concerning, to say the least. I've never seen any other assembly cause something like that, and the fact that ILSpy and dnSpy both have the same issue and the same error despite using different libraries for decompilation, is concerning to say the least. I prefer to be able to see what I'm downloading before I download it if it isn't from a reasonably reputable source.

Digging deeper, it seems like the only possible answer is you used a program like ConfuserEx, which is questionable as you should have no reason to hide any code to such an extent. A regular, light obfuscator would be reasonable enough.
I'm sure there's a more reasonable answer to this, but I feel like I should lay that all on the table just in case.

Something else I forgot to mention: Pollen__ never really said it was supposed to just modify save data, he was saying that any files written should go into the save location (My Games/Terraria/...). Not sure how it's relevant to everything else he said, but meh.

IMPORTANT EDIT:
With some effort, I was able to remove some anti-tampering stuff and managed to properly decompile the TTApplicator. The process should work on Terraria Tweaker 2.

EDIT:
Process worked on TT2 as well. We're pogging.
(For reference, DarwinLine's ctor normally wasn't even decompiled as a ctor, and most of the IL class refused to decompile into anything as well. Not going to reveal the code here for obvious reasons.)

[image removed by staff]

Screenshot of an example of a failed decompilation of the unmodified EXE with ILSPY:

[image removed by staff]
 
Last edited by a moderator:
so i was using the nullify potion debuff thing to remove potion sickness but it only removed it from foods like mushrooms the potions where still the same no matter what value i put there
 
Now I'm not accusing you of anything, but I've literally made my own patcher for Stardew Valley that uses MonoMod, and it doesn't require any special permissions.
Keep in mind that:
1. Stardew Valley is also programmed in XNA/MonoGame, depending on the platform (Terraria is XNA/FNA, and your program uses WPF, so I mean... XNA...).
2. MonoMod uses Mono.Cecil to modify the IL of an assembly, I assume you do the same given the packaged libraries (and the fact that Harmony is supported).

Also, you kind of glossed over what @pollen__ originally said: "How did you manage to break ILSpy and dnSpy?"
That really is concerning, to say the least. I've never seen any other assembly cause something like that, and the fact that ILSpy and dnSpy both have the same issue and the same error despite using different libraries for decompilation, is concerning to say the least. I prefer to be able to see what I'm downloading before I download it if it isn't from a reasonably reputable source.

Digging deeper, it seems like the only possible answer is you used a program like ConfuserEx, which is questionable as you should have no reason to hide any code to such an extent. A regular, light obfuscator would be reasonable enough.
I'm sure there's a more reasonable answer to this, but I feel like I should lay that all on the table just in case.

Something else I forgot to mention: Pollen__ never really said it was supposed to just modify save data, he was saying that any files written should go into the save location (My Games/Terraria/...). Not sure how it's relevant to everything else he said, but meh.

IMPORTANT EDIT:
With some effort, I was able to remove some anti-tampering stuff and managed to properly decompile the TTApplicator. The process should work on Terraria Tweaker 2.

EDIT:
Process worked on TT2 as well. We're pogging.
(For reference, DarwinLine's ctor normally wasn't even decompiled as a ctor, and most of the IL class refused to decompile into anything as well. Not going to reveal the code here for obvious reasons.)
View attachment 319304

Screenshot of an example of a failed decompilation of the unmodified EXE with ILSPY:
View attachment 319303
This is a fine example of why I keep this thread locked. I unlock it to prepare and share a compatibility update for 1.4.2.3, but instead I get an indignant user who decided to spend his bored evening trashing someone else's freeware hobby project - and to start up a bandwagon of misinformation.

You have zero obligation to use Terraria Tweaker. You also have zero obligation to post your liturgy of why this project is equatable to a trojan. Spoiler alert: it's not.

With all the dissection you've done, I am surprised you failed to see the basic copyright text in the TT2 and TTApp assemblies. Or, maybe you are unfamiliar with the idea of protecting copyrighted materials. Neither my legal jurisdiction nor TCF forbids the methods I use to protect the copyrighted materials that comprise Terraria Tweaker 2. It is outrageous that you expect me to invite thievery of my project simply because you believe in a different software philosophy.

I have and always will operate this project on the better principles of what is now a bygone era, when users had good faith in each other and did not see another person's hobby as a juicy target to flog and drag down with McCarthy-ism.

Thank you for forcing me to defend my project from an extremely unnecessary attack. I just love having to do this.

----------

In all honesty, I am shocked that someone was lurking in the rafters, waiting for this thread to unlock ever so briefly such that they could slip in and boil my anthill.
I really misjudged the current culture of this part of the Terraria community.

I am extremely sentimental about this thread and about all the life I have put into this project. It reflects my memorable experiences with both Terraria and with learning so much more about what's under the hood of the best software framework in the world. It would pain me immensely to delete this thread, but it would be even more disheartening to see my 6 year old project become a punching bag for self-righteous bigots.

This is not an easy thing to consider. In the meantime, I will eventually post the aforementioned 1.4.2.3 compatibility update and allow some time for people to find it. It will also be available through TT2's built-in updater, as always.
 
Trolls will be trolls the safest thing to do to a troll is block them and then ignore them not feed their ego other than that thanks for the mod and thanks for you're good work and have a great day.
 
I believe you greatly misunderstood the intent of my message or my "investigation".
I explicitly stated at the beginning of my message that I wasn't making accusations nor stating that this program was actually doing anything malicious. The entire purpose was to ask questions with context.

The fact you feel the need to directly antagonize me and my actions when what I did was out of concern is kind of upsetting, but I suppose I did come off as a little rude with the way I presented my findings. The emotional guilt-trip at the end isn't appreciated, though. I don't see how it's relevant at all to what I brought up, and the lack of any answers to my questions is very disappointing as well.
 
Status
Not open for further replies.
Back
Top Bottom