tModLoader [1.4.4] TerraGuardians - Terraria Companions Mod

Hello people this is mod contributor Smokey, just a quick message from me to let you know that the assassin character that was voted on in a previous poll is currently being worked on and as a sneak peek I just wanted to show a silhouette of whats to come:
Assassin_Spoiler_Silhouette.png

This is a start to me updating you guys more on things im working on for the terra guardian's mod. As a contributor to the mod I would like to thank Nakano greatly on allowing me to have a impact in his project as it is my favorite mod for terraria of all time above all else so allowing me to express my passion for the mod through creating characters and ideas has really been a pleasure and it is much appreciated Naka.

As some of you might know or don't I was responsible for the concept of the companion "wrath" and spriting the terra guardian known as Captain Stench in the 1.3 version of the mod, she is not yet implemented into the 1.4 version of the mod yet but just know she has received a complete uplift in terms of her sprite design and mechanics. I look forward to your guys response to it. I'll show a spoiler of her later whenever it gets around the time she be implemented.

Thank you for enjoying the mod and please be sure to show appreciation to Nakano's work as it is not so simple as copy and paste when it comes to implementing knew characters into the mod. He works very hard to add in lots of cool systems to spice up terraria's gameplay so if you could donate to him it would mean a lot or just give him words of encouragement since it all helps keep passion for the mod. Thanks again see you soon!
Just to say that I didn't copied and pasted Smokey's messages here, I added some lines to the paragraphs under the sprite.
No need to thank me.

Anyways, Smokey seems very hyped for the release of this companion, he was even wanting him to come out alongside Leona, but sadly, I was less busy.

Well, that's it.
 
  • Like
Reactions: Phu
Did tModLoader broke the TerraGuardians version you had installed?
Well... Your troubles are gone! Because right now there's a new update that was just dropped out!

Let me highlight quickly a few things here, beside, if you're not a companion creator, you can skip to the changelog anyways.

Draw Hooks works for Terrarian Companions now
The draw hooks that are used to draw TerraGuardians, will now work with Terrarian companions aswell.
Do just notice that the DrawDatas ref that comes with `CompanionDrawLayerSetup` method doesn't bring any of the player character
draw infos. Use `drawSet.DrawDataCache` instead to get the player drawlayers.

Companions Personality System
The Companions Personality is currently more inclined towards companions dialogues than anything mechanical, right now.
It will provide a number of default dialogues that the mod will use, when trying to load a companion dialogue, and that companion
has no message set for that dialogue.
The handiness of this system, is that anyone who develops companions for this mod, includding the modder himself, of course, will
no longer have to fill all the dialogue cases for all companions, reducing a lot the complexity of developing a new companion with
dialogues.
And the best part, is that the modder can actually pick which dialogue work will be returned depending on occasion. If you, lets say,
want to make a companion that is friendly by the day, but is angry by the night, you can! The hook that calls the dialogue allows that.
By the way, I wont mind if I get some help adding more personalities to companions. If you want to get your hands at some voluntary
dialogue work, feel free to give me a call, and I'll tell more about how you can help.

Added Leona's Description and Spawning Tips.
Changed when the mod resets companions final scale value to avoid them inflating into a crash, when another mod gives errors.
Made reviving when being helped by others 3 times faster.
Companions will now get their extra accessory slot when the player has a Demon Heart used.
Changed the horizontal spacing of companions other accessory slots.
Added a hook to FollowLeaderBehavior which allows you to change the distance away from player to pull a companion to your character.
Hooks related to drawing now work on Terrarian companions, but I recommend getting the DrawDatas from drawSet, if you want to alter it.
Fixed some issues regarding Buddy Mode interface.
=> Companions will now be shown correctly in the interface.
=> Companions with custom CompanionData (Like Blue) will no longer crash the interface.
Begun implementing companion Personality;
=> Think of it as a kind of prefab for personality, to ease the job of people adding companion dialogues.
=> Currently, there's only 2 personalities, but only one is in use. It needs to be further developed.
Companions will no longer try going home when you give them control while bond-merged, and it's their going home time.
Fixed incompatibility issues introduced with tModLoader update.

Well, now that I saved your sunday, I should prepare to rest myself for it. And hopefully, get a better night of sleep too.

By the way, having some help with the personality dialogues would be very helpful, even more since I tend to have lots of
trouble making dialogues for companions, including some regarding bond-merge.

