|Anonymous | Login | Signup for a new account||2019-02-18 22:32 CET|
|Main | My View | View Issues | Change Log | Wiki | Tavern | News|
|Viewing Issue Simple Details|
|ID||Category||Severity||Reproducibility||Date Submitted||Last Update|
|0010017||[DCSS] Patches||feature||always||2015-10-15 02:06||2015-11-27 04:36|
|Status||closed||Product Branch||0.17 ancient branch|
|Summary||0010017: Implement deep banishments.|
Patch creates a way to enter the depths of the Abyss directly, skipping Abyss 1. A successful banishment has an HD in 27 chance of sending a player deep. The exact depth scales linearly with player XL.
These formulas may need tweaking, since a disto wielding orc has a 1 in 27 chance of sending a lvl 5 player to A:2 which maybe isn't desired. But maybe it is.
This is in the 0.17 release plan on the wiki so it's not an outlandish idea.
|Tags||No tags attached.|
|Attached Files||deep-abyss-02.patch [^] (27,684 bytes) 2015-10-22 20:16 [Show Content]|
|I think extracting the banishment code from down_stairs() would be better than creating a new dungeon feature which never spawns.|
After some discussion on IRC the approach was to split take_stairs into some checkups and a floor_transition function, and then use floor_transition in banished(). This avoids creating a new dungeon feature which never spawns, and as Medar pointed out allows depth to depend directly on power, instead of a straight deep banishment coin flip.
The new patch reflects all this.
|A more polished patch.|
Many thanks! I think a feature like this is crucial -- are there any objections to try this out for trunk (not 0.17, of course)?
The formula may be too crude, but it's simple and a good way to start, in my opinion.
Some technical remarks.
In the current code there are four banishment codepaths:
- Melee Attacks (melee_attack.cc)
- Banishment spell (beam.cc)
- Xom (xom.cc)
- Translocations Miscasts (spl-miscast.cc)
In the current patch the 'power' of a banishment is the HD of the banisher, which in the first two cases is the attacker, and the latter two the XL of the player.
Zot traps and distortion unwields go through the fourth path, but don't pass much information other than miscast severity. So features like zot traps scaling by absdepth or distortion unwields scaling with weapon plusses either require significantly more plumbing for in my opinion fairly minor gain, or some indirect scaling based on severity.
ebering: many thanks for the explanation.
Yes, simple is better. We can tweak the formulas later on, if we want to.
|Added, with some tweaks to the last commit to get it to work properly.|
|2015-10-15 02:06||ebering||New Issue|
|2015-10-15 02:06||ebering||File Added: deep-abyss.patch|
|2015-10-15 03:06||Reaver||Note Added: 0029608|
|2015-10-15 22:16||ebering||File Added: deep-abyss-01.patch|
|2015-10-15 22:18||ebering||Note Added: 0029616|
|2015-10-22 20:16||ebering||File Added: deep-abyss-02.patch|
|2015-10-22 20:18||ebering||Note Added: 0029638|
|2015-10-23 16:59||ebering||Note Added: 0029641|
|2015-10-24 01:07||ebering||Note Deleted: 0029641|
|2015-10-24 01:08||ebering||File Deleted: deep-abyss.patch|
|2015-10-24 01:08||ebering||File Deleted: deep-abyss-01.patch|
|2015-10-25 21:46||dpeg||Note Added: 0029670|
|2015-10-26 18:55||ebering||Note Added: 0029677|
|2015-10-27 13:20||dpeg||Note Added: 0029681|
|2015-11-26 17:58||wheals||Note Added: 0029859|
|2015-11-26 17:58||wheals||Status||new => resolved|
|2015-11-26 17:58||wheals||Fixed in Branch||=> 0.18 development branch|
|2015-11-26 17:58||wheals||Resolution||open => done|
|2015-11-26 17:58||wheals||Assigned To||=> wheals|
|2015-11-27 04:36||ebering||Status||resolved => closed|
|Mantis 1.1.8[^] Copyright © 2000 - 2009 Mantis Group|