summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/ng-init.cc
Commit message (Collapse)AuthorAgeFilesLines
* allow iterating over branches in a non-enum order (8742)Jesse Luehrs2014-08-021-7/+12
| | | | | | | | | | | | This allows us to have a consistent and logical ordering of branches without requiring the branch enum itself to be reordered (which could have save compatibility implications). The new ordering of branches just moves Depths to the place in the ordering that it already is planned to go on the next major save compat bump, but other changes are possible, if desired. All places in the code that iterate over branches have been updated to use the new iterator except for code dealing with save files, which still uses enum order, so that we can change the display ordering without affecting saves.
* Remove stuffNicholas Feinberg2014-07-291-0/+2
| | | | | | | .cc, moving its contents into the new stepdown.cc and strings.cc. (The latter also got many donations from libutil.h.) Down with stuff! Up the new flesh!
* Add end.ccNicholas Feinberg2014-07-281-1/+1
|
* Support for variable-altar-count Temples.Steve Melenchuk2014-05-151-0/+33
| | | | | | | | Based on a note about wanting corrupted_temple to support a variable number of altars; it can now do 6-9. (I left the lower limit at 6 because that's currently the smallest any temple is.) Inspired by a couple of temple designs I'll probably add shortly.
* Gozag: prelimiary implementation of Bribe Branch.Steve Melenchuk2014-05-071-0/+3
| | | | | | | | | | Spend 3000 gold for a chance of temporarily turning some of the inhabitants of a branch good neutral, or possibly even friendly. Bribes are only effective against newly generated monsters (i.e. on level creation or monsters that spawn afterwards); the fund times out over time and more quickly with the number of enemies affected, upon which neutral enemies turn hostile again; friendly followers will continue to follow the player subject to occasional follow-up payments.
* Purge some references to Forest.Shmuale Mark2014-03-031-1/+0
| | | | In particular, ctrl-O should no longer mention the branch.
* Restore old blood / porridge item appearances (|amethyst).Steve Melenchuk2014-02-211-0/+50
| | | | | | | | | | | Mainly so that blood is always red; it looks weird otherwise. They're still ID'd automatically, so this is entirely cosmetic. This partially reverts commit 1111ebd27a4060aa07678e1af2f67a414fff2594. Conflicts: crawl-ref/source/ng-setup.cc
* Generate no Forest in the Vaults.Adam Borowski2014-01-271-7/+1
| | | | | In neither of proposed destinies for the Forest (removal and replacement of Vaults), it is a Vaults subbranch.
* Guarantee the Forest, for now.Adam Borowski2014-01-071-0/+2
| | | | | | There hasn't been any changes to Crypt recently, and we know it works. On the other hand, Forest needs quite a lot of balancing if it's to feature in 0.14.
* Make potions of blood and porridge always identified.Adam Borowski2013-11-201-50/+0
| | | | Them having obvious descriptions was a spoily thing.
* Shorten branch enums.Adam Borowski2013-11-031-8/+8
| | | | | Seriously, even preparing this commit gave me a pain in the triangle between the thumb and index finger's bases and the wrist.
* Store the entry level for every branch (rather than just depth).Adam Borowski2013-11-021-22/+29
| | | | | | | | This allows moving branches around without breaking save compat or at least serious hacks. The portal stack can be probably dropped now: two copies of the same level can't exist anyway.
* Make the Forest trunk-only.Adam Borowski2013-09-151-1/+3
| | | | | It's in a better shape than LO or Dj, but the consensus seems to be that it still needs a lot of polishing and balancing.
* Get rid of random_shuffle().Adam Borowski2013-09-101-2/+1
| | | | | | | | | | | | | | | | | | This should hopefully make games from the same seed proceed the same on all architectures[1], as I can't think of anything else that behaves differently based on pointer size, endianness or exact pointer values. I used a NIH implementation instead of passing a third argument to random_shuffle, as the interface is so much nicer. [1]. This will be affected by terminal size (elemental colours are not resolved outside the screen), tile windows size (random animations), tiles/non-tiles and possibly others. Also, I don't think we use STL hashes anywhere, but if we'd do, the STL implementation will matter. Please don't make this stop you: this commit is only to make test cases from my stress tests portable which is a small benefit, perhaps even smaller than the nicer call interface.
* Formatting fixes.Adam Borowski2013-06-251-2/+0
|
* More tinkering with overflow temple selection scheme.Steve Melenchuk2013-06-241-14/+43
| | | | | | | | This only computes the weight of generic overflow temples once (previously it calculated this for every multi-god temple the game wanted to place), and re-weights specialised overflow temples to be placed on a (weight of applicable specialised temples) / (combined weight of above and generics of the appropriate size).
* Make themed multi-overflow altars less common; generic more common.Steve Melenchuk2013-06-231-8/+20
| | | | | | | | | This also adds a primitive version of selection by weight for the generic multi-overflow size. Along with some tweaks made previously, it's possible to have more than one generic multi-overflow per game; the weighting of this might need to be adjusted if they turn out to be too common.
* Set themed overflow size limit to 3, not 2.Steve Melenchuk2013-06-221-1/+1
| | | | | | | The previous cap was an error. I'm not convinced the cap is necessary at all, but it's there for the moment.
* Rename a potentially misleading function.Neil Moore2013-06-211-3/+3
| | | | | We usually use "place" to mean putting something into the grid, which isn't what's happening here.
* Try harder to use available thematic multi-altar temple overflow vaults.Steve Melenchuk2013-06-201-16/+71
| | | | | | | | Right now, if there's a combination of overflow gods that has such a vault available, the associated vault (or one of the associated vaults if there are multiple vaults that satisfy the condition) is guaranteed to be placed; this might need to be changed up later if we end up with a large number of multi-god overflow vaults.
* Allow overflow temples to have specific combinations of deities.Steve Melenchuk2013-06-201-1/+1
| | | | | | | | | | | | | | | | This changes up the temple overflow tag syntax thus: - Generic overflow temples now use the tag "temple_overflow_generic_N". - Specialised overflow temples use "temple_overflow_N" and tags for the deities they place; this includes single-altar overflow temples (so the existing overflow vaults have been re-tagged). The overflow vaults are now collected in dat/des/altar/overflow.des (generic ones have been moved from dat/des/branches/temple.des). The "good god temple" vaults (the ones that place altars to the three good gods) have been assigned tags using the new format as an illustration of this.
* Enable large overflow temples.Neil Moore2013-06-191-2/+23
| | | | | | | | | | | | | | There are currently only three possible maps (one each of sizes 3, 5, and 6), so the 10% chance might be too high. On the other hand, given how many times we see general_overflow_altar, maybe 10% is fine. Only one multi-god overflow temple will be used per game. Changing that is possible but avoiding duplicates is notrivial, particularly when there is only a single map for a given size. The selection of overflow temple size should eventually be improved to take map weights into account; currently it chooses uniformly from among the possible overflow temple sizes.
* Alternate Forest with Crypt.Steve Melenchuk2013-05-261-0/+1
| | | | | | | Forest's entrance depth and absolute depth are now the same as Crypt's. This also adds functionality to move Tomb's entrance to Forest if Crypt isn't placed in the game, so Tomb always exists (at present).
* Correct missing #include "foo.h" from foo.ccSamuel Bronson2013-04-061-0/+2
| | | | (Also had to fix a prototype in ctest.h)
* Formatting fixes.Adam Borowski2013-02-031-1/+1
|
* Base whether banishment works on existence of the Abyss.Adam Borowski2013-01-311-1/+1
| | | | As opposed to checking the game mode every time.
* Don't let sprinters detour through the Abyss.Adam Borowski2013-01-311-1/+0
| | | | | It was not sprinty enough before; as a multi level branch it fits even less. This saves us the need to fix related crashes :p
* Remove generation logic for amulets of controlled fly.Adam Borowski2012-11-161-4/+2
| | | | | | It'd break when save compat is bumped. Also, clean up a warning for clear potions.
* Drop an obsolete test.Adam Borowski2012-11-041-4/+0
|
* Remove unnecessary includes from header files.Jay3.14152012-10-231-0/+2
| | | | | | | | | | For most header files, this only saves on having to recompile a small number of source files, but there are also a few headers where small changes would now take significantly less time. This is most obvious for the Tiles build for which the dependencies have been greatly reduced, so that the only additional includes when compared to console are strictly library or tile related.
* Use std namespace.Raphael Langella2012-08-261-5/+5
| | | | | | | | | | | | | I had to rename distance() (in coord.h) to distance2() because it conflicts with the STL function to compare 2 iterators. Not a bad change given how it returns the square of the distance anyway. I also had to rename the message global variable (in message.cc) to buffer. I tried to fix and improve the coding style has much as I could, but I probably missed a few given how huge and tedious it is. I also didn't touch crawl-gdb.py, and the stuff in prebuilt, rltiles/tool and util/levcomp.*, because I have no clue about those.
* Remove potions of water.Adam Borowski2012-08-201-12/+11
| | | | Without Evaporate, they lost their last use.
* No longer guarantee Spider.Neil Moore2012-06-161-8/+0
| | | | | | | | The biggest problems have been dealt with, and it would be nice to get some feedback on the balance of the roulette pairs before 0.11 is released. This reverts commit 2f186193e81e2b0bfa6ab956a2cfa1bfc88590c6.
* Set ZotDef in Zot.Neil Moore2012-05-021-1/+4
| | | | | | | | | | | Allow games to use different root branches. Currently this is Zot for zotdef, and Dungeon for everything else. If there are reachable branches that precede the root branch in branches[], the ^O screen will incorrectly print them first. This is not currently the case for any game type, and isn't likely to be the case in the future, because branches[] is for the most part topologically sorted.
* Get rid of a hack for setting Sprint's dungeon length.Adam Borowski2012-05-021-27/+22
| | | | | brdepth[] is loaded before any actual levels, and this way, multi-level sprints are possible.
* Properly set the dungeon depth for ZotDef.Adam Borowski2012-05-021-0/+8
|
* Don't fake startdepths for portal vaults. Not needed anymore.Adam Borowski2012-04-271-4/+1
|
* Merge branch 'master' into portal_branchesAdam Borowski2012-04-251-6/+4
|\
| * Water potions are always "clear" -- so don't pretend they're unknown.Adam Borowski2012-04-181-6/+4
| |
* | Merge branch 'master' into portal_branchesAdam Borowski2012-04-121-0/+8
|\|
| * Guarantee Spider, to let it see more testing.Adam Borowski2012-04-031-0/+8
| | | | | | | | The other three branches compete for a single slot.
* | As a test, make Elf randomly 3 or 4 levels deep.Adam Borowski2012-03-271-0/+4
| | | | | | | | | | This disables itself automatically at 0.11 branching, but will probably be removed earlier.
* | Merge branch 'master' into portal_branchesAdam Borowski2012-03-261-5/+12
|\| | | | | | | | | This includes fixes for 64834896234968 places in master that add new uses of LEVEL_FOO and so on.
| * Enable the Spider Nest.Michael Gagno2012-03-131-5/+12
| | | | | | | | | | | | | | The lair rotation is now one of spider/snake and one of shoals/swamp. Spider still isn't finished, but it's playable. I don't know about the branch difficulty, but we should find out soon enough.
* | Reduce special-casing of hell depth code somewhat.Adam Borowski2012-01-081-1/+1
| | | | | | | | | | | | | | Also, fix uninitialized starting depth. This makes an actual difference as absdepth will be one more in proper hells, but it's not used for anything but item properties on Hell:7.
* | Split the branch data into read-only and mutable parts.Adam Borowski2011-11-041-8/+14
| | | | | | | | | | | | | | | | As a side effect, branches can now be shortened without breaking major save compat. This commit itself doesn't preserve compat though, even though it'd be easy -- other parts are too nasty already.
* | Get rid of level_type, unify BRANCH_*, LEVEL_* and portal vaults.Adam Borowski2011-11-041-1/+4
|/
* Remove no longer necessary casts after random_choose().Adam Borowski2011-10-311-2/+1
|
* Rename new_hive to hive, don't use the old Hive:2 vaultsChris Campbell2011-10-221-2/+0
| | | | | | | | The old Hive vaults remain in dat/des/branches/hive.des for now. This means that the Hive portal vault only has one map at the moment, but we can test the functionality and see how it goes, then if it's good request more maps (or rework the old ones, if that's feasible).
* Turn hive into a portal vault and make bees more interesting.Aaron Becker2011-10-221-0/+2
| | | | | Turn the hive into a guaranteed portal, allow queens to berserk worker Allow bee larvae to turn into bees by eating honey/jelly