Anyways, have fun, and enjoy your sunday. :)
 
What a horrible night to have an update, huh? Even more since she rearrives.
Yep, that's right: Friday 13th, and update launched.

Rearrival
Say hello again to Malisha.
Panther Guardian_rv2.png
Malisha: "*Interesting to see you here again. Say, still interested in testing some magics and potions? That wasn't a question, by the way.*"

I found this to be the perfect window to release this big, black cat. She's still interested into naturalism, unethical experiments and her hobby of tormenting her mentor.
Her rearrival was made possible partially with the help of Makima, so thank him for quickstarting things. Beside I had to fix a number of issues with her, at least they helped getting her to return. Makima also helped with quickstarting other companions, whose I will get to work on as time passes, when I'm not messing with system tweaks.

If you recruited her previously on 1.3 version, you have an idea of how to find her again.

Various Bug Fixes
This update took a while to be ready, because I were having to spend some time bashing bugs, and tweaking some things.
Some of the issues this update tries to fix, is regarding mod companions still appearing even if people disable them from the mod settings.
I hope this improves your gameplay experience with the mod.

Hats Equipment Reimplemented
1697237358377.png

TerraGuardian companions can now wear hats on their head, beside I might end up tweaking their positioning later.
Not all hats can be worn on their head, only a limited number of them that doesn't look like a tumor on the companion head.
If you're a modder and want to allow TerraGuardians to use your hat, use the method terraguardians.MainMod.AddTGWearableHat(HeadGearID); and set the HEAD GEAR ID of your hat item as argument. That method also supports multiple values, so you can place multiple Head Gear IDs to it.

More Modder Tools
Was also added a few extra stuffs that can be handy for people making companion mods for this mod, including the possibility of opening a Buddy Mode interface filtered by mod.
Change Log

Ether Portal will no longer spawn when you have Mod Companions disabled.
Ether Portals will also no longer keep respawning after you've met Leona.
Sardine Bounties will now tell you when you've defeated a bounty.
Sardine's Bounty will no longer get angry if you defeat them after the bounty time is over.
Companions leaving to sell items will no longer leave while walking if they were walking previously.
=> They also will teleport away from you if they stay in screen for a few seconds, proceeding in selling the items.
You can no longer call for rescue when knocked out and having a boss alive.
Increased the number of initial companions equipment slots from 10 to 20.
=> That means you can also assign vanity gears for companions you just met.
=> => Yes, you can have Re-Logic as your companions, if you make them.
Added a trick to avoid crashing the game when mod is unable to find personality dialogue.
KO'd companions should no longer bug monsters AI.
Sardine will no longer appear on his recruitment method when you have disabled mod companions.
Modders can now sort starter companions or open a Buddy selection interface based on ModID.
=> For opening Buddy selection window for mod specific companions, placeas argument to the Open method the name of the mod.
Companion interface will now disappear correctly when checking a shop or container.
Messages given by following companions will no longer appear duplicated in the world.
You can now correctly assign companions to houses when your screen is zoomed.
Fixed an issue where the game wasn't recognizing correctly when the player was in The Depths, when using The Depths mod. (Thanks Lion8Cake)
=> That may have also fixed a number of issues with other mods too.
Companions will no longer feel threatened by Cactus outside of Constant worlds.
Pulling rope will now be broken when you ask a companion to let you mount in their shoulder.
It will no longer be hard to drop from platforms while having wings or rocket boots on your companion, if you hold Down and press Jump.
Updated Pack Leader Necklace to reflect how it works on 1.4 version of the mod.
Added a measure to avoid floating items issue.
Idle companions should no longer find drowning in a lake or something a nice place to rest.
Companions will now try to follow you by flying/swiming if they're able to.
Reduced the chance of mod companions appearing when they are disabled from mod settings.
TerraGuardians will now be able to use a good range of vanilla Terraria hats.
=> Most of the hats they can use aren't goggles, and they generally don't cover the entire head. Use that to find out if the companion can wear it.
Malisha rearrived.

There, challenge completed. Launched a black cat at Friday 13th.
Do let me know if you find bugs, because I'm pretty sure there will be haha.
Oh, wait. It's not professional for me to say that.

Anyways... I gotta finish the halloween update on my game project too.
I hope you guys have fun, and happy halloween :)

