Quest progression

Requests for new Custom Stories or discussion of your new Custom Story ideas.
Forum rules
Please follow all Eek! Forum rules.
Post Reply
Seventy9
Posts: 6
Joined: Tue Mar 20, 2018 8:54 pm

Quest progression

In the quest for Katherine "Express Yourself" there is a hidden variable "FlashScore" which is incremented by one when you flash an NPC whilst on the quest. I would prefer to use this kind of progression in a quest rather than incrementing the quest via an event. The problem with incrementing the quest via an event is that once you have hit the magic number, the quest completes before you go back to the quest giver to tell them you've finished it. "Express Yourself" completes after telling Katherine you've flashed everyone.

With this in mind, are there other hidden variables that we can use? Or if you only have one quest like this, can we hijack this variable for use in our own quest in the CSC or is this variable specific to Katherine?

Also, I can't see anything in CSC which stops you from flashing the same person 9 times to complete the quest, is there something in the background which stops this? Or is this something that could perhaps be implemented to allow us to use quests like this?

For example, Katherine gives you a quest to insult all the guys at the party. Right now the only way I can figure out how to do it is to set the quest completion value to 3, add responses to insult each male NPC, add unique dialogue response from them and add a criteria that the insult only appears whilst you're on the quest and their unique response has not been shown already. This is quite time consuming just for three NPC's, but I would like a quest which involves all characters and managing this would be a pain. Also, the quest would complete once you've insulted them, not gone back to Katherine to tell her.

Ideally I would have the insult increment a hidden variable like "FlashScore", not be able to be shown again, then go back to Katherine to complete the quest.

Is this possible?
peter980
Posts: 1601
Joined: Thu Feb 15, 2018 1:50 am

Re: Quest progression

You can make up new variables however you want and track with them what you like.

Note that there are some hardcoded variables that are tied to game engine logic.

For example, if you add Run variable to character with value of 1, it will, run.
If you add Dancing:Skill variable to character with values between 1-9, you can toggle what dance animations character will use.
etc...

What would be nice is to get some documentation of all hardcoded variables that are tied to back-end game logic.
ttant
Posts: 987
Joined: Tue Feb 13, 2018 4:49 pm

Re: Quest progression

Seventy9 wrote: Tue Mar 20, 2018 9:13 pmAlso, I can't see anything in CSC which stops you from flashing the same person 9 times to complete the quest, is there something in the background which stops this? Or is this something that could perhaps be implemented to allow us to use quests like this?
I guss, the hidden value is incremented once the npc dialog is shown.
In the reaction part of one npx, you can set the trigger to :
* if player cock is visible
AND
* if npc dialog was not shown.

Faling one of this condition won't display the dialog thus, won't increment the hidden value. ;)
Kevner
Posts: 39
Joined: Wed Mar 21, 2018 5:01 am

Re: Quest progression

I'm sure when I first looked at that, the criteria was that each of the character's reaction dialogues had to have been triggered to allow the dialogue, then the quest would complete in the dialogue itself.

Now I see that it's different; either it's more efficient or it compensates for Frank being able to be dead now. Or it makes it easier to update when there's a new character added... Whatever. As you say surely this means though that every time you trigger the same flash dialogue, which can be multiple times in a playthrough, the Player FlashScore keeps rising. Trigger the same dialogue from the same girl 9 times and you should be able to 'cheat' the quest. I haven't tested that so I can't say if there's anything else behind it to correct. Could prevent this by adding the criteria to each flashscore +1 only if that dialogue has not been triggered before, but then it's even more bloated than the original and a waste of time just painting paint on paint. It'll be a lot quicker to program if it's all together in the same event or character dialogue, rather than going between them all.

For this as a template I would consider the original way for your scenario. For the criteria line for the player response to end the quest, for each character included add: 'Character' Dialogue 'InsultResponse' HasBeenShown. This way you don't need to worry about triggering each one more than once as it's checking each individual, rather than the total, and is all controlled from one criteria branch. Add a new character, just add one line to the criteria.

The next most elegant solution in my opinion uses the values. Response to Katherine's start dialogue has the criteria: value player 'insult' equals 3, if each insult response can only trigger once. Each NPC response has on dialogue start or close: modifyvalue player insult add 1. And that should be enough. If you add a character to the quest, change one number on Katherine and add one line to the other character.

Basically I'm thinking that whatever method used, it might depend on the quest type. And you can just create your own values to use anyway. As soon as you modifyvalue > character > ANYTHING > equals > number or text you can read that value for future criteria.
So you don't need to hijack anything unless you want to change pre-existing things, like Dancing:Skill, Fighting:Skill (I think, can't find it anymore) and Photos:Charactername / Photos:Naked:Charactername. I'm eager to learn of more.
Kevner
Posts: 39
Joined: Wed Mar 21, 2018 5:01 am

Re: Quest progression

And to make sure you can only use each insult once, all you have to do is not tick the "Always Available" box.
Seventy9
Posts: 6
Joined: Tue Mar 20, 2018 8:54 pm

Re: Quest progression

Thanks for the help everyone, using my own variables is perfect, glad that can already be done. Feel free to close the topic. :)
Post Reply