Jump to content

Sacred 2 Enhanced Edition


Recommended Posts

3 minutes ago, Flix said:

It could simply be that there are no appropriate behaviors, jobs, or animations available to take advantage of the items.

Interesting. A few guesses:

Horse traders are to be equipped with whips by default.

"job_rh_wood_chop" - JOB_LUMBERMAN

"job_rh_lockpicking" - JOB_THIEF

"job_rh_crowbar" - JOB_THIEF

"Job_fieldworker_haystack" - JOB_FIELDWORKER

"Job_fieldworker_haybale" - JOB_FIELDWORKER

"Job_rh_dagger_subdagger" - JOB_ROBBER(?)

Link to comment
22 hours ago, dimitrius154 said:

And, unfortunately, persector.zip\*.r sector files - region IDs are assigned to locations there.

Irritatingly, most of the dungeons in the southern Crystal Plane are assigned a region ID of 189 (Xmasland) instead of 198 (Snowland).  So I'm having to correct all of those sectors.

Link to comment
17 hours ago, Flix said:

 id = 343,
  name = "job_rh_football",

 Just a small thought: Germans, including myself, often confuse football with soccer. Maybe it's a soccer ball and was initially thought to be a job item but eventually became a static environmental object when the time and money ran out. I'm sure I've seen one somewhere, if I remember correctly there should be one somewhere around the kids near the Gar'Colossus area. Sry, don't have the time right now to further investigate.

Link to comment

Given the European developers I had little doubt it was in reference to soccer.

You are correct about the static world object.  The same model is used as an environmental object: "models/objects/jobitems/t_job-kids-fussball.GR2",

There are 2 separate entries for the static soccer ball and the job item version though, as is common for the itemtypes in Sacred 2.  One is meant to just be part of the background and one is meant to be used.  The question is, do the children have the animations to play with it?  We will see.

Link to comment

Well I'd intended to spend this week just doing final testing on the new "Enhanced Music" module.  The remastered tracks are sounding great, with sufficient volume and no clipping/distortion.  I've rearranged some tracks and added in more of the original background music as well.  I'm also experimenting with the possibility of adding more music to specific areas.

Even without the optional module, there are some small music tweaks:

  • The snowy region of the Crystal Plane now plays Crystal Plane instead of Multiplayer Island music (overworld) and Xmas Island music (dungeons).
  • The other Dragonsea islands play the same music as the main Seraphim Island, instead of Orc region music.

But, as I was wandering around, listening to the tunes, I kept noticing more things to fix.
 

Quest: Bad Sheep

Alright first of all the quest giver "Shepherd Jacob" has an elf noble model. This doesn't fit at all in Skook's Corner.

Old:

H7m3giR.jpg

Now:

wmzsjiL.jpg   Hqc9PgV.jpg

OK, much better.  Now, did you ever notice how the quest targets are "Badly Mutated Sheep" yet when you go meet them, they're just regular white sheep?

NozU5ey.jpg  QLVDE4O.jpg

Well, there is in fact a "mutated sheep" monster that was not used in the game, until now.

LWlxQAS.jpg   xbNKxrM.jpg

 

Quest: The Wedding Ring (Shadow-path High Elf)

The princess and her step-mother featured in this quest are clones of one other.  Since they are always present in Griffinborough, even for other characters, I'm always bothered by the "twins" since they stand only a short distance apart.

7XSl0rP.jpg

Since that is an overused quest NPC design anyway, I've changed both models to differentiate them while still keeping them in character.

Xc3yrm9.jpg   muh4pvl.jpg

 

Quest: The New Book

Kernforce now wields the cutlass named after her, that you will also receive as reward (since 2.0) for keeping her and her dog alive during this quest.  This blade has a new design in 3.0 courtesy Dmitriy that IMO suits her nicely.

NY3DGem.jpg

 

Quest: The Cursed Forest

This quest has been handing out 2 copies of Magisil, when the Abishai dies, since 2.0.  It has to do with the way the quest is scripted to have you fight either a weakened Abishai, or the full-power version.  To fix the double reward issue, I moved the drop to the very end of the quest, after you talk to Khormynth and Diaanja.

mgmmhOr.jpg

 