See ya another time.

Edit: Here's the patch note of the first hotfix.
Added Blue and Celeste hat positions.
Malisha is now correctly nocturnal.
Companions will now be less "wide" when detecting holes and walls.

Enjoy :3
 
Last edited:
New TerraGuardians Update is out, and it brings an interesting new feature.

Skins and Outfits
1697831133188.png


The Skins and Outfits feature returns. Beside not all companions have different Skins and Outfits,
you will be able to see the available ones for the companions following you, by checking their
Equipments tab, on your inventory.

The difference between Skins and Outfits, is that Skins are mostly aimed towards affecting the
companion body directly, like changing textures and more, while Outfits are intended to be drawn
in front/behind of the sprites.


The system also allows now for other mods to add custom skins and outfits for companions.
Check out later Gaomon Mod source for how to implement custom Skins, and check this
mod source on how to implement Outfits.

Changelog
Fixed Luna's hat positioning.
Companions can now be seen wearing hats when under Werewolf or Merfolk buff.
You will now correctly know when the bounty has been killed.
=> Also, the mod will now correctly find out if you have Sardine following you, and he will tell you personally about reporting the bounty to him once you kill the target.
Fixed Leona's sword positioning when countering attack.
The companions interface will no longer show up when refining equipments.
Skins and Outfits system reimplemented:
=> Companions can now have skins and outfits specific to them, to change their looks.
=> The skins and outfits are specific for the companion that have it.
=> Your companion can wear a Skin and a Outfit at the same time, enhancing further their looks.
=> Not all companions have skins/outfits available right now.
=> Custom Skins and Outfits can be added by other mods to specific companions. Check Gaomon Mod source for a how to.
=> A number of outfits in the mod are supposed to be acquired by doing specific quests, but since quests system isn't in yet, they are available for use until they're implemented.
Inventory companion interface should now show the correct skill infos of the companion selected.
Halloween Outfits for Bree and Alex can be found for sale at npc store.
=> Which npc? Find out yourself.

Modders can now change the animation rectangles of the companions when drawing them.
=> The rectangle variables are located inside the "TgDrawInfoHolder" argument.

There it goes, another update for you.
I hope you enjoy your gameplay. :)
 
Last edited:
After update.
error.jpg

