New Quest actions - enhancing classic

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

New Quest actions - enhancing classic

Post by Hazelnut » Fri May 18, 2018 3:13 pm

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

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

Re: New Quest actions - enhancing classic

Post by Al-Khwarizmi » Fri May 18, 2018 5:32 pm

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: 1597
Joined: Tue Aug 25, 2015 1:54 am

Re: New Quest actions - enhancing classic

Post by Jay_H » 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
Try over 90 all-new quests in the first Daggerfall Unity Quest Pack.

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

Re: New Quest actions - enhancing classic

Post by Hazelnut » Fri May 18, 2018 6:41 pm

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

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

Re: New Quest actions - enhancing classic

Post by Jay_H » 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.
Try over 90 all-new quests in the first Daggerfall Unity Quest Pack.

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

Re: New Quest actions - enhancing classic

Post by Interkarma » Fri May 18, 2018 7:22 pm

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: 856
Joined: Sat Aug 26, 2017 2:46 pm
Contact:

Re: New Quest actions - enhancing classic

Post by Hazelnut » Fri May 18, 2018 7:40 pm

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.

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

Re: New Quest actions - enhancing classic

Post by Hazelnut » Fri May 18, 2018 9:17 pm

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.

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

Re: New Quest actions - enhancing classic

Post by Jay_H » Fri May 18, 2018 9:42 pm

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?
Try over 90 all-new quests in the first Daggerfall Unity Quest Pack.

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

Re: New Quest actions - enhancing classic

Post by Hazelnut » Sat May 19, 2018 10:10 am

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.

Post Reply