00:02:01 Unstable branch on CRAWL.XTAHUA.COM updated to: 0.20-a0-941-gba1b1f9 (34) 01:10:03 I have a proposal for a new unit of dcss measurement, to go with millimarvins 01:15:06 no, we don't need millimays for number of tavern thanks 01:17:10 the semisigmund: half the number of deaths to sigmund in the 'old' version (currently 0.18) 01:17:49 its a way of measuring deaths caused by a unique, vault, etc. that automatically corrects for the number of crawl games increasing over time, for example 01:19:35 that sounds too useful to go in the same category with millimarvins 01:20:35 Unstable branch on crawl.develz.org updated to: 0.20-a0-941-gba1b1f9 (34) 01:30:13 removing crawl code is vastly more useful than simply dying to sigmund 01:32:25 !lairendkills lairtemple2 01:32:27 Lair End kills (lairtemple2): 98x cheibrodos_lair_end_hotspot (14.69%), 94x minmay_lair_end_frog_pond (14.09%), 71x gammafunk_lair_ancient_temple (10.64%), 58x evilmike_catoblepas_cave (8.70%), 56x wormcave (8.40%), 54x hangedman_lair_tendril_chambers (8.10%), 49x minmay_lair_end_enchanted_forest (7.35%), 47x grunt_lair_end_beastmaster (7.05%), 43x hangedman_lair_in_review (6.45%), 42x evil_forest... 01:33:03 !lg * lairtemple2 kmap~~end_frog_pond s=cikiller% 01:33:04 94 games for * (lairtemple2 kmap~~end_frog_pond): 40x a spiny frog (42.55%), 21x a tyrant leech (22.34%), 10x a vampire mosquito (10.64%), 8x a hydra (8.51%), 7x a blink frog (7.45%), 3x a komodo dragon (3.19%), 2x an electric eel (2.13%), 2x the player character (2.13%), a bullfrog (1.06%) 01:33:20 !lg * lairtemple2 kmap~~ancient_temple s=cikiller% 01:33:22 71 games for * (lairtemple2 kmap~~ancient_temple): 12x a komodo dragon (16.90%), 9x a rime drake (12.68%), 7x a polar bear (9.86%), 6x a manticore (8.45%), 6x a dire elephant (8.45%), 5x a hydra (7.04%), 4x a spiny frog (5.63%), 4x a hornet (5.63%), 4x a wyvern (5.63%), 4x an elephant (5.63%), 3x a harpy (4.23%), 3x a sea snake (4.23%), 2x a wind drake (2.82%), the player character (1.41%), a croc... 01:34:45 -!- Rast- is now known as rast 01:59:42 Windows builds of master branch on crawl.develz.org updated to: 0.20-a0-941-gba1b1f9 02:09:11 !lg * kmap~~the_grid s=place 02:09:12 947 games for * (kmap~~the_grid): 244x D:7, 179x D:8, 141x D:9, 130x D:10, 107x D:11, 53x D:12, 30x D:13, 20x D:15, 19x D:14, 13x D:6, 4x Depths:1, 3x Elf:1, Temple, D:5, Elf:3, Depths:2 02:09:28 huh, why's d:6 so low 02:10:57 !source the_grid.des 02:10:58 https://github.com/crawl/crawl/blob/master/crawl-ref/source/dat/des/variable/the_grid.des 02:11:18 maybe because it can only place on 7 and deeper? 02:11:23 I wonder if earlier versions could place on 6 02:11:31 !lg * kmap~~the_grid s=place recent 02:11:32 947 games for * (kmap~~the_grid recent): 244x D:7, 179x D:8, 141x D:9, 130x D:10, 107x D:11, 53x D:12, 30x D:13, 20x D:15, 19x D:14, 13x D:6, 4x Depths:1, 3x Elf:1, Elf:3, Temple, D:5, Depths:2 02:11:59 weird, all the 'DEPTH' entries here are 7 or deeper 02:21:37 .depths-primary recentish 02:21:38 1464 games for * (br=depths lvl>1 lvl<5 kmap!~entry kmap!~uniq !depths-encompass kmap!= recentish): 56x grunt_twisty_corner, 50x hangedman_box_tower, 42x hangedman_arch_fort, 40x grunt_bent_corner, 36x minmay_central_circle, 34x minmay_octagon_city, 28x gammafunk_depths_water_palace, 27x grunt_arcs, 25x hangedman_cross_cluster, 24x grunt_crosshair, 23x grunt_x_marks_the_spot, 22x little_maze_vault... 02:21:57 need to catch up to that coctagon city 02:23:02 Shock Serpent's Death Shock Struck Through Closed Door 13https://crawl.develz.org/mantis/view.php?id=10990 by bcadren 02:30:27 i like that vault. the grid that is 02:30:45 i enjoy the full capitalization on that report 02:30:52 makes it sound like a book title 02:31:11 suspect that the field one types it into is called 'title' 02:31:24 still kinda funny 02:31:36 like An Email From Your Grandmother 02:31:49 minmay: d:6 is probably that low on the grid because anyone familiar with it knows to save it till later? 02:31:56 heh 02:35:46 !stats musu 02:35:55 oops, wrong chan 02:36:06 Starting stats for MuSu: Str 11 Int 14 Dex 12. Stat gain: sid/5 02:54:46 Monster database of master branch on crawl.develz.org updated to: 0.20-a0-941-gba1b1f9 03:13:55 Unstable branch on crawl.beRotato.org updated to: 0.20-a0-941-gba1b1f9 (34) 05:05:25 !tell Brannock I didn't realize it had been moved to D:7-, all the originals placed on D:6- 05:05:26 minmay: OK, I'll let brannock know. 06:28:06 !source interest_check 06:28:07 Can't find interest_check. 08:36:27 -!- Euph0ria is now known as OICU812 09:56:23 03advil02 07* 0.20-a0-942-ga5226df: Fix webtiles rotting HP label (emsyzz, 10968) 10(6 minutes ago, 1 file, 3+ 12-) 13https://github.com/crawl/crawl/commit/a5226dfdab3b 10:09:29 Unstable branch on crawl.jorgrun.rocks updated to: 0.20-a0-942-ga5226df (34) 12:05:38 Auto-butchering with full inventory 13https://crawl.develz.org/mantis/view.php?id=10991 by Yermak 12:10:47 Autotargeting issue when aiming at empty square 13https://crawl.develz.org/mantis/view.php?id=10992 by Yermak 13:06:52 Unstable branch on crawl.akrasiac.org updated to: 0.20-a0-942-ga5226df (34) 14:38:47 -!- bannakaf_ is now known as bannakaffalatta 15:05:18 Mordusangel (L7 MiBe) ERROR in 'dbg-scan.cc' at line 724: Exit exit_sewer[152] didn't get generated. (Sewer) 15:05:25 Mordusangel (L7 MiBe) ERROR in 'dbg-scan.cc' at line 724: Exit exit_sewer[152] didn't get generated. (Sewer) 15:09:33 would other parts of the dungeon builder be confused if I made arrival vaults have an empty stone arch instead of the usual entrance/exit? 15:15:05 rumflump: you would be making it impossible to leave the dungeon, or what? 15:16:58 it's for hellcrawl, where the exit is actually in hell anyways 15:17:33 right now you can't leave from D2 forward, but you still can on D1, which is weird 15:18:26 i don't think the dungeon builder cares if there's no exit from the dungeon. it would be easy to try, right? 15:18:36 i would guess either it would fail or just place one elsewhere, seems like an easy thing to test though 15:18:55 oh, if you edit the entry vaults it might place another, yeah 15:19:16 i had forgotten the plan and was imagining just amending dungeon.cc to replace dungeon exits automatically 15:19:34 yeah, I will test it, I was just wondering if there are any known dungeon-builder quirks that rely on d1 having an exit. because sometimes you can test a thing and it compiles/runs just fine, but has hidden non-obvious side effects 15:22:15 i tried replacing it in dungeon.cc just now and i see: Unable to generate level for 'D:1'! 15:22:27 so probably a little more work is needed to find the code that verifies the level 15:23:38 I was gonna find/replace every one in the .des files, good to know that dungeon.cc forces one to appear 15:23:44 !source _valid_dungeon_level 15:23:45 1/1. https://github.com/crawl/crawl/blob/master/crawl-ref/source/dungeon.cc#L87 15:25:24 yeah, an extra fix there is all that's needed 15:27:12 rumflump: https://github.com/amalloy/crawl/commit/914d6df67963ea3ebda15e558177aa3aeb2e03a3 seems to work 15:36:10 oh hey, thanks! 16:04:06 looks like hellmonk actually removed all the exit_dungeon from arrival vaults, actually 16:04:38 there was just that missing piece in dungeon.cc, and your solution works perfectly, it seems 16:05:51 tfw you have The Great Idea and two other people already did it all 16:34:18 Weird '>'-cycle behaviour on mapped pan floors 13https://crawl.develz.org/mantis/view.php?id=10993 by Yermak 16:51:26 rumflump: the point is with the change to dungeon.cc you don't have to change the arrival vaults 16:52:01 it's better not to, even. not just simpler, but also it means there won't be merge conflicts when trying to keep up with crawl mainline if there are changes to the valuts 16:54:15 need a crawl2hellcrawl vault conversion script for every merge 16:55:45 !kw test 16:55:47 Built-in: test => char=test 16:55:51 hah 16:55:58 !kw test2 16:55:59 No keyword 'test2' 16:56:04 !kw test2 s=char 16:56:05 Defined keyword: test2 => s=char 16:56:15 !lg . won current trunk test2 16:56:16 3 games for gammafunk (won current trunk test2): GrIE, HuTm, TrGl 16:56:21 !kw -rm test2 16:56:22 oh, the "root ? :" thing replaces, not checks. neat 16:56:22 Deleted keyword: test2 => s=char 16:57:45 probably still be merge conflicts, because now if he wants to take advantage of that, he has to do a big partial revert 16:58:24 well no, I guess not for merge? only for rebase 16:58:35 and rebasing would be madness at this point 16:59:17 rebase would be certifiably nuts, yes 17:06:25 !kw byrolegroup s=regexp_replace(regexp_replace(regexp_replace(regexp_replace(regexp_replace(cls, "^(Fig|Gla|Mon|Hun|Ass).*", "Warrior"), "^(Art|Wan).*", "Adventurer"), "^(Ber|Aby|Cha|Dea|Pri|Hea).*", "Zealot"), "^(Ska|Tra|Warp|Arc|Enc).*", "WarriorMage"), "^(Air|Con|Ear|Fir|Ice|Nec|Sum|Ven|Wiz).*", "Mage") 17:06:26 Defined keyword: byrolegroup => s=regexp_replace(regexp_replace(regexp_replace(regexp_replace(regexp_replace(cls, "^(Fig|Gla|Mon|Hun|Ass).*", "Warrior"), "^(Art|Wan).*", "Adventurer"), "^(Ber|Aby|Cha|Dea|Pri|Hea).*", "Zealot"), "^(Ska|Tra|Warp|Arc|Enc).*", "WarriorMage"), "^(Air|Con|Ear|Fir|Ice|Nec|Sum|Ven|Wiz).*", "Mage") 17:06:34 !lg . won byrolegroup 17:06:38 72 games for gammafunk (won byrolegroup): 25x Mage, 15x WarriorMage, 15x Warrior, 10x Zealot, 7x Adventurer 17:06:44 powerful tech 17:08:06 !lg . won byrolegroup 17:08:08 64 games for amalloy (won byrolegroup): 22x Mage, 15x Warrior, 10x WarriorMage, 9x Adventurer, 8x Zealot 17:08:11 !kw byracegroup 17:08:11 No keyword 'byracegroup' 17:08:24 gammafunk: FR 17:08:33 true! 17:08:43 do we have those in handy keywords though??? 17:08:47 !kw mage 17:08:48 Keyword: mage => AE|Cj|EE|--FE|IE|Ne|Su|VM|Wz 17:08:50 !kw warriormage 17:08:51 Keyword: warriormage => Sk|Tm|Wr|AM|En 17:09:08 !kw simple 17:09:09 No keyword 'simple' 17:09:30 !kw simple HO|Mi|Mf|Gr|Dr|Ha|Tr|Gh 17:09:31 Defined keyword: simple => HO|Mi|Mf|Gr|Dr|Ha|Tr|Gh 17:09:36 !kw intermediate 17:09:37 No keyword 'intermediate' 17:09:42 !readall cheating 17:09:43 DDEE / SpEn 17:10:07 !kw intermediate Hu--|Ko|Ds|Ce|Sp|Te|DE|Og|DD 17:10:08 Defined keyword: intermediate => Hu--|Ko|Ds|Ce|Sp|Te|DE|Og|DD 17:10:14 !kw advanced 17:10:15 No keyword 'advanced' 17:10:45 !kw advanced VS|Vp|Dg|Fo|Na|Op|Fe--|Ba|Mu 17:10:46 Defined keyword: advanced => VS|Vp|Dg|Fo|Na|Op|Fe--|Ba|Mu 17:11:05 gammafunk: yes 17:11:20 now I have no excuse, but in my defense it's a lot to type 17:11:28 not sure if I can make an s= clause run sequelle things 17:11:57 would be a lot better to have it regexp_replace() starting from the two-letter role/race and query the kw directly to assembe the lists 17:12:01 *assemble 17:12:15 and it would make the replacement simpler as well 17:12:33 probably it has to be an actual sequell field though 18:05:40 Unstable branch on underhound.eu updated to: 0.20-a0-942-ga5226df (34) 18:32:56 are there April fools shenanigans I need to be aware of and support tomorrow? 18:36:16 don't think so 18:37:54 the achievement thing wouldn't have needed server support anyway i think? but only had an early implementation finished either way 18:42:39 show the player a list of achievement names at game start, but completely nonfunctional, unearnable 18:42:47 april fools. 18:51:03 johnstein: I don't think any april fools day plans ended up working out, at least not that I've heard about here 18:51:51 imo pretend you're going to remove ogres 18:52:25 <|amethyst> rename them to "Fat Human" in the char selection menu 18:52:27 |amethyst: You have 1 message. Use !messages to read it. 18:53:17 |amethyst: rename them to mountain dwarf 18:59:39 -!- Euph0ria is now known as OICU812 19:10:28 -!- OICU812 is now known as SofaKing 19:11:04 -!- SofaKing is now known as SofaKingGR8 19:20:10 would the rename to mountain dwarf imply that they are also being removed immediately afterwards? 19:30:35 murtidash (L18 DsCK) ASSERT(rc == 0) in 'mutation.cc' at line 2107 failed. (Abyss:3) 19:31:30 I guess someone should fix that some day 19:32:08 also, is there a way to get the save for "Mordusangel" on CAO without them doing a save backup? 19:33:49 Hey, anyone here? 19:34:32 advil: i don't think a dev can do that. it'd have to be a CAO admin 19:35:11 corvett: somewhat 19:35:31 I'm the guy that tried getting an audio implimentation project started like 2-3 years ago 19:35:40 I'm working on it again now 19:36:04 sounds good 19:36:11 I've got the bones of an engine set up in PureData that can be communicated to either via OpenSound Control, or as a .dll somehow 19:36:31 I don't actually know how crawl would communicate to Puredata, that's the part I would need help with 19:37:02 https://www.uni-weimar.de/kunst-und-gestaltung/wiki/images/Embedding_Pure_Data_with_libpd.pdf 19:37:29 this sort of gives an overview of how "libpd" works, which can wrap what I'm working on into a .dll that can be given commands 19:37:52 and I've got it set up where you send in a "playSE [name]" to oneshot a sound effect 19:38:24 or "playBGM [background scene]" to change the background soundscape 19:38:45 hmm that looks like something that could be embedded like any other library, and has a C api (I don't know that much about sound libraries though) 19:39:01 I'm taking care of all of the sound stuff 19:39:08 (Or, I plan to =p) 19:39:19 I guess the default approach might have been to use the sdl audio library 19:39:32 I don't know what that means 19:39:44 I can generate sound data, and send it out to the dac 19:40:19 crawl with local tiles is using a library called SDL for its graphics, that also has a sound api 19:40:19 (I think it'll sound out the dac, maybe it becomes a signal that you have to process back out of the .dll) 19:40:20 oh, ok 19:40:38 I can do research on SDL for sound, but I'm very fluent with Puredata 19:40:51 I guess the other thing to point you to is that a few months someone (not a dev) was working on a sound patch 19:41:12 I know I was one of those people at one point 19:41:13 actually it may have gotten merged? 19:41:19 Hmm 19:41:25 Can you point me in their direction? 19:41:36 %git 4270d38ebf63 19:41:36 07Autofire02 {|amethyst} * 0.20-a0-778-g4270d38: Enhanced sound support (PR #450) 10(8 weeks ago, 25 files, 341+ 78-) 13https://github.com/crawl/crawl/commit/4270d38ebf63 19:42:18 I don't know much about it or how it might relate to what you have in mind 19:42:27 I'm not sure either, I'll look at it 19:42:38 Is this all using the SDL library? 19:43:16 it looks like it, yes 19:43:25 looks like it uses one of several libraries depending on OS 19:43:38 Puredata I think is all in C at the root of it 19:43:39 oh, you're right 19:43:50 one of those being SDL 19:44:31 if you're talking about pd you may have something much more complicated in mind -- this patch just supports playing back sound files on events basically 19:44:33 I was also looking at generating all of the sounds, so there's no storage of sound files 19:44:38 ok 19:44:43 I was looking at generating them on demand 19:45:11 right, and it doesn't come with any iirc, the user has to provide their own as it stands 19:45:29 this patch would do it all for you 19:45:34 I just need to do some research in generating some of these =p 19:45:45 One of my questions is how I need to structure the oscillators 19:46:27 do I need to do the thing that old video games do where there's only 3 or 4 oscillators/noise generators running, and just change their parameters as I need them? 19:46:40 Or can I use as many oscillators as I'd like? 19:47:03 <|amethyst> isn't that more of a question about puredata than about crawl? 19:47:11 Puredata can run it all in realtime 19:47:22 if you're asking a performance question I have no idea how pd will interact with crawl's performance, but it doesn't really use much cpu 19:47:54 Could I be ok to use as much memory as my own PC can handle, do you think? 19:48:06 I'll consolidate all the noise, because I can do that pretty easily 19:48:20 just use one noise generator 19:48:35 <|amethyst> I think 8 or 16GB of RAM is a bit much 19:48:45 Ok 19:48:51 though our rule of thumb for performance is usually to do what seems like the right idea and optimize from there 19:49:09 having audio generation and avoiding the issue of getting sound files that the current setup has sounds great, but I will mention that I'm not sure how other devs would feel about introducing more heavy lib dependencies (hopefully embedding pd isn't the same situation as embedding max/msp would be, that's my only frame of reference for this) 19:49:44 What's embedding Max/MSP like? 19:49:52 Puredata is the open-source version of that 19:50:03 but I think libpd handles a lot of implimentation 19:50:04 well, extremely heavy, but it doesn't have any sort of wrapper library like this that I know of 19:50:14 it's a monolith 19:51:04 I'll focus on getting this patch built 19:51:45 yeah, that sounds good, I basically think you should sound out a few more devs than me (I'm the newest/least experienced one and it just happens that I'm here and able to chat for a few minutes) 19:51:54 haha 19:51:54 ok 19:52:12 Maybe if I'm not around before you see any of them, can you run the idea by them? 19:52:32 I can try to get back in here a few more times in the next week 19:52:38 people usually read the logs, so people may weigh in 19:52:43 ah, gotcha 19:52:47 I'm new to all of this 19:52:54 well, not everyone reads all the logs 19:53:15 you could send an email to the mailing list, or post on tavern? 19:53:33 ah, yeah, maybe the mailing list is the best choice 19:53:34 Oh, yeah, I posted to the tavern last time I tried something like this 19:54:11 PD's biggest weakness is it doesn't handle importing pre-composed music all too well, I'm going to be trying to compose soundscapes that sound interesting / mood-setting 19:54:22 it does generative soundscapes really, really well 19:54:34 I find crawl dev-related discussions in tavern often a bit painful tbh, that place can be very negative, but it will get lots of eyes 19:55:11 crawl-ref-discuss (the mailing list) is much quieter, but is mainly devs at least in terms of who responds 19:55:21 ok 19:55:34 what times do people get on here more frequently? 19:56:31 this can be an ok time but the channel has just been a bit quiet this week 19:56:41 alright 19:57:42 most people (but not all) seem to be US eastern or pacific, if that gives you any help 19:59:24 plus, it's not like anyone who is listening is keen to say "yes, i'm an expert on sound, i volunteer to merge this patch" 19:59:54 gammafunk is probably lurking, afraid someone will remember he wrote a patch that involved SDL 19:59:55 <|amethyst> might want to be careful about the word "patch" 20:00:14 <|amethyst> it means something completely different in pd 20:00:32 ah yes 20:00:58 <|amethyst> someone is going to have to write C++ code 20:01:14 <|amethyst> and no one on the dev team knows libpd 20:01:28 Ok, so I gotta learn C++ 20:01:45 this is the stuff I am wanting to learn that I need to know 20:02:04 libpd has a c++ wrapper 20:02:11 <|amethyst> also the SDL sound libraries, since it looks like libpd doesn't actually do sound output 20:02:18 ah interesting 20:02:45 where are you reading about libpd further than what I've linked? 20:03:01 Puredata will stream audio to somewhere 20:03:09 I just gotta know what I need to stream it to 20:03:16 <|amethyst> at least going by that paper: "libpd is an exercise in subtractive development: by removing audio, user interface, timing, and threading capabilities from Pd.." 20:03:26 hmm 20:03:45 I think I need to start talking to devs who've used libpd and see how they did it 20:03:49 I do know a certain amount about sound design & synthesis from other hobbies but _nothing_ about the programmatic side (I've sort of purposefully stayed away from that) 20:03:53 https://github.com/libpd/libpd/wiki/cpp 20:04:08 I know quite a bit about sound design and synthesis 20:04:11 is the c++ wrapper 20:04:19 I've got a degree in Music =) 20:04:43 <|amethyst> you'd probably stream it through SDL but that isn't trivial 20:05:07 do I count as a sound expert 20:05:20 i would describe you as more of an unsound expert 20:05:38 What language(s) is Crawl written in? 20:05:51 c++ and lua 20:05:52 corvett: the part you care about is in C++. there's some lua too 20:05:56 ok 20:06:12 I just gotta learn enough C++ to get libpd to work then 20:06:45 all my program experience is in Javascript and Basic =p 20:06:52 so I've got some learning to do 20:07:05 (FR: lua bindings so the player can customize the soundtrack in their rcfile) 20:07:30 (while i'm sure that would be super cool, it is a lot of work and not something i'm suggesting you actually do) 20:07:59 I'd be looking for a way to let players put in a command to change the bgm as well 20:08:11 just lemme know if you need code to play MODs 20:08:23 and my engine right now is set up that when you send a bgm music name, everything that doesn't have the name of the thing you send turns itself off 20:08:33 so you could send like a "null" or "mute" to turn all bgm off 20:15:21 -!- amalloy is now known as amalloy_ 20:19:54 If you scroll down on here, this guy used libpd http://cdm.link/2011/12/pugs-luv-beats-marries-music-gaming-on-ios-how-it-was-made-how-free-libpd-music-tool-helped/ 20:20:12 and he's got his puredata file sending audio directly to a dac 20:20:19 so in theory, it should go straight to the user's audio 20:21:27 he only has like 6 sound effects there though 20:22:33 I'm not sure what you mean by going directly to a dac but there must be an audio driver (and probably higher level api) somewhere in the loop 20:22:41 it's possible libpd itself handles some of that 20:22:53 though that's what |amethyst was suggesting it doesn't do 20:22:57 "digital audio converter" 20:23:04 right, a dac is a piece of hardward 20:23:07 *hardware 20:23:13 usually 20:23:21 Puredata handles it's own conversion and sending it to your audio drivers when it's running on it's own 20:23:40 I'm certainly hoping it does that wrapped in a .dll, too 20:23:47 ok 20:24:14 I guess by dac you really mean a pd dac~ object? 20:24:27 yep! 20:24:38 <|amethyst> that one uses ofxPd, which is for OpenFrameworks 20:25:32 is "ofxPd" not compatible with DCSS? 20:26:52 <|amethyst> we don't currently use OpenFrameworks, so someone would need to learn that and integrate it with Crawl 20:27:24 I've found plenty of people who say they've integrated it with sdl 20:27:34 (no one who says how in any detail) 20:27:39 so that's probably the first thing to try 20:28:38 well, here's someone who offered to say how and got ignored: http://everywhere642.rssing.com/chan-24616392/all_p8.html#item148 20:34:15 I've just emailed the dev from that puglove game 20:34:17 asking about it 20:40:53 this mutation code is very strange 20:46:49 I kind of want to rewrite it but I really don't want to do the testing that would involve 20:54:30 advil: looking at that one mutation bug? 20:54:36 yeah 20:54:42 I feel bad about not fixing it but I must triumph over this marker code first 20:54:48 I read over your discussion the other day, so that was helpful 20:55:00 it seems sort of obvious what should happen but this code is so weird I'm not sure what's right 20:55:12 I can't see how conflicts between temp mutations are ever properly dealt with, for example 20:56:13 this code always assumes that the existing mutation is permanent? 20:56:27 |amethyst might have some insight about that 20:56:36 also, 20:56:38 if (you.hp <= 0) 20:56:38 { 20:56:38 ouch(0, KILLED_BY_FRAILTY, MID_NOBODY, 20:56:40 make_stringf("gaining the %s mutation", 20:56:42 mutation_name(mutat)).c_str()); 20:56:44 } 20:56:46 can that happen?? 20:57:06 would that mean it has its own ktype? 20:57:16 !lg * s=ktype o=-N 20:57:20 7016168 games for *: 2x tso smiting, 2x falling through gate, 35x petrification, 61x reflect, 72x freezing, 80x headbutt, 92x beogh smiting, 160x collision, 197x mirror damage, 243x clumsiness, 264x wizmode, 265x weakness, 293x being thrown, 537x xom, 540x falling down stairs, 608x divine wrath, 715x lava, 784x barbs, 799x rolling, 926x self aimed, 1079x targetting, 1193x spines, 1266x stupidity, ... 20:57:31 lotta ktypes... 20:57:37 !lg * ktype~~frail 20:57:38 No games for * (ktype~~frail). 20:57:48 !lg * ktype~~mut 20:57:48 No games for * (ktype~~mut). 20:57:54 not sure how KILLED_BY_FRAILTY works 20:58:04 !lg * ktype~~weakness 20:58:08 265. firemonkey the Reanimator (L12 VpNe of Xom), collapsed under their own weight caused by deterioration mutation in the Temple (minmay_temple_bridge_a_8) on 2015-10-30 20:18:19, with 19251 points after 51081 turns and 2:17:55. 20:58:16 !lg * s=ktype o=-N -graph 20:58:17 oh 20:58:21 7016168 games for *: https://shalott.org/graphs/ac98a9e08b685a239302cc88367ca69396703960.html 20:58:26 apparently it can (or could) happen! 20:59:18 !lg * ktype~~weakness x=kaux 20:59:20 265. [kaux=deterioration mutation] firemonkey the Reanimator (L12 VpNe of Xom), collapsed under their own weight caused by deterioration mutation in the Temple (minmay_temple_bridge_a_8) on 2015-10-30 20:18:19, with 19251 points after 51081 turns and 2:17:55. 20:59:23 !lg * ktype~~weakness s=kaux 20:59:24 265 games for * (ktype~~weakness): 66x drinking a potion of degeneration, 61x wearing the ring of strength, 34x, 20x deterioration mutation, 18x unknown source, 17x might running out, 7x an indirect mummy death curse, 6x losing the lich transformation, 4x a shadow, 3x gaining the bat transformation, 3x the effects of Hell, 2x miscasting Animate Dead, 2x wretched star, 2x a mummy death curse, 2x a ... 20:59:46 some pretty great sounding deaths there 20:59:53 I like "an indirect mummy death curse" 21:00:01 and "might running out" 21:00:30 gaining the bat transformation 21:01:11 !lg * kaux~~thrown_by_aguardian_mummy 21:01:12 No games for * (kaux~~thrown_by_aguardian_mummy). 21:01:16 !lg * kaux~~thrown_by_a_guardian_mummy 21:01:37 4. Atomjack the Devastator (L27 OpFE of Vehumet), hit from afar by a guardian mummy (spear) on Tomb:2 (tomb_2) on 2012-10-16 16:48:11, with 723756 points after 119926 turns and 11:31:02. 21:01:38 ktype of "wretched star" sounds interesting as well 21:01:52 <|amethyst> that was kaux, not ktyp 21:02:06 still a good one 21:02:14 octopode crusher guardian mummies 21:02:26 <|amethyst> !lg * kaux=wretched_star s=ktyp 21:02:27 23 games for * (kaux=wretched_star): 11x stupidity, 10x clumsiness, 2x weakness 21:02:32 <|amethyst> !lg * kaux=wretched_star s=killer 21:02:33 23 games for * (kaux=wretched_star): 23x 21:03:03 !lg * kaux=hit_by_a_glowing_orcish_hand_axe_thrown_by_aguardian_mummy 21:03:04 No games for * (kaux=hit_by_a_glowing_orcish_hand_axe_thrown_by_aguardian_mummy). 21:03:07 !lg * kaux=hit_by_a_glowing_orcish_hand_axe_thrown_by_a_guardian_mummy 21:03:09 1. vandra the Frost Mage (L9 DEIE of Vehumet), hit from afar by a guardian mummy (glowing orcish hand axe) on D:8 on 2011-05-21 21:29:25, with 2106 points after 8704 turns and 1:35:05. 21:04:09 !lg * max=length(kaux) x=kaux 21:04:15 7016195. [kaux=the +5,+7 cutlass of the Elven Halls {slice, rElec rF+ rC+ rN+ Str-1 Dex+3 SInv}] hyun13600 the Slicer (L10 DsVM of Dithmenos), slain by a necrophage (the +5,+7 cutlass of the Elven Halls {slice, rElec rF+ rC+ rN+ Str-1 Dex+3 SInv}) on D:10 on 2014-04-08 05:12:59, with 5259 points after 12757 turns and 3:02:47. 21:04:27 deng 21:04:41 also wow, necrophages could wield weapons?! 21:04:46 good sequell search 21:05:01 <|amethyst> !lg * max=length(kpath) x=kpath 21:05:07 7016196. [kpath=summoned by a deep elf sorcerer:summoned by a Blue Death:summoned by a deep elf demonologist:summoned by a Blue Death:summoned by a deep elf demonologist] Churchmouse the Blademaster (L27 HaWn of Okawaru), blasted by a smoke demon (divine providence) (summoned by a deep elf sorcerer (summoned by a Blue Death (summoned by a deep elf demonologist (summoned by a Blue Death (summoned b... 21:05:24 <|amethyst> ??blue death 21:05:24 blue death[1/1]: Churchmouse the Blademaster (L27 HaWn), worshipper of Okawaru, blasted by a smoke demon (divine providence) (summoned by a deep elf sorcerer (summoned by a Blue Death (summoned by a deep elf demonologist (summoned by a Blue Death (summoned by a deep elf demonologist))))) in Zig:21 on 2011-08-02, with 649571 points after 98719 turns and 13:08:27. 21:05:53 <|amethyst> !lg * max=length(kpath) x=kpath -2 21:05:58 7016195/7016196. [kpath=created by an active ballistomycete:created by a giant spore:created by an active ballistomycete:created by a giant spore] sorear the Marksminotaur (L13 MiGl of Yredelemnul), killed by an exploding giant spore (created by an active ballistomycete (created by a giant spore (created by an active ballistomycete (created by a giant spore)))) on D:11 on 2009-11-23 04:28:29, with... 21:06:05 necrophages can still wield weapons afaik 21:06:11 @?necrophage 21:06:12 necrophage (15n) | Spd: 10 | HD: 5 | HP: 22-32 | AC/EV: 2/10 | Dam: 804(rot) | 07undead, 10doors, evil, unbreathing | Res: 06magic(40), 02cold, 09poison+++, 12drown, 04rot, 13neg+++, 13torm | Vul: 08holy | Chunks: 14noxious | XP: 122 | Sz: Medium | Int: human. 21:06:16 oh, they can't anymore 21:06:18 my mistake 21:07:02 !lg * max=length(kpath) x=v 21:07:07 7016199. [v=0.8.1] Churchmouse the Blademaster (L27 HaWn of Okawaru), blasted by a smoke demon (divine providence) (summoned by a deep elf sorcerer (summoned by a Blue Death (summoned by a deep elf demonologist (summoned by a Blue Death (summoned by a deep elf demonologist))))) on Zig:21 on 2011-08-02 13:41:31, with 649571 points after 98719 turns and 13:08:27. 21:07:09 er 21:07:11 !lg * max=length(kaux) x=v 21:07:17 7016199. [v=0.14.0-b1] hyun13600 the Slicer (L10 DsVM of Dithmenos), slain by a necrophage (the +5,+7 cutlass of the Elven Halls {slice, rElec rF+ rC+ rN+ Str-1 Dex+3 SInv}) on D:10 on 2014-04-08 05:12:59, with 5259 points after 12757 turns and 3:02:47. 21:07:18 <|amethyst> %git 320abf6e4 21:07:18 07MarvinPA02 * 0.15-a0-439-g320abf6: Don't let necrophages pick up equipment either 10(2 years, 11 months ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/320abf6e435d 21:07:22 aha 21:11:04 <|amethyst> !lg * max=length(kaux) -2 21:11:10 7016209/7016210. Bothanusprime the Martial Artist (L13 NaTm of Kikubaaqudgha), demolished by a minotaur (the cursed +0 demon blade of Beogh's Approval {flame, *Rage *Confuse +Inv Str+3}) in a Labyrinth (labyrinth_mini_lab) on 2016-02-25 21:41:04, with 24614 points after 16422 turns and 2:19:36. 21:11:32 <|amethyst> !lg * max=length(kaux) current 21:11:34 634614. Ladykiller69 the Grappler (L11 TrAK of Lugonu), slain by a minotaur (the +9 rapier of the Land of Plenty {antimagic, rF+ Str-4 Int+4 Dex+6 SInv}) in a Labyrinth (labyrinth_mini_lab) on 2016-11-22 15:08:29, with 10175 points after 8671 turns and 0:45:02. 21:11:35 <|amethyst> !lg * max=length(kpath) current 21:11:37 634614. HaltingProblem the Unseen (L14 FeEn of Nemelex Xobeh), slain by a spectral five-headed hydra (called from beyond by a ghost crab (called by a spriggan druid (called by a spriggan druid (called by a spriggan druid)))) on Swamp:3 on 2016-12-11 19:51:09, with 64684 points after 42399 turns and 2:50:48. 21:12:55 [2 21:20:58 the most dangerous game of telephone 21:35:44 man mutation interaction is a mess 22:12:02 ^vps 22:12:09 ^status 22:12:09 44 Crawlers. CBRO disk usage=79% (135GB) | RAM usage=32% (4GB)| uptime/CPU= 22:12:08 up 29 days, 2:50, 7 users, load average: 0.70, 0.85, 0.97 (4 Cores) http://status.berotato.org 22:13:03 03advil02 07* 0.20-a0-943-g9cf45f8: checkwhite 10(22 seconds ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/9cf45f896cff 22:16:32 03advil02 07* 0.20-a0-944-g3d340bb: Fix (or at least improve) resolution of temporary mutations 10(3 minutes ago, 1 file, 13+ 6-) 13https://github.com/crawl/crawl/commit/3d340bbdaddf 22:16:54 I have ...low confidence in _handle_conflicting_mutations, even after those fixes 22:20:35 does that fix the crash at least? 22:20:38 yeah 22:20:40 nice 22:20:53 basically wasn't checking if the existing mutation was temporary 22:21:26 sorry, I should have credited you for the irc discussion Ir ead 22:21:35 which was very helpful 22:22:54 nbd at all 22:23:29 if you fix a bug of mine later, blame amalloy instead of me, and I'll be perfectly happy 22:24:08 :-) 22:59:32 this isnt crawl related but does anyone know what the 'rep' program is 23:00:03 i typed grep and missed the g and now i know i can install a package called rep 23:00:15 but googling stuff like "linux rep" isnt informative 23:00:45 guess i could live dangerously and install it 23:01:02 are you on debian 23:01:54 if you use aptitude instead of apt, press / to find the package, and then you can read all the deets while it's highlighted 23:02:08 debian/ubuntu/mint etc 23:02:09 ah 23:02:20 i used apt search for that because i couldnt remember the better way 23:02:26 mystery solved its some lisp interpreter 23:02:30 aptitude is super groovy 23:02:33 thx 23:02:45 especially for a "browsey / shoppy" experience 23:05:10 * geekosaur missed that... rep is the lisp interpreter the sawfish window manager is written in 23:09:22 Unstable branch on crawl.jorgrun.rocks updated to: 0.20-a0-944-g3d340bb (34) 23:19:18 draconian suggestion: give them an elemental weakness when they get their colour, instead of just an apt penalty 23:19:27 in addition to the apt penalty that is, i phrased that badly 23:20:32 <|amethyst> yeah, what geekosaur said 23:20:42 <|amethyst> sawfish is my wm 23:20:44 red and pale get rC-, white gets rF-, grey gets -5 EV 23:20:58 <|amethyst> so I've written a bit of rep code 23:21:42 <|amethyst> not much point in using it for anything but sawfish, when you could choose a more standardised or a more modern lisp 23:22:26 hm, or pale could get MR- instead 23:41:44 03elliptic02 07* 0.20-a0-945-g3bf614a: Add player lua to tell whether the player is under penance with a specified god. 10(70 seconds ago, 1 file, 4+ 0-) 13https://github.com/crawl/crawl/commit/3bf614ab10e7 23:47:10 wow, sawfish 23:47:52 spot the geezers :p 23:48:35 no..I was remarking on the sea creature... 23:48:56 !source str_to_god 23:48:56 1/1. https://github.com/crawl/crawl/blob/master/crawl-ref/source/religion.cc#L2097 23:54:17 <|amethyst> it was called 'sawmill' at first but they had to change it because of the analytics system 23:55:25 <|amethyst> then it went dormant and was picked up by a different dev team 23:55:27 ??amulet of stasis 23:55:27 stasis[1/2]: Blocks teleport, blink, haste, slow, berserk, and paralysis. The amulet (removed in 0.18) will give you some (possibly yellow) {contam} and cancel the status if you put it on while hasted or slowed, or while waiting for teleport. Formicids have this as an intrinsic. 23:55:36 <|amethyst> I guess it's the Crawl of window managers 23:55:43 unsure why that had to be removed 23:56:01 FR: bring back stasis and have it block banish also 23:56:25 <|amethyst> the reasoning is here 23:56:29 <|amethyst> %git 685a3a75 23:56:29 07Lasty02 * 0.18-a0-751-g685a3a7: Transform the amulet of stasis into the amulet of reflection 10(1 year, 4 months ago, 30 files, 199+ 190-) 13https://github.com/crawl/crawl/commit/685a3a753ca6 23:58:02 it could get an anti-swap mechanic like most amulets have these days 23:58:32 I disagree with this part: "Because its use completely protected against the statuses involved, it 23:58:32 wasn't a particularly interesting way to deal with those statuses." 23:58:52 stasis boots? 23:58:55 an extra couple pluses of MR do the same thing, and those are considered interesting 23:59:19 <|amethyst> there is a difference between 99% and completely 23:59:59 iirc you can get to 100. but that doesn't matter. wearing an item that protects you against a certain subset of spells isnt automatically uninteresting