[22:42:04.025] [Main Thread/ERROR] [Terraria]: System.NullReferenceException: Object reference not set to an instance of an object.
at terraguardians.TerraGuardianDrawLayersScript.DrawBehindLayer(PlayerDrawSet& drawInfo) in terraguardians\DrawLayers\TerraGuardianDrawLayers.cs:line 80
at Terraria.ModLoader.PlayerDrawLayer.DrawWithTransformationAndChildren(PlayerDrawSet& drawInfo) in tModLoader\Terraria\ModLoader\PlayerDrawLayer.cs:line 94
at Terraria.ModLoader.PlayerDrawLayer.DrawWithTransformationAndChildren(PlayerDrawSet& drawInfo) in tModLoader\Terraria\ModLoader\PlayerDrawLayer.cs:line 91
at DMD<System.Void Terraria.Graphics.Renderers.LegacyPlayerRenderer:DrawPlayerInternal(Terraria.Graphics.Camera, Terraria.Player, Microsoft.Xna.Framework.Vector2, System.Single, Microsoft.Xna.Framework.Vector2, System.Single, System.Single, System.Single, System.Boolean)>(LegacyPlayerRenderer this, Camera camera, Player drawPlayer, Vector2 position, Single rotation, Vector2 rotationOrigin, Single shadow, Single alpha, Single scale, Boolean headOnly)
at Hook<System.Void ThoriumMod.PlayerLayers.TransformationHeadLayer::On_LegacyPlayerRenderer_DrawPlayerInternal(Terraria.Graphics.Renderers.On_LegacyPlayerRenderer+orig_DrawPlayerInternal,Terraria.Graphics.Renderers.LegacyPlayerRenderer,Terraria.Graphics.Camera,Terraria.Player,Microsoft.Xna.Framework.Vector2,System.Single,Microsoft.Xna.Framework.Vector2,System.Single,System.Single,System.Single,System.Boolean)>(LegacyPlayerRenderer , Camera , Player , Vector2 , Single , Vector2 , Single , Single , Single , Boolean )
at SyncProxy<System.Void Terraria.Graphics.Renderers.LegacyPlayerRenderer:DrawPlayerInternal(Terraria.Graphics.Camera, Terraria.Player, Microsoft.Xna.Framework.Vector2, System.Single, Microsoft.Xna.Framework.Vector2, System.Single, System.Single, System.Single, System.Boolean)>(LegacyPlayerRenderer , Camera , Player , Vector2 , Single , Vector2 , Single , Single , Single , Boolean )
at terraguardians.TerraGuardiansPlayerRenderer.Terraria.Graphics.Renderers.IPlayerRenderer.DrawPlayer(Camera camera, Player drawPlayer, Vector2 position, Single rotation, Vector2 rotationOrigin, Single shadow, Single scale) in TerraGuardiansPlayerRenderer.cs:line 325
at StarlightRiver.Content.CustomHooks.PlayerTarget.DrawPlayerTarget() in StarlightRiver\Content\CustomHooks\Visuals.PlayerTarget.cs:line 191
at StarlightRiver.Content.CustomHooks.PlayerTarget.DrawTargets(orig_CheckMonoliths orig) in StarlightRiver\Content\CustomHooks\Visuals.PlayerTarget.cs:line 124
at Hook<System.Void StarlightRiver.Content.CustomHooks.PlayerTarget::DrawTargets(Terraria.On_Main+orig_CheckMonoliths)>()
at StarlightRiver.Content.CustomHooks.ReflectionTarget.SpecialDraww(orig_CheckMonoliths orig) in StarlightRiver\Content\CustomHooks\Visuals.ReflectionTarget.cs:line 82
at Hook<System.Void StarlightRiver.Content.CustomHooks.ReflectionTarget::SpecialDraww(Terraria.On_Main+orig_CheckMonoliths)>()
at StarlightRiver.Core.Systems.MetaballSystem.MetaballSystem.BuildTargets(orig_CheckMonoliths orig) in StarlightRiver\Core\Systems\MetaballSystem\MetaballSystem.cs:line 58
at Hook<System.Void StarlightRiver.Core.Systems.MetaballSystem.MetaballSystem::BuildTargets(Terraria.On_Main+orig_CheckMonoliths)>()
at SyncProxy<System.Void Terraria.Main:CheckMonoliths()>()
at DMD<System.Void Terraria.Main:DoDraw(Microsoft.Xna.Framework.GameTime)>(Main this, GameTime gameTime)
at SyncProxy<System.Void Terraria.Main:DoDraw(Microsoft.Xna.Framework.GameTime)>(Main , GameTime )
at Terraria.Main.Draw_Inner(GameTime gameTime) in tModLoader\Terraria\Main.cs:line 52837
at Terraria.Main.Draw(GameTime gameTime) in tModLoader\Terraria\Main.cs:line 52818
[22:42:04.121] [Main Thread/FATAL] [tML]: Main engine crash

SDL Error:

Tip: This is likely a mod's fault. Disable mods one by one and check if the issue persists

