tModLoader [1.3] TerraGuardians - Terrarian Companions

The Ferryman

Torch God
Remember me?

Yeah, I haven’t forgotten making music.

I’ll be dead honest and say I’ve been kinda lazy recently and haven’t taken the time to learn FLstudio super well, but that’s gonna change soon, and I’m being legitimate this time, when I have the money (which will be soon) I’m getting the base FLstudio, cause the free version sucks… and in the meantime I’m going to watch videos on how to use FLstudio. But before that I have to get through this coming week and finals…

Woooooo…. Fun.

So basically I’m saying, yeah, it’s actually happening this time, but it’s gonna be a bit. I hope you understand my procrastination.
 

kelbr

Terrarian
Hello, I can't play this mod on multiplayer, I realy loved this mod and this is the main mod that I want in my game, but when I try to create a server, It dont start, I tryed to play just with this mod, and don't open the game multiplayer, I tryed a lot of others mods without this one and worked, so i'm sure that terraguardian don't open my multiplayer. Do you have any tips, or can you correct it please? I want to play this mod in multi so muuuuch! Thank you. For now I can only play it in singleplayer
 

Nakano15

Terrarian
Remember me?

Yeah, I haven’t forgotten making music.

I’ll be dead honest and say I’ve been kinda lazy recently and haven’t taken the time to learn FLstudio super well, but that’s gonna change soon, and I’m being legitimate this time, when I have the money (which will be soon) I’m getting the base FLstudio, cause the free version sucks… and in the meantime I’m going to watch videos on how to use FLstudio. But before that I have to get through this coming week and finals…

Woooooo…. Fun.

So basically I’m saying, yeah, it’s actually happening this time, but it’s gonna be a bit. I hope you understand my procrastination.
You've been saying that kind of thing so many times, that I stopped caring somehow.
If you even manage to try making music for the mod, I'll check out the music you make.
Hello, I can't play this mod on multiplayer, I realy loved this mod and this is the main mod that I want in my game, but when I try to create a server, It dont start, I tryed to play just with this mod, and don't open the game multiplayer, I tryed a lot of others mods without this one and worked, so i'm sure that terraguardian don't open my multiplayer. Do you have any tips, or can you correct it please? I want to play this mod in multi so muuuuch! Thank you. For now I can only play it in singleplayer
Sadly, this mod is not optimized for multiplayer, but I can investigate what is causing the multiplayer to break.
Try triggering a crash, and sending me the crash log for multiplayer. The logs will be located at "My Documents/My Games/Terraria/ModLoader/Logs".
 

kelbr

Terrarian
Sadly, this mod is not optimized for multiplayer, but I can investigate what is causing the multiplayer to break.
Try triggering a crash, and sending me the crash log for multiplayer. The logs will be located at "My Documents/My Games/Terraria/ModLoader/Logs".
I don't know how to trigger a crash, cause the game stay in the "server found" message, like it was loading the server, but don't go further than that
 

kelbr

