A way to randomize preset levels
Update: Paul have made several corrections. So i have added them into here.
I search and could not find anything about this topic. This isn't totally unknown that you can do, but i don't think this is a common knowledge either. I found out today that you can make Preset levels that are some type of randomized.
Before i start we look what levels do. This is linked to a lot of other tables.
(thanx Paul for this good explanation what each file are)
levels = area, composed of 1 or several ds1
lvltype = just list of dt1
lvlprest = ds1 to use in various situation
lvlwarp = handle gfx parameters of warp tiles
lvlsub = for Substituion tiles
In levels the following columns are of interest:
When you make a preset area you will set it's size of the ds1 file it uses in here. A preset is only one ds1 file.
SizeX: sizex for the ds1 file
SizeY: sizey for the ds1 file
This two columns are also of interest. DlrgType is needed to be set as 2 to tell the game to use LvlPrest.txt. This tells what are commonly known are preset and aren't randomized.
LevelType is linked to LlvlTypes.txt and this is important when working with preset levels. I was working on a new preset Den of Evil when i got into trouble. I was using one of the Ice Cave levels from actV. I loaded the file in LvlPrest.txt and replaced the unsued treasure level in there. I could have used my increased levels preset technique to add more rows into there. But i havn't got time to do the code yet in 1.10.
I got a cave that was cutted with black walls. This is a problem i have had for a long time. What is important here is to use the right LevelType ID.
For me it was ID 33 since i used a Ice Cave; the lvlType you'll use is the one that have the list of DT1 that your DS1 is using. I turned this ice cave into a preset area for act1 Den of Evil (but, since the DS1 is an Icecave, I'm using the LvlType of Icecave, NOT DoE).
DrlgType: what type you are going to use (preset = 2)
LevelType: what id from lvltypes are you going to use (in my case id = 33)
Also, worth to mention is that a ds1 file stores its act number (you can read more about that in tools section in one of the sticky threads that Paul has posted. IF you are interested in this area you should read). You can change this act number for the ds1.
it's stored in this way: 00000000 00000000 00000000 04000000
Why changeing the act number? simple it lets you to use typ1 objects from act1 instead of act5. The bad is that you have to edit all the objects in the ds1 if you hexedit its act value, because then their index will all be screwed. Also, remember that you can't use type 2 objects of higher act, at least in un-modded D2. You could do the opposite also and change an act1 map to another act to be able to use typ2 objects in act1 from a higher act.
Now we come to an interesting part. In lvlprest.txt we have the following columns.
Files: tells how many columns it going to use of File1 to File6
File1-File6: This is used to tell the path to a ds1 file. Even lvlmaze are using this.
Dt1Mask: tells what File columns from lvlTypes.txt it'll load.
The nice in here is that File1-File6 can be used make up to 6 different variants of a preset level.
The game randomize which entry it should use. So, if you have added 4 different variants of a preset level it'll randomize what ds1 of this level it's going to use. But, it's still a preset level with only one ds1. How useful is this?
I can tell you this is more useful than you can think. I give a small example what you can do with it down here.
Den of Evil version 1:
Uses: 1 spawn one random Unique + 1 golden chest.
Den of Evil version 2:
Uses: 1 Champion Zombie (Normal Zombie that are Level5), 2 Elite Zombie (Normal Zombie that are Level3) and 5 common Zombie's (That are Level1).
Den of Evil version 3:
Uses: Spawn a superunique monster (Corpsefire as example)
Den of Evil version4:
Uses: Nothing special.
This will give us 4 different caves that looks the same but have different setup of objects/monsters. We could even do the level to look different for this 4.
You can do the same with everyfile (that aren't hardcoded in lvlprest.txt). So you can actually have several version of Bishibosh camp. That spawns different superuniques (with 1.10 we can add as many superuniques as we want so this open up for a very interesting variations).
[ANY] A way to randomize preset levels
Post here about all aspects of D2 mod making whether it's information, problems or whatever. Please specify whether your post is relating to Classic D2 or the Expansion.
Moderator: Nizari
1 post
• Page 1 of 1
[ANY] A way to randomize preset levels
Post by kingpin » Fri Jul 11, 2003 5:07 pm
Last edited by kingpin on Sat Jul 12, 2003 12:33 am, edited 4 times in total.
kingpin
1 post
• Page 1 of 1
Return to “General Mod Making”
Jump to
- The Phrozen Keep Forums
- ↳ Staff Announcements
- ↳ Keep Updates
- ↳ File Center Announcements
- ↳ Keep Polls
- ↳ Members area
- ↳ Member news
- ↳ Job Offerings
- ↳ Multi-Player Matchups
- ↳ Member Аnnouncements
- ↳ Feedback
- ↳ Site support
- ↳ Mod Spotlight & Quick links
- ↳ Keep Discord
- Diablo Universe
- ↳ Diablo II Legacy Modding and Discussion
- ↳ General Mod Making
- ↳ Tools
- ↳ Multimedia
- ↳ Map Editing
- ↳ Code Editing
- ↳ PlugY|NefEx|D2Mod
- ↳ Skill Clinic
- ↳ Mod Concepts & Research
- ↳ Mac Modding
- ↳ Diablo II Chatter
- ↳ Diablo II Resurrected Discussion
- ↳ Other Diablo Games
- Diablo II Legacy Mods
- ↳ Apokaliptic
- ↳ Plugins by Nizari
- ↳ Back to Hellfire
- ↳ Battle for Elements
- ↳ Black Omen Productions
- ↳ Mods by Nefarius
- ↳ Shadow Empires
- ↳ Blackened
- ↳ Diabolic Studios
- ↳ Diabolic Studios Site
- ↳ The Hordes of Chaos
- ↳ Dark Alliance
- ↳ Planar Rifts
- ↳ Dreamland betatesting
- ↳ Eastern Sun
- ↳ Eastern Sun Rises
- ↳ Escape From The Afterlife
- ↳ Le Royaume des Ombres
- ↳ Mods by Lady Isabelle
- ↳ Talonrage's Requiem of Sorrow
- ↳ Zy-El: Trial by Fire
- ↳ The Sandbox
- ↳ Unsupported Mods
- ↳ Nezeramontias
- ↳ Ancestral Recall
- ↳ Kingdom of Tenai
- ↳ Mods by GuyAskingQuestion
- ↳ The Fury Within: Ancients & Awakening
- ↳ Darkness Weaves
- ↳ V&K Mods
- ↳ New Dawn & North Star
- ↳ Baldur's Gate Mod
- ↳ Sir_Generals Rune Mod
- ↳ Dragons' Uprising
- ↳ Seasons After
- ↳ CryptForge
- ↳ d2:elements
- ↳ Underkill
- ↳ Pagan Heart
- ↳ Hades Mods
- ↳ Apocalypse
- ↳ Cubaholics
- ↳ Hades Underworld
- ↳ Sanctum Arcanum
- ↳ Arcanum Archives
- ↳ Rise of the Old Gods
- ↳ Elder Scrolls Mod
- ↳ Legacy of the Horadrim
- Diablo I Discussion
- ↳ Diablo I Chatter
- ↳ Diablo I Modding
- ↳ Devilution
- ↳ Infernity
- ↳ Belzebub
- ↳ Tchernobog
- ↳ EQUINE
- ↳ Crucible
- ↳ D1Legit
- Other Games
- ↳ It Lurks Below
- Miscellaneous
- ↳ Off-Topic
- ↳ Testing
- Currently Unavailable
- ↳ Upcoming Forums
- ↳ Limbo
- ↳ Seven Lances
- ↳ Wheel of Time
- ↳ Tactics Central
- ↳ Mod Reviews
- ↳ DoomsDay
- ↳ Time of Heroes
- ↳ Bloodwars, Inc.
- ↳ Darque Onyx Mods
- ↳ Cabal Wars - Aeons Tide
- ↳ Deathfile's Sanctuary
- ↳ A Pledge To Evil
- ↳ When Worlds Collide II
- ↳ Prophecy of Shadows
- ↳ Valhalla
- ↳ Darque Onyx Site
- ↳ Visions of Valor
- ↳ Cheater's Choice Series
- ↳ Dark Sabbath
- ↳ Corrupted Death
- ↳ Belize's Revenge
- ↳ Brother Laz
- ↳ Chaos Empire
- ↳ Odin's Runeword Mod
- ↳ Stormbringer
- ↳ The Dark Omen
- ↳ Mods By Laz
- ↳ The Stairway to Oblivion
-
- Login
-
- Who is online
- In total there is 1 user online :: 0 registered, 0 hidden and 1 guest
Most users ever online was 1797 on Tue Nov 25, 2008 1:27 pm
Users browsing this forum: No registered users and 1 guest
Recent Forum Topics
-
- Menu
-
- Community
-
- Modding Resources