System.NullReferenceException: Object reference not set to an instance of an object.
at terraguardians.TerraGuardianDrawLayersScript.DrawBehindLayer(PlayerDrawSet& drawInfo) in terraguardians\DrawLayers\TerraGuardianDrawLayers.cs:line 80
at Terraria.ModLoader.PlayerDrawLayer.DrawWithTransformationAndChildren(PlayerDrawSet& drawInfo) in tModLoader\Terraria\ModLoader\PlayerDrawLayer.cs:line 94
at Terraria.ModLoader.PlayerDrawLayer.DrawWithTransformationAndChildren(PlayerDrawSet& drawInfo) in tModLoader\Terraria\ModLoader\PlayerDrawLayer.cs:line 91
at DMD<System.Void Terraria.Graphics.Renderers.LegacyPlayerRenderer:DrawPlayerInternal(Terraria.Graphics.Camera, Terraria.Player, Microsoft.Xna.Framework.Vector2, System.Single, Microsoft.Xna.Framework.Vector2, System.Single, System.Single, System.Single, System.Boolean)>(LegacyPlayerRenderer this, Camera camera, Player drawPlayer, Vector2 position, Single rotation, Vector2 rotationOrigin, Single shadow, Single alpha, Single scale, Boolean headOnly)
at Hook<System.Void ThoriumMod.PlayerLayers.TransformationHeadLayer::On_LegacyPlayerRenderer_DrawPlayerInternal(Terraria.Graphics.Renderers.On_LegacyPlayerRenderer+orig_DrawPlayerInternal,Terraria.Graphics.Renderers.LegacyPlayerRenderer,Terraria.Graphics.Camera,Terraria.Player,Microsoft.Xna.Framework.Vector2,System.Single,Microsoft.Xna.Framework.Vector2,System.Single,System.Single,System.Single,System.Boolean)>(LegacyPlayerRenderer , Camera , Player , Vector2 , Single , Vector2 , Single , Single , Single , Boolean )
at SyncProxy<System.Void Terraria.Graphics.Renderers.LegacyPlayerRenderer:DrawPlayerInternal(Terraria.Graphics.Camera, Terraria.Player, Microsoft.Xna.Framework.Vector2, System.Single, Microsoft.Xna.Framework.Vector2, System.Single, System.Single, System.Single, System.Boolean)>(LegacyPlayerRenderer , Camera , Player , Vector2 , Single , Vector2 , Single , Single , Single , Boolean )
at terraguardians.TerraGuardiansPlayerRenderer.Terraria.Graphics.Renderers.IPlayerRenderer.DrawPlayer(Camera camera, Player drawPlayer, Vector2 position, Single rotation, Vector2 rotationOrigin, Single shadow, Single scale) in TerraGuardiansPlayerRenderer.cs:line 325
at StarlightRiver.Content.CustomHooks.PlayerTarget.DrawPlayerTarget() in StarlightRiver\Content\CustomHooks\Visuals.PlayerTarget.cs:line 191
at StarlightRiver.Content.CustomHooks.PlayerTarget.DrawTargets(orig_CheckMonoliths orig) in StarlightRiver\Content\CustomHooks\Visuals.PlayerTarget.cs:line 124
at Hook<System.Void StarlightRiver.Content.CustomHooks.PlayerTarget::DrawTargets(Terraria.On_Main+orig_CheckMonoliths)>()
at StarlightRiver.Content.CustomHooks.ReflectionTarget.SpecialDraww(orig_CheckMonoliths orig) in StarlightRiver\Content\CustomHooks\Visuals.ReflectionTarget.cs:line 82
at Hook<System.Void StarlightRiver.Content.CustomHooks.ReflectionTarget::SpecialDraww(Terraria.On_Main+orig_CheckMonoliths)>()
at StarlightRiver.Core.Systems.MetaballSystem.MetaballSystem.BuildTargets(orig_CheckMonoliths orig) in StarlightRiver\Core\Systems\MetaballSystem\MetaballSystem.cs:line 58
at Hook<System.Void StarlightRiver.Core.Systems.MetaballSystem.MetaballSystem::BuildTargets(Terraria.On_Main+orig_CheckMonoliths)>()
at SyncProxy<System.Void Terraria.Main:CheckMonoliths()>()
at DMD<System.Void Terraria.Main:DoDraw(Microsoft.Xna.Framework.GameTime)>(Main this, GameTime gameTime)
at SyncProxy<System.Void Terraria.Main:DoDraw(Microsoft.Xna.Framework.GameTime)>(Main , GameTime )
at Terraria.Main.Draw_Inner(GameTime gameTime) in tModLoader\Terraria\Main.cs:line 52837
at Terraria.Main.Draw(GameTime gameTime) in tModLoader\Terraria\Main.cs:line 52818
at Microsoft.Xna.Framework.Game.Tick() in D:\a\tModLoader\tModLoader\FNA\src\Game.cs:line 562
at Microsoft.Xna.Framework.Game.RunLoop() in D:\a\tModLoader\tModLoader\FNA\src\Game.cs:line 878
at Microsoft.Xna.Framework.Game.Run() in D:\a\tModLoader\tModLoader\FNA\src\Game.cs:line 419
at Terraria.Program.RunGame() in tModLoader\Terraria\Program.cs:line 266
 
I think might be you who posted that on the discord server.
Can you check which mod is causing the issue? Starlight River or Thorium? Both shows up there.
 
I launched a hotfix for the mod, which fixes a crash related to Alex:
Fixed a crash that was caused when the mod tried to draw Alex's sprites.
Changed the way how custom CompanionSpritesContainer is acquired, to no longer require arguments.
Mabel will no longer be shown upside down, and screaming "Aaaaaaaaahhh!!!" when you check her info on guardian selection interface, and she haven't been met in the world yet.

