00:57:46 <08n​icolae> question: the little number that goes with monster spell lists, like in { SPELL_STEAM_BALL, 16, MON_SPELL_WIZARD }, or whatever, what does that actually mean 01:04:52 <09g​ammafunk> @nicolae 16% chance to cast that spell if it rolls casting a spell as its action 01:07:28 <08n​icolae> hmmm, i thought i saw a couple entries that had 100 or higher 01:08:44 <09g​ammafunk> yeah, so it has flexibility in that regard 01:09:22 <08n​icolae> Ah. 01:09:24 <09g​ammafunk> it rolls a random number between 0 and 199 01:11:41 <09g​ammafunk> I guess the way this works is that 16 -> 8% chance 01:11:44 <09g​ammafunk> now that I look at it 01:12:21 <10P​leasingFungus> uh 01:12:24 <10P​leasingFungus> yes 01:12:31 <10P​leasingFungus> was going to say, not 16%, yes 01:12:34 <10P​leasingFungus> but 8% is correct 01:12:39 <10P​leasingFungus> you may ask, why is it out of 200 and not 100? 01:12:53 <08n​icolae> the thought had occured to me! 01:12:54 <10P​leasingFungus> for that matter, why not do some reasonable smaller scale, out of 10 or something? 01:13:16 <10P​leasingFungus> (or maybe 20) 01:13:22 <09g​ammafunk> it allows monsters to go HYPER with spells, for one 01:13:39 <10P​leasingFungus> the answer to all of this is that this is based on an old system in which these values weren't explicitly stated, but were instead implicitly inferred from spellbook layout and monster HD 01:14:43 <09g​ammafunk> you can do ...well I suppose ultimately if you just think of these values as "twice the percentage", something like a freq of 100 is just actually 50% and there's nothing weird about that 01:14:45 <09g​ammafunk> 200 freq is 100% etc 01:14:59 <09g​ammafunk> just sort of oddly implemented with reservoir sampling and with this weird scale 01:25:20 <09g​ammafunk> @ZureaL sorry, immediately thought of our convo when I saw this, and had to ping you 01:25:21 <09g​ammafunk> https://cdn.discordapp.com/attachments/747522859361894521/867638424453120060/7kytruv81nc71.png 01:26:08 <09g​ammafunk> first and last time I will ping with anti-Ohio propaganda 02:18:27 Unstable branch on cbro.berotato.org updated to: 0.28-a0-2-g643f2454ad (34) 03:31:15 Fork (bcrawl) on crawl.kelbi.org updated to: 0.23-a0-4217-g7c68dc2372 03:35:40 Fork (bcadrencrawl) on crawl.kelbi.org updated to: 0.03-613-gf299df4180 04:17:51 -!- allbery_b is now known as geekosaur 06:22:30 <12Z​ureaL> Most sane people hate Ohio 😉 09:22:03 -!- The topic of #crawl-dev is: Crawl Development | https://github.com/crawl/crawl | Logs: http://s-z.org/crawl-dev/ | People with +v have commit access | Please keep general Crawl-related chat to #crawl | Long stuff to a pastebin service, please 09:22:04 -!- The topic of #crawl is: Play Dungeon Crawl Stone Soup online now! Type ??online for instructions, ??lg / !lg for play stats | PM Sequell for long queries | http://crawl.develz.org | FooTV game replays: ??footv for instructions | #crawl-dev for dev discussion, #crawl-offtopic for offtopic 10:13:51 -!- swebb_ is now known as swebb 10:33:50 <10P​leasingFungus> https://github.com/crawl/crawl/blob/master/crawl-ref/source/mon-cast.cc#L3629 10:34:55 <10P​leasingFungus> Whenever a monster gets its turn, if it's possible for it to cast spells (handled in mon-act.cc somewhere, I think?), it'll get a chance to choose a spell. 10:35:24 <10P​leasingFungus> If it's fleeing or pacified, it chooses from a small subset of 'escape' spells, like blink and teleport self. 10:36:05 <10P​leasingFungus> Otherwise, it looks over the entire list, filtering out "emergency" spells if it's not at low HP, short-range spells if it's a long way from its target, and long-range spells if it's a short way from its target. 10:36:36 <10P​leasingFungus> It rolls that value from 0-199 that gammafunk mentioned and, for each spell it doesn't filter out, it subtracts the spell's frequency (e.g. 16) from the value it rolled. 10:36:51 <06a​dvil> spellcasting branches off from _mons_take_special_action in mon-act.cc 10:36:54 <10P​leasingFungus> If the value is now less than or equal to zero, it tries to cast that spell. 10:38:00 <10P​leasingFungus> It's possible that it'll be unable to cast that spell - maybe it's trying to cast Still Winds but the winds have already been stilled, or it's trying to cast Flay but its target can't be flayed. 10:38:42 <10P​leasingFungus> In that case, the monster gets one (1) second chance to choose a spell to cast. It specifically tries to cast self-enchant spells (like Haste or Greater Healing) if at all possible here, since those are very likely to be useful. 10:38:59 <10P​leasingFungus> If that second chance also fails to find a useful spell, then the monster gives up and does something else with its turn. 10:39:17 <10P​leasingFungus> the funny thing is i just wrote that function a few weeks ago... just didn't remember the name 10:45:07 <08n​icolae> complicated! 10:50:10 <10P​leasingFungus> lil bit yeah 10:50:13 <10P​leasingFungus> could be worse 10:57:29 -!- Yermak_ is now known as Yermak 11:02:19 <09g​ammafunk> It should probably be said that what it's doing here is simply reservoir sampling to have the spell frequency corresponding to FREQ / 200 chance of selecting each non-filtered spell 11:03:06 <09g​ammafunk> it's just a common way to implement random choice of weighted items, and you see it a lot throughout the codebase 11:03:39 <09g​ammafunk> this is an instance that very likely could be replaced with one of our standard random weighted choice thingies if someone wanted to do that 11:04:02 <09g​ammafunk> but there are a bunch of instances of people rolling their out random sampling routines still left int he codebase 11:05:10 <10P​leasingFungus> sure 11:15:35 03robertxgray02 07https://github.com/crawl/crawl/pull/1892 * 0.27-a0-1515-g6bdd488f0c: Update Android build 10(3 months ago, 98 files, 5029+ 2086-) 13https://github.com/crawl/crawl/commit/6bdd488f0c07 11:22:12 <03w​heals> what is reservoir sampling, i only know The Grunt Algorithm 11:28:33 <08w​ormsofcan> it's an algorithm for randomly picking a single element from a weighted list 11:29:01 <08w​ormsofcan> its main benefit is that you do not need to store the list in memory to do the sampling, you can just query each element as it comes and immediately forget it 11:30:02 <10P​leasingFungus> i think wheals was making a joke 11:30:12 <10P​leasingFungus> luckily, jokes are forbidden 11:30:18 <10P​leasingFungus> so we can finally ban him now 11:30:32 <08w​ormsofcan> banished to the joke realm 11:30:44 <08w​ormsofcan> is that why the abyss's code letter is J? 🤔 11:38:55 <08w​ormsofcan> https://i.imgur.com/ycYMRFa.png 11:39:37 <08w​ormsofcan> game lists unmemorizable spells before memorizable spells 11:40:03 <08w​ormsofcan> because I have the spell levels, but not the xl 11:40:42 <08w​ormsofcan> this is an old version of trunk though so it might be fixed in the current version? 11:41:14 <10P​leasingFungus> womp 11:41:18 <10P​leasingFungus> don't think that's changed any time recently 12:35:46 <09g​ammafunk> @advil > * The macro creation and editing interfaces have been greatly improved. Anything better I should say about this? 12:45:46 <06a​dvil> I can take a stab at it later 13:06:47 Unstable branch on crawl.akrasiac.org updated to: 0.28-a0-2-g643f245 (34) 13:29:44 03PleasingFungus02 07* 0.28-a0-3-gfc94bf0d26: Make dancing launchers prefer ranged (gammafunk) 10(29 seconds ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/fc94bf0d265a 13:29:59 03PleasingFungus02 07[stone_soup-0.27] * 0.27-b1-1-g89dfdd3575: Make dancing launchers prefer ranged (gammafunk) 10(44 seconds ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/89dfdd357525 13:33:22 Unstable branch on crawl.kelbi.org updated to: 0.28-a0-3-gfc94bf0d26 (34) 14:27:47 <09g​ammafunk> ok I'll leave that for now 14:28:22 <09g​ammafunk> hrm 14:28:28 <09g​ammafunk> why does my ESC not bring up the game menu now 14:29:15 <06a​dvil> it's not on esc 14:29:28 <09g​ammafunk> ah 14:29:30 <09g​ammafunk> I see now 14:29:40 <06a​dvil> because I decided that that would be too big a change for esc 14:29:43 <06a​dvil> which is really not ideal 14:29:51 <06a​dvil> the ~ binding is not great 14:29:55 <09g​ammafunk> ah, and I've already rebound ~, rip 14:30:10 <09g​ammafunk> (clua interpreter) 14:30:25 <06a​dvil> I wonder if it would make sense to put on F1 or something 14:30:59 <09g​ammafunk> maybe I should put it there, yeah 14:31:17 <09g​ammafunk> now I need to find the syntax for that in keybind 14:47:13 I might do that by default? 14:48:01 a lot of people rebind F1 and that's fine, the main menu is still accessible 14:48:26 but I think it's useful to have it on an easier to access key 14:51:39 New branch created: pull/2041 (1 commit) 13https://github.com/crawl/crawl/pull/2041 14:51:39 03Aliscans02 07https://github.com/crawl/crawl/pull/2041 * 0.28-a0-4-ga90a05e17d: Check for monsters, objects & features as soon as you move. 10(71 minutes ago, 2 files, 5+ 1-) 13https://github.com/crawl/crawl/commit/a90a05e17dda 14:57:12 03advil02 07* 0.28-a0-4-geb5a7e5f55: fix: default bind F1 to CMD_GAME_MENU 10(7 minutes ago, 1 file, 1+ 0-) 13https://github.com/crawl/crawl/commit/eb5a7e5f55b2 15:00:55 <09g​ammafunk> nice 15:01:06 <09g​ammafunk> gonna cherry pick that too 15:02:17 03advil02 {gammafunk} 07[stone_soup-0.27] * 0.27-b1-2-g8387495791: fix: default bind F1 to CMD_GAME_MENU 10(12 minutes ago, 1 file, 1+ 0-) 13https://github.com/crawl/crawl/commit/838749579139 15:03:52 Unstable branch on crawl.kelbi.org updated to: 0.28-a0-4-geb5a7e5f55 (34) 15:06:26 <10P​leasingFungus> few other recent fixes we should cherry, i think 15:21:26 03PleasingFungus02 07* 0.28-a0-5-g1ec5790e4f: Fix webtiles display of corrosion (ShaperMC) 10(2 minutes ago, 1 file, 5+ 1-) 13https://github.com/crawl/crawl/commit/1ec5790e4f6e 15:33:29 Unstable branch on crawl.kelbi.org updated to: 0.28-a0-5-g1ec5790e4f (34) 15:50:42 03advil02 07* 0.28-a0-6-g334057b17a: fix: exclude autofight paths that can't see the target 10(8 minutes ago, 1 file, 9+ 0-) 13https://github.com/crawl/crawl/commit/334057b17ac2 15:50:58 probably best not to cherry-pick that one right away 16:01:25 <09g​ammafunk> @PleasingFungus I looked briefly and didn't see any, I'll check again in a bit, before I update changelog 16:01:33 <09g​ammafunk> yeah will hold off on the autofight fix 16:03:46 Unstable branch on crawl.kelbi.org updated to: 0.28-a0-6-g334057b17a (34) 17:20:34 <09g​ammafunk> @nicolae would like to adjust nicolae_shoals_siren_and_animal_friends to not have trivial monsters. I can try to make the best crossover set I can, but there's also not a lot of layout to contain weird animals for this one. I'd actually be inclined to remove this vault since there's not much to it, and we have a number of good shoals vaults now. But if you want to rework it, let me know 17:23:40 <08n​icolae> feel free to ditch it, that vault is ages old, if i come up with some similar idea i'll make it 17:24:43 <09g​ammafunk> gotcha, thx 17:25:50 <08n​icolae> now that the S-branches are getting their monster sets organized, i guess a lot of old vaults themed solely around their monster choice are going to need some fixes 17:33:29 <09g​ammafunk> yeah, I actually have a local branch doing a big pass over all the depths et all vaults in dat/des/variable 17:33:43 <09g​ammafunk> I finished and merged some of those changes, reworking some larger vaults 17:33:47 <09g​ammafunk> but there's a lot more 17:34:04 <09g​ammafunk> prompted by the pass PF did (I think it was him) over the Depths monster set 17:35:42 <09g​ammafunk> looks like it was lemuel_castle and the evilmike god themed vaults mostly 17:36:15 <09g​ammafunk> ah and few depths encompass maps 17:40:12 <09g​ammafunk> books are always fully ided now, right? 17:41:03 yes 17:47:54 <10P​leasingFungus> evil fungus struck again 17:50:40 <09g​ammafunk> only delights when players fail to get the ORB! 17:51:45 <08n​icolae> it's like there are two games going on at once, in an adversarial fashion. the players win by getting the orb. the devs win by killing the players. 18:14:25 oh/quit 18:16:57 -!- allbery_b is now known as geekosaur 18:24:10 Unstable branch on underhound.eu updated to: 0.28-a0-6-g334057b17a (34) 19:44:14 <05k​ate> going through some hints mode to look for out-of-date things and it's very good seeing the random stuff that was clearly informed by the ancient playtesting group 19:44:59 <05k​ate> like, to exit a portal vault look for another portal glyph like the one you entered with - "but NOT the ancient stone arch you'll start out on!" 20:37:55 <10P​leasingFungus> nice 20:37:58 <10P​leasingFungus> oh, i was thinking 20:38:18 <10P​leasingFungus> it'd be really nice if we had some hints mode and/or tutorial stuff talking about how to use (f) with quivered spells 20:38:26 <10P​leasingFungus> especially for stuff like scrolls of fear 20:38:43 <10P​leasingFungus> since it's super nice to be able to see those chances to affect but it's sort of hard right now 20:39:14 <10P​leasingFungus> alternately/additionally, a key you could press while in the inventory screen for those items (maybe actually (f)?) to preview their effect would be really good for new players 20:39:21 <10P​leasingFungus> i guess 'those items' are just 'fear' maybe? still 20:46:50 <05k​ate> hmm yeah, i think it's just fear maybe. iirc one of the tutorials does give out a scroll of fear at one point, maybe that could be explained there 20:48:10 <05k​ate> i think i did expand a bit on quivering spells in the tutorials recently too (or maybe someone else already had), i'll try and take a look after this hints stuff 20:57:11 <10P​leasingFungus> excellent 21:21:22 <09g​ammafunk> please explain the value of worshiping sif muna in the hints mode 21:27:18 <05k​ate> it already does! it correctly recommends you worship vehumet, " though Sif Muna is a good second choice." 21:27:35 <09g​ammafunk> ...wow 21:28:16 <09g​ammafunk> @PleasingFungus clearest way to say this? > * Eleionomae now teleport next to trees. Previously they teleported inside trees, which destroyed them. Found it surprisingly difficult to say this in a concise, changeloggy way 21:29:27 <05k​ate> i feel like that's probably a small enough thing not to bother mentioning? i prefer leaving out small stuff like that, although recent changelogs have tended to be more completionist i guess 21:34:40 <09g​ammafunk> I guess that's borderline and won't have a lot of practical gameplay relevance 21:35:40 <09g​ammafunk> this is kind of cryptic: > * Pandemonium and Hell lords now summon specific demon types. 21:44:41 <10P​leasingFungus> i'd be fine with cutting that, on further thought 21:44:52 <10P​leasingFungus> also agree with you and kate on eleio 21:46:08 <09g​ammafunk> k 21:50:05 <05k​ate> "Many forms of combat will spatter the surroundings with blood" " (if the victim has any, that is). Some monsters, like jackals " "or vampires, can smell blood from a distance and may come " "looking."; 21:50:08 <05k​ate> incredible 21:51:28 <09g​ammafunk> blood sense, I remember it well 21:51:58 <05k​ate> the commit removing it claimed it wasn't documented anywhere in-game! clearly wheals hadn't been playing hints mode enough 21:52:23 <05k​ate> oh not wheals, wrong commit 21:52:38 <05k​ate> but still! 21:54:52 <09g​ammafunk> Currently I have a little section like so: > * Branch ending maps: > - New "Abyssal Woods" Lair ending featuring demonic trees and abyss-themed > monsters. > - The "Jungle Book" Lair ending has been redesigned to have an undead theme > featuring necromancers and undead animals. > - New "Lost City" Shoals ending featuring a ruined temple theme with > minotaurs and sphinxes. > - 21:54:53 New "Storm Temple" Shoals ending feauturing electricity-themed monsters > and many possible layouts. > - New "Quicksilver Temple" Snake ending featuring quicksilver dragons. I like to give some details about significant new maps like branch endings since it's CONTENT! CONTENT! CONTENT! but it's not something we've done until relatively recently and I'm not sure if everyone likes it. So if any of the changelog 21:54:53 minimalists out there would prefer I just say something like "Two new Lair end maps, two new Shoals end maps, and a new Snake end map" on line, speak now, or forever hold your peace. 21:55:44 <09g​ammafunk> obviously we don't want to go mentioning every new vault but mentioning the big ones in some way seems good, even if we don't have to have a little summary of each 22:03:35 <08n​icolae> no, no, mention each vault 22:07:39 <09g​ammafunk> you think just dump the DES of each new vault into the changelog? 22:10:33 <10P​leasingFungus> i like this style of writeup 22:10:44 <10P​leasingFungus> seems reasonable to mention the work of the vaulters, since there's an awful lot of work being done there 22:11:50 <10P​leasingFungus> could also mention a few other categories of things, eg 'many new shop vaults' or something like that 22:12:07 "it's all nicolae's vault!" 22:15:00 <10P​leasingFungus> What Hath Nicolae Wrought 22:25:36 <09g​ammafunk> release highlight: removal of stab_bypass? 22:26:01 <10P​leasingFungus> hmmmmm 22:26:15 <08n​icolae> masterpieces 22:27:42 <10P​leasingFungus> unrelated fr: xom-only "jester form" with chaos-branded melee and cloak of the thief-style chaos cloud bursts on taking damage 22:28:56 <08n​icolae> bring back pies as xom-only gifts 22:29:07 <10P​leasingFungus> bring back? 22:29:27 <09g​ammafunk> nicolae has never made it to zot:5. 22:34:39 <08n​icolae> i have but it's been a while 😬 22:35:01 <08n​icolae> although i guess now that food's not a thing they're functionally identical to atropa darts 22:35:34 <09g​ammafunk> !klownpie nicolae 22:35:35 <04C​erebot> The Killer Klown throws a pie at nicolae. The Klown pie hits nicolae! Moon pie! nicolae turns into a filthy swine. 22:35:57 <08n​icolae> you can't give monster spells to players, gammafunk. i've tried. i got yelled at 😔 22:50:25 (Although I've heard there's a variant apparently devoted to exactly that.) 23:54:19 03gammafunk02 07* 0.28-a0-7-g84f66890ac: Update the changelog through 0.27-b1-2-g8387495791 10(5 minutes ago, 1 file, 66+ 38-) 13https://github.com/crawl/crawl/commit/84f66890ac36