Quest: Beautiful Olm Heads

This quest has you collecting severed Olm heads, but it was Troll heads that ended up dropping.  Fixed.

nacC8Xj.jpg   2gRI63k.png

 

Finally, I have changed some of the Grurag quest and atmospheric NPC's in Entruag to use the blue-themed Grurag designs instead the generic Orcs. The Grurag designs are often underused - compare to the red Ore-Thag goblin and Orcs you see all over eastern Nor-Plat.

N9554qk.jpg

 

Right now everything is still on schedule for a Christmas release.  I'm doing a bit more upscaling (appropriately I'm tackling Xmas textures) that I'll post about in the AI Upscaling thread.

I'm also trying to implement some unused NPC "job items" where appropriate.

Link to comment

You pamper us for Christmas. I wanted to do the Blind guardian quest but it's not available in multiplayer campaign. Could you please make it available or has it limitations? Thank you very much.

Edited by desm
Link to comment
6 hours ago, desm said:

You pamper us for Christmas. I wanted to do the Blind guardian quest but it's not available in multiplayer campaign. Could you please make it available or has it limitations? Thank you very much.

The "Quests Free-For-All" optional module will allow this. All quests should be available in multiplayer.  I haven't seen any adverse effects yet.

58 minutes ago, Androdion said:

Speaking of the main quest in the Blood Forest, is there any possibility that the scripting there can be improved? The way that main quest triggers is always a royal pain...

Remind me again what happens?  I thought you just sail to the Nanthar port and talk to the officer.  Before CM Patch there would be a nagging "Welcome to Ice and Blood" popup every time you loaded a new character, but that should be gone now.

Link to comment
1 hour ago, Flix said:

The "Quests Free-For-All" optional module will allow this. All quests should be available in multiplayer.

Nice. Thank you Flix. What happen if the concert video triggers while in teamplay? I don't speak for me because I do only solo but I am curious. (I precise that I play solo but always in multiplayer mode; reasons here http://darkmatters.org/forums/index.php?/topic/24032-new-feature-the-hellfire-arena/&do=findComment&comment=7018613 )

 

Edited by desm
Link to comment
3 hours ago, desm said:

What happen if the concert video triggers while in teamplay?

image.thumb.png.dcb6a7bb3dc7bf10228f2da4e3c24001.png

In all seriousness, probably nothing good. They probably excluded certain quests from multiplayer for a good reason.  I'll stipulate that teamplay should be avoided if using Free-For-All.

  • Like! 1
Link to comment
4 hours ago, desm said:

What happen if the concert video triggers while in teamplay?

Technically, videos trigger client-side. That means, that the only team member watching the video is the one completing the quest.

Edited by dimitrius154
  • Like! 1
Link to comment
3 hours ago, dimitrius154 said:

that the only team member watching the video is the one completing the quest.

Ah, these are good news as I guess it will so have no negative effects. Thanks.

Link to comment
21 hours ago, Flix said:

Remind me again what happens?  I thought you just sail to the Nanthar port and talk to the officer.  Before CM Patch there would be a nagging "Welcome to Ice and Blood" popup every time you loaded a new character, but that should be gone now.

The triggering of the quest is very convoluted. It's a chain quest, as it appears in the log book, but it acts mostly as individual quests which only trigger in proximity to a certain area or when you speak to a particular NPC. The problem is that contrary to the usual chain quests you get no indications on where to go. It's very easy to explore a region and miss parts of the main quest because most of the time there isn't a quest marker to be found. It's really different from the rest of the quests in the game, and it has been always one of those quests where even I tend to need to revise my path with the Wiki opened. It's a common complaint, and to new players who don't know their way around it then it's a royal pain.

Link to comment
7 minutes ago, Androdion said:

The problem is that contrary to the usual chain quests you get no indications on where to go.

The same lazy solution, as the Tribunal main quest initialization in vanilla Morrowind. Given the level curve, hmm, there should be two extra NPCs at the Seraphim Isle area, where you meet the Grand Inquisitor, emmisaries, or something. The first(the High Elf) initializes the Blood Forest, the second(Seraphim, I guess) - the Crystal Planes.