Terrarian
That's actually a indication. Close the game and try getting the logs.
[12:58:17] [1/INFO] [tML]: Starting tModLoader v0.11.8.9 Windows server (08/05/2022)
[12:58:17] [1/INFO] [tML]: Running on NetFramework 4.8
[12:58:17] [1/INFO] [tML]: Executable: E:\SteamLibrary\steamapps\common\tModLoader\tModLoaderServer.exe
[12:58:17] [1/INFO] [tML]: Working Directory: E:\SteamLibrary\steamapps\common\tModLoader
[12:58:17] [1/INFO] [tML]: Launch Parameters: -autoshutdown -password -lang 1 -world C:\Users\kelme\Documents\My Games\Terraria\ModLoader\Worlds\teste.wld -modpath C:\Users\kelme\Documents\My Games\Terraria\ModLoader\Mods -steam -localsteamid 76561198344656895 -lobby friends
[12:58:17] [1/DEBUG] [tML]: Assembly Resolve: -> MonoMod.RuntimeDetour, Version=20.11.16.1, Culture=neutral, PublicKeyToken=null
[12:58:18] [1/DEBUG] [tML]: Assembly Resolve: MonoMod.RuntimeDetour, Version=20.11.16.1, Culture=neutral, PublicKeyToken=null -> MonoMod.Utils, Version=20.11.16.1, Culture=neutral, PublicKeyToken=null
[12:58:18] [1/DEBUG] [tML]: Assembly Resolve: MonoMod.RuntimeDetour, Version=20.11.16.1, Culture=neutral, PublicKeyToken=null -> Mono.Cecil, Version=0.11.3.0, Culture=neutral, PublicKeyToken=50cebf1cceb9d05e
[12:58:18] [1/DEBUG] [tML]: Assembly Resolve: -> Ionic.Zip.Reduced, Version=1.9.1.8, Culture=neutral, PublicKeyToken=edbe51ad942a3f5c
[12:58:18] [1/DEBUG] [tML]: Assembly Resolve: -> Newtonsoft.Json, Version=10.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed
[12:58:19] [1/DEBUG] [tML]: Assembly Resolve: -> Steamworks.NET, Version=9.1.0.0, Culture=neutral, PublicKeyToken=null
[12:58:21] [1/INFO] [tML]: Unloading mods
[12:58:21] [1/INFO] [tML]: Finding Mods...
[12:58:22] [1/INFO] [tML]: Sandboxing: giantsummon
[12:58:23] [1/INFO] [tML]: Instantiating Mods...
[12:58:23] [1/INFO] [tML]: Initializing: ModLoader (tModLoader) v0.11.8.9
[12:58:23] [1/INFO] [tML]: Initializing: giantsummon (TerraGuardians) v36.17.1.1
[12:58:23] [1/INFO] [tML]: Setting up...
[12:58:23] [1/INFO] [tML]: Loading: ModLoader (tModLoader) v0.11.8.9
[12:58:23] [1/INFO] [tML]: Loading: giantsummon (TerraGuardians) v36.17.1.1
[12:58:24] [1/INFO] [tML]: RAM usage: 234.0 MB
[12:58:24] [1/INFO] [tML]: Adding Recipes...
[12:58:24] [6/INFO] [Terraria]: Loading World: teste, IsCloud=False
[12:58:24] [6/INFO] [StatusText]: Resetting game objects
[12:58:25] [6/INFO] [StatusText]: Loading world data
[12:58:25] [6/INFO] [StatusText]: Settling liquids
[12:58:27] [7/INFO] [Terraria]: 127.0.0.1:63435 is connecting...
[12:58:27] [1/INFO] [Terraria]: Running one update...
[12:58:27] [1/INFO] [tML]: Server starting with AllowVanillaClients set to False
[12:58:27] [1/DEBUG] [tML]: Fallback synchronization context assigned
[12:58:27] [7/WARN] [tML]: Silently Caught Exception:
System.NullReferenceException: Referência de objeto não definida para uma instância de um objeto.
em giantsummon.GuardianData..ctor(Int32 ID, String ModID)
em giantsummon.TerraGuardian.get_Data()
em giantsummon.TerraGuardian.AddCooldown(CooldownType type, Int32 CooldownTime)
em giantsummon.TerraGuardian..ctor(Int32 CreateByType, String ModID)
em giantsummon.PlayerMod..ctor()
em System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
em System.Activator.CreateInstance(Type type, Boolean nonPublic)
em System.Activator.CreateInstance(Type type)
em Terraria.ModLoader.ModPlayer.CreateFor(Player newPlayer)
em Terraria.ModLoader.PlayerHooks.<>c__DisplayClass7_0.<SetupPlayer>b__0(ModPlayer modPlayer)
em System.Linq.Enumerable.WhereSelectListIterator`2.MoveNext()
em System.Linq.Buffer`1..ctor(IEnumerable`1 source)
em System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
em Terraria.ModLoader.PlayerHooks.SetupPlayer(Player player)
em Terraria.Player..ctor(Boolean startupInventory)
em Terraria.RemoteClient.Reset()
em Terraria.Netplay.OnConnectionAccepted(ISocket client)
em Terraria.Net.Sockets.TcpSocket.ListenLoop(Object unused)
em System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(Object state)
em System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
em System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
em System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
em System.Threading.ThreadPoolWorkQueue.Dispatch()
em System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()

[12:58:27] [7/WARN] [tML]: Silently Caught Exception:
System.Reflection.TargetInvocationException: Uma exceção foi acionada pelo destino de uma chamada.
em System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
em System.Activator.CreateInstance(Type type, Boolean nonPublic)
em System.Activator.CreateInstance(Type type)
em Terraria.ModLoader.ModPlayer.CreateFor(Player newPlayer)
em Terraria.ModLoader.PlayerHooks.<>c__DisplayClass7_0.<SetupPlayer>b__0(ModPlayer modPlayer)
em System.Linq.Enumerable.WhereSelectListIterator`2.MoveNext()
em System.Linq.Buffer`1..ctor(IEnumerable`1 source)
em System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
em Terraria.ModLoader.PlayerHooks.SetupPlayer(Player player)
em Terraria.Player..ctor(Boolean startupInventory)
em Terraria.RemoteClient.Reset()
em Terraria.Netplay.OnConnectionAccepted(ISocket client)
em Terraria.Net.Sockets.TcpSocket.ListenLoop(Object unused)
em System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(Object state)
em System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
em System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
em System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
em System.Threading.ThreadPoolWorkQueue.Dispatch()
em System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()

