tModLoader Adaptable Questing mod

Are you interested?


  • Total voters
    75

Eldrazi

Eater of Worlds
INTRO
Since I've recently revamped this thread, there are bound to be some mistakes. Please point them out if you find them!
This product is meant for people that mod using tModLoader and want to add some extra flavour to their mods. I've already got a great part of it working, which I will explain down below. I will probably keep working on this mod, since there are a lot of things one can do with a questing system.

Functionality
Adaptable Questing is a framework that allows for mods to add Quests to Terraria. I will try to explain a lot of the functionality of the mod, as well as how you can utilize it.
Quests are (as of now) started by talking to NPCs and accepting a quest. NPCs that have a quest available can be identified by the exclamation mark above their heads.
luyRDe1.png
Whenever a quest has been accepted, there are two states an NPC can be in: Quest Active and Quest Inactive. When the NPC is in the Quest Active state, the player can progress through the quest by starting a conversation with the NPC. When the NPC is in the Quest Inactive state, the player can talk to the NPC about the active quest, but will not be able to progress, since he/she has not met all requirements for completing the quests' stage.
Quest Active state:
7Z7rl7O.png


Quest Inactive state:
6sMmGqh.png

A quest can consist of multiple stages. This means that a quest can have the player talk with multiple NPCs to gather information, or slay a multifold of monsters before being able to complete the quest. The quest creator can then pick a suitable reward (may it be items or a permanent status boost) to fit the difficulty of the quest.
Quests can also be made repeatable; if you have a monster hunting quest that will have you hunt random monsters everytime for example.

The Quest Log will keep you up-to-date of your currently accepted quests and allows the player to look up detailed information on the current (and past) quest stages.
4PCzyVR.png

TODO
Like mentioned before: there are a lot of things one can do with a questing system. I think I've barely got the basics down at this point, which means there's loads of room for improvement.
I'm going to put a list together of everything I'd like added to this mod, so bear with me a little while before I upload it.

Finally
I'd really like to know you guys' opinions about this. Let me know if you are interested via the Poll. I welcome any suggestions, from functionality till fun ideas for quests/mods that can use this system.

And last but not least: Are you a spriter or a designer of some sorts? If you'd like to make some sprites for me, of have some neat ideas for quests/the quest framework, let me know! I'd love to accept any help I can.

Credits
@Gorateron - General framework help and helping me understand more about a solid framework structure.
@Bluesphex - Official tester and bug-squasher.
 
Last edited:
I think you should do a "Hunter" NPC who spawns after you killed at least 100 monsters of the same type. When he gives his quests, he asks you to get a specific monster drop that drops only when the quest is active - like the fishing quest fish - and rewards you with monster trophies, like Zombie Trophy or Eater of Souls Trophy, and special gear - like a "Portable Safe" item that acts like the Money Trough.
I think this has lots of potential, and I support this all the way!
 
Allright, time for a little update!
I haven't been working on this project a lot, which is mainly due to the fact that (as mentioned in the original post) there are quite some hooks not implemented in tModLoader for this plan to execute as I want it to. Some of the things that I'd need to wait for (since I can imagine the few people that are interested will want to know):

