Restricting quests to allegiance/faction?

Hi all,

Just starting looking into what is possible with quests... and one of the things that surprised (and disappointed) me was that it seems there is not way to restrict a quest to a particular allegiance and/or faction and/or faction trait.  Does that sound correct?

Has there been any/much discussion about it in the past?

A few few more trigger types would be great too :-(

 

15,592 views 10 replies
Reply #1 Top

Stormworld has some quest options only available to certain races. Basically one particular option requires a resource that only sovereigns from race X has. However this would by necessity have to be after the initial accept/deny prompt for the player as there is no way to have those types of checks for that prompt.

(edit: you could use the same method to restrict options to certain allegiances)

Reply #2 Top

Yeah it'd be really useful to have a quest only fire in the first place for a specific faction though.  Image something like a LOTR mod... quests would work great... but you'd pretty much only want certain things to fire for certain factions.  Eg. On turn 1 the Shire faction gets a quest "take the ring to mount doom" or whatever.

Reply #3 Top

Quoting abob101, reply 2

Yeah it'd be really useful to have a quest only fire in the first place for a specific faction though.  Image something like a LOTR mod... quests would work great... but you'd pretty much only want certain things to fire for certain factions.  Eg. On turn 1 the Shire faction gets a quest "take the ring to mount doom" or whatever.

This can be achieved carefully and cleverly though. For example this random event you picked here could be set up exactly as Heavenfall says where somebody comes up to you and says, "We have news for you from..."

Here you can have the player response be

"from the Shire"

"from Lord Elrond"

Then after this choice give the specific faction quest or non-quest appropriately.

What this means is that you have for each faction specific goodie hut you just need several quests be a leading option. With a generic introduction.

"You see an inn in the distance."

Response:

"Really another one of these things..."

"Might be fatty loots inside."

"Ahhh, place to rest."

Each choice then leads to your faction specific quest. Rather interesting way to start the quest and a particular path for the quest. For the reward, leave it say a random item, with a question mark for the things.

 

Reply #4 Top

I've haven't played with quests yet so still getting my head around it.  I take your point about the initial player response, I think that would work great for some cases... particularly where you have a good/neutral/evil type initial response to a quest, a bit like your Inn example above.

 

The idea I had though was to use the Turn 1 trigger to fire a different quest for each faction (trait).

So maybe if your faction trait has Wanderlust, on Turn 1 a quest fires... maybe you have to go to home far away location to retrieve something and return it... give you bonus experience or something on completion.

The Warriors trait gives you a Turn 1 quest where you have to go defeat a chain of champions and at the end you get a bonus combat ability or weapon.

The Cult of a Hundred Eyes trait you have to go find some lost spider caves, kill them get the eggs then you can train a new type of Spider Unit.

 

So the idea would be that you get maybe 3 or 4 significant quests fire in the first turn... but they would be specifically relevant to your factions traits... and give rewards at the end that are particularly relevant also.

This wouldn't work so well if you had to select the initial quest... there'd be too many options for a start, the player should only get to go on quests that are for their faction... etc.

 

I'm looking into another workaround...

- each faction trait has a unique improvement (that can only ever be built once)

- when said improvement is constructed, it spawns a GoodieHut nearby

- when vistingthe GoodieHut, the relevant quest spawns

 

Now I now nothing about modding quests... but I think in theory that would work.  It just means you'd have to construct a building to get each quest started.  I think you could also do it with a strategic spell to create the GoodieHut rather than construct the Improvement.  That might be better actually.

Reply #5 Top

Quoting abob101, reply 4
The idea I had though was to use the Turn 1 trigger to fire a different quest for each faction (trait).

There is a restriction that a random event quest can only be triggered if a player first has a city (I don't know of a way around this requirement). My only thought prior is the only one I could think of at the moment. Quests themselves are one giant if then statement, following the format there you should be fine in creating one, I've done several.

Not sure if you can set up a goodie hut to spawn given your faction trait or when finishing a building. But you can set it up that a goodie hut does not show up as a random hut on the map, unless you put it there.

I wish you success if figuring out how to do what you want neatly. I wouldn't mind seeing it work out in some way shape or form.

Reply #6 Top

Check out CoreGameEvents.xml maybe you can use that method for something. It's new in LH so I haven't looked at it.

Reply #7 Top

OK I had a preliminary go at this... and got something more or less working.  Basically this as mentioned above:

I'm looking into another workaround...

- each faction trait has a unique improvement (that can only ever be built once)

- when said improvement is constructed, it spawns a GoodieHut nearby

- when visting the GoodieHut, the relevant quest spawns

This does in fact pretty much work as expected.  You can basically spawn a new quest once an improvement is built.  And you can (obviously) restrict an improvement to a particular faction trait/allegiance etc so you can spawn certain quests unique to a faction trait using the construction of an improvement as the trigger.

For my quick test, I created a quest using the Quest Wizard (my first time I used it.... looks to save a lot of effort thanks Murteas).  It was a Quest that triggers when you go to a location.

Then on an improvement you put a GameModifier that has a CreateQuestNearTile attribute.  Reference the special quest.  Now I would have had no idea how to do that but I found this post:

https://forums.elementalgame.com/430660

Looks like Cari Elf (is that a Stardock person maybe?) / seanw 3 / HF figured that out a while back.  I don't know these guys but I just want to say kudos to HF's etc who have put it a lot of hard yards to figure out a lot of this stuff... and for always being willing to help others out.  At least half the stuff I have worked out comes from HF posts or digging into Stormworld.  Awesome stuff.  Anyways back on track...

Actually thats pretty much it.  So early days but this makes me think that you could, for example... spawn X number of unique quests when the player builds their Tower of Dominion (by creating a unique Tower of Dominion for each fact trait and putting a GameModifier for each Quest Location you want to spawn).

That's not too bad.... it's pretty much what I was after.

 

 

 

Reply #8 Top

Check out CoreGameEvents.xml maybe you can use that method for something. It's new in LH so I haven't looked at it.

Yeah I had a quick look at that a few nights back... you can use it to spawn the champion selection when player hits a certain threshold for resource X.   I believe i got it to work for a custom resource when I was mucking about with it.

I was also looking into the possibility of restricting champions based on faction trait.. but couldn't see how to do that.  

 

I'll have another look into it though.. now that I know a bit more about quests maybe it has more use....

Reply #9 Top

@HF - good suggestion!  I spent some more time looking at CoreGameEvents.xml and found it interesting.  I'm just going to dump my findings here before calling it a night.  Basically, seems they've just added a new quest TriggerType in LH... this one:

<TriggerType>FactionResourceLevel</TriggerType>

It works in conjuction with these:

<TriggerStringData>Fame</TriggerStringData>

<TriggerData>1</TriggerData>

This tag specifies what value of for the FactionResourceLevel that will trigger the quest.  In the case of the CoreGameEvents... currently the only things in there are the Fame triggers.  There is one "quest" for each fame trigger point, i.e. 3, 50, 100, 200 etc..... and each one of these "quests" essentially does nothing but this:

<Treasure>

  <GameModifier InternalName="Reward1">
  <ModType>Player</ModType>
  <Attribute>RecruitFreeChampion</Attribute>
  <Value>7</Value>
  </GameModifier>
</Treasure>

... where <Value> is the Spawn Rating for the champion that appears.  On a side note, this "RecruitFreeChampion" appears to work in GameModifiers otehr than quests.... so you can have a Champion appear upon building an improvement etc.

Anyways....

This new trigger type is pretty useful.  You can use it to do exactly what I was after, yay!

You can create a ResourceType that is set to 0 by default..... but 1 (or more) if you have faction trait X.  Then you create a Quest that triggers when this resource = 1 (or more).  This lets you trigger a specific quest immediately (when the game starts) if you have the relevant faction trait.

This is kinda cool.  In theory it would let you give the "Shire" faction a quest to take the one ring to mount doom, right from the get go (example discussed above).

I have uploaded a demo to dropbox if anyone is interested.  Pretty sure it should work if you just drop this file in your LH Mods folder:

http://dl.dropbox.com/u/100348448/CultEyesDemoQuest.xml

This demo fires a copy of the "Bandit Quest" automatically when starting a game as Resoln (or any custom faction with the Cult of a Hundred Eyes).

Thanks for the input everyone.

+1 Loading…
Reply #10 Top

Quoting abob101, reply 9

@HF - good suggestion!  I spent some more time looking at CoreGameEvents.xml and found it interesting.  I'm just going to dump my findings here before calling it a night.  Basically, seems they've just added a new quest TriggerType in LH... this one:

<TriggerType>FactionResourceLevel</TriggerType>

It works in conjuction with these:

<TriggerStringData>Fame</TriggerStringData>

<TriggerData>1</TriggerData>

This tag specifies what value of for the FactionResourceLevel that will trigger the quest.  In the case of the CoreGameEvents... currently the only things in there are the Fame triggers.  There is one "quest" for each fame trigger point, i.e. 3, 50, 100, 200 etc..... and each one of these "quests" essentially does nothing but this:

<Treasure>

  <GameModifier InternalName="Reward1">
  <ModType>Player</ModType>
  <Attribute>RecruitFreeChampion</Attribute>
  <Value>7</Value>
  </GameModifier>
</Treasure>

... where <Value> is the Spawn Rating for the champion that appears.  On a side note, this "RecruitFreeChampion" appears to work in GameModifiers otehr than quests.... so you can have a Champion appear upon building an improvement etc.

Anyways....

This new trigger type is pretty useful.  You can use it to do exactly what I was after, yay!

You can create a ResourceType that is set to 0 by default..... but 1 (or more) if you have faction trait X.  Then you create a Quest that triggers when this resource = 1 (or more).  This lets you trigger a specific quest immediately (when the game starts) if you have the relevant faction trait.

This is kinda cool.  In theory it would let you give the "Shire" faction a quest to take the one ring to mount doom, right from the get go (example discussed above).

I have uploaded a demo to dropbox if anyone is interested.  Pretty sure it should work if you just drop this file in your LH Mods folder:

http://dl.dropbox.com/u/100348448/CultEyesDemoQuest.xml

This demo fires a copy of the "Bandit Quest" automatically when starting a game as Resoln (or any custom faction with the Cult of a Hundred Eyes).

Thanks for the input everyone.

 

Great find!