tModLoader Expeditions Mod - Modular Quest System

Discussion in 'Works-in-Progress' started by Flashkirby99, Dec 10, 2016.

  1. Flashkirby99

    Flashkirby99 Skeletron

    Base v2.3, for tModLoader v0.10.0.1
    Content v1.2.2, for tModLoader v0.10.0.1
    Mod Status: On Hiatus
    (until end of 2018, or when I actually have a significant chunk of time to work on something like this again)

    GUI becomes unclickable, try alt-tabbing out and back in again. Seems to work for most people.
    Random Item Boxes give progression breaking items (randomly!)
    Quests are sometimes uncompleteable in multiplayer (try reconnecting)
    Default position doesn't support ultrawide screen (try dragging the window)
    Camera works weird underwater (I actually don't even know)
    Photos and Magic Storage mod don't mix well (avoid putting photos in magic storage for now)

    . . .

    Both the base mod and the content mod are a demonstration of an idea so expect issues, there is a plan to update them to work better and less buggy and maybe just a complete rewrite.


    What is it?
    Add Expeditions, a quest system accesible via the Expedition Board craftable tile.
    Framework Features:
    • Client-side quest viewing, tracking and completion.
    • Progress is saved per-player.
    • 'Fancy' UI for handling the above.
    • Lists for delivering and rewards items.
    • Up to 3 customisable conditions and 1 counter per quests.
    • Daily random quest system, saved to world and net-synced.
    • Custom currency 'Expedition Coupon' and related methods.
    • Loot boxes that use an item pool generated from all installed mods.
    • Hooks for detecting various things.
    • Autoloading expeditions.
    • Semantic time checking information.
    • Bugs and glitches!
    The main content addon for the Expeditions Base mod. A work in progress.
    • 54 Main Quests provided by the Guide, up to Moonlord.
    • 69 Cycling daily quests.
    • 37 Sidequests, up to Mechanical Bosses.
    • 26 Photo quests, up to end of Pre-Hardmode.
    • Clerk NPC that sells expedition-unlockable items.
    • Take photos of enemies because you can!
    • Special expedition items that display extra map information.
    • Quest-unlocked early game weapon for Melee, Ranged, Magic and Summon.

    . . .

    The base mod comes with nothing particularly interesting on its own, but other things extend off it.

    [​IMG] Expeditions Board: Crafted from 20 wood, allows access to expeditions list. You can turn in mod quests and such here.

    [​IMG] Expedition Log: Manage tracking on your expeditions without having to check at a board.

    [​IMG] Expedition Coupon: Custom currency for use with any shop that wants to use it.

    [​IMG] Rusted Box, [​IMG] Relic Box
    Rewards a set of random pre/post hardmode items.
    Item pool is uses all items, including modded items, based on rarity.
    Will not reward certain tiers of items until conditions are met.

    . . .

    The Clerk
    Spawns when a player has at least: 120 life, 20 mana, 6 defence.
    Allows access to expeditions, same as the expeditions board.
    Also sells various items, most of which must be unlocked by completing certain quests,
    and almost all items sold use Expedition Coupons as currency.

    . . .

    [​IMG] [​IMG] [​IMG]
    : You can take pictures of almost any NPC. Used in conjuction with 'Snap!' quests to compile albums!
    (you know you want to collect all this trash)

    . . .

    Expeditions Quest Content
    The main bulk of this mod (and where you'll find most of the bugs).

    [​IMG] Progression Quests

    Provided by the Guide, though he doesn't need to be around for them to be cleared. Contains general progression tips and direction with mainly monetary reward for completion.

    Clerk Sidequests

    Covers various side-tracking and exploration related activities, such as saving 'optional' NPCs and finding cool things not directly related to advancing.

    Clerk 'Snap!' Quests
    Photo sidequests that involve the camera mechanic, and hunting down various enemies to take photos centred on a theme.

    Daily Quests: A random quest becomes active every day, across a range of NPCs and activities:
    • Guide: Boss challenges require defeating a boss within specified constraints such as time.
    • Clerk: Take a photo of specific enemy.
    • Merchant: Looking for certain items or furniture sets to sell overseas.
    • Dye Trader: Specific mix of gradient dye colours.
    [​IMG] Travelling Merchant Trades
    Whenever he arrives, various once-per-visit trade options will be available until he leaves. This allows access to corruption/crimson counterparts at a price, as well as other random items.

    Misc NPC Quests
    Various NPCs have been given mostly flavourful quests that range from the Tavernkeep's DD2 invasions to the Dryad with her herbal advice.

    . . .

    Quest Unlockables
    These items must all be unlocked by completing appropriate quests, and usually appear in the Clerk's store or as a reward.

    [​IMG] [​IMG] [​IMG]
    [​IMG] [​IMG]
    [​IMG] [​IMG]
    Wayfarer's Weapons
    Low-tier equivalents for each main class (sorry throwers) sold by the Clerk.

    . . .

    [​IMG] Heart Locket: Grants temporary 20 max life.

    Map Information Items

    These items reveal various items in the full/world map when near them.

    [​IMG] Stargazing Telescope: Furniture, functions as a scope when next to it and reveals Falling Stars.
    [​IMG] Heart Compass: Reveals nearby Heart Crystals.
    [​IMG] Enchanted Lens: Reveals nearby Life Fruits.
    [​IMG] Enchanted Shrine Map: Reveals enchanted sword shrines.

    . . .

    [​IMG] Prefix Applicator: Applies a set prefix to an accessory. (Not obtainable yet but it works)

    @orian34 Made another addon, Expeditions Addon : Interactions, for extra NPC quest, collectothons and more!
    Post | Download Page

    . . .

    Make your own Extension!
    Supports adding your own custom expeditions.
    A tutorial will go here eventually, but there is a template which includes a .dll file for referencing (with XML comments!).
    You can also check out how I write all the expeditions used in the content pack here.

    Want to write your own quests to work with this mod? This tutorial is based on visual studios, and assumes you know some basic C# programming.

    What you'll need:
    • Expeditions Base
    • Expeditions.dll file (available in template)

    • Set your mod to either reference or weak reference the expeditions mod in build.txt, read more about that here.
    • Set up a reference to expeditions for your .csproj, using the DLL.
    • The template mod has this already set up - if you want to edit from that, make sure to change the assembly name and default namespace of the project (select your project, ALT+ENTER)
    TODO: How to write a quest
    TODO: Useful Methods and example explanations

    . . .

    Possibly very slightly unstable. I am only partially responsible for any mishap that should fall upon you whilst using this mod.

    DOWNLOAD Base v2.3
    DOWNLOAD Content Pack v1.2.2
    via Mediafire
    via Mod Browser

    Flashkirby99 - I am making this mod.
    @jopojelly - Additional advice on mod referencing and .tmod usage
    @Supeh Mario - Original sprite for fox familiar.
    @Eli10293 - Resprite of Wayfarer's Cane.
    @Zoomo - Allowing use of Telescope sprite (with modification)

    Special Thanks to the following for their support and feedback:
    And anyone else I can't remember aaahhhh

    Want to get a quicker answer from me?
    Fire away on discord!

    Visit the Github Repository here!
    Content Pack Repo here!

    Last edited: Sep 1, 2018
  2. ProGamer

    ProGamer Terrarian

    Very intresting...
    I like it!
  3. Eli10293

    Eli10293 Spazmatism

    Any sprites that need work?
    Flashkirby99 likes this.
  4. LeeTG3

    LeeTG3 Eye of Cthulhu

    This sounds amazing!! I will definetly use it in my nodded world (when it comes out)
    Flashkirby99 likes this.
  5. ProGamer

    ProGamer Terrarian

    Me too!
    Flashkirby99 likes this.
  6. Sapharan

    Sapharan Golem

    Flashkirby you beast, you always find a way to amaze me.
    Flashkirby99 likes this.
  7. Cyanogynist

    Cyanogynist Cultist

    >NTerraria: Be more and more obsolete everyday due to TModLoader mods.
    Maxisever and Flashkirby99 like this.
  8. Flashkirby99

    Flashkirby99 Skeletron

    Man, I remember that, it's still going strong isn't it? I'm aware of quite a few different implementations of this idea, across various different mods. While N Terraria packages a quest system with its story telling, this is just a really simple modular test I'm experimenting with which happens to be for tModLoader.

    Still, if you want an fully modded, less buggy overhaul of Terraria, standalones are still the way to go for consistencies sake.
  9. Le tromp du Jawa

    Le tromp du Jawa Eye of Cthulhu

    They removed the bunny class so I'm not playing anymore :/
  10. Flashkirby99

    Flashkirby99 Skeletron

    I haven't been distracted by winter festivities at all...
    Mod is released, though not much content other than the framework. I will probably build my own extension for this at some point but it's mainly a proof of concept.
  11. UberCAKE

    UberCAKE Spazmatism

    Ooh, something like Hardcore Questing Mode for Terraria, this looks great!

    (Note, HQM is a mod for Minecraft that adds a quest system)
  12. updatedude

    updatedude Terrarian

    Hi, I just downloaded and played this mod. I love it, it adds a lot of personality and helps as far as progression go. However, it's bugged out by the 4th quest.

    At the 4th quest, which is to visit the dungeon, my game semi-froze and the wood in my inventory just kept bugging out, with the value fluctuating rapidly. In fact, looking at the screenshot attached, it seems I somehow got 999 wood as well?

    Anyway, I exited the map, then came back to do the fourth mission. Which should have auto-completed, but it didn't. This is a post-Moon Lord map, so there's no talking to the Clothier at the entrance here.

    Hopefully the bugs will get ironed out as the Expedition Board etc is pretty much perfect for the Adventurer's Tavern WIP you see in the screenshot.

    Attached Files:

    Flashkirby99 likes this.
  13. Cheezegami

    Cheezegami Pixel Pirate

    ^ I experienced an infinite stack of wood as a reward for the 3rd quest, trying to pick it up semi-freezes the game and rapidly fills the inventory with wood.
    Edit: I also notice some of the GUI elements disappear when hovering over the wood reward, there might be a syntax error with the specified amount.
    updatedude and Flashkirby99 like this.
  14. Flashkirby99

    Flashkirby99 Skeletron

    Just to verify this is the one with crimtane/demonite? I think I know what the problem might be and will push out an update shortly
    Cheezegami likes this.
  15. Cheezegami

    Cheezegami Pixel Pirate

    Yes, I haven't tried demonite, but my world was crimson. It was indeed the 20 Crimtane quest.
    updatedude likes this.
  16. Flashkirby99

    Flashkirby99 Skeletron

    Updated on tmOdLoader, will update here later when I have time
    Lunatic Lobbyist and Cheezegami like this.
  17. Flashkirby99

    Flashkirby99 Skeletron

    Download v1.0.2 (1.02MB)
    Changelog (from v1.0):
    • Fix item reward error glitch.
    • Add failsafe to wake up Sleeping Clerk if opening chat window somehow fails (remove blocks under her)
    • Rebalance prices to make Wayfarer items cheaper.
    • Updated to use @Eli10293's Wayfarer staff resprite.
    Eli10293 likes this.
  18. updatedude

    updatedude Terrarian

    Groovy, an update. Looking forward to this.
  19. 123Nick

    123Nick Terrarian

    hey, quikc quesiton, is this compatible with Multiplayer?
  20. Flashkirby99

    Flashkirby99 Skeletron

    Yes. But not very polished: All the expeditions are local but the conditions to achieve each of them are irrespective of other players. There's also a partyshare boolean available for custom expeditions that force-completes the expeditions for other people on your team when you do. It's not ideal, I could probably work on the multiplayer aspect a bit more at some point.