[12:58:29] [11/DEBUG] [tML]: Assembly Resolve: -> MP3Sharp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
[12:58:29] [11/DEBUG] [tML]: Assembly Resolve: -> NVorbis, Version=0.8.4.0, Culture=neutral, PublicKeyToken=null
[12:58:30] [10/DEBUG] [tML]: Assembly Resolve: -> Mono.Cecil.Mdb, Version=0.11.3.0, Culture=neutral, PublicKeyToken=50cebf1cceb9d05e
[12:58:30] [10/DEBUG] [tML]: Assembly Resolve: -> Mono.Cecil.Pdb, Version=0.11.3.0, Culture=neutral, PublicKeyToken=50cebf1cceb9d05e
[12:58:31] [6/INFO] [Terraria]: JIT loading finished
[12:58:31] [1/INFO] [Terraria]: Listening on port 7777
 

Nakano15

Terrarian
(...)
[12:58:27] [7/WARN] [tML]: Silently Caught Exception:
System.NullReferenceException: Referência de objeto não definida para uma instância de um objeto.
em giantsummon.GuardianData..ctor(Int32 ID, String ModID)
em giantsummon.TerraGuardian.get_Data()
em giantsummon.TerraGuardian.AddCooldown(CooldownType type, Int32 CooldownTime)
em giantsummon.TerraGuardian..ctor(Int32 CreateByType, String ModID)
em giantsummon.PlayerMod..ctor()
(...)
Told ya.
I'll check that out.
 

Nakano15

Terrarian
There's not much reason to keep pushing the update for longer, so here it goes.
Update launched!
Fixed a bug where companions couldn't do an entire swing with their one handed weapons.
Reduced the amount of distance necessary to travel to complete travelling requests.
Added an option to make companions refer to your character by name, instead of Terrarian nickname, if there's none set.
Mabel and Domino got sprite changes.
Fixed crashes when trying to play on multiplayer with this mod.
-> That doesn't means that multiplayer support is added, but at least is playable.
Wrath shall no longer spawn underwater.
Added reviving frames for when Vladimir is reviving someone while carrying someone.
Companions from Smokey got dialogue changes.
Like I said above, the fix on multiplayer doesn't makes the mod compatible with multiplayer, but at least is playable and you can bring companions with you during the gameplay.

By the way, you guys be sure to give feedbacks about the sprite changes. :D
More to come in the future.

See ya another time, and have fun.
 

Nakano15

Terrarian
Hey guys, sorry for this late announcement, but I was quite a moron and forgot to post it.

I made a partnership with BisectHosting, and they will offer you 25% discount on your first month buying your first server.
How can you get that? Easy, just visit Minecraft Server Hosting - BisectHosting [433+ Modpacks] and
input the code nakano15 when buying your first server.



