• For issues you find with the Switch and Console releases, please follow this link and give as much detail as possible. This is the speediest way to get info to Pipeworks and get a hotfix in the works.
  • For issues you find with the Mobile 1.3 update, please follow this link and give as much detail as possible. This is the speediest way to get info to DR Studios to look at your issue. Also, some troubleshooting hints here.

tAPI Grox The Great's Mods o' Magic

Status
Not open for further replies.

Grox The Great

Terrarian

Grox The Great's Mods o' Magic

Hello, and welcome to my thread! This is a hub of all my mods that I create using tAPI as the API for them. These mods can cover a wide variety of topics (and are not just limited to magic weapons as the title of the thread might imply) :p

IMPORTANT:
If you come across any bugs or problems while using any of these mods, PLEASE report it in this thread! I cannot fix problems if I do not know about them! Make sure to give a general idea of what you were doing when it crashed and an error report if one is provided. Without these, It makes it very hard to fix issues.

CREDITS
I'd like to thank Yoraiz0r, Shockah, Arkhalis, Zero-Exodus (ZE), ZetaPRIME, Solsund, UnrealMegashark, and anyone else I might have missed for helping with feedback, code, images, or testing. I'd also like to thank The Offical Terraria Wiki for use of it's images and being a great source of info on Terraria in general, and of course, the Terraria team for making Terraria in the first place!


Basemod
(r14, v1.0.5)

NOTE: If you get a crash using Basemod (Or any mod that uses Basemod) that looks like this:

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

You should disable AccessorySlots+ support in Basemod by going to Basemod's mod options menu and turning it off. This makes it incompatible with AccessorySlots+, but prevents the crash.



Basemod is an API of sorts that all my mods utilize. It has many methods and variables that make modifying the game and creating content faster and easier. Some features include:

-- AI methods for almost every Projectile and NPC AI in the game, excluding bosses, as well as a few custom ones. Almost every one has an 'ai' parameter, allowing you to provide your own AI float arrays and to stick more then one type of AI into an npc then you normally would be able to. Some are also 'Generic' - meaning it can be run for NPCs or Projectiles.

-- Draw methods that simplify drawing complicated things or just to make code cleaner, such as GetFrame, DrawAfterimage, DrawHeldSword, etc.

-- A class with useful variables within, such as a town npc's name, common dust IDs or netmessage constants.
Basemod is not just for my mods, however: Anyone who knows how is more then welcome to use this mod and have it as a requirement for thier own! To see how this is done, you add "BaseMod" to your mod's 'modReferences' json variable in your mod's ModInfo.json, like so:
Code:
 "modReferences":[ "BaseMod" ],
Once you've done that, you merely need to add 'using BaseMod;' to any class in your mod that wants to use Basemod and reference it like a normal C# class setup! For an example of this, see GRealm below.

CHANGELOG

v1.0.5
- Added Mod Option to turn Shockah's AccessorySlots+ support on/off - if it has been crashing for you, turn this off.

v1.0.4
- Reworked AIWorm; you can now provide -1 for the body and tail. This allows you to make an npc that uses worm AI but does not create a chain of npcs behind it.
- Reworked AISlime to take more parameters for more customizing.
- Reworked GenerateLine/Hall/Trapezoid to use a new GenConditions class to make calling the methods easier in bulk.

v1.0.3
- Renamed GenerateRoom to GenerateRoomOld; soon to be outdated, 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.2
- Changed HasItem/HasAmmo to check coin/ammo slots before normal slots.

v1.0.1
- Fixed bug where drawing would occasionally check on a stationary point instead of a moving one, resulting in clipping onscreen.
-(Hopefully) Fixed bug where Accessory Slots+ could cause Basemod to crash under certain conditions.

v 1.0
- Release!

DOWNLOAD

GRealm (r14, v1.0.5) (REQUIRES: Basemod)

NOTE: To people asking for a wiki: I have no time to make one alone. HOWEVER, if anyone wishes to create it themselves, they may PM me about it and we can see if we can set one up.

