Jump to content

NEW Project: Sacred 2 Purist Fixpack


Flix

Recommended Posts

On 4/1/2022 at 8:22 AM, idbeholdME said:

A couple strange NPC hostility notes, mostly in the Orc territory.

1) Shadow Campaign. After you eliminate the Grurag chieftain on the hill north of Ruka, you proceed down to the town from the mountains, where a fight is happening between Grurag and Ore-Thag. All good, but in the town itself are yellow colored guards. Those fight with any and all Ore-Thag clan members. As you can gather quite a few Ore-Thag party members from quests there, it results in them constantly fighting with the village guards even when you are just shopping the town or walking through. I'd probably make the yellow orcs neutral if possible. The battle before the town itself is fine, but the yellow orcs are hostile towards Ore-Thag.

2) Light Campaign. Once you are tasked with repelling the attack on Sloptok, there is a battle going on before the village gates. There are both Grurag and Ore-Thag orcs. However, the Grurag orcs spawned for the quest battle are hostile towards you and you can freely kill them. It also happens only the very first time. As the battle occurs every time you visit the area later on, the Grurag orc can no longer be attacked.

The village guards that are always there are fine.

EDIT:

The yellow clan is apparently called "Nur-Trak". ALT highlighted some of their archers near the temple of the gods in Tharak.

Ok I had some time for this today. 

1) Turns out the Nur-Trak orcs are usually guards and have the appropriate faction assigned, "FACTION_ORC_NEUTRAL_GUARD" however this faction is assigned as the enemy of the Grurag and Ore-Thag clans. 

mgr.addFactionRelation { 
    id1 = 90,
    id2 = 35,
    f1name = "FACTION_ORC_NEUTRAL_GUARD",
    f2name = "FACTION_ORC_BAD",
    relation = "FRT_ENEMY",
}

Given that it's supposed to be a neutral role I will change the faction relationship to the other two orc clans to "FRT_FRIENDLY".  This won't stop them from attacking quest-related enemies who may get another faction assigned via script like "FACTION_ENEMY_HERO" which is really common for quest enemies.

2) For the Sloptok battle, looks like CM Patch had added some extra entries in questscripts.txt that assigned all participants of the battle as "ROLE_ATTACKER".  That's why the Grurags are attackable.   I will change it so only the Ore-Thag Orcs are assigned that role.

Link to comment
On 3/3/2022 at 5:47 PM, idbeholdME said:

Just did a thorough test of the Dragon Cult quest chain from the Shadow side and there are a couple things that probably could be improved.

A lot of this has to do with what's mechanically scripted vs. what the dialogue and journal are telling you.

The two kill quests are actually mechanically given by the targets themselves (Blackhammer and Dundiel) when you first talk to them and you are given an Accept/Decline choice.  Choosing Accept "wins" the quest automatically because there's no actual kill target scripted (yet) for this pre-quest.  With this quest in the "won" state, the peaceful path is triggered and you can continue on with the green check mark.   Choosing Decline "fails" the pre-quest (due to the "lostondecline" flag), which then triggers a second kill quest, the one where you actually fight them.  So you end up with the red X but can still continue on with subsequent phases.

I'm honestly not sure how to untangle all that. The whole thing depends on a win/fail state triggering two different outcomes based on your choice.  So one or the other is always going to the red X.  I could maybe reverse which quests are triggered by the win/fail state.  That way killing the targets is triggering by "winning" the pre-quest and the peaceful paths are triggered by failing them.  But this would reverse what button the player has to push in order to be peaceful/fight.  I'd also have to go in and swap around the journal entries.

For "Revelations" it seems like several phases just never had any text written for them.  A single journal page for a quest might often be composed of several separate "quests" in the script, so it's hard to see just what phase needs text.

  • Respect! 1
Link to comment
18 hours ago, Flix said:

Ok I had some time for this today. 

Good stuff. And also good to have an actual confirmation that Nur-Trak were intended to be neutral.

And the Sloptok battle fix will also make it less weird that you are no longer killing Grurag as a Grurag member :whistle:

36 minutes ago, Flix said:

A lot of this has to do with what's mechanically scripted vs. what the dialogue and journal are telling you.

Yeah. I agree it's a very minor thing for how much work it'd take to fix. All the quest outcomes work, it's mostly some quest log inconsistencies.

