1. 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.
    Dismiss Notice

tAPI Grox The Great's Mods o' Magic

Discussion in 'Released' started by Grox The Great, Oct 23, 2014.

Thread Status:
Not open for further replies.
Thread was lock by: Aurora3500
Reason: Newer Version of Mod (Details in last Post)
Lock date: 00:26 05-07-2017
  1. Grox The Great

    Grox The Great Terrarian

    [​IMG] Grox The Great's Mods o' Magic [​IMG]

    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

    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.

    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!

    [​IMG] Basemod (r14, v1.0.5) [​IMG]

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

    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:
     "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.


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

    - 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.

    - 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)

    - Changed HasItem/HasAmmo to check coin/ammo slots before normal slots.

    - 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!

    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?


    - 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.

    - 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.

    - 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.

    - 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.

    - 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!


    These items and npcs are (mostly) exclusive to the Zombie Invasion!
    [​IMG] [​IMG]

    [​IMG] [​IMG] [​IMG]
    [​IMG][​IMG] [​IMG]

    More images coming soon!


    Last edited: Dec 11, 2014
  2. Arkhayla

    Arkhayla Terrarian

    OMG! You have finally released it! Now I need to play it =p
  3. Scooterboot9697

    Scooterboot9697 Official Terrarian

    Aww, I wanted to be first. Oh well. I'll try this out ASAP. It looks awesome! :D
  4. nealpd

    nealpd Skeletron Prime

    Looks absolutely fantastic. Will play now.
    Grox The Great likes this.
  5. Stalker

    Stalker Terrarian

    Excelent, Let's give it a try.
    Grox The Great likes this.
  6. drain.

    drain. Terrarian

    Looks very nice!

    Will give it a try sometime.
    Grox The Great likes this.
  7. Stereox

    Stereox Plantera

    It's ported already :D:D
    Grox The Great likes this.
  8. TheUnrealMegashark

    TheUnrealMegashark Official Terrarian

    I need to play this, looks great! Nice work Grox!
    Grox The Great likes this.
  9. Guiding Intense

    Guiding Intense Terrarian

    tumblr_my03n2EnmH1rbhkdqo1_100.gif can you make a r10 version of this, pretty please. Your mod looks cool tumblr_my03n2EnmH1rbhkdqo1_100.gif
  10. Grox The Great

    Grox The Great Terrarian

    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.
  11. Cultist Of Death

    Cultist Of Death Terrarian

    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 likes this.
  12. Grox The Great

    Grox The Great Terrarian


    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.
  13. Mordekaiser

    Mordekaiser Steampunker

    I have been playing this mod for 1-2 hours and I'm already enjoying it! The amount of items you can make is so fun.

    Keep on the great work. c:
    Grox The Great likes this.
  14. zimberzimber

    zimberzimber Terrarian

    This looks fantastic!
    Good job on these mods!

    Are you planning on making an RPG mod perhaps?
  15. Guiding Intense

    Guiding Intense Terrarian

    where could i find GRealm and Basemod
  16. Shockah

    Shockah Grandson of The Wizard

    I'm... not sure what you mean. You're in the right thread, how can you miss the download links?
  17. maximus362

    maximus362 Terrarian

    is that not lyn from fire emblem???? like a resprited version :D
  18. zadum4ivii

    zadum4ivii Official Terrarian

    This... Is... AWESOME!!!
    Can I borrow some code? Because I am not good at .cs files D:
  19. Grox The Great

    Grox The Great Terrarian

    Sure, so long as you credit me properly you can do whatever you like.
  20. zadum4ivii

    zadum4ivii Official Terrarian

    The Zombinator is glitching when being flyind D:
Thread Status:
Not open for further replies.