Viewing Issue Simple Details Jump to Notes ] Wiki ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0008490 [DCSS] Patches minor have not tried 2014-05-03 20:12 2021-03-30 20:52
Reporter Siegurt View Status public  
Assigned To ebering
Priority normal Resolution suspended  
Status closed   Product Branch 0.15 ancient branch
Summary 0008490: Patch to simplify Recite and make it less deterministic.
Description So the attached patch does the following:

1. You never have to choose a recite type, each creature in LOS is recited against with it's most eligible prayer type, this constitutes a minor power bump, as it allows you to recite against more than one type of creature at a time.
2. Rather than using a deterministic list of powers (Where the old behavior is "If your skill is greater than the monster's HD by X amount, always do one of these one or two powers") It builds a weighted list of effects to randomly choose from (by prayer type, using the old list) where more power gives more weight to the effects higher up in the table. (Each effect is given a power rating and the closer your power-vs-HD check is to that effect's power, the higher it's weight in the weighted list)

This allows us to adjust power levels of effects to fine tune them, making a given recite effect more common at lower, or higher power levels as is determined appropriate (I roughly duplicated the current effect table to a certain degree of fuzziness, but spread effects out slightly to make the effects less discrete)

3. It adds code to increase the weight of certain types of recite effects relative to the others (Antimagic is higher in weight when appropriate, and not available when not, Corona is twice as likely to happen against invis creatures)

4. It adds two new zin recite effects, abjuration and slow.
Additional Information
Tags No tags attached.
Attached Files ? file icon 0001-Clean-merged-full-recite-patch.patch [^] (22,935 bytes) 2014-05-09 03:14 [Show Content]
? file icon 0001-Clean-recite-merge-with-no-new-effects.patch [^] (21,800 bytes) 2014-05-09 03:19 [Show Content]

- Relationships

-  Notes
(0026028)
Siegurt (reporter)
2014-05-03 20:13

Oh, and this came out of a tavern discussion, for the curious it's here:
https://crawl.develz.org/tavern/viewtopic.php?f=8&t=11570 [^]
(0026029)
Reaver (developer)
2014-05-03 20:53

Just for future reference, making multiple changes in a single commit is a bad idea. Ideally this should have been multiple commits. So for example, the two new effects would be in one or two separate commits after the changes. This allows us to pick and choose if we later discover something which doesn't work - for example if we decided that Zin shouldn't abjure we could remove it without hunting down that bit of the patch.

This isn't a rejection or acceptance of the patch (Not having to pick monster type looks fine to me) just noting that multiple commits is a better format and makes your changes more likely to get in the game.
(0026030)
Siegurt (reporter)
2014-05-03 20:58

I can break it out into multiple commits later, it's not terribly hard for me to do.(Initially I had it as separate commits, but one of the early commits had an un-noticed bug which was fixed in a late one, so I squished them all into a single commit.)

I'll do that a bit later when I have some time to backport the fix into the earlier commit.
(0026031)
Reaver (developer)
2014-05-03 21:07
edited on: 2014-05-03 21:07

Thank you, that would be helpful. Squashing bug fixes is a good idea.

(0026032)
Kate (developer)
2014-05-03 22:31

If you could take a look at http://s-z.org/neil/git/?p=crawl.git;a=blob;f=crawl-ref/docs/develop/coding_conventions.txt;hb=HEAD [^] for the formatting that'd be good too - in particular we use 4 spaces instead of tabs.
(0026033)
Siegurt (reporter)
2014-05-04 07:18

Darn it I even reminded myself to do the spacefix thing, (I forgot in the last patch I submitted as well) and forgot again in all my squashing madness.
(0026034)
Reaver (developer)
2014-05-04 07:50

I'm pretty sure util/checkwhite corrects this, by the way. (Not sure since I've set all my tools to replace tabs with spaces automatically)
(0026044)
Siegurt (reporter)
2014-05-04 22:05

Yes, it does, I just forgot to run it. :)
(0026045)
Siegurt (reporter)
2014-05-04 22:16

Adding patches for:
1. Everything in the original patch with whitespace fixed
2. Just "Recite against everything, no change to effect logic at all"
3. "Recite against everything" and "Use new weighting system, but don't add new effects"
(0026046)
Siegurt (reporter)
2014-05-04 22:19

(Note I'd remove the original patch in favor of the one with the whitespace fixed, but I don't have permission to remove attached files.)
(0026048)
Reaver (developer)
2014-05-05 05:34
edited on: 2014-05-05 05:37

Err, the third file says PATCH[1/4], but there's only one commit in it.

Also, deleted the old file.

(0026051)
Kate (developer)
2014-05-05 17:20
edited on: 2014-05-05 17:34

Hmm, the updated patches (the ones with the new weighting) don't look right, the chaotic list is almost identical to the heretic list, and doesn't contain either ignite chaos or saltify at all? And there are a lot of places that check for mons_antimagic_affected but then apply ZIN_DUMB instead.

(0026053)
Siegurt (reporter)
2014-05-05 18:35

Ergh, something must have gotten mangled in the patch squishing, I'll re-do them. Sorry about that.
(0026054)
Siegurt (reporter)
2014-05-05 19:37

Alright uploading replacements for:
 0001-Full-squashed-recite-changes-with-whitespace-fixed.patch
 0001-Recite-with-new-weighting-no-new-effects.patch
Those should be removed, and replaced with:
 0001-Full-recite-update (fixed).patch
 0001-Recite-update-with-no-new-effects (fixed).patch

