Angband Forums

Angband Forums (http://angband.oook.cz/forum/index.php)
-   Development (http://angband.oook.cz/forum/forumdisplay.php?f=10)
-   -   dungeon_profile.txt (http://angband.oook.cz/forum/showthread.php?t=9638)

Tibarius October 25, 2019 20:58

dungeon_profile.txt
 
So after taking a look at dungeon_profile.txt that seems to be the place where i can configure all the stuff out that does not belong into this game to my understanding - yipee.

(A) Unluckily labyrinths have a cutoff of -1. That means i cannot prevent them from being generated modifying the .txt file. You need to change code to prevent them from appearing, right?

(B) If i copy the section of 'Cavern' with a cutoff of 10 behind the next part of classic, the game hangs up entering a level. Why is that? The explanation at the beginning of the file says lower cutoffs sections are just ignored. So this description is not true in all cases?

(C) It seems i can remove cavern levels if i set the cutoff just to -1. Correct?

wobbly October 25, 2019 21:20

Quote:

Originally Posted by Tibarius (Post 140792)
(C) It seems i can remove cavern levels if i set the cutoff just to -1. Correct?

yes

Quote:

Originally Posted by Tibarius (Post 140792)
(A) Unluckily labyrinths have a cutoff of -1. That means i cannot prevent them from being generated modifying the .txt file. You need to change code to prevent them from appearing, right?

yes. Moria & labyrinth levels are placed in the code itself. They are not that difficult to remove if you know how to compile (there are instructions pinned somewhere on the forum). The relevant section of generate.c

Code:

/* Make the profile choice */

        if (p->depth == 0) {

                profile = find_cave_profile("town");

        } else if (is_quest(p->depth) && !OPT(p, birth_levels_persist)) {

                /* Quest levels must be normal levels */

                profile = find_cave_profile("classic");

        } else if (labyrinth_check(p->depth)) {

                profile = find_cave_profile("labyrinth");

        } else if ((p->depth >= 10) && (p->depth < 40) && one_in_(40)) {

                profile = find_cave_profile("moria");

        } else {

                int pick = randint0(200);

                size_t i;

                for (i = 0; i < z_info->profile_max; i++) {

                        profile = &cave_profiles[i];

                        if (profile->cutoff >= pick) break;

                }

        }



All times are GMT +1. The time now is 01:48.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, vBulletin Solutions Inc.