Jump to content

[Dev] Diablo 2 Fallen mod for Sacred 2


Flix

Recommended Posts

17 minutes ago, Flix said:

I had intended to release v13 tomorrow, but since I was ahead of schedule, I got bold and decided to start recreating as many classic quests from D1 and D2 that I could, and that has put me behind again.  Everything else is going according to plan though.  Since I intend for this to be the final release and the mod will be "feature-complete" at last, I see no reason to rush it. 

Barring any unforeseen circumstances, I expect v13 will release by October 1st.

Some other quest-related and misc changes added:

  •  Added D2 voices for all characters when accepting new quests.
  •  "The Forgotten Tower" quest: Moldy Tome's monologue now has audio restored.  The audio broke after the upgrade to CM 1.60 and I could never figure out why until recently.
  •  Crushing Blow (8% hp reduction) gains the effect of Shattering Blow (20% hp reduction) and replaces the latter in all instances (spells, items, enemies).  In other words, the vanilla modifier "Deadly Wounds" is now called Crushing Blow, and the weaker "Deep Wounds" is removed completely.
  •  Walk speed (not run speed) for all special mounts is increased ~3x.  Sometimes just for immersion it's nice to slow down and walk (not plod).
  •  Lumberjack Camp in starting area no longer labeled as "Brigand Camp."  Just a strange little bug that's always irritated me.

Years of your work, Flix... it makes me nostalgic about this game and everyone who's been a part of it when I read about you talking about your project getting to its final golden years... 

:blink:

gogo

  • zomgod! 1
Link to comment
  • 2 weeks later...

I've had success in making more complicated quests that involve retrieving quest items as well as killing monsters.  So the new lineup of quests in the next release will include (at least):

  •  "Tools of the Trade." See Charsi in the Griffinborough military camp to begin.
  •  "The Tomb of Tal Rasha." See Prince Jerhyn in Khorum to begin.
  •  "The Lord of Terror." See Tyrael in the Girvym caverns to begin.
  •  "The Warlord of Blood." Read the Steel Tome in Khormynth's Refuge to begin.
  •  "Lachdanan." Find Lachdanan south of the Field of Eternal Pain to begin.
  •  "Lam Esen's Tome." See Alkor on the Aerendyr dockside to begin.

I'm still working on getting quests to chain together. If this works I'll also be able to add a trio of quests culminating in the Mephisto battle (Gidbinn + Council Members + Lord of Hatred).

I'm also toying around with a way to add in the D2 rescue mission "Prison of Ice."

I believe I will also try to throw in two more simple D1 quests for good measure - more details later.

 

On 8/31/2019 at 10:01 PM, gogoblender said:

Years of your work, Flix... it makes me nostalgic about this game and everyone who's been a part of it when I read about you talking about your project getting to its final golden years... 

:blink:

gogo

It will be the mod's 5 year anniversary this New Year's Eve.  I released the first version December 31 2014.  Where has the time gone...

sacred2 2019-09-01 16-09-44-60.jpg

sacred2 2019-09-01 16-14-00-82.jpg

sacred2 2019-09-01 23-00-42-76.jpg

sacred2 2019-09-01 23-04-40-50.jpg

  • Appreciation 1
Link to comment
10 hours ago, klariska said:

To start now or not that is the question.I guess old characters won't be the working right consider the class quest changed?

 

PS:What happened to v12 or did you miss math :D just Joking loving this mod

Yeah v12 is the next one.

I would say it will probably be ok if you move the character up to a new difficulty after installing the mod. Otherwise, yeah the quests will likely be screwed up.

  • Like! 1
Link to comment
On 9/12/2019 at 3:32 AM, klariska said:

Really can't wait for the update specially consider it's coming close to being finished.

PS:Flix not nice to tease me with pics I am old I may die of a heart attack 🤣

Just hang in there a few more weeks!

 