Link to comment
3 hours ago, Flix said:

I'm honestly not sure how to untangle all that.

It might be possible to trick the game. In S1 it was possible to have multiple pop-up windows open at the same time. If that is still the case, we can do it.

Make it that the targets give two quests each. E.g. speaking to Blackhammer gives you both quest 1 and quest 2 at the same time. Both quests open the same looking pop-up window, so that the overlap is not visible. So if you click "accept", you're actually accepting both quests at the same time. But "accept" changes state of quest 1 to "Won" and doesn't change the state of quest 2, while "decline" changes the state of quest 2 to "won" and doesn't change the state of quest 1.

The good path is triggered then by quest 1 "OnWon" and the bad by quest 2 "OnWon". Also winning quest 1 disables the bad path triggering through quest 2 and afterwards sets quest 2 state to "Won". Vice versa with quest 2.

Also it will be important to only set a logbook entry for only one of those, either quest 1 or quest 2.

All of that is of course assuming you can trigger two quests by the same questgiver at the same time, open two pop-ups at the same time and also that clicking "accept" accepts both pop-up windows at the same time.

Link to comment

An invisibility issue that might have been reported frequently but I'll mention it anyway: The T-Energy creatures in the Special Mount Quest. I can't see most of them before they die, I just follow the markers on the map. They become visible when they are dead.

 

And something about the sandpeople's invisiblity/teleport feels different but I can't put my finger on it what it is.
Did anyone notice anything about that or is it my memory that is deceiving me?

Link to comment
35 minutes ago, Lindor said:

All of that is of course assuming you can trigger two quests by the same questgiver at the same time, open two pop-ups at the same time and also that clicking "accept" accepts both pop-up windows at the same time.

Doesn't work; Sacred 2 just displays separate dialogue pop-ups in sequence. I think it chooses the numerically lower one to come first.

I think every kill/peace choice would have this same issue, because that's how they decided to write them (Decline=Lost=Different Subsequent Quest is Triggered).  The only way to avoid the red X would be to not have the choice phase have a sub-quest caption in the log.

Link to comment
8 minutes ago, Vishanka said:

An invisibility issue that might have been reported frequently but I'll mention it anyway: The T-Energy creatures in the Special Mount Quest. I can't see most of them before they die, I just follow the markers on the map. They become visible when they are dead.

It's by design. They're meant to be invisible until you walk to a certain trigger spot in the arena and start fighting them.

I don't particularly like it either and will probably remove it in my other mods now that I know where it's triggered.  What's weird is the lengths the developers went to in order to set up this behavior. There's way more scripting in place than this quest really deserves, when the monsters could just pop in and already be visible when you walk over there, like most every other quest.

Link to comment
1 hour ago, Flix said:

Doesn't work; Sacred 2 just displays separate dialogue pop-ups in sequence. I think it chooses the numerically lower one to come first.

I think every kill/peace choice would have this same issue, because that's how they decided to write them (Decline=Lost=Different Subsequent Quest is Triggered).  The only way to avoid the red X would be to not have the choice phase have a sub-quest caption in the log.

Oh. Well, there's another option which is introducing a second questgiver. But, given the goal of PFP, you might probably not find that one fitting.

If you want to move the logbook entry, there's an alternative to removing it completely: you could make the decline option's lost state trigger a dummy quest that you instantly win, and attach the logbook entry to that dummy quest. Afterwards the dummy quest can continue the bad path.

The whole issue here is that the quest continues for either pathway. For most of the other choice quests, at least one of the pathways is also the end of the chain usually.

Link to comment

One minor quest related thing.

I could take the Hunting Fever III quest before finishing Hunting Fever II. Seems like it is enabled the moment you pick up the Perfect Crystal for Hunting Fever II and not actually turning it in. Both quests in the screenshot are ready for turn in.

fever.thumb.jpg.7829909e018f67cf07ee7e246e781e1c.jpg

Logic would dictate that part 3 unlocks after finishing part 2.

Edited by idbeholdME
  • Thanks! 1
Link to comment
1 hour ago, idbeholdME said:

One minor quest related thing.

I could take the Hunting Fever III quest before finishing Hunting Fever II. Seems like it is enabled the moment you pick up the Perfect Crystal for Hunting Fever II and not actually turning it in. Both quests in the screenshot are ready for turn in.

