tAPI Grox The Great's Mods o' Magic

Status
Not open for further replies.
With a mod this well done, I'm not surprised you're one of the main tAPI devs. Seriously, I used Shockah's Fancy Cheat Menu mod to look at what this mod has to offer and everything I looked at/tried out was so cool - especially the custom swinging animation for certain items where the player does not swing the weapon straight forward but has to hold it back for a second to gain momentum or the custom zombie invasion that progressively gets harder the stronger you become. I was also surprised to hear custom sound effects for certain things as well.

So literally every aspect (textures, sound, balance, originality, gameplay, etc.) about this mod is superb in my opinion. Well done, Grox! :)
 
Do I need to create a new world to make the new ore spawn?

Nope, Grovite Ore will spawn the first time the Golem (as in the boss in the lihzhard temple) is killed on any world, old or new.

Sorry guys, life keeps interrupting me. I will get a new version out very soon, at the very longest tomorrow!
 
Last edited:
Is there a convenient list to look up stuff? I am getting major lost even though I'm sure I'd be able to stumble on things easier by now :S

Unfortunately not, BUT if you wish to know about every item/npc etc. you have two options:

1. Check in the mod's json files to see what items are available and thier crafting recipes. (more work but always accurate)

2. Find them in Shockah's Final Cheat Menu mod and chuck the material items into the guide for recipes. (less work but not always perfect)
 
Version 1.0.3 for Basemod and GRealm are now out!

v1.0.3
- Renamed GenerateRoom to GenerateRoomOld; soon to be oudated, GenerateTrapezoid does the same thing.

- Added BaseWorldGen.GenerateLine(int x, int y, int endX, int endY, int thickness, int[] tiles, bool orderTiles = false, int[] walls = default(int[]), bool orderWalls = false, bool sync = true, bool slope = false, Func<int, int, int, int, bool> CanPlace = null)
- Added BaseWorldGen.GenerateHall(int x, int y, int endX, int endY, int thickness, int height, int[] tiles, bool orderTiles = false, int[] walls = default(int[]), bool orderWalls = false, bool sync = true, bool slope = false, Func<int, int, int, int, bool> CanPlace = null)
- Added BaseWorldGen.GenerateTrapezoid(int x, int y, int endX, int endY, int thickness, int height, int[] tiles, bool orderTiles = false, int[] walls = default(int[]), bool orderWalls = false, bool sync = true, bool slope = false, Func<int, int, int, int, bool> CanPlace = null)
v1.0.3
- Added knockback resistance progression for golems. (ie dirt up to gold tier will have weakened resistance while the rest will have what it is now)
This should help resolve problems with dirt golems being nigh impossible to kill early on as getting close enough without being hurt was too hard.

- Fixed ANY Zombie not dropping Undying Flesh. (Added every one I could find to the check for it :p)
- Fixed bug where Miner Town NPC had all items instead of using checks properly.
- Fixed bugs where certain NPCs crashed or acted broken due to the OnSpawn/Initialize splitup (Sorry guys, but machine gun bowmen, while helarious, are not intended :p)
- Fixed major bug where tiers in the Zombie Invasion did not function and higher tier npcs spawned regardless of actual progression or conditions. (I left it on Dev mode by accident >.>)
- Fixed Chain Launcher not firing the sticky versions of glowsticks and grenades.

- Balanced Zombow; damage is now slightly less. (19 from 22)
- Balanced Affluent Ingot; Now requires Skeletron, Queen Bee, or Wall of Flesh to have been killed and the Travelling Merchant has a 1/4 chance of having it prehardmode instead of 1/3.

- Changed graphic for Beekeeper to be slightly more pleasing to look at.
 
I am floored.
Seriously, this looks amazing. I only hope that the Summoner is now a PROPER class with this mod installed.
 
truly awesome BaseMod, atm im looking through the AI stuff, and i have some questions...

if i wanted to make a zombie AI follow a specific NPC (not the player), how would i do that?
also, i've seen you have a variable for the time it takes to get bored, is there a way to set this to infinite?
 
truly awesome BaseMod, atm im looking through the AI stuff, and i have some questions...

if i wanted to make a zombie AI follow a specific NPC (not the player), how would i do that?
also, i've seen you have a variable for the time it takes to get bored, is there a way to set this to infinite?

Unfortunately most the AIs do not allow you to specify a target (mostly because it requires data only the player can provide and because npc.target HAS to be a player ID), but you can pull this off yourself by copying the AI and changing the relevant bits where it attempts to get a player and replace it with a target of your own.

As for boredom, there's a bool to make it never bored in the AI method. (allowBoredom, make it false)
 
Cant wait to see a content update. :D
By the way, ¿is any list of objects, enemys and things of the mod?
 