Note that these are squished patches, not incremental patches (Sorting out my innumerable incremental patchwork of patches I created while making this is not something I would wish on anyone who doesn't live in my skull)
(0026057)
Reaver (developer)
2014-05-06 00:18

Alright, the first two patches have been removed.
(0026107)
Siegurt (reporter)
2014-05-09 03:21

After some discussion on IRC it turns out that the (fixed) ones are unusable (The auto-indents modified most of the lines in the file) uploaded "clean" patches (I manually merged my edits into master) please delete the two patches labeled "(fixed)"
(0027828)
wheals (administrator)
2014-11-19 02:19

Are you able to rebase this? The first patch at least was already brought into trunk, but there have been some fixups to the recite code since this was written.
(0030761)
Siegurt (reporter)
2016-07-11 07:46

I saw there was a mention of this in the ##crawl-dev channel a while back, I can take a look at rebasing it if there's interest, It has been like two years, so It's not like it's fresh or anything, but it still shouldn't be terribly hard to do.
(0030765)
PleasingFungus (administrator)
2016-07-11 18:09

I never actually got a response on whether there was interest in this, unless I missed it? So I guess I wouldn't assume there was, sadly...
(0034200)
ebering (developer)
2021-03-30 20:02

This patch has, in 7 years, aged beyond applicability. Some of its changes have been made (the no longer selecting recite type and hitting each creature with its most eligible prayer type, and monster hd is fuzzed for the power vs hd check). The effect selection switch at god-abil.cc#884 could still be refactored to build a weighted effect list, but a fresh patch would be needed.
(0034202)
Siegurt (reporter)
2021-03-30 20:52

Closing expired old patch

- Issue History
Date Modified Username Field Change
2014-05-03 20:12 Siegurt New Issue
2014-05-03 20:12 Siegurt File Added: 0001-Use-one-recite-effect-everything-with-it-s-most-appl.patch
2014-05-03 20:13 Siegurt Note Added: 0026028
2014-05-03 20:53 Reaver Note Added: 0026029
2014-05-03 20:58 Siegurt Note Added: 0026030
2014-05-03 21:07 Reaver Note Added: 0026031
2014-05-03 21:07 Reaver Note Edited: 0026031
2014-05-03 22:31 Kate Note Added: 0026032
2014-05-04 04:05 Kate Issue Monitored: Kate
2014-05-04 07:18 Siegurt Note Added: 0026033
2014-05-04 07:50 Reaver Note Added: 0026034
2014-05-04 22:05 Siegurt Note Added: 0026044
2014-05-04 22:16 Siegurt Note Added: 0026045
2014-05-04 22:16 Siegurt File Added: 0001-Full-squashed-recite-changes-with-whitespace-fixed.patch
2014-05-04 22:17 Siegurt File Added: 0001-Recite-with-new-weighting-no-new-effects.patch
2014-05-04 22:17 Siegurt File Added: 0001-Remove-recite-type-selection-do-most-eligable-recita.patch
2014-05-04 22:19 Siegurt Note Added: 0026046
2014-05-04 22:22 Siegurt Issue Monitored: Siegurt
2014-05-05 05:32 Reaver File Deleted: 0001-Use-one-recite-effect-everything-with-it-s-most-appl.patch
2014-05-05 05:34 Reaver Note Added: 0026048
2014-05-05 05:37 Reaver Note Edited: 0026048
2014-05-05 17:20 Kate Note Added: 0026051
2014-05-05 17:34 Kate Note Edited: 0026051
2014-05-05 18:35 Siegurt Note Added: 0026053
2014-05-05 19:34 Siegurt File Added: 0001-Full-recite-update (fixed).patch
2014-05-05 19:34 Siegurt Issue End Monitor: Siegurt
2014-05-05 19:34 Siegurt File Added: 0001-Recite-update-with-no-new-effects (fixed).patch
2014-05-05 19:37 Siegurt Note Added: 0026054
2014-05-05 23:14 Siegurt Issue Monitored: Siegurt
2014-05-06 00:18 Reaver File Deleted: 0001-Full-squashed-recite-changes-with-whitespace-fixed.patch
2014-05-06 00:18 Reaver File Deleted: 0001-Recite-with-new-weighting-no-new-effects.patch
2014-05-06 00:18 Reaver Note Added: 0026057
2014-05-09 03:14 Siegurt File Added: 0001-Clean-merged-full-recite-patch.patch
2014-05-09 03:19 Siegurt File Added: 0001-Clean-recite-merge-with-no-new-effects.patch
2014-05-09 03:21 Siegurt Note Added: 0026107
2014-05-09 03:24 Reaver File Deleted: 0001-Remove-recite-type-selection-do-most-eligable-recita.patch
2014-05-09 03:24 Reaver File Deleted: 0001-Full-recite-update (fixed).patch
2014-05-09 03:25 Reaver File Deleted: 0001-Recite-update-with-no-new-effects (fixed).patch
2014-11-19 02:19 wheals Note Added: 0027828
2015-02-10 11:32 chris Issue Monitored: chris
2016-07-11 07:46 Siegurt Note Added: 0030761
2016-07-11 18:09 PleasingFungus Note Added: 0030765
2019-10-03 22:21 Siegurt Issue End Monitor: Siegurt
2021-03-30 20:02 ebering Note Added: 0034200
2021-03-30 20:02 ebering Status new => resolved
2021-03-30 20:02 ebering Resolution open => suspended
2021-03-30 20:02 ebering Assigned To => ebering
2021-03-30 20:52 Siegurt Note Added: 0034202
2021-03-30 20:52 Siegurt Status resolved => closed


Mantis 1.1.8[^]
Copyright © 2000 - 2009 Mantis Group
Powered by Mantis Bugtracker