Viewing Issue Simple Details Jump to Notes ] Wiki ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0010017 [DCSS] Patches feature always 2015-10-15 02:06 2015-11-27 04:36
Reporter ebering View Status public  
Assigned To wheals
Priority normal Resolution done  
Status closed   Product Branch 0.17 ancient branch
Summary 0010017: Implement deep banishments.
Description 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.
Additional Information
Tags No tags attached.
Attached Files ? file icon deep-abyss-02.patch [^] (27,684 bytes) 2015-10-22 20:16 [Show Content]

- Relationships

-  Notes
(0029608)
Reaver (developer)
2015-10-15 03:06

I think extracting the banishment code from down_stairs() would be better than creating a new dungeon feature which never spawns.
(0029616)
ebering (developer)
2015-10-15 22:18

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.
(0029638)
ebering (developer)
2015-10-22 20:18

A more polished patch.
(0029670)
dpeg (administrator)
2015-10-25 21:46

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.
(0029677)
ebering (developer)
2015-10-26 18:55

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.
(0029681)
dpeg (administrator)
2015-10-27 13:20

ebering: many thanks for the explanation.

Yes, simple is better. We can tweak the formulas later on, if we want to.
(0029859)
wheals (administrator)
2015-11-26 17:58

Added, with some tweaks to the last commit to get it to work properly.

- Issue History
Date Modified Username Field Change
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
Powered by Mantis Bugtracker