- UI Hooks - Since I want to implement a (sort of) quest book, this is highly necessary. This could also be used to add some extra 'flavour' to dialogues with NPCs.
- Player Hooks - This is necessary to the MAX. Without the Player Hooks there is no easy way to save and load quest data. So if you spend hours working yourself through a questline, shut down and came back the next day, all the progress would be gone (and I'm sure a lot of people would get salty because of it :p ).

These are the two major hook implementations I need for this project to be put under a serious W.I.P.
Although I said I haven't been working on this mod a lot, I HAVE made a questline which gave me another 1 hour of content to play through. I closed Terraria, started it back up and loaded my char and world. All Quest progress gone, I'm so salty right now.
 
Do you want any part time coders? Also, the quest coding seems a bit laborious on the users side.
 
Do you want any part time coders? Also, the quest coding seems a bit laborious on the users side.
Hij, Yeah parttime coders are welcome (as long as you have a good understanding of C#)!
It's nice to have someone notice the fact that it's a bit of a pain to write all the Quest code. This had led me to create an application that allows you to just fill in the dialogues, Quest name, etc. after which it will create the Quest file for you. I didn't mention this since it's still in its early development stage, which doesn't even have loading applied yet.
And thanks for your reaction, appreciate it!
 
So basically a sort of tModLoader extension for modders to easily create 'quests'? That'd be :red:ing awesome :)
That's the whole idea, Yeah. Right now, the only thing you'll need to do is have a proper Quest file and have your npcs that partake in the Quest inherit from 'QuestNPC' instead of 'ModNPC'. So creating them will be rather quick and easy as soon as I've made the Quest creating program I mentioned in my earlier post!
 
I think you should do a "Hunter" NPC who spawns after you killed at least 100 monsters of the same type. When he gives his quests, he asks you to get a specific monster drop that drops only when the quest is active - like the fishing quest fish - and rewards you with monster trophies, like Zombie Trophy or Eater of Souls Trophy, and special gear - like a "Portable Safe" item that acts like the Money Trough.
I think this has lots of potential, and I support this all the way!
or maybe he would ask for boss trophies and monster banners and reward you with money or something. anyway this is all cool
 
or maybe he would ask for boss trophies and monster banners and reward you with money or something. anyway this is all cool
Just do it! *reference*
Thanks for taking an interest.
Also, just wanted to let you (the community!) know that this project is not scrapped. It's still on the drawing board (and also still require some hooks).
From the looks of tModLoader (and the current status of it) I'm hoping for v0.7 to be released in december, 'cause if it does, I'll re-start development on this to make a first test build for those of you that are interested (may it be for a big project or just general interest), which I then hope to have finished by the end of that month/beginning of 2016 (but that sounds so far away ><). I'll also create a GH repository for the peeps that want to know the (ever so messy) code behind the 'plugin'.
 
Can I use this for my mod?
Also another useful feature would be having special enemies spawn during a specific quest so you can take it's drops to give for the quest, maybe one per quest, or making it so you can or can't get the same quest again.
 
Can I use this for my mod?
i don't know if anyone would get mad at you or not, all i know is that http://forums.terraria.org/index.php?threads/the-gyrolite-mod.20633/ has something similar to this. not sure if it is quite the same though, and i can't say wether or not you are allowed to do that. you know what? you can probably ignore this message all together.
PS. and yes, i'm stalking you. (not really, you just keep posting on threads that i am watching :p)
 
Can I use this for my mod?
Also another useful feature would be having special enemies spawn during a specific quest so you can take it's drops to give for the quest, maybe one per quest, or making it so you can or can't get the same quest again.
i don't know if anyone would get mad at you or not, all i know is that http://forums.terraria.org/index.php?threads/the-gyrolite-mod.20633/ has something similar to this. not sure if it is quite the same though, and i can't say wether or not you are allowed to do that. you know what? you can probably ignore this message all together.
PS. and yes, i'm stalking you. (not really, you just keep posting on threads that i am watching :p)
Well, this mod (once released) will serve as some sort of plugin and is therefore open to the public (in short: yes, you can (I even WANT you to) use this).
It's true that Gyrolite has an NPC that serves some sort of 'questing' purpose, but it will probably not integrate this mod/plugin (as this mod focusses on more than one kind of quest, so it'd be a waste to use there).

As for the suggestions:
You can check which quests are active, since each player will have his/her own 'quest book', which means you'll just have to check if the quest book contains a certain quest before spawning the NPC, simple as that.
There is also an option for each quest, which allows the quest to be repeated (or not, if it's some sort of 'main' questline).

Hope I answered your questions with this!
 
Well, this mod (once released) will serve as some sort of plugin and is therefore open to the public (in short: yes, you can (I even WANT you to) use this).
It's true that Gyrolite has an NPC that serves some sort of 'questing' purpose, but it will probably not integrate this mod/plugin (as this mod focusses on more than one kind of quest, so it'd be a waste to use there).

As for the suggestions:
You can check which quests are active, since each player will have his/her own 'quest book', which means you'll just have to check if the quest book contains a certain quest before spawning the NPC, simple as that.
There is also an option for each quest, which allows the quest to be repeated (or not, if it's some sort of 'main' questline).

Hope I answered your questions with this!
What percentage is this done, or when will it be ready?
 
What percentage is this done, or when will it be ready?
Well, I'm afraid this will have to wait a little while :)
I'm still waiting for several hooks (like stated before, Player and UI hooks). Whilst player hooks are going to be implemented very soon, I'm afraid the UI ones will have to wait a while longer.
I might release a very early 'test' build for those that are curious as to what you can accomplish with this tool, but that would just include a few NPCs giving you quests, no integration in your own mods yet (I'm afraid).

As for the percentage that is done... It's quite abstract, since I've rebuild the mod (I'll keep it at mod for now ><) from scratch a few times now. You know the 'This could be better' feeling? I've had that a lot with this. Anyway, I think other from the hooks I still need, I'd estimate the 'done percentage' at around... 40-50%?

EDIT:
Also the reason why this is not yet in the WIP section, I don't want to get people's hopes up!
 
Well, I'm afraid this will have to wait a little while :)
I'm still waiting for several hooks (like stated before, Player and UI hooks). Whilst player hooks are going to be implemented very soon, I'm afraid the UI ones will have to wait a while longer.
I might release a very early 'test' build for those that are curious as to what you can accomplish with this tool, but that would just include a few NPCs giving you quests, no integration in your own mods yet (I'm afraid).

As for the percentage that is done... It's quite abstract, since I've rebuild the mod (I'll keep it at mod for now ><) from scratch a few times now. You know the 'This could be better' feeling? I've had that a lot with this. Anyway, I think other from the hooks I still need, I'd estimate the 'done percentage' at around... 40-50%?

EDIT:
Also the reason why this is not yet in the WIP section, I don't want to get people's hopes up!
Last question: will this be implemented in the mhadrium and negativity mod?
 
Last question: will this be implemented in the mhadrium and negativity mod?
Also a nope there.
At least not when the initial release comes 'round the corner. There is a massive story behind that mod though, so we might implement this AFTER the initial release to enhance that story in-game via a questline ;)
 
Oh, and for the record, I came up with the Hunter NPC before the person who posted the idea for the Soldier NPC for the Gyrolite mod.
Just needed to put that out there for the people who are inevitably going to be like "omfg yous take ideaz u bastzrzd".
 
INTRO
This idea (and eventual product) is meant for people that mod using tModLoader and want to add some extra flavour to their mods. I've already got a great part of it working, but not nearly enough to put it under WIP, since there are still some hooks that need to be implemented in tModLoader before some of the functionality will work the way it should work. Once the functionality that I need is there and enough people are interested, I will upgrade this thread to a WIP with a download.
Eh, even since you begun working on the mod, isn't it considered as WIP (Work in Progress)?

Also, you could add conditions that must be beaten in order to unlock the quest, like...
You cannot hunt Angry Bones if Skeletron is not defeated, so this could be one kind of condition.
 
Just a suggestion, If you could find a way to have npcs follow you, such as for an escort quest, that would probably be a very interesting idea. :dryadwink:
I'd have to look into that. It's possible in my mind, but I'm not going to be promising anything on that front :p
Eh, even since you begun working on the mod, isn't it considered as WIP (Work in Progress)?

Also, you could add conditions that must be beaten in order to unlock the quest, like...
You cannot hunt Angry Bones if Skeletron is not defeated, so this could be one kind of condition.
I didn't put this on the WIP forum since I'm not even entirely sure if I can manage to make this into a complete mod (since I have two other major mods to program and RL).

Such a thing (checking if skeletron is defeated) falls onder Quest requirements. So yeah, that'll be possible!
 
Back
Top Bottom