With BisectHosting, they can let you host and manage your server with ease, removing the lags and issues caused from hosting the server by yourself, and also allow 24/7 access to anyone you want to invite to your gameplay.
They allow you to host servers for Terraria, Minecraft, and many other games I probably never played before.

If you want to try that out, you can join the server I modded specially for my mods players and their friends.
Open tModLoader, and insert this ip to join:

69.174.97.104:7005

The server itself was provided for free as part of the partnership with BisectHosting, and has a special mod made by me to make it more interesting, even though close to vanilla. You don't need to download any mods, since they will be downloaded once you try logging in.

I hope you guys like the experience, and don't forget to get a server from those guys if you need one to play with friends.

By the way, I know that it has been too long since an update but, I've been working on my game project, and also some other stuffs I had to keep me busy.
Anyways, people on the steam group chat already have seen this new companion, but since people aren't there, then I'll just show her silhouette.

metamorphosis.png
Have fun trying to make sense out of that.
Hope to see you guys on the next news, heh.
 

Nakano15

Terrarian
The mod is still running on tModLoader 1.3, so better I douse your hype before you get disappointed after reading a wall of text.

Long time no see, eh? I brought a new TerraGuardians update, and it brings cool new stuff.
Companions will no longer mindlessly jump when walking on platforms.
Companions will now correctly get off dangerous tiles when stepping on them.
Fixed a bug where the mod wasn't recognizing companions with full life crystal health, when they tried to use life fruits, and shared max health is turned on.
Fixed a bug where actions that were cancellable were not being cancelled, because of using the wrong action object.
Companions reviving someone will only talk upon reaching their target.
Adjusted some boss victory dialogues of companions.
Alex's recruit npc will now get you off your companion when he jumps on you.
Leopold gained eye colors.
Companions party system implemented.
-> Companions with enough friendship level will be willing to lead a group for you.
-> That group of companions have their own weight, so the number of companions on that group independs on your character group weight.
-> The max weight is shared from your character, alongside shared max health and other things.
-> You can give orders to the leader of that group, to either defend, follow you, or just idle around.
-> You will also be able to change active groups through the order hud.
The Trust system was removed from the mod.
I made Sardine's low health message be less... Scary..
Reduced the long description on the option of increasing monsters health based on companion count.
-> Also changed the default value of that option to 0.4, instead of 0.1. (That means extra companions increases monster health by 40%, instead of 10%).
Alex's Recruit Npc will no longer spawn on places with walls.
-> It will no longer be recognized as a town npc, too.
Bounty Quests now have a chance of offering Funky Carrots as reward.
The setting for companions entering knocked out state when health drops to 0 is now enabled by default.
Brutus recruit npc will now speak directly to anyone in the world when he arrives.
-> He also now requires only 2 town npcs before he can show up, instead of 5.
Mabel's recruit npc will no longer spawn on places that have no soft ground under them.
Changed the logic behind a good number of companion recruit npcs spawning logic.
-> They will only either spawn on places without walls, or with at least the minimum of brightness.
Removed spawn messages of many companions recruit npcs.
The Ghost Fox Guardian will no longer kick you out of the game.
-> She will now instead cause your character to blackout.
-> Upon entering blackout state, the character will be on the downed state, until they recover.
-> Hostile npcs around are deleted.
Changed how the mod will check the button states on the guardian selection interface.
Added the ammo missing to some companions starting inventory.
Big companion npcs will no longer clip through the ground if you left the world when they were using a furniture.
Added a path finding to companions.
-> They will better find out where are the furnitures in their houses now.
-> They will use path finding for when buying from npc shop, trying to pick up injured ally, or trying to help an injured ally.
Cille's recruit npc will no longer spawn during invasions.
Terrarian companions no longer benefit from Skill system.
You can now extract the mod dll from the mod file through tModLoader.
-> This is helpful for discovering scripts you can use, when using a programming ide, when creating custom companions.
Changed how companions aims at things.
-> Their "mouse aim" placement is now based on their center position, instead of world position.
Miguel's recruit npc will no longer forget that you did his exercises if you move away after jumping 25 times.
The Ghost Fox Guardian will no longer be affected by equipments cool effects.
Reduced Blue's weight on the team.
-> I have no idea why she was so heavy.
Fixed a bug where large companions using a chair in a house at the desert, were being suffocated by their feet.
Fluffles will now show up a bit transparent when in the dark, instead of having her body fully opaque.
-> She's a ghost, anyways.
Say goodbye to the Trust system, the system that people says is infamous on the mod.
First of all, I implemented the system to try stopping people from bullying my companions, but not everybody does like me, and play
the mod with companion knockout system on, so it's really easy to have them end up angry towards you, since death trust penalty was quite high.
The system is 100% removed from the mod. Even the sprite files wanted to persist, but I also deleted them too.
Now you can probably sleep peacefully at night.