I'm hoping this is just me messing up somewhere, but there's something up with the Horde event.
Every mob lacks animation and follows what I'm guessing is the standard fighter AI. They're just sliding forward and jumping when they need to.
They're also only dropping coins and torches.

The first time it happened was after I had downloaded the 1.0.3 update of the mod, so I figured something may have been up.
I've tried re-downloading it, but the problem seems to persist. Which is a shame, 'cause I'd like to see what all the Horde mobs drop.
 
I'm hoping this is just me messing up somewhere, but there's something up with the Horde event.
Every mob lacks animation and follows what I'm guessing is the standard fighter AI. They're just sliding forward and jumping when they need to.
They're also only dropping coins and torches.

The first time it happened was after I had downloaded the 1.0.3 update of the mod, so I figured something may have been up.
I've tried re-downloading it, but the problem seems to persist. Which is a shame, 'cause I'd like to see what all the Horde mobs drop.

.___.

I genuinely have no idea how you managed to have this happen, I can't reproduce it. Is anyone else having similar problems with the invasion?

EDIT: Actually, there is exactly one way this could happen - if OnSpawn was not being called. If it wasn't called, the internal id for every zombie would be 0...which is the torch zombie, hence why everything drops torches and acts like a regular mook. Thing is, that should never happen. What version of tAPI are you using the play the mod?
 
.___.

I genuinely have no idea how you managed to have this happen, I can't reproduce it. Is anyone else having similar problems with the invasion?

EDIT: Actually, there is exactly one way this could happen - if OnSpawn was not being called. If it wasn't called, the internal id for every zombie would be 0...which is the torch zombie, hence why everything drops torches and acts like a regular mook. Thing is, that should never happen. What version of tAPI are you using the play the mod?

...Not the latest version, it seems. I must not have gotten the notification that tAPI updated.
I'm still running r12. I'll update and hopefully that will fix everything.

EDIT: Good news! It was my fault. I updated and the invasion works perfectly.
 
Last edited:
I'm getting an error when using this mod in conjuction with Shocka's mods. Something about shells:

System.NullReferenceException: Object reference not set to an instance of an object.
at BaseMod.BasePlayer.HasAccessory(Player player, Int32 type, Boolean normal, Boolean vanity, Boolean& social, Int32& index)
at BaseMod.BasePlayer.HasAccessory(Player player, Int32 type, Boolean normal, Boolean vanity)
at GRealm.Items.ShroomShell.GetActiveShell(Player player, Boolean visual)
at GRealm.MPlayer.<.ctor>b__7(PlayerLayer layer, Player drawPlayer, SpriteBatch sb)
at TAPI.PlayerLayer.Action.OnDraw(Player drawPlayer, SpriteBatch sb)
at TAPI.PlayerLayer.Draw(Player drawPlayer, SpriteBatch sb)
at Terraria.Main.DrawPlayer(Player drawPlayer, Vector2 Position, Single rotation, Vector2 rotationOrigin, Single shadow)
at Terraria.Main.Draw(GameTime gameTime)

Narrowed down the culprit to the ACCESORY SLOTS mod. Something with that mod ins't compatible with this one.

I am getting the strangest sense of dejavu... Didn't the tConfig versions of these mods have the EXACT SAME ISSUE?
 
Last edited:
I'm getting an error when using this mod in conjuction with Shocka's mods. Something about shells:

System.NullReferenceException: Object reference not set to an instance of an object.
at BaseMod.BasePlayer.HasAccessory(Player player, Int32 type, Boolean normal, Boolean vanity, Boolean& social, Int32& index)
at BaseMod.BasePlayer.HasAccessory(Player player, Int32 type, Boolean normal, Boolean vanity)
at GRealm.Items.ShroomShell.GetActiveShell(Player player, Boolean visual)
at GRealm.MPlayer.<.ctor>b__7(PlayerLayer layer, Player drawPlayer, SpriteBatch sb)
at TAPI.PlayerLayer.Action.OnDraw(Player drawPlayer, SpriteBatch sb)
at TAPI.PlayerLayer.Draw(Player drawPlayer, SpriteBatch sb)
at Terraria.Main.DrawPlayer(Player drawPlayer, Vector2 Position, Single rotation, Vector2 rotationOrigin, Single shadow)
at Terraria.Main.Draw(GameTime gameTime)

Narrowed down the culprit to the ACCESORY SLOTS mod. Something with that mod ins't compatible with this one.

I am getting the strangest sense of dejavu... Didn't the tConfig versions of these mods have the EXACT SAME ISSUE?
restart tAPI. It fixed it for me
 
Dat Barbarian =0 Your my new hero Grox <3
I looked at the sprite sheet, then to the code briefly, back to the sprite sheet, and lastly fixate on the code.
Visceral clean up needed post brainsplosion...
Very innovative work, great job!
 
Status
Not open for further replies.
Back
Top Bottom