I wonder if this issue also fixes the crash with Starlight River or Thorium, but there is no way
I would know that since I don't play either mods.

If doesn't, I'll investigate that tomorrow.
 
No, I didn’t write on discord. The error appeared when I loaded into the world. I tried the fix, the error that occurs when entering the game world disappeared. Thank you.
 
Ah. Then it was related to Alex crashing the game then.
Sorry for ruining your Sunday with that issue, by the way.
Have fun with the mod.
 
I just launched a little hotfix for this mod.
Moved the companions inventory interface when you have Starlight River mod installed.
Reduced the time you need to hug Vladimir for before recruiting him in Expert difficulty and higher.
Zack no longer materialize furnitures when using one.
=> No more Golden :red: Zack.

Enjoy :3
 
Time for me to break this no update streak.
Update launched for this mod, and with one Rearrival.

Wrath Rearrives

wrath.png
Wrath: "*HEY SPECIAL DELIVERY! KNUCKLE SANDWICH!*"

Wrath has rearrived, and with some changes.

First of all, their boss fight attacks have been turned into subattacks, so they
can end up being used by Wrath whenever they feels like it's the right moment for that,
or use them by your order (if they're leading the group).

All of their attacks have been turned into subattacks, with the addition of a new
one, where he tackles forward, causing damage to foes ahead.

Another thing that changed, is that Smokey got extra participation on writing
Wrath's dialogues, which means that I had to add a profanity filther to the mod.
Naturally, it's enabled, but you can disable it at the mod Client settings.

Sadly, I ended up forgetting to add the Contributor badge, but I will try reimplementing it
after I finish writing this patch note, and will be available on the next update, hopefully (if
I don't forget).

Edit: I forgot to add the contributor tag to the game, so next update it will be shown
on the companion information that the companion was made by Smokey.

Performance Tweaks

I did some changes to the game codes to try improving performance.
Do let me know if the mod behaves better after this update.


Modders can now change starter companions.

As you read. If any modder want to change starter companions on the mod, be it either
add, remove or clear the list, they can do so by accessing MainMod and the newly created
methods: AddStarterCompanion", "RemoveStarterCompanion" and "ClearStarterCompanions".
Each of those methods actually gives away what they do.


You can now hide the 2P notification.
=> I wont judge the reasoning why, but wondering why is funny.
Pulling rope will no longer be drawn when its segment is outside of the screen.
Small winged companions will no longer keep jumping when they're on the same height as the player.
Sub Attacks are no longer useable when the companion is Knocked Out.
On Debug dialogue options, removing companion from met companions list will now remove the companion from your group, if they are already.
=> This will not make the companion despawn.
The Companion Selection Interface companion list will no longer show that there's a new page of companions, when there isn't any to show on the other page.
Terrarian companions will spawn with Familiar Outfit if you're playing with MrPlague's Authentic Races mod.
=> That will only happen for companions you haven't met yet.
Added "AddStarterCompanion", "RemoveStarterCompanion" and "ClearStarterCompanions" commands to MainMod.
=> Now you can implement your own custom starter companions, or modify the list.
You can now change the number of companions living in your world from 0 to 50.
Autofire setting now affects controlled companions.
Added some tweaks to the companions update scripts to improve performance.
Wrath rearrives.
=> Because of tweaks on their dialogue, I had to add a profanity filter. You can turn it off on game settings.
Companion Order Interface now closes when leaving world.

Well, that is it for this update.
I hope you guys enjoy it, and be careful when wandering at night, heheh.
 
Last edited:
I just launched a hotfix for the mod.
Check out what changed:
Added the missing contributor badge to the mod.
=> Now, companions implemented by request will have their creator name shown.
Fixed issue where the option of enabling mod companions weren't working as intended.
There it goes. Enjoy :)
 
And yet another hotfix for the mod has been released.

This update brings companion sub attack slots.
1702080034525.png


Now your companions will have 4 slots that can be assigned subattacks to, and you or your
companions will only be able to use subattacks assigned to those slots. Those slots can be
found when having your inventory opened, clicking the companion you want to manage
subattack, and then clicking the ugly explosion icon.

Alongside that, you can now check informations about the subattacks on their subattack list.

I also fixed a issue with damage type checking on the mod, done by the skills system.
Now it should track which status will increase when the companion attacks something.

Added 4 companion sub attack slots.
=> Those slots will be used for assigning companions subattacks, so they can be used/toggled manually, or used by the companion AI.
Combat skills should now correctly have their progress increased based on attack type.
Updated Wrath's pre-recruitment dialogues.

That's about it. What is next?
Well... Try guessing the next TerraGuardianmon.
1702079906162.png


Enjoy :)
 