I will try implementing in the future a system to replace the trust system. Don't worry, It wont penalize you, and might make the gameplay even
more interesting.

The companions party system has been implemented and playable.
This system allows you to assign a companion as leader of a companions party. That companion can have their own
companions following them, if you assign them, or call them when controlling that companion.
You will also be able to change the commanding orders of the leader companion, beside I think only 2 of them are working right now.
There is also a new button in the order hud that let you change the current active party, so you can change your playable character from your character, to the one of a companion.

You can check a video of the system working bellow.

And the last thing I want to talk about, is the path finding. I managed to finish the path finding system on the mod.
Companions should now be able to find their way when moving through complex places, like for example, vertical houses.
There is a number of cases where I made the path finding system be used, but the system is currently in testing phase,
so be sure to let me know if you bump into issues.
By the way, if the game starts stuttering during gameplay, go in the Server Settings of the mod, and lower the max number of tiles
the path finding system will check.

That's about it, but don't go yet.
My partnership with BisectHosting is still up and running.

BisectHosting offers you hosting services for many games, includding Terraria, Minecraft and many other games.
And there's more, it's really easy to setup a server. Also, If you use the code nakano15 when renting a server, you'll get 25% off your first month.

What about giving it a try?
Access https://www.bisecthosting.com/nakano15 and use the code nakano15 and get yourself a server to play your games with friends,
or total strangers, who know.

Well, that's it. Now, if you let the tModLoader updating while reading the change log, now you have an idea of what to expect in the game.
Now, if you didn't... What are you waiting for?

Have fun :)
 

Casual_Bean

Slime Collector
I'd definitelly need to make another mod to do that, since with TerraGuardians that's not possible.
My only fear is the implementation of that end up breaking mods.
just so you know if you do end up making that mod I'll download it so fast, the server browser will be down for a week.
 

Nakano15

Terrarian
I was working on something like that on tModLoader 1.4, until I received a nope from it.
Maybe if I try porting what I managed to do to tModLoader 1.3, this might actually be possible.

Later I may try that out, but not now.
 

Crownjo

Terrarian
I'd definitelly need to make another mod to do that, since with TerraGuardians that's not possible.
My only fear is the implementation of that end up breaking mods.
I am very happy that you are going to look into it. I really enjoyed TerraGuardians, my favorite thing is the party system and local co-op. If we can get a mod that does that then that would be amazing. No fancy stuff, just straight to the point.
 

Casual_Bean

Slime Collector
I am very happy that you are going to look into it. I really enjoyed TerraGuardians, my favorite thing is the party system and local co-op. If we can get a mod that does that then that would be amazing. No fancy stuff, just straight to the point.
it would be so fun going through mods like thorium and calamity with your other characters.
 

DenizenBlack

Terrarian
popped on tmod1.3 saw an update
nice to see this mod still running strong
question, how do you remove a guardian from your party? im using the buddy system
-using the command wheel hotkey and pressing 7 to 'change team' just highlights the option in yellow
 

Nakano15

Terrarian
Buddy Mode is a kind of "for life" thing, so that companion is bound to that character forever.
Beside it also gives you a lot of good benefits if you only have that companion with you.
 
Top Bottom