More quests are added:

  • "Blade of the Old Religion." See Hratli in Na'Fian to begin.
  • "The Blackened Temple." See Ormus in Na'Fian (after completing "Blade of the Old Religion").
  •  "The Lord of Hatred." See Ormus in Na'Fian (after completing "The Blackened Temple").
  •  "The Chamber of Bone." Read the Mythical Tome in the Thylysium Observatory to begin.
  •  "Archbishop Lazarus." See Wirt's ghost near the Northern Hissil'Ta portal to begin.
  • "The Lord of Destruction." See the Nephalem Spirits within the Great Machine to begin.

 

porM4Ci.jpg

ElCYbQd.jpg

dQ3Wr6i.jpg

x5WyMGj.jpg

bUu2wQR.jpg

  • Like! 1
Link to comment
2 hours ago, dimitrius154 said:

By the way, Ben, I remember your aversion towards the T-energy effect. The texture in question is in graphics01.zip, the "hq\fx\te_fx2.dds". Can be changed into lava color easily. Sort of land, certain gear corruption effect from the Burning Hells' spilling into Ancaria. 

Thanks for the tip.  I'll experiment with it.

Because I'm at wit's end, I had one question for you that has frustrated me for years with quest.txt.  When I make a quest target for a kill quest, and I give that creature a summoning spell, the summoned minions always turn against the creature.  I checked their faction ID's, and the factions between the taskcreature and the summoned minions match.  The only thing I can think is that somehow when a creature becomes a quest target, the game gives it some other faction ID.  Or alternatively, when a minion is summoned via spell, it is given some other faction ID than what is in its creature entry.

This happens with 5 different killquests in D2F.  If I can't solve this I'll have to remove the summoning spells and instead make a little mob of taskcreatures to accompany the target creature.  It's depressing seeing Radament commit suicide-by-summon.

Do you have any insight into these workings?

Link to comment
10 hours ago, dimitrius154 said:

Hmm, what the spell's "spellClass" is?

Here's an example:

mgr.defineSpell( "boss_UG_spawn", {
	eiStateName = "cSpellCast",
	fxTypeCast = "",
	fxTypeSpell = "FX_GEN_SPAWN1_I",
	fxTypeCastSpecial = "",
	duration = 10.000000,
	animType = "ANIM_TYPE_MAGICA",
	animTypeApproach = "",
	animTypeRide = "",
	animTypeSpecial = "",
	causesSpellDamage = 0,
	tokens = {
		entry0 = {"et_summon_officer", 1000, 152, 0, 8 },
		entry1 = {"et_summon_soldier", 2000, 154, 0, 8 },
		entry2 = {"et_summon_mylevel", 4, 1, 0, 4 },
	},
	fightDistance = 300.000000,
	aspect = "EA_ENEMY_ANY",
	cooldown = 10.000000,
	soundProfile = 0,
	cost_level = 500,
	cost_base = 300,
	focus_skill_name = "skill__enemy_focus",
	lore_skill_name = "skill__enemy_lore",
	spellClass = "cSpellSpawnEnemy",
	spellcontroltype = "eCAtype_a_effect_location_start",
	sorting_rank = 0,
})

This is the same spell that General Terus uses (without issues) to summon undead.  I gave it to Radament and the skeletons always turn against him.  I made sure he has faction_id = 33, just like the skeletons.

Link to comment
51 minutes ago, dimitrius154 said:

If one looks at the quest, Terus gains faction id 57, when he's marked for the kill.  Maybe Radament's quest changes his faction in the process.

I'll try to use the groupchanges parameter to mirror Terus' faction changes, if I can.

Link to comment
2 hours ago, dimitrius154 said:

If one looks at the quest, Terus gains faction id 57, when he's marked for the kill.  Maybe Radament's quest changes his faction in the process.

Sadly I had no luck adding this line:

groupchanges = {
{ 10640,7,0,"Enemy_hunter",57 },
},