Hotfix launched for this mod:
Fixed a softlock when changing subattacks.
Possibly fixed issue with weapon related interfaces on Thorium Mod (Thanks to the devs and players who relied the message).
Changed back when projectile cache updates to avoid summon spamming bug.

Enjoy :)
 
Dude, nearly a month without an update. Time to change this.

New TerraGuardians Mod Update Launched!

Liked that, huh? Nice to read.

First of all, sorry for the delay, but I'll try to make up for that, because this update doesn't bring 1 rearrival, but 2 REARRIVALS!

Rearrivals

Say hello again to Alexander.
Dog Guardian Sleuthhound.png
Alexander: "*I think you haven't managed to find yet the Terrarian I seek, right?*"

The Sleuthhound returns, and he will still be looking for that specific Terrarian. Sadly, I will still need to
develop further his plot line, but for that, I will need to begin making use of the quests system, whose
still need to begin being used.

And Fluffles.
ghost fox.png
Fluffles: "(She stares at you shyly, and then gave you a soft wave.)"

She will still be in need of help with her personal problem, but I'm sure helping her will still be rewarding.
And by the way, I prepared something for this rearrival. I hope you guys enjoy it hehe...

Nerfs on Zombie TerraGuardian and Wrath Boss Fights

Those two were having stats way too good at the late game, which caused some people to inflict 1 of
damage per attack. Meanwhile, the Zombie TerraGuardian got really glutton on the hardest version of
his fight, making him heal absurd amounts of health when biting someone.

Those two got tuned down and reviewed to make the boss fight more possible to be done.


Quest System

I dunno if I should speak of this right now, because I will still need to add use to that.
The Quest system has been implemented to the mod, and it will be handy for adding subplots to the mod.

1704938004626.png


The quests will store the informations relevant to the plot of the mod, companions and world, and display
the progress of it in the form of a story.

The outfits some companions have are product of some of those quests, which mean time is running out
until you be unable to freely give certain outfits to companions.

As for modders who want to try and play with this system, just create a QuestContainer to store your
custom quests, then add your custom quests through it. Check the mod source on how to do that, or
reach me out about that. I will still need to finish this system though.

The button to this window is available on the buttons under the inventory.


Journey Mode Buffs benefits companions too.

The God Mode and Spawn Rate buffs from Journey Mode now also affect companions.
Companions will be unable to be hit when God Mode is enabled (beside can still die for leaving the planet)
and the Spawn Rate value you set for your character will be the same for companions, so if you want 10x
spawn rate, or completely erradicate monster spawns, your companions will no longer cause issues about that
(and can even boost spawn rate too).

Do notice that those options are only valid for follower companions. Town npcs wont be affected.


Chatting with companions got their own dialogue option

1704938473233.png

So... Previously on TerraGuardians.

Terrarian: "Hey Leopold, lets talk about something."
Leopold: "*Yes, sure. What do you want to speak about? Need me to move in to this world? Need to review how I fight? Need me to-*"
Terrarian: "I just wanted to talk."
Leopold: "*Talk? Oh sure. But don't you want me to be of your size? What about asking me if I want to be your Buddy?*"
Terrarian: "Ugh... Nevermind..."

Seems comical, but you can see how badly organized talking with companions and discussing some things regarding them was, right?

I added the button "I just wanted to talk." which is reserved for speaking with companions about things unrelated to their behavior,
and more about their story, world lore and stuff.

Currently, some dialogues have been moved to the Chat dialogue. Possibly more dialogues will be added in the future for companions,
letting them tell more stuffs that might let one more interested in them, or their world.

For modders who are making custom companions, there is a new hook called "ManageChatTopicsDialogue" on the CompanionDialogueContainer
class. Use that hook to add dialogues to the window of chatting with the companion, if you want to enrich more your characters.