Logic would dictate that part 3 unlocks after finishing part 2.

Thanks, I see the problem.

precond_quest0 = {
quest_dbid = 3641,
queststate = 8, -- ready for turn-in
},

Should be:

queststate = 9, -- successfully completed

  • Like! 1
Link to comment
On 4/16/2022 at 10:18 PM, Flix said:

What's weird is the lengths the developers went to in order to set up this behavior.

Might be a case of simple sloppiness. Like setting a trigger patch within the immediately visible range.

Link to comment

Enemy behavior observation:

Blood Dryad Champion. The regular ones activate their buff the moment they aggro on you and then proceed to attack you.

However, Elite Blood Dryad Champions first run up to you, seem to idle for a second, then activate their buff and only then proceed to fight. The spell listing for the Elites is this:

spells = {
        entry0 = { "enemy_whit_zerfetzen" },
        entry1 = { "enemy_grp_boost_dmg" },
    },

After testing:

1) The Blood Dryad does not have an animation for the "zerfetzen" (shred?) attack. She just runs up to you, stands idle and you get hit twice. After that, she activates her buff and only then starts attacking you. Makes it somewhat confusing as to where the damage is coming from when the Dryad seems to be doing nothing. So if possible, making her do an attack animation for the CA would be the optimal solution.

ALSO

seems to be affecting Elite Blood Dryad Warriors, who have zerfetzen too. No animation for the attack.

 

2) As far as the spell order goes, she could probably be made to activate the buff the first thing she does in combat. However, as the grp_boost_dmg is a one time buff application, it makes for an interesting dynamic where the regular ones activate it immediately (and potentially buffing any enemies in the backline) and the Elite activates it only once she is in the melee range of you, buffing any enemies that are near you. Because of this, I would keep the spell order. So the main thing to potentially fix is the animation for zerfetzen.

 

And one more question on an unrelated note:

Can Mutation sets drop as rewards from quests? On my Shadow Warrior, I've successfully gotten parts of all the other sets as quest rewards, but on level 151 Niobium, I've still only ever found a single piece of the mutation set and that was from an enemy drop. Is the set rarer than the others? Or does it only start dropping from a certain difficulty?

Edited by idbeholdME
Link to comment
8 hours ago, idbeholdME said:

The Blood Dryad does not have an animation for the "zerfetzen" (shred?) attack.

She needs these added at the end of her animation list:

 ["entry31"] =
        {
            ["name"] = "ANIM_TYPE_SM01_ZW",
            ["overload"] = "ANIM_TYPE_ATTACKA_ZW",
        },
["entry32"] =
        {
            ["name"] = "ANIM_TYPE_SM01_1H",
            ["overload"] = "ANIM_TYPE_ATTACKB_1H",
        }, 

 

Will fixed in next release.

 

8 hours ago, idbeholdME said:

As far as the spell order goes,

I'll keep it the same, not necessarily because of the "interesting" factor (ideally should not affect decisions for PFP) but because there's no obvious bug to fix.

 

8 hours ago, idbeholdME said:

Can Mutation sets drop as rewards from quests?

Yes.  Anything from "mgr.createDroplist(1498,{ -- Droplist_all_set" can drop as a quest reward.  Mutation sets are Tier 14 however, which puts them between unique and legendary in terms of rarity.

Link to comment

Will try adding the animation entries.

1 hour ago, Flix said:

Yes.  Anything from "mgr.createDroplist(1498,{ -- Droplist_all_set" can drop as a quest reward.  Mutation sets are Tier 14 however, which puts them between unique and legendary in terms of rarity.

Are the set item quest rewards affected by the item tiers? As in, do the mutation set pieces have a much lower chance to drop when the guaranteed quest set piece procs? Seems like it because as I said, never seen one from a quest.

But them being tier 14 explains their drop rarity. As I've never seen a single Legendary item drop in my hundreds of hours of combined playtime, that would explain why I've got only one mutation set piece so far.

Are there limitations as to what enemies can drop which tier? Can, for example, legendary items only drop from bosses?

 

EDIT:

The animations work properly now. Before, on Niobium, they stood in place for a solid second, second and a half. Now they perform a melee attack and the hits come much faster due to the attack speed bonus Niob gives enemies and immediately start hitting you with normal attacks after. The fix increased their DPS noticeably, so be careful if you are farming Blood Dryads :Cherna_24:

Edited by idbeholdME
Link to comment
30 minutes ago, idbeholdME said:

Are the set item quest rewards affected by the item tiers? As in, do the mutation set pieces have a much lower chance to drop when the guaranteed quest set piece procs?

Yes, since it's just a drop list full of item blueprints being called on, same as when a monster dies or a chest is opened.

There is also the "weightedprob" factor in drop.txt, but in the case of the "all_set" droplist all the items have the same value ("1") so that's not in play here.

32 minutes ago, idbeholdME said:

Are there limitations as to what enemies can drop which tier? Can, for example, legendary items only drop from bosses?

There aren't any hard cut-offs that I know of, but rather ever-dwindling probabilities as you kill weaker and weaker foes. 

The biggest factor I can see is "dangerclass".  All creatures and quests have a dangerclass assigned from 1-10.  Bosses and five star quests have dangerclass=10.  These will be the best way to get very high-tier items.

  • Like! 1
Link to comment
13 hours ago, Flix said:

Yes, since it's just a drop list full of item blueprints being called on, same as when a monster dies or a chest is opened.

There aren't any hard cut-offs that I know of, but rather ever-dwindling probabilities as you kill weaker and weaker foes. 

A couple more questions related to this:

1) I remember reading many years ago, that some sets only drop in Gold and above. Is this true? Are some drops limited by difficulty?

2) Seeing as how the quest set drop acts as if it dropped from an enemy, does Enhanced Perception/Chance to find valuables increase the chance for a higher tier (mutation set piece)? Or does Bargaining Mastery affect that?

Edited by idbeholdME
Link to comment
1 hour ago, idbeholdME said:

I remember reading many years ago, that some sets only drop in Gold and above. Is this true? Are some drops limited by difficulty?

Most Legendaries, most unique armor, and most mini-sets will only drop in Silver or higher.  About 15 or so Legendaries will only drop in Gold difficulty or higher.  The PFP mutation sets have no such restrictions.  Here are the minconstraints values for a typical mutation set piece:

minconstraints = {20,14,0},

Meaning: spawns from item level 20 and higher, tier 14, in difficulty Bronze or higher.

1 hour ago, idbeholdME said:

Seeing as how the quest set drop acts as if it dropped from an enemy, does Enhanced Perception/Chance to find valuables increase the chance for a higher tier (mutation set piece)? Or does Bargaining Mastery affect that?

I can't say for sure. I would think EP would affect it.  There could be some different function in the code governing it that I don't have visibility to.  I remember some talk from D that the Bargain Mastery "better quest rewards" may not actually function.

  • Like! 1
Link to comment

One thing about the new fur on boars/bears etc.

I don't really know the technical terms for it, but it is not obscured by for example fog or when a corpse goes under water. All other things become slightly obscured by the fog when they are too far. But the fur retains 100% clarity at any distance/under any conditions.

Screenshot of a distant bear:

fur.thumb.jpg.edffc94728a5eef9ab09c39810982a96.jpg

Notice how the ground/bushes/trees, everything except the fur on the bear is slightly obscured the further it is. But the fur always stays the same.

 

Here is a screenshot of a dead boar under water:

fur2.thumb.jpg.16d0e2215bb420eae88a3aad5bf537ca.jpg

Yes, the body is under the water, but it has zero graphical effect on the fur. Like the fur is set to always have 100% opacity and nothing can change that. Only the fur that the PFP adds behaves like this, so it must have something to do with that. Although not in the screenshot, the head/tusks/any part of the body that does not have fur on it becomes properly obscured by the water.

Or could it because I'm using the vanilla s2render.dll file? Does it look like this with the patched one?

Edited by idbeholdME
Link to comment
19 minutes ago, idbeholdME said:

Or could it because I'm using the vanilla s2render.dll file? Does it look like this with the patched one?

Perhaps, perhaps not. My guess - it's a principal graphics engine bug. 

Link to comment
16 hours ago, idbeholdME said:

One thing about the new fur on boars/bears etc.

I can remove the fur easily enough in the next PFP release. It's not really a bug fix anyway, just a visual improvement (why make a fur shader if no enemies use it?).

You make a distinction between PFP and non-PFP fur but I'm not sure there are many furred creatures in the vanilla game.  Vanilla fur is primarily used on player equipment.  The Sabertooth Tiger and the Polar Bear are the only ones that come to mind.  The way the new fur is implemented is the same.