Link to comment
2 hours ago, Androdion said:

The triggering of the quest is very convoluted. It's a chain quest, as it appears in the log book, but it acts mostly as individual quests which only trigger in proximity to a certain area or when you speak to a particular NPC. The problem is that contrary to the usual chain quests you get no indications on where to go. It's very easy to explore a region and miss parts of the main quest because most of the time there isn't a quest marker to be found. It's really different from the rest of the quests in the game, and it has been always one of those quests where even I tend to need to revise my path with the Wiki opened. It's a common complaint, and to new players who don't know their way around it then it's a royal pain.

I just played through it to try to spot any "bad" points.  I honestly couldn't find any problems.  The path through the Cursed Forest is so linear, and the quest line just moves along the linear path.  I'm baffled at finding anything in the scripts to change, sorry.  :dntknw:

I guess, the log book text could be revised or expanded to give a clearer indication of each objective.  The thing is, the quest is framed like a mystery you're supposed to explore.  I'm not sure there should be a big silver circle on every step when the lore is telling the player to just investigate.  I'll double check the texts.

Link to comment

I know you're supposed to explore and find things for yourself, but contrary to the Crystal Planes where it is indeed linear and you start following the main road and things happen, in the Cursed Forest you actually need to stray away from the main path. You also need to get inside some subterranean passages and there's more than a few of those.

Though both quests are similar I think that the one in Crystal Planes is better achieved in design, as opposed to the one in the Cursed Forest. I don't know, it's the gut feeling I guess of having a game where every quest is laid out to you and then that one is like "find it yourself".

Link to comment
4 hours ago, dimitrius154 said:

@FlixBen, do you, by chance, have the CMP 1.40 files stashed somewhere? I wonder, how the 'boost_divinespark' should look like.

I do have them but they're not pristine due to some early modding efforts, spells.txt especially cannot be trusted.

https://drive.google.com/file/d/1I7dM2qt0VpymBE94JgfYyXocLiS__jb1/view?usp=sharing

I checked the 1.40 blueprint.txt and it's the same as it is now: Divine Spark points to the inactive "Dismount" bonus.  There are no other custom bonuses present.

Link to comment

Hi:bye: I was just reading through old posts for no reason but curiosity, when I found these formulae posted by dimitrius:

On 12/31/2019 at 8:47 AM, dimitrius154 said:

If my calculations are correct:

Hit chance original formula: (500 + Surehit_bonus) * (ChancetoDenyEvasion_bonus + 1000) * 3000) / (((ChancetoEvade_bonus + 1000) + 3000 + AttackerLevel - DefenderLevel) / 1000

Hit chance Addendum formula: ((AV * 1000/(AV+DR) + Surehit_bonus) * (ChancetoDenyEvasion_bonus + 1000) * 3000) / (((ChancetoEvade_bonus + 1000) + 3000 + AttackerLevel - DefenderLevel) / 1000

I find that quite interesting, in the wiki are only the formulae for what the single boni do to the checking system, e.g. "new enemy hit chance = old enemy hit chance / (1 + evade/100)", but this is the first "complete" formula I've seen, however I have a lot of questions here:

  • Where are AV and DV in the original formula?
  • Where is DV in the Addendum formula?
  • What does DR mean in the Addendum formula?
  • generally I don't understand the clip setting, there are an inequal amount of "(" and ")", the best interpretation I could come up with is:
  1. original:
    • ((500+Surehit_bonus)*(ChancetoDenyEvasion_bonus+1.000)*3)/(ChancetoEvade_bonus+4.000+AttackerLevel-DefenderLevel)
  2. Addendum:
    • ((((AV*1.000)/(AV+DR))+Surehit_bonus)*(ChancetoDenyEvasion_bonus+1.000)*3)/(ChancetoEvade_bonus+4.000+AttackerLevel-DefenderLevel)
  • An alternative Interpretation would be:
  1. original:
    • ((500+Surehit_bonus)*(ChancetoDenyEvasion_bonus+1.000)*3.000.000)/(ChancetoEvade_bonus+4.000+AttackerLevel-DefenderLevel)
  2. Addendum:
    • ((((AV*1.000)/(AV+DR))+Surehit_bonus)*(ChancetoDenyEvasion_bonus+1.000)*3.000.000)/(ChancetoEvade_bonus+4.000+AttackerLevel-DefenderLevel)
  • when there are mathematically unnecessary clips for commutative operations, e.g. here: "((ChancetoEvade_bonus + 1.000) + 3.000 + AttackerLevel - DefenderLevel)", are these "informatic" clips, by that I mean does that refer to the order in which the operations are done by the program?
  • Is there another formula for S2EE? Or does it use one of the above?
  • Generally, what do these boni (mathematically) mean? E.g. if a character has a 20% chance to evade, is ChancetoEvade_bonus in the formula then 2000, 200, 20, 2 or 0.2?

Next step would be trying to gather all the single bonus formulae from the wiki and see if it matches. And then there is also the formula Charon117 posted from the german sacred forum. Btw this is not super important to me, I'm just curious:)

Edited by Lindor
Link to comment

@dimitrius154 I didn't have much luck with job items.  These are my comments:

id = 343,
name = "job_rh_football", -- ignored / no interaction when given to children (they just carry it around while performing usual actions)
id = 345,
name = "job_rh_metalbucket", -- ignored / identical to the static world object already interacted with by Blacksmiths
id = 624,
name = "job_rh_blacksmith_sword_unfinished",  -- ignored / total duplicate of "job_rh_sword_smith", already in use (red-hot blade)
id = 361,
name = "job_rh_wood_chop", -- ignored / identical to the static world object already interacted with by Lumberjacks
id = 344,
name = "job_rh_powder", -- added to equipset "Job_Barmaid"
id = 371,
name = "job_rh_makeup_pad",  -- added to equipset "Job_Barmaid"
id = 620,
name = "Job_rh_dagger_subdagger", -- ignored / itemtypes identical to other daggers already equipped by NPCs
id = 352,
name = "job_rh_haystack_carry", -- blueprint added as content for weaponpools "Tools_Cattlefarmer_Hay" and "Tools_Fieldworker_Hay_carry"
id = 353,
name = "job_rh_haybale_create", -- ignored / seems to be identical to t_job-fieldworker-carry-haybale.gr2, already in use by fieldworkers
id = 1593,
name = "Job_fieldworker_haybale", -- ignored / seems to be identical to t_job-fieldworker-carry-haybale.gr2, already in use by fieldworkers
id = 1594,
name = "Job_fieldworker_haystack", -- blueprint added as content for weaponpools "Tools_Cattlefarmer_Hay" and "Tools_Fieldworker_Hay_carry"	

The following blueprints need weaponpool entries that will then be added to existing, unused equipsets. 
This is because the horse traders are added directly in the sector files, so their equipset assignments in the creature entries are overridden. 
The equipsets will have to be assigned in the sector file, and S2se.v0.5c can only assign vanila equipsets.
I actually do not think there are any Lizard horse traders in the game.  Some could potentially be added.

id = 1607,
name = "NPC_he_horsetrader_whip",
id = 1609,
name = "NPC_orc_horsetrader_whip",
id = 1610,
name = "NPC_lizard_horsetrader_whip",
id = 1611,
name = "NPC_hu_desert_horsetrader_whip",

I cannot figure out where the following items should be used.
	
id = 108,
name = "job_lh_fork",	
id = 623,
name = "job_rh_lockpicking",
id = 369,
name = "job_rh_crowbar",

 

One other thing, while testing the Bar Maid behavior, I notice they have fans that seem to be equipped wrong (it's the red object clipping through the waist).

cbmomv3.jpg   xgSBfmk.jpg

blueprint id = 347,
name = "job_rh_fan",

The animation and itemtype subfamily seem to indicate the fan should be held her left hand, not the right.  I changed the equipset to use EQUIPSLOT.WEAPON_L (was EQUIPSLOT.WEAPON_R), but I've yet to see her use the fan anymore after that.  She just sits at the table and eats.

If you want to try to figure it out, there's a bar maid at Tavern Lakeview in Artamark you can test with.

Link to comment
5 hours ago, Lindor said:

(500 + Surehit_bonus) * (ChancetoDenyEvasion_bonus + 1000) * 3000) / (((ChancetoEvade_bonus + 1000) + 3000 + AttackerLevel - DefenderLevel) / 1000

It's: (500 + Surehit_bonus) * (ChancetoDenyEvasion_bonus + 1000) * 3 / ((ChancetoEvade_bonus + 1000) + 3000 + AttackerLevel - DefenderLevel)

5 hours ago, Lindor said:

((AV * 1000/(AV+DR) + Surehit_bonus) * (ChancetoDenyEvasion_bonus + 1000) * 3000) / (((ChancetoEvade_bonus + 1000) + 3000 + AttackerLevel - DefenderLevel) / 1000

It's:  (AV * 1000/(AV+DV) + Surehit_bonus) * (ChancetoDenyEvasion_bonus + 1000) * 3 / ((ChancetoEvade_bonus + 1000) + 3000 + AttackerLevel - DefenderLevel)

5 hours ago, Lindor said:

Where are AV and DV in the original formula?

Missing due to the original coder error. He'd typed '+' instead of '=', so that part became always equal to 500.

5 hours ago, Lindor said:

Where is DV in the Addendum formula?

It's DR(Diablo ii lingo) DR = DV.

5 hours ago, Lindor said:

are these "informatic" clips, by that I mean does that refer to the order in which the operations are done by the program?

Correct.

5 hours ago, Lindor said:

Is there another formula for S2EE?

S2EE utilizes the original formula.

5 hours ago, Lindor said:

E.g. if a character has a 20% chance to evade, is ChancetoEvade_bonus in the formula then 2000, 200, 20, 2 or 0.2?

It's 200, just like in blueprint.txt and spells.txt.

 

  • Thanks! 1
Link to comment
1 hour ago, Flix said:

I changed the equipset to use EQUIPSLOT.WEAPON_L (was EQUIPSLOT.WEAPON_R), but I've yet to see her use the fan anymore after that. 

newItemType = {
    -- standard info
    renderfamily = "RENDERFAM_ITEM",
    family       = "FAMILY_ITEM",
    subfamily    = "SUBFAM_JOB_LH",
    classification = "CLF_JI_BARREL02", - should probably be classification = "CLF_JOB_LH",
    flags        = "FLAG_HASPREVIEWIMAGE",
    weargroup    = "WEARGROUP_INVALID",
    -- 3d model + animation info
    model0Data = {
      name         = "models/objects/jobitems/t_job-barmaid-fan.GR2",
      user         = "WEARGROUP_DEFAULT",
    },
    -- logic bounding box
  logicBox = {
    minx=-9.273, miny=-1.672, minz=-0.052, 
    maxx=9.273, maxy=13.693, maxz=0.052, 
    },
    dangerclass   = 0,
}
mgr.typeCreate(4917, newItemType);

  • Thanks! 1
Link to comment
8 minutes ago, dimitrius154 said:

should probably be classification = "CLF_JOB_LH",

Cool, I'll try that.

Weirdly enough, both t_job-play-music-lute.GR2 and r_job-spoon.GR2 have CLF_JI_BARREL02 and they seem to work just fine.

Link to comment
7 hours ago, Lindor said:

Is there another formula for S2EE? Or does it use one of the above?

Binaries are going to have to remain as is, for now, unless I can learn to make sense of the morass I see when I look at the decoded files in OllyDBG.  It pains me to keep even a single known bug in the mod, but I have to weigh the cost/benefit of importing the files lock & stock from Addendum.

If (after 6 years) editing the LUA scripts is like reading "Baby's first pop-up book", trying to decipher the game code is like reading Anna Karenina, in the original Russian.

====================

I'm leaving the floor open for any suggestions for areas that might benefit from having unique music all their own.  As far as I can tell, there are something like 50 unused region entries in region.txt that can be assigned to specific sectors in S2se.  From there they can be given unique music profiles.

I've already taken advantage of this for the following:

  • Outer area surrounding the Scorpion Temple now has unique music.
  • Marigold Fields now have unique music.
  • Grunwald Forest has ominous music like the Whisperwood.
  • Nagash's Nest now has swamp music and background ambiance.
  • T-Energy Bog now has menacing music.
  • Haha 1
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