Changes to Player and Companion Rendering System

Well, the way the companions and players are rendered changed, so be sure to keep an eye out to see if any anomaly happens regarding
character and companion drawing.


Companions will no longer try to use potions when with potion sickness.
Added a range from boss check to Celeste's Prayer.
Nerfed Zombie Guardian and Wrath boss fight stats.
You can no longer hold a companion face as a lucky amulet when you close inventory while managing their housing.
=> I wanted to apologize for everyone who were having Blue next to their cursor.
Zombie Guardian will now only recover 5% health per bite off a caught character, if the character was caught after failing to talk with him.
Helmets companions cannot use will no longer prevent them from using seasonal headgear.
Zack now seems to be sitting when using a chair, instead of falling off it.
Companions using certain wings like Solar Wing will now be able to climb down platforms.
Hats will no longer be offset on companions.
Added a override to companion base infos, which lets telling if the companion should sit on player lap or vice versa, when using a chair.
=> By default, it will check if the companion mounts on player to tell wether should sit on player lap or not.
Giving mount/dismount order to companions that mount on the player no longer have them speaking like they mounted/dismounted your character.
Blue will no longer lose all her clothing when holding Leopold while standing still.
Leona's Greatsword will now be drawn behind her, when she's using a bench or a throne.
Companions will no longer remain "mounted" on your character when knocked out.
When playing on Journey Mode:
=> The settings for God Mode and Spawn Rate will also affect companions following your character.
Changed the mod player and companion rendering system.
=> Do let me know if you find anything odd with it.
Added a different dialogue option for chatting with companions.
=> That option will be handy if you want to speak with the companions about non technical things, like informations about themselves, world, lore, etc.
=> A number of companions dialogues were moved there.
Alexander and Fluffles rearrives.
You can now ask Vladimir to hug any of your followers.
Malisha will now be more willing to move in to your world right away.
Implemented quest system.
=> I will now need to implement use to it, though.

Well'p, 2024 is here, and that still means, more work for Nakano.
There is a lot I have to work on in the mod, including rearrivals, system reimplementation and new contents you can
play on the mod.

And I see that there are people making custom companion for this mod, and I'm liking to see that.
When I opened up this mod for custom companions, I wanted people to be able to make their own too, and
also be able to share it with other players, be they related to the mod lore or not.
So, for this, I say Thank You to everyone who makes a companion mod for this mod.

Do let me know if you guys bump into any problems.

I hope you all have fun, and enjoy your gameplay.
 
This update is a hotfix, or at least one of them. There's plenty of issues left to fix heh.
Lets say this is only the first batch of bug fixes.

Companions will now check differently if they can revive a companion, instead of using the player revive check too.
Fixed a issue where some companions could still count as activated when being affected by action, after despawning.
Vladimir will no longer disappear when hugging a town npc.
You can no longer abuse of mounting on a companion + asking it to lift your character to fly to the sky.
Enabling God Mode on Journey Mode worlds will now set follower companions Health and Mana to max value too, and make them immune to death.
=> I mean, it's good mode, right?
Vladimir no longer mind carrying the player, so he will do that whenever the player asks, regardless of friendship level.
Whenever Blue recruit companion spawn, the bonfire used as base will be lit.
The mod will now know what equipments and set you are using, instead of using vanity sets also as equipped item.
Companions will now require having extra range off your character before they are pulled while they're in combat.
You can no longer ask Vladimir to carry someone for you, when he's outside of your group.
Fixed player positioning when sharing a chair or a throne with Alexander.
Your character will now mount on Wrath's shoulder.
Added Saving and Loading to Quest Datas.
=> Quest system might end up moving to another mod in the future. If you try making use of it, do know that you might need to update your mod to change it.
Fluffles is now immune to lava.
=> Really, why she was being hurt by it?
Companions will no longer be like "should I revive or should I not" when they're with Wait order up, and they see someone nearby who needs revive.

Like mentioned on the patch note above, if you plan on making use of the Quest System this mod brings, do notice that the system might end up
moving to another mod in the future, so in case you use it, be ready to when that happen, update the mod to add support to that other mod
that adds the feature.

The reason why I'll be moving the quest system to another mod, is that the feature itself seems very handy to only be used by TerraGuardians mod.

Well, that's all I have to say.
Enjoy your gameplay. :3
 
Back
Top Bottom