Grealm is a modification to Terraria which adds a variety of content, including new NPCs, Projectiles, Items, Tiles, etc. The content is spread all across the tiers (and in some cases, creates tiers of it's own), and will be encountered throughout the game. Some of the features include:
-- A large amount of new items, including materials, swords, staves, guns, ammo, and even some summoning gear.

-- A good amount of new NPCs, both friend and foe, including a few town NPCs, such as the Bug Catcher and Miner.

-- Battle Plantera's weaker cousin, Folivine, a prehardmode Jungle boss! Folivine was designed before 1.2 had come out based on Teasers for Plantera. While he is based off of Plantera, don't be fooled: his AI is nothing like Plantera's.


-- Fight in the brand new zombie based invasion, The Horde! This massive invasion starts out as an early invasion and evolves as the game progresses - newer, stronger, and more variant zombies emerge as bosses are beaten. Eyeball riders come with the Eye of Cthuhlu's demise, Beekeepers with the Queen's last breath. Come hardmode it really gets scary - can you handle The Horde?

CHANGELOG

v1.0.5
- Fixed Shroom Golem dropping a 'false item' instead of Shroomite Shards.
- Fixed Pylon Rod crashing the game in Multiplayer due to a syncing problem.

- Changed Pylon Rod; now has a recipe. (2 Grovite Bars, 10 Crystalline Batteries) at the Arcane Welding Station.
- Changed Enamel Cannon; now has a recipe. (1 Bone Wand, 10 Blood Fangs, 10 Ectoplasm, 20 Bones, 20 Pixie Dust) at the Arcane Welding Station.

v1.0.4
- Hopefully fixed bug where GRealm crashes with Shockah's AccessorySlots+ installed. (if it still crashes I give up, i'll have to remove support for it, I've tried everything)
- Fixed Zombinator not spawning properly.
- Fixed Pussling not being scaled down properly.
- Destroyer is now immune to all damaging GRealm debuffs due to a bug where pieces of it dissapeared when it broke to release probes.

- Changed Burning Rain; now requires the Arcane Welding Station to be crafted for balance purposes.
- Changed Chain Launcher; Grenades, Sticky Grenades, and Pollen Buds now do half damage when fired by it to balance it being too overpowered.
- Changed Horde Staff; Can now be crafted with any wood.
- Changed Iron Flashlight; now called Basic Flashlight and can be made with Iron or Lead Bars as well as any Pressure Plate. (old flashlights will break, you will need to make new ones.)
- Changed Golden Flashlight; now called Fancy Flashlight and can be made with Gold or Platinum Bars. (old flashlights will break, you will need to make new ones.)
- Changed Cobalt Spine; now called Sapphire Spine and can be made with Cobalt or Palladium Bars. (old cobalt spines will break, you will need to make new ones.)
- Changed Kopesh Of The Pharoah; damage reduced (36 from 40, so Night's Edge is not completely pointless :p) and can be made with Gold or Platinum Bars.
- Changed Arcane Welding Station; is now also considered a Tinkerer's Workshop when crafting items.
- Changed npc graphic for Ancient Dragon skull; now has a broken piece of bone where the jaw connects instead of a weird empty space.

- Removed Recipes for the Talus set, as the Talus set is not yet complete.

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.

v1.0.2
- Added support for Halloween and Christmas zombies to spawn in the invasion during their respective holidays and to drop Undying Flesh.

- Fixed bug with Shellvine crashing if dyed with a vanity shell over it.
- Fixed Raincoat Zombies not dropping undying flesh.

- Balanced Affluent Ingot; buy price is now 1 gold 25 silver instead of 75 silver to prevent getting the armor too early (unless you're a freaking packrat)
- Balanced Affluent Armor; less defense for each piece (now is 10 + 14 + 11 for a total of 35)

- Changed item graphic for Affluent Ingot to look more like an actual ingot.
- Changed item graphic for Affluent Helmet to include the red ribbon.

v1.0.1
- Fixed graphical bugs with Grovite Brick's glow sheet.
- Fixed Undying Flesh; now properly dropped by zombies.
- Fixed Grief Tiles mod setting not syncing in multiplayer.

- Changed Shellvine; now draws with the player to allow for it to be properly dyed and to support vanity slots of other shells.
- Changed Cybees; they only target one npc at a time now and the bolt is visually straighter.

v 1.0
- Release!

SCREENSHOTS

These items and npcs are (mostly) exclusive to the Zombie Invasion!





More images coming soon!

DOWNLOAD

 
Last edited:

Grox The Great

Terrarian
can you make a r10 version of this, pretty please. Your mod looks cool
This mod used to be for tConfig, then It underwent a very long process whereby I converted it to r10, but didn't finish before r11 became a thing. Since I was a developer for tAPI most of my time went into that, so I didn't get a chance to update this mod until recently for r12. Unfortunately I will not be backporting, as the mod uses things that only r12 has. If you wish to play this mod, you will need at least r12.
 
ERROR
TAPI.Mods+LoadException: GRealm.tapi: System.Reflection.ReflectionTypeLoadException: Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.
at System.Reflection.RuntimeModule.GetTypes(RuntimeModule module)
at System.Reflection.RuntimeModule.GetTypes()
at System.Reflection.Assembly.GetTypes()
at TAPI.ReflectionHelper.FindSubclasses(Assembly code, Type superclass)
at TAPI.Mod.<Load>b__0(BinBuffer bb)
at TAPI.Mods.HandleTapiModFile(FPath path, Action`1 action)
at TAPI.Mods.HandleModFile(FPath path, Action`1 action)
at TAPI.Mod.Load()
at TAPI.Mods.Load()
at TAPI.Mods.Load()
And I have r12
 

Grox The Great

Terrarian
ERROR
TAPI.Mods+LoadException: GRealm.tapi: System.Reflection.ReflectionTypeLoadException: Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.
at System.Reflection.RuntimeModule.GetTypes(RuntimeModule module)
at System.Reflection.RuntimeModule.GetTypes()
at System.Reflection.Assembly.GetTypes()
at TAPI.ReflectionHelper.FindSubclasses(Assembly code, Type superclass)
at TAPI.Mod.<Load>b__0(BinBuffer bb)
at TAPI.Mods.HandleTapiModFile(FPath path, Action`1 action)
at TAPI.Mods.HandleModFile(FPath path, Action`1 action)
at TAPI.Mod.Load()
at TAPI.Mods.Load()
at TAPI.Mods.Load()
And I have r12
Ok:

A. Did you install Basemod as well as GRealm? GRealm requires Basemod to work.

B. Did you turn Basemod on as well as GRealm? If not, turn it on as well.
 
Status
Not open for further replies.
Top Bottom