I've actually just finished a run of fur implementation for D2F, making sure every creature with fur has some application of the shader. The volume map used makes a big difference in the visuals. But it might be best to keep PFP vanilla.

Link to comment

Might be possible to do smth directly at the shader. I'll set it on the list.

There's another FX which shines through every object, the solar system FX, e.g. visible at the top of Celioths tower. If it has a shader, maybe there's identifyable similarities. Or identifyable differences to standard shader code.

The fur shader has been on my list anyway because I think the wild cat dryad set could look a little bit better. Don't know how possible this is but I want to add a tail xD

Link to comment
2 hours ago, Flix said:

I can remove the fur easily enough in the next PFP release. It's not really a bug fix anyway, just a visual improvement (why make a fur shader if no enemies use it?).

You make a distinction between PFP and non-PFP fur but I'm not sure there are many furred creatures in the vanilla game.  Vanilla fur is primarily used on player equipment.  The Sabertooth Tiger and the Polar Bear are the only ones that come to mind.  The way the new fur is implemented is the same.

I've actually just finished a run of fur implementation for D2F, making sure every creature with fur has some application of the shader. The volume map used makes a big difference in the visuals. But it might be best to keep PFP vanilla.

I'd keep it. It's a good looking effect and besides the couple edge-case scenarios I've shown, there are no problems with it. How often do you push a furred body into water? :D 

I mainly mentioned it not to get it removed, but to see if anyone had any ideas as to whether the fur looks can be improved. To see if someone more versed in shaders and shader behavior in this game had some trick down their sleeve.

Edited by idbeholdME
Link to comment

@idbeholdME What happens to the boars if you change SURFACE_FLAG_CONSTANT_FUR to SURFACE_FLAG_VARIABLE_FUR for all surfaces in surface.txt which contain 'wildschwein' in the name? And what happens if you swap obj_d_s_b with obj_velvet? And what if you do both?

Before I take a look at fur.shader, I want to make sure that the solution not already exists. The thing is that it's all about the vertex shader part which I'm still unfamiliar with, my small experience lays at the other half of shaders, the pixel shader part. Sry that I'm outsourcing the work to you, time issues.

Link to comment
1 hour ago, Lindor said:

I want to make sure that the solution not already exists. The thing is that it's all about the vertex shader part which I'm still unfamiliar with, my small experience lays at the other half of shaders, the pixel shader part.

I'd suggest adding vast pitch black areas to the creature in question texture's alpha channel and observing, if the ingame result is a street mongrel.

Link to comment
2 hours ago, Lindor said:

What happens to the boars if you change SURFACE_FLAG_CONSTANT_FUR to SURFACE_FLAG_VARIABLE_FUR for all surfaces in surface.txt which contain 'wildschwein' in the name?

The fur vanishes completely.  You can already "vary" the fur length and intensity through transparency.  I haven't discovered a benefit or advantage to using the VARIABLE_FUR flag, though there may well be one.

 

1 hour ago, dimitrius154 said:

I'd suggest adding vast pitch black areas to the creature in question texture's alpha channel and observing

The more black the alpha channel, the more transparent the texture becomes, therefore lessening the intensity of the fur shader effect. I assume that's what you're suggesting here.  This effect is why it's sometimes helpful to "taper off" the fur effect by adding some semi-transparency at the edges of the furred areas.  I did not do a very thorough job of this with the boars and bears, meaning the fur has sharp defined borders, compared to the Sabertooth Tiger textures.

 

3 hours ago, idbeholdME said:

I mainly mentioned it not to get it removed, but to see if anyone had any ideas as to whether the fur looks can be improved.

You might try substituting in a different volume map for the fur.  The tiger fur is an especially dramatic and fluffy texture compared to most of the others.

Instances of:

vol0Name     = "maps/npc/ridingcreatures/Frosttiger/c_tiger_f.dds",

could become:

vol0Name     = "maps/heroes/dryadin/sets/ivy/h_dryade-armor03_f.dds",

B09NHtz.jpg

 

vol0Name     = "maps/heroes/seraphim/sets/std-cloth/n_sera-cloth_f.dds",

is even shorter and also works quite nicely in some instances:

6BfQiAj.jpg

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...
Please Sign In or Sign Up