While it did function by changing his behavior and faction at the correct quest stage, his minions still attacked him.

Here is another finding I made: when I fight him (or any other taskcreature) outside of the quest (by using the "persistent = 1" flag) the minions do NOT turn against him.  So it must be something wrong with the quest script itself.  The script is very simple, only one entry:

quest.createQuest(10000, {
id = 10000,
name = "S_DE_nn-RadamentsLair",
questtype = 1,
silent=0,
ismainquest = 0,
mainquestchapter = 0,
questbookstrategy = 1,
continues_quest_id = 0,
continues_bookentry = 0,
forpathnot = 0,
reservedforpath = 0,
reservedforhero = 0,
reservedforgod = 0,
reward_exp=1,
reward_gold=1,
reward_drop=0,
reward_attr=0,
reward_skill=2,
report_required = 1,
dangerclass=7,
author_ready = 0,
qa_ready = 0,
releasestage = 30,
progress = 0,
autostart = 0,
anyprequest = 0,
showdlgonwin = 0,
lostondecline = 0,
questgiver = {
taskcreature = 10667,
ispersistent = 0,
isproactive = 0,
isrefusable = 1,
position = { 41,18,0 , 1450.000,1400.000,0.000 , 0.000 },
},
groupchanges = {
{ 10640,7,0,"Enemy_hunter",57 },
},
questKill = {
anyofthem = 0,
useprefightdlg = 1,
bodycount = 0,
kill0 = {
taskcreature = 10640,
},
},
})

I tried toggling "userprefightdlg" off, thinking maybe the game did some faction changes according to that flag, but there was no difference in minion behavior.

Link to comment
1 hour ago, chattius said:

Can anyone tell me if this mod will run with the original german DVD version?

Well, it will run, but there's no German localization for the mod, only English and French.  So you'd have to copy the English global.res file from the mod and paste it into your game's German "locale" folder.  Otherwise the text for new monsters, items, and quests would be empty (blank).

I could try to run the new text through an auto-translation service, but there hasn't been much demand for the mod in other languages.  That would also be a huge endeavor due to how much I've rewritten.

  • Thanks! 1
Link to comment

I was worried that I would need any more files. But if it is only the global.res its okay.

Our third refused to choose english classes with new schoolyear because of all this Brexit talk. She was chosing French after having Latin as first foreign language. So I may consider doing a french localization.

  • Haha 1
Link to comment
On 9/17/2019 at 12:13 AM, dimitrius154 said:

There's a script in questscripts.txt, that may be needed as well:

Thanks for the help.  Didn't seem to solve the problem, but it's always useful to remember to check questscripts.txt as well. I neglected it for a time.  That script's function seems to be to align his pre-existing minions (those already spawned and standing there before you talk to him) into a phalanx.

I'm going to take a different approach.  I noticed I also have a quest where Baal summons a clone of himself.  The clone does NOT attack him.  I'm trying to determine what's different between Baal and Radament.  Along those lines, can you tell me please, what you know about the "rank" parameter in creatures.txt?  Is it what it sounds like, some kind of pecking order?  One common thread I see with my creatures who have rebellious minions is that they all have a lower rank than their summoned minions.  Baal on the other hand has an equal rank to his clone.

Link to comment
20 hours ago, dimitrius154 said:

Never checked this one tbh, as I never encountered functions mentioning it's use explicitly. Interesting. Try setting Radament to rank 100, or 500.

No luck.  Will keep experimenting.  I remembered "rank" had to be changed to allow a shapeshifted Dragon Mage to use summoning buffs. I wasn't sure how that was working.

Link to comment
3 minutes ago, dimitrius154 said:

Hmm, what rank do Radament's summons have?

80 (from spell "boss_UG_spawn") and 40 ("enemy_rebirth_skeleton") . Both groups of summons try to fight him.  He never tries to fight them, oddly.

I just tried changing Radament's itemtype classification to "CLF_BOSS", but there was no change. 

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