New Quest actions - enhancing classic

Discuss coding questions, pull requests, and implementation details.
User avatar
Hazelnut
Posts: 3015
Joined: Sat Aug 26, 2017 2:46 pm
Contact:

New Quest actions - enhancing classic

Post by Hazelnut »

Before going AWOL I was working on a new quest action to test a skill level intended to give quest authors a way to have quests react to character skills. In fact I completed the code for the action but didn't know where it should go. I'd like to discuss where enhancement quest actions should go. As I see it there are 2 options:
  • Add them to main DFU codebase so they can be used by any quest authors.
  • Require them to be added in mods to keep DFU 'pure', some quests will require action mod to be present.
Are there any other ways to go here? Interkarma, you had any thoughts re this?

EDIT: I actually thought I had lost this code somehow... but just found it on my laptop. :)
See my mod code for examples of how to change various aspects of DFU: https://github.com/ajrb/dfunity-mods

Al-Khwarizmi
Posts: 177
Joined: Sun Mar 22, 2015 9:52 am

Re: New Quest actions - enhancing classic

Post by Al-Khwarizmi »

I like this idea, as it would allow creating quests that make language skills more useful.

For example, maybe if you know harpy language you can bribe harpies to give you something that otherwise would require a hard dungeon crawl.

User avatar
Jay_H
Posts: 4062
Joined: Tue Aug 25, 2015 1:54 am
Contact:

Re: New Quest actions - enhancing classic

Post by Jay_H »

Yes, this will be extremely cool. I can see the plans unfolding right now. I'll let everyone else talk now :D

User avatar
Hazelnut
Posts: 3015
Joined: Sat Aug 26, 2017 2:46 pm
Contact:

Re: New Quest actions - enhancing classic

Post by Hazelnut »

Jay_H wrote: Fri May 18, 2018 5:37 pm Yes, this will be extremely cool. I can see the plans unfolding right now. I'll let everyone else talk now :D
You knew I'd get to this though right? After we discussed stuff... :)
See my mod code for examples of how to change various aspects of DFU: https://github.com/ajrb/dfunity-mods

User avatar
Jay_H
Posts: 4062
Joined: Tue Aug 25, 2015 1:54 am
Contact:

Re: New Quest actions - enhancing classic

Post by Jay_H »

I hold no one to any expectation, myself being the prime example :) I'm very happy this can be a part of the system but I don't want anyone to put DFU as a higher priority than real-life matters.

User avatar
Interkarma
Posts: 7236
Joined: Sun Mar 22, 2015 1:51 am

Re: New Quest actions - enhancing classic

Post by Interkarma »

If you want to make it part of a mod, there's an event in QuestMachine when actions are to be registered. Capture that event and register your action like the others. Custom effects for the EntityEffectBroker will work in a similar way when I'm ready to open this up.

If a quest action has universal use (as this one would), I don't mind if you want to add it to core either. Just send me a PR when ready. :)

User avatar
Hazelnut
Posts: 3015
Joined: Sat Aug 26, 2017 2:46 pm
Contact:

Re: New Quest actions - enhancing classic

Post by Hazelnut »

Interkarma wrote: Fri May 18, 2018 7:22 pm If a quest action has universal use (as this one would), I don't mind if you want to add it to core either. Just send me a PR when ready. :)
Excellent I was hoping you would say that.
See my mod code for examples of how to change various aspects of DFU: https://github.com/ajrb/dfunity-mods

User avatar
Hazelnut
Posts: 3015
Joined: Sat Aug 26, 2017 2:46 pm
Contact:

Re: New Quest actions - enhancing classic

Post by Hazelnut »

Jay_H wrote: Fri May 18, 2018 6:54 pm I hold no one to any expectation, myself being the prime example :) I'm very happy this can be a part of the system but I don't want anyone to put DFU as a higher priority than real-life matters.
Nah, I'm good. Just doing little piddly tasks for DFU as I feel like it.

Anyway, are you sitting down Jay?

PR submitted. :D

BTW I've tested it using ARCH001 quest, you can see the changes in teh repo. Once you've had time to wrap your head and start to play I'd like to know if I used it in the optimal way. Maybe feels clumsy to a programmer because there's no if and you seem to need to create tasks for each condition. Actually it's quite like some modern event/action driven programming in that respect.
See my mod code for examples of how to change various aspects of DFU: https://github.com/ajrb/dfunity-mods

User avatar
Jay_H
Posts: 4062
Joined: Tue Aug 25, 2015 1:54 am
Contact:

Re: New Quest actions - enhancing classic

Post by Jay_H »

EXCELLENT! I'm not already dancing because I can't clone DFU from git; Linux Unity is sort of hobbled for me :lol: I'll have to wait for new builds. I already have a few ideas in mind on how to use this.

This'll open up a looot of new doors! I know you also had some ideas on the backburner for the Archaeologists, so feel free to write them out when you have a chance.

EDIT: Good heavens, the parsing for this is wonderful. I'm going to see how much of this weekend I can dedicate to this.

I'm wondering if (later on down the road!) a random roll can be made for quest purposes; for example, a roll between 25 and 35 running skill, and if your character exceeds the roll amount, the event flag is triggered. That's future engineering though, if it's a good idea at all.

EDIT2: Now I'm wondering. Can this only be used once per quest event, or multiple times? Here's what I mean. In DFU, if you have a "killed [monster]" condition, like so:

_victory_ task:
killed _rogue_
killed _imp_
killed _bear_

The Victory condition is triggered for any of the three deaths rather than all. Would the same be true with skill check conditions, or if I put multiple skill checks, would they all have to be satisfied before the event fires?

User avatar
Hazelnut
Posts: 3015
Joined: Sat Aug 26, 2017 2:46 pm
Contact:

Re: New Quest actions - enhancing classic

Post by Hazelnut »

Interkarma has suggested the syntax should change to:

Code: Select all

when skill Medical is at least 40
so I will change it to this.
See my mod code for examples of how to change various aspects of DFU: https://github.com/ajrb/dfunity-mods

Post Reply