|Anonymous | Login | Signup for a new account||2019-04-24 08:37 CEST|
|Main | My View | View Issues | Change Log | Wiki | Tavern | News|
|Viewing Issue Simple Details|
|ID||Category||Severity||Reproducibility||Date Submitted||Last Update|
|0007702||[DCSS] Patches||feature||N/A||2013-11-05 21:36||2014-02-10 17:56|
|Status||resolved||Product Branch||0.14 ancient branch|
|Summary||0007702: Don't timeout repel/deflect missiles|
Instead they'll deflect a set (random) number when cast.
This does 2 things: prevents the tedium of recasting while travelling, and makes it more likely that you'll need to recast in combat (since that's the only time it goes away).
|Tags||No tags attached.|
missile_deflection.patch [^] (5,115 bytes) 2013-11-05 21:36 [Show Content]
0001-Don-t-timeout-repel-deflect-missiles.patch [^] (5,867 bytes) 2013-11-23 02:54 [Show Content]
0002-Save-compat-scale-down-old-RD-Msl-durations.patch [^] (1,526 bytes) 2013-11-23 02:55 [Show Content]
0003-Expire-RD-Msl-with-scroll-of-vulnerability.patch [^] (1,052 bytes) 2013-11-23 02:55 [Show Content]
0004-missile-delection.patch [^] (10,968 bytes) 2013-12-13 20:17 [Show Content]
0005-missile-deflection.patch [^] (7,439 bytes) 2014-01-27 19:08 [Show Content]
|This sounds like a great idea, and it'd also be a nerf to the very powerful Investment:Profit ratio of RMsl at the moment - since I take it the AMOUNT of shots the two spells affect would now depend on spell power; which at almost no investment would be very low.|
My concern about this is that people will want to cast it at the end of every battle to refresh the "duration", since even if it is still up, it might have lost some. Thus it won't actually be true that players will mainly be recasting it during battles, which is the primary attraction of this sort of idea to me.
One way of fixing this (maybe there is a better solution) would be to change it so that it has no duration, but has a fixed chance (possibly depending on spell power, but not on the number of previous deflections) of breaking whenever it deflects a missile. For example, if we want a single cast to deflect 10 missiles on average, it could have a 10% chance of breaking after each one.
I like the idea (or with elliptic's suggestion). From a technical point of view I see a few problems with the patch as-is:
1. Old saves will have [RD]Msl durations that are way too high under the new scale. There needs to be save compat handling to rescale leftover durations.
2. Scroll of vulnerability will need some special handling to expire them (it takes most durations down to 1 rather than 0 so they can timeout naturally).
3. More generally than both the above: I think representing the number of hits left as a duration is bad (also because of the scaling). I think it should probably be an attribute instead.
elliptic's suggestion for stochastic expiration would probably make all of these issue moot, as you'd just need a flag and not any kind of number.
I updated argonaut's patch against latest trunk, and added commit metadata.
I also made patches to address technical points 1. and 2.
Thanks for the feedback. In my testing I did end up recasting at the end of every battle but still needed to refresh it in fights with centaur/yaktaur packs.
The attribute option seems interesting - I'll take a look at that. I just used the duration to minimize changes.
I'm thinking of starting the chances to expire at Note: 0000030% at low power and going down to ~2% at max. The downside of a fixed chance is that you'll be casting a lot less frequently and so you might use wizardry/brilliance to get it going and it won't have as much hunger impact.
A new version is up using attributes rather than durations. I kept the value a number of missiles rather than a percentage since that seemed easier to balance.
I also took a hint from the new swiftness and only allow refreshing when it's about to expire.
|Would much rather like to see the expiry chance elliptic suggested as well. As for your concerns: hunger costs do not exist, wizardry helping spells is not a problem, and especially so for brilliance which is a consumable.|
|YAVersion using attribute chances to start the duration countdown. Since durations are still used there are no old save issues - they'll timeout normally since the attribute won't be set and on the next casting things will work normally. I also reduced RMsl's max spell power to limit the expiration chance to 10% at best, DMsl can go all the way down to 2%.|
|I applied the latest patch, with a few minor tweaks. Are you in CREDITS.txt? And if not, what name would you like to be credited as?|
|Thanks. I'm not in CREDITS.txt, please use Aaron Olowin.|
|2013-11-05 21:36||argonaut||New Issue|
|2013-11-05 21:36||argonaut||File Added: missile_deflection.patch|
|2013-11-05 21:56||Bloax||Note Added: 0024307|
|2013-11-23 02:21||elliptic||Note Added: 0024465|
|2013-11-23 02:48||neil||Note Added: 0024467|
|2013-11-23 02:51||neil||Note Added: 0024468|
|2013-11-23 02:52||neil||File Added: 0001-Don-t-timeout-repel-deflect-missiles.patch|
|2013-11-23 02:52||neil||File Added: 0002-Save-compat-scale-down-old-RD-Msl-durations.patch|
|2013-11-23 02:52||neil||File Added: 0003-Expire-RD-Msl-with-scroll-of-vulnerability.patch|
|2013-11-23 02:54||neil||File Deleted: 0001-Don-t-timeout-repel-deflect-missiles.patch|
|2013-11-23 02:54||neil||File Deleted: 0002-Save-compat-scale-down-old-RD-Msl-durations.patch|
|2013-11-23 02:54||neil||File Deleted: 0003-Expire-RD-Msl-with-scroll-of-vulnerability.patch|
|2013-11-23 02:54||neil||File Added: 0001-Don-t-timeout-repel-deflect-missiles.patch|
|2013-11-23 02:55||neil||File Added: 0002-Save-compat-scale-down-old-RD-Msl-durations.patch|
|2013-11-23 02:55||neil||File Added: 0003-Expire-RD-Msl-with-scroll-of-vulnerability.patch|
|2013-11-25 16:14||argonaut||Note Added: 0024495|
|2013-12-13 20:17||argonaut||File Added: 0004-missile-delection.patch|
|2013-12-13 20:22||argonaut||Note Added: 0024723|
|2014-01-16 09:13||chris||Note Added: 0025006|
|2014-01-16 23:29||MarvinPA||Issue Monitored: MarvinPA|
|2014-01-27 19:08||argonaut||File Added: 0005-missile-deflection.patch|
|2014-01-27 19:18||argonaut||Note Added: 0025114|
|2014-02-09 00:58||MarvinPA||Note Added: 0025230|
|2014-02-09 00:58||MarvinPA||Status||new => resolved|
|2014-02-09 00:58||MarvinPA||Fixed in Branch||=> 0.14 development branch|
|2014-02-09 00:58||MarvinPA||Resolution||open => done|
|2014-02-09 00:58||MarvinPA||Assigned To||=> MarvinPA|
|2014-02-09 01:10||MarvinPA||Issue End Monitor: MarvinPA|
|2014-02-09 20:15||MarvinPA||Issue Monitored: MarvinPA|
|2014-02-10 17:56||argonaut||Note Added: 0025273|
|2014-02-10 21:11||MarvinPA||Issue End Monitor: MarvinPA|
|Mantis 1.1.8[^] Copyright © 2000 - 2009 Mantis Group|