00:00:04 at least it seemed to work, I only tested that one very slightly 00:18:22 03advil02 07* 0.20-a0-996-g8fa4f26: Fix a false assumption 10(2 minutes ago, 1 file, 2+ 1-) 13https://github.com/crawl/crawl/commit/8fa4f26d0778 00:19:59 a powerful argument for the removal of monster invis 00:21:33 |amethyst: I don't suppose you're around 00:21:54 less-human-like species seem to get sinv commonly. just keep adding semi-animal species until sinv is the default 00:23:44 because I'm going to have to revert some things if I can't decode these error messages 00:23:49 it compiles fine for me locally :-( 00:25:40 <|amethyst> advil: you need to inherit from std::iterator if you want to use std algorithms 00:25:52 oh 00:25:59 <|amethyst> advil: see for example stack_iterator (in items.h) 00:27:20 wonder why it works for me 00:28:12 <|amethyst> different STL implementations 00:28:34 <|amethyst> the failing builds (so far) are using clang 00:29:03 it looked like it failed for both in the test I looked at 00:29:06 similar error messages 00:29:12 <|amethyst> oh, you're right 00:29:26 I'm just going to back off to a for loop for now, so that I can go to sleep 00:31:35 Unstable branch on CRAWL.XTAHUA.COM updated to: 0.20-a0-993-gba41c3c (34) 00:31:56 thanks 00:35:48 03advil02 07* 0.20-a0-997-g5e58985: Fix the build 10(78 seconds ago, 1 file, 20+ 4-) 13https://github.com/crawl/crawl/commit/5e58985c2b25 01:02:58 ??bultungin 01:02:58 Bultungin[1/3]: Hyena-headed humanoids. Their aptitudes start out at +4 in all skills, and after the skill is level 7, quickly decrease to -6 when the skill is level 11. 01:03:00 ??bultungin[2 01:03:00 Bultungin[2/3]: Bultungins also have see invisible, fangs 1, and can detect any items within 7 tiles with their strong nose. Base stats of 7 STR/8 INT/9 DEX with increases of sid/5, +2 MR/level, and baseline XP/HP/MP values. 01:03:02 ??bultungin[3 01:03:03 Bultungin[3/3]: They start out with an effective aptitude of +4 for all skills until skill level 7 for each skill. After that, their aptitude for that skill reduces by 2 for each skill level, with a floor of -6 at skill level 11. 01:03:32 !learn add bultungin http://i.imgur.com/QjZ27rt.jpg 01:03:33 Bultungin[4/4]: http://i.imgur.com/QjZ27rt.jpg 01:06:10 1learn add bultungin https://s-media-cache-ak0.pinimg.com/736x/68/69/e3/6869e3714bed60e8dd4063a9504e8fe4.jpg 01:10:43 Unstable branch on crawl.jorgrun.rocks updated to: 0.20-a0-997-g5e58985 (34) 01:54:46 furries are gross 02:08:13 learn add minmay 02:16:27 imo furries are unfairly maligned 02:17:17 gammafunk, whats your standard on horrendously reaching puns in vault names 02:18:27 you ask me that after submitting "coctagon"? 02:18:50 thats not an especially far-reaching pun 02:19:06 it just shows that no true principles exist 02:19:34 even crawl itself abbreviates cocytus to Coc sometimes 02:19:58 it leads into "octagon" so naturally 02:20:25 that vault name is probably the only true dick joke in crawl 02:20:30 this is like when the cdda devs tried to convince me that the "vibrator" is just a "massage tool" 02:20:49 well, what I really wanted to do is point out that "ultimate_mussel_roller" is now in sequell's database, and there's nothing you can do about it, no amount of commits will change that 02:21:00 It wasn't even supposed to be a dick joke! 02:21:18 !lg * kmap~~mussel 02:21:19 1. nikopol the Spear-Bearer (L10 GrBe of Trog), slain by a six-headed hydra (kmap: minmay_the_grid_octo_triangle; minmay_the_grid_octo_prize_ultimate_mussel_roller) on D:8 on 2017-04-09 16:39:37, with 4883 points after 7484 turns and 0:14:09. 02:21:38 you know Brannock doesn't read things carefully sometimes 02:23:52 i thought he was a console player 02:24:17 I only ever made 1 dick joke vault and I never submitted it 02:24:21 !lg brannock s=tiles 02:24:22 1757 games for brannock: 1122x true, 635x false 02:24:30 !lg brannock s=tiles recent 02:24:31 210 games for brannock (recent): 210x true 02:24:39 wow 02:25:25 specifically this one https://crawl.develz.org/tavern/viewtopic.php?f=17&t=15447 02:26:18 gammafunk, my only real regret is that it doesn't look all that much like a mussel 02:57:17 -!- amalloy_ is now known as amalloy 03:20:15 Meriados (L19 DgVM) ASSERT(!invalid_monster(&mons)) in 'mon-death.cc' at line 1887 failed. (Elf:2) 03:21:36 Meriados (L19 DgVM) ASSERT(!invalid_monster(&mons)) in 'mon-death.cc' at line 1887 failed. (Elf:2) 03:24:54 Unstable branch on crawl.beRotato.org updated to: 0.20-a0-997-g5e58985 (34) 03:26:31 Meriados (L19 DgVM) ASSERT(!invalid_monster(&mons)) in 'mon-death.cc' at line 1887 failed. (Elf:3) 03:30:11 Meriados (L19 DgVM) ASSERT(!invalid_monster(&mons)) in 'mon-death.cc' at line 1887 failed. (Elf:3) 03:30:50 Meriados (L19 DgVM) ASSERT(!invalid_monster(&mons)) in 'mon-death.cc' at line 1887 failed. (Elf:3) 03:33:29 Meriados (L19 DgVM) ASSERT(!invalid_monster(&mons)) in 'mon-death.cc' at line 1887 failed. (Elf:3) 03:34:52 Meriados (L19 DgVM) ASSERT(!invalid_monster(&mons)) in 'mon-death.cc' at line 1887 failed. (Elf:3) 03:37:30 Meriados (L19 DgVM) ASSERT(!invalid_monster(&mons)) in 'mon-death.cc' at line 1887 failed. (Elf:3) 03:38:42 Meriados (L19 DgVM) ASSERT(!invalid_monster(&mons)) in 'mon-death.cc' at line 1887 failed. (Elf:3) 04:08:12 -!- amalloy is now known as amalloy_ 04:16:53 -!- diphenhydramine is now known as Euph0ria 08:46:39 !crashlog 08:46:40 16835. Meriados, XL19 DgVM, T:63256 (milestone): http://crawl.xtahua.com/crawl/morgue/Meriados/crash-Meriados-20170411-073821.txt 08:54:34 I think it's when you kill a summoned monster and the summoner at the same time with ignite poison 08:54:38 I just managed to replicate it once 08:57:22 <|amethyst> advil: _ignite_poison_monsters checks for no monster (mon == nullptr) but not a dead monster 08:57:33 <|amethyst> advil: so probably the summons are being double-killed 08:57:42 monster_die seems to get called after the monster has disappeared in a puff of smoke 08:57:48 <|amethyst> that mon == nullptr should probably be invalid_monster(mon) 08:57:52 yeah 08:57:55 that's what monster_die uses 09:02:26 hmm that didn't fix it 09:12:44 <|amethyst> oh 09:12:52 <|amethyst> invalid_monster also doesn't check for life 09:13:24 huh...but then why does monster_die crash on that assert? 09:15:16 <|amethyst> hmm 09:15:27 <|amethyst> why is it calling monster_die anyway? 09:15:42 <|amethyst> this is specifically when the monster was already killed by hurt 09:15:46 <|amethyst> which already called monster_die 09:15:58 <|amethyst> because we passed the default cleanup_dead = true 09:16:00 yeah, I'm a little confused 09:16:14 I'm just checking exactly what monster_die is called on when right now 09:18:55 <|amethyst> it's been like this for a while 09:19:03 <|amethyst> %git 6b64c94a 09:19:03 07Eronarn02 {kilobyte} * 0.8.0-a0-4794-g6b64c94: Ignite Poison changes. 10(6 years ago, 2 files, 55+ 18-) 13https://github.com/crawl/crawl/commit/6b64c94ad00d 09:19:20 <|amethyst> note how that replaced a call to _player_hurt_monster with a modified copy of that function's contents 09:20:07 <|amethyst> *but* inside _player_hurt_monster we call monster::hurt with cleanup_dead = false 09:20:19 <|amethyst> and in this "new" code it's true 09:21:03 it seems to be the elementalist itself that is at issue 09:21:15 not the summons (which makes sense, they're probably poison immune) 09:21:28 but I don't think it crashes without summons 09:22:21 no, it does crash w/o summons 09:22:34 I wonder if amalloy's change to monster_die somehow revealed this? I'm not really seeing it yet tho 09:24:08 yeah, ignite poison is just crashing now when it kills stuff 09:24:30 <|amethyst> advil: monster_die didn't have that assert before 09:24:35 ah 09:25:13 <|amethyst> I guess revert that assert back to an if (invalid_monster(&mons)) return nullptr; // might have been cleaned up already 09:25:49 <|amethyst> or actually fix it, but I bet this isn't the only case where we call monster_die on an already dead (and thus possibly cleaned-up) monster 09:28:04 <|amethyst> I guess which to do depends in part on how soon we want to release 09:28:33 I'm going to spend a few more minutes trying to understand where the monster dies first in this case, at least while I'm drinking my coffee 09:29:14 <|amethyst> advil: I think it's in the call to hurt() 09:29:36 oh heh 09:29:39 I missed that line 09:29:45 overcomplicating things 09:30:09 !seen brannock 09:30:09 I last saw Brannock at Sun Apr 9 17:56:36 2017 UTC (1d 19h 33m 33s ago) quitting, saying 'Client Quit'. 09:30:26 <|amethyst> I think if you called it with cleanup_dead = false that would fix this particular problem 09:30:34 <|amethyst> because then it wouldn't die in hurt(), only here 09:30:37 so that one can be fixed by not doing cleanup 09:30:40 yes 09:30:45 <|amethyst> (alive() will still be false because that checks HP) 09:30:48 <|amethyst> yeah 09:31:12 <|amethyst> though actually 09:31:22 <|amethyst> you could just remove the else { monster_die } 09:32:29 yeah that's a good idea, it doesn't seem to add anything 09:32:44 <|amethyst> it might be nice to pass a useful ktype, but I *think* right now the call to monster_die uses the same parameters as the call to hurt() would use 09:32:50 <|amethyst> s/to hurt/from hurt/ 09:32:52 it seems identical 09:32:58 <|amethyst> might set a breakpoint just to verify 09:33:14 <|amethyst> or add a dprf even 09:36:22 seems identical 09:36:41 sort of surprising that no ktype is used, but that's happening all over in spl-damage it seems 09:37:13 I guess it's not obviously either a cloud or a beam 09:37:37 also 09:37:38 !source _player_hurt_monster 09:37:39 1/1. https://github.com/crawl/crawl/blob/master/crawl-ref/source/spl-damage.cc#L1006 09:38:10 <|amethyst> ? 09:38:15 I suppose there's probably some convoluted reason for that function to exist 09:38:56 <|amethyst> or at least there was in pre-DCSS :/ 09:39:05 heh 09:39:25 removing it would require testing the places where it's used, so 09:39:53 <|amethyst> hmmm 09:40:49 <|amethyst> pre-DCSS it looks like hurt_monster didn't do cleanup ever 09:41:35 <|amethyst> it seems like the way _player_hurt_monster does it does change the ktype 09:43:14 clearly what we need is a lua test that casts every spell a bunch :D 09:44:49 <|amethyst> %git 78d874 09:44:50 07dolorous02 * 0.5-a0-2343-g78d8748: Fix _player_hurt_monster() to handle things properly if the monster avoided death. 10(8 years ago, 1 file, 11+ 6-) 13https://github.com/crawl/crawl/commit/78d87483db31 09:45:09 <|amethyst> not that useful a commit message 09:46:09 03advil02 07* 0.20-a0-998-gc9099ab: Fix crash on ignite poison 10(85 seconds ago, 1 file, 1+ 8-) 13https://github.com/crawl/crawl/commit/c9099aba4990 09:47:22 it may still be best to revert that assert 09:47:49 or use players as our unit test 09:48:22 <|amethyst> could make it a dprf so no one will ever notice it 09:49:18 that was the only call to monster_die (except in _player_hurt_monster) in spl-damage.cc, which is promising 09:51:54 oh, _player_hurt_monster is ensuring that print_wounds gets called 09:54:22 & the behaviour_event...so I guess I can see the value in encapsulating that, even if it could be cleaner 09:59:17 <|amethyst> advil: yes, but that doesn't explain why it needs the "two-phase kill protocol" 09:59:37 yeah 10:06:36 I did a quick pass through monster_die instances and didn't spot any other obvious hurt+monster_die combos, so maybe the assert is ok to leave 10:06:53 one thing that seems suspicious (but I haven't traced it out) is: 10:06:55 !source startup.cc:236 10:06:55 https://github.com/crawl/crawl/blob/master/crawl-ref/source/startup.cc#L236 10:06:58 <|amethyst> how many places call hurt with cleanup_dead = false? 10:07:10 <|amethyst> seems like all of those would need a monster_die eventually 10:08:02 I don't think there are that many, at least not that I saw, but I didn't check it from that direction 10:09:28 Unstable branch on crawl.jorgrun.rocks updated to: 0.20-a0-998-gc9099ab (34) 10:09:44 <|amethyst> I think in zap_los monsters there shouldn't be any dead monsters, but I guess that does depend on there being no D1 summoners 10:09:58 <|amethyst> s/zap_los monsters/_zap_los_monsters/ 10:10:05 <|amethyst> anyway, I must be going, take care 10:10:33 later 11:02:42 suboptimal (L10 HECj) (D:8) 11:03:40 CookieCutter (L3 GrFi) (D:1) 11:19:18 grandjackal (L6 DsFi) ASSERT(levels == 1 || which_mutation == RANDOM_CORRUPT_MUTATION) in 'mutation.cc' at line 1695 failed. (D:4) 11:19:55 just when I was about to head off 11:19:58 !crashlog 11:19:59 16837. CookieCutter, XL3 GrFi, T:658 (milestone): http://crawl.akrasiac.org/rawdata/CookieCutter/crash-CookieCutter-20170411-150335.txt 11:20:28 !crashlog grandjackal 11:20:34 8. grandjackal, XL6 DsFi, T:3938 (milestone): http://crawl.berotato.org/crawl/morgue/grandjackal/crash-grandjackal-20170411-151909.txt 11:21:26 ah 11:21:30 qazlal wrath 11:21:35 I think 11:22:45 grandjackal (L7 DsFi) ASSERT(levels == 1 || which_mutation == RANDOM_CORRUPT_MUTATION) in 'mutation.cc' at line 1695 failed. (D:5) 11:24:06 03advil02 07* 0.20-a0-999-gb5f2a4e: Drop an assert 10(67 seconds ago, 1 file, 0+ 1-) 13https://github.com/crawl/crawl/commit/b5f2a4ece545 11:25:54 ??rebuild 11:25:55 rebuild[1/2]: http://crawl.akrasiac.org/rebuild/ http://underhound.eu:81/rebuild/ http://crawl.berotato.org/crawl/rebuild/ http://crawl.xtahua.com/rebuild/ https://crawl.jorgrun.rocks/rebuild/ Bug |amethyst or Nap.Kin for CDO. Use your powers wisely. 11:39:51 Unstable branch on crawl.beRotato.org updated to: 0.20-a0-999-gb5f2a4e (34) 11:58:30 -!- amalloy_ is now known as amalloy 12:09:18 Unstable branch on crawl.jorgrun.rocks updated to: 0.20-a0-999-gb5f2a4e (34) 13:19:05 -!- GiantOwl is now known as Kalir 13:26:53 Unstable branch on crawl.akrasiac.org updated to: 0.20-a0-999-gb5f2a4e (34) 13:51:58 03MarvinPA02 07* 0.20-a0-1000-g0e8f6bb: Don't make the captain's cutlass chop hydra heads 10(7 minutes ago, 3 files, 4+ 4-) 13https://github.com/crawl/crawl/commit/0e8f6bbeb23e 14:00:31 sergedm (L12 DECj) ASSERT(!invalid_monster(&mons)) in 'mon-death.cc' at line 1887 failed. (D (Sprint)) 14:01:22 sergedm (L12 DECj) ASSERT(!in_bounds(you.pos()) || !cell_is_solid(you.pos()) || you.wizmode_teleported_into_rock) in 'main.cc' at line 2822 failed. (D (Sprint)) 14:01:48 sergedm (L12 DECj) ASSERT(!in_bounds(you.pos()) || !cell_is_solid(you.pos()) || you.wizmode_teleported_into_rock) in 'main.cc' at line 2822 failed. (D (Sprint)) 14:03:21 sergedm (L12 DECj) ASSERT(!in_bounds(you.pos()) || !cell_is_solid(you.pos()) || you.wizmode_teleported_into_rock) in 'main.cc' at line 2822 failed. (D (Sprint)) 14:09:25 Unstable branch on crawl.jorgrun.rocks updated to: 0.20-a0-1000-g0e8f6bb (34) 14:13:46 !crashlog sergedm -4 14:13:48 No milestones for sergedm (crash). 14:14:13 !crashlog sergedm sprint -4 14:14:16 3/6. sergedm, XL12 DECj, T:3442 (milestone): http://crawl.xtahua.com/crawl/morgue/sergedm/crash-sergedm-20170411-180009.txt 14:23:06 i'm confused as to why _ignite_poison_monsters is calling monster_die directly in that crashlog. the source suggests that it calls monster::hurt, which then may call monster_die. is it possible the call to monster::hurt was inlined or something? that seems like a strange optimisation choice to me 15:21:59 %git c9099aba4990 15:21:59 07advil02 * 0.20-a0-998-gc9099ab: Fix crash on ignite poison 10(6 hours ago, 1 file, 1+ 8-) 13https://github.com/crawl/crawl/commit/c9099aba4990 15:22:12 amalloy: that was exactly the fix :-) 15:23:37 I rebuilt for cbro (because of the qazlal wrath fix I did) but not for any other server 15:25:30 my guess is that at some point hurt didn't handle monster_die, or didn't handle it very well, or something -- there's a static helper function in that file that also uses what |amethyst termed the "two-phase kill protocol", so it's something that lingers for a bunch of spells 15:26:12 it's implemented correctly for those, though 15:26:44 !crashlog sergedm sprint 15:26:45 6. sergedm, XL12 DECj, T:3328 (milestone): http://crawl.xtahua.com/crawl/morgue/sergedm/crash-sergedm-20170411-180304.txt 15:27:03 !source raw_spell_fail 15:27:03 1/1. https://github.com/crawl/crawl/blob/master/crawl-ref/source/spl-cast.cc#L322 15:28:53 there is a really close cubic fit for chance_breaks: http://i.imgur.com/jawAQih.png 15:29:04 just sayin' 15:34:02 ah. i need to get in the habit of checking what build a crashlog happened in, instead of just assuming it's always HEAD 17:21:36 <|amethyst> minmay: with a 9th-degree polynomial I can get the RMS error down to 0.25 :) 17:21:44 <|amethyst> minmay: but, yeah, 3 seems like the sweet spot 17:31:30 |amethyst: yeah I figured the exact shape of the original probably wasn't a conscious decision 17:34:14 Ctrl X Display Bug 13https://crawl.develz.org/mantis/view.php?id=11007 by Pekkekke 17:40:43 <|amethyst> minmay: though I guess to be fair one shouldn't fit just those points 17:41:04 <|amethyst> minmay: but should fit against the full piecewise-constant curve 17:41:39 <|amethyst> I imagine that only changes the coefficients slightly 17:42:18 <|amethyst> also, would be nice to have something that works without floats 17:43:36 <|amethyst> which I guess you could do with a scale factor of around 300000 17:43:46 <|amethyst> I got 3.84337e-06 x^3 + 0.00162703 x^2 + 0.315361 x + 26.6390 17:43:49 <|amethyst> ish 17:43:50 yeah 17:47:08 and ofc you may not want this curve in the first place - it probably wouldn't be terrible for spells to go from 1% to 0% fail a little earlier 17:47:37 (when that "1%" is actually a lot lower than 1%) 18:15:38 Unstable branch on underhound.eu updated to: 0.20-a0-1000-g0e8f6bb (34) 19:27:59 is there a way for sequell to say what the damage range is for typical players? not counting artis like Dark Maul 19:31:18 -!- Tarara is now known as Taraiph 19:42:48 no 19:46:32 -!- tsujin_ is now known as tsujin 19:51:48 -!- amalloy is now known as amalloy_ 19:56:25 !lg * cikiller~~ghost month x=avg(dam) 19:56:26 4395 games for * (cikiller~~ghost month): avg(dam)=11.57 19:56:35 rumflump: ^ 100% accurate I guarantee it 20:55:47 03alexjurkiewicz02 07https://github.com/crawl/crawl/pull/512 * 0.20-a0-992-gc8a0c18: Remove "imported" from lajatang description 10(11 hours ago, 1 file, 2+ 2-) 13https://github.com/crawl/crawl/commit/c8a0c18ff78e 20:55:47 03alexjurkiewicz02 07https://github.com/crawl/crawl/pull/512 * 0.20-a0-993-g7fedce6: ring of Shaolin -> ring of Avoidance 10(11 hours ago, 14 files, 5+ 58-) 13https://github.com/crawl/crawl/commit/7fedce616e26 20:55:47 03alexjurkiewicz02 07https://github.com/crawl/crawl/pull/512 * 0.20-a0-994-g1c3d930: bow of Krishna "Sharnga" -> longbow "The First Bow" 10(11 hours ago, 9 files, 8+ 25-) 13https://github.com/crawl/crawl/commit/1c3d93001a9f 21:03:24 interesting bug: if you are targeting a spell and 'v' a monster, your MP appears to go down as if you cast the spell (but will return to normal when you redraw it again) 21:03:59 I guess it deducts the MP assuming the player stats won't redraw until targeting is finished 21:07:51 I don't think the flavor for first bow makes too much sense 21:08:27 it should be something related to the fact that it has the speed ego (which is rare, and notable) 21:09:06 You see, in fantasy worlds the older something is the more powerful it is 21:09:17 -!- Marvin is now known as Guest98027 21:09:24 and I'm not sure that the inventor of a bow would call that "the first bow"; not sure what that is a reference to or what it's going for 21:09:25 That's why guns suck compared to bows 21:09:53 Fubbjyb's Patented Self-loading Bow 21:09:57 and an "ancient sword" is always a really powerful sword, instead of a crumbling rusty piece of iron 21:10:29 yeah, I don't mind that trope so much, but the flavor should refer to the power/unique aspect of the unrand 21:10:36 even though in this case it's not so unique... 21:10:40 things were better in the old days. displace the Senate and reinstate hereditary monarchies! 21:12:07 (star wars jab, not modern politics) 21:12:46 fr: light sabers 21:13:07 ??arc blade 21:13:07 arc blade[1/1]: +4 rapier with rElec that casts {Static Discharge} on stuff you hit with it. 21:13:50 another thing about the ring of shaolin is that it doesn't have to become so generic/abstract 21:14:47 I think the complaint centered around referencing a specific place; it can have east-asian theme/flavor if it doesn't do it in a way that makes that flavor seem "weird" 21:15:08 however the ring of robustness is also a very abstract unrand, so I guess this pairs with that in a way 21:15:25 s/abstract/generic/ I guess 21:15:52 maybe someone could turn the pair of them into something with a bit better lore 21:25:48 -!- fazisi_ is now known as fazisi 21:28:00 yeah, I think the lore for unrands should be interesting as a rule over boring 21:28:12 so that's why I originally went with a completely new theme 21:28:37 re: the first bow, I'm open to better suggestions. It's sort of placeholder theme IMO 21:28:47 the fast bow 21:29:08 +8 longbow "sanic" 21:29:15 Speedbow, because you can never have enough 80's video game references 21:32:50 Why can scarfs be randarts 21:32:59 why can scarfs 21:33:18 hellmonk: keeps them fresh longer 21:37:26 hey devs, even though evolution is the strongest and funnest mutation... 21:37:48 ...its super slow to take any effect. even if you get the second level 21:38:15 Would you mind speeding it up? You could balance that by reducing the expected mutations gained before it removes itself. 21:39:00 it's already faster than in real life... 21:40:14 so are leopard geckos 21:40:23 #shotsfired 21:41:29 minmay: rename them to leopards then? 21:54:06 apparently people have been talking about replacing chance_breaks for like 3 years 21:54:16 yes 21:54:18 mostly me 21:54:22 no time like the present 21:54:30 heh, well, actually looks like several others too 21:54:54 https://cdn.discordapp.com/attachments/161963307517870080/301521382993559563/bs2.jpeg 21:55:06 is that a pokemon? 21:56:19 This seems like suboptimal statue form usage 21:57:07 hey, this char is impossible; Bu disallow training skills to such high levels! 21:58:22 alexjurkiewicz: I don't think the theme of "bow from ancient history" is a bad idea for lore, but it's not written in a very good way 21:58:42 it would be better to go with something more minimal/mysterious if it's going to be so generic 21:59:46 you know how european colonists were too stupid to understand the concept of a recurve bow, so whenever they stole bows from the natives they'd string them backwards and then think "these indians make some piece of shit bows" 22:00:01 alexjurkiewicz: any thoughts on shaolin -> butterfly instead 22:00:05 there's not really a conclusion to this thought it's just something i think about a lot 22:00:52 european colonists literally that one weird star trek species that stole technology but didn't understand it, I get it 22:02:39 CanOfWorms: would you evoke it to summon butterflies? 22:03:02 CanOfWorms: any relation to CanOfBees 22:03:34 ring of the bee {+8 slay} coming soon? 22:03:37 gammafunk: no 22:03:44 hellmonk: gauntlet of bees 22:03:44 FeelsBadMan 22:03:53 minmay: despite whatever gammafunk says, no 22:04:08 CanOfWorms is CanOfBees, yes 22:04:20 !lg canofbees 22:04:21 1336. CanOfBees the Fighter (L9 OgHu), mangled by an orc warrior (a +0 flail) on D:7 on 2017-04-11 23:53:27, with 1918 points after 9080 turns and 0:21:14. 22:04:32 !splatratio canofbees 22:04:33 % of xl17 chars killed recentish: 9/9x CanOfBees [100.00%] 22:06:44 .gfgk name=canofbees 22:06:45 1. CanOfBees the Warrior (L20 GrFi of Qazlal), blasted by a crystal guardian (crystal bolt) in WizLab (wizlab_lehudib) on 2017-04-08 23:11:10, with 265204 points after 43201 turns and 2:35:52. 22:07:08 !lg canofbees kmap~~minmay 22:07:09 29. CanOfBees the Slayer (L23 GrFi of Qazlal), blasted by a lich (bolt of acid) on Vaults:5 (vaults_vault; vaults_end_minmay_grid2) on 2017-04-10 02:30:21, with 393807 points after 49497 turns and 2:48:58. 22:07:24 I remember from that TV that qaz lured a second crystal guardian from all the way in the other sector 22:07:34 killed the first one just barely, second one finished him off 22:10:14 amazing 22:15:57 CanOfWorms: i feel like an ali reference is no better 22:16:21 in fact it might be worth since it's fourth wall breaking 22:16:24 worse 22:16:35 it's more a reference to 22:16:38 @??butterfly 22:16:38 butterfly (00b) | Spd: 25 | HD: 1 | HP: 1 | AC/EV: 0/25 | fly | Res: 06magic(10) | Vul: 09poison | XP: 0 | Sz: tiny | Int: brainless. 22:17:26 you can make the quote ali's quote I guess 22:17:52 @??ereshkigal 22:17:52 Ereshkigal (00&) | Spd: 14 | HD: 18 | HP: 300-410 | AC/EV: 10/30 | Dam: 4013(drain) | 05demonic, 10weapons, 10items, 10doors, evil, see invisible | Res: 13magic(immune), 02cold, 10elec, 03poison, 04rot, 13neg+++, 13torm | Vul: 08holy | XP: 13096 | Sp: b.cold (3d27) [06!sil], s.torment [06!sil], sum.greater demon [06!sil], paralyse [06!sil], silence [06!sil], major healing (50-230.. 22:17:58 ring of ereshkigal imo 22:18:22 imagine if that one temple vault spawned with ereshkigals instead of butterflies 22:18:40 maybe something to do for april fool's 22:18:53 ereshkigalcrawl 22:18:58 replace all butterflies with technicolour ereshkigals 22:19:01 tartcrawl you mean 22:19:16 oofcrawl wasnt called zotlungcrawl 22:19:16 tartcrawl has a deep and complex baking system 22:19:30 gnollcrawl wasnt called D:2andI'monastreakcrawl 22:20:06 your arugment is invalid 22:20:10 since hellcrawl was called hellcrawl 22:20:25 ? ? ? ? ? ? ? 22:20:31 !deal 22:20:41 pretend that did something memey 22:22:02 90s limit exceeded: killed !deal 22:23:16 rip in peace !deal 22:23:18 died young 22:23:45 instead of ring of Avoidance, why not ring of Phasing or ring of Shifting? 22:23:47 it was cool in the 90s 22:24:09 90s limit exceeded: killed mikee 22:25:01 and reflavor the description around translocations 22:25:20 New branch created: remove_chance_breaks (1 commit) 13https://github.com/crawl/crawl/tree/remove_chance_breaks 22:25:20 03advil02 07[remove_chance_breaks] * 0.20-a0-1000-gd6803eb: Replace spell success breakpoints with minmay's polynomial 10(5 minutes ago, 1 file, 5+ 14-) 13https://github.com/crawl/crawl/commit/d6803ebe0731 22:25:23 even better 22:25:30 ring of forecast, flavoured around... divinations!!! 22:25:49 ring of crystal ball of divinations 22:25:59 ....of power 22:26:00 but did divination spells ever give you +8 EV? 22:26:06 Ring of Phasing: When they try to hit Dave, Dave's not there. 22:26:07 ??forecast 22:26:08 forecast ~ forest[1/1]: Wood walls are unique to this branch. As the name tells, spriggans keep the verdant rune of Zot here. Don't try to get it unless you are _very_ careful, or you will die in 10 turns. Deprecated branch, no longer appears. 22:26:12 ugh 22:26:18 good learndb 22:26:38 anyway forecast was phase shift before phase shift 22:26:50 ah, too old for me 22:26:51 oh, it was called forescry 22:26:54 ??forescry 22:26:54 I don't have a page labeled forescry in my learndb. 22:26:57 rp 22:26:58 *rip 22:27:02 http://crawl.chaosforge.org/Forescry 22:27:02 ?/forescry 22:27:03 Matching entries (1): plane_shift[1]: see {forescry} 22:27:10 haha niice 22:27:34 anyway it could be reflavoured to ring of forescry as an ashenzari thing 22:27:52 like how sniper is now an ashenzari relic 22:28:35 it'd be cooler than ring of Avoidance, anyway 22:30:29 New branch created: pull/513 (1 commit) 13https://github.com/crawl/crawl/pull/513 22:30:29 03advil02 07https://github.com/crawl/crawl/pull/513 * 0.20-a0-1000-gd6803eb: Replace spell success breakpoints with minmay's polynomial 10(10 minutes ago, 1 file, 5+ 14-) 13https://github.com/crawl/crawl/commit/d6803ebe0731 22:31:12 I PRified that so whoever wants can weigh in, I don't know that code well enough to be comfortable just merging it (and maybe the numbers need tweaking anyways) 22:31:23 also it introduces a double :-( 22:32:33 very, very briefly 22:34:09 hopefully the effect is to make success rates on certain servers slightly higher/lower 22:34:56 well theoretical winrate already depends on server 22:34:58 because of ghosts 22:35:08 so I am sure that nobody will care :^) 22:35:56 you can do it in pure integer arithmetic by multiplying by a million or w/e first 22:36:08 that's The Crawl Way 22:37:30 we can't call it "minmay's polynomial" 22:37:38 <|amethyst> you probably want to keep it linear above 45 22:37:38 that's worse than "the grunt algorithm" 22:38:15 the duvessa function 22:38:39 even more furry and recursive than ackerman's function 22:38:44 <|amethyst> otherwise you're significantly reducing fail chances for high-fail-chance spells 22:39:05 does that actually matter 22:39:12 *the ackermann function 22:40:06 |amethyst: that part was intentional; it's nice to see spells go from 99% to 95% etc etc instead of being at 100% forever and then going down really rapidly 22:40:52 since if you're unspoiled and see 100% fail you really have no way to judge how far you are from actually casting the spell - it could be "barely" 100% fail or it could be way way worse 22:41:01 hrm, stealth sif buff 22:41:08 I suppose this makes it more important to fix dmsl 22:41:34 oh no, we cant possibly buff sif 22:42:02 you should start with veh if you want to buff things 22:42:05 sif is just too strong right now, not quite making bottom 3 22:42:44 veh is better than sif right now IMO 22:42:59 make veh spell gifts start at spell level 3 22:43:15 I don't think veh is better for winning 22:43:23 i do 22:43:27 better for various definitions of better 22:43:30 but not better for winning 22:44:24 who cares, it's a contest to see which bag of garbage stinks less 22:44:35 you shouldnt ever take either if you are Playing Optimally 22:44:43 a HOP? 22:45:09 what does veh do in hellcrawl again? 22:45:16 make veh spell gifts start at spell level 3 22:45:18 I recall sif goes all ash or something like that 22:45:27 I need to bufferoni veh further though 22:45:40 also laughing my ass off that bels mushroom challenge thread has existed for multiple days and fedhas still exists 22:45:51 yeah that wouldn't....what does spell level 3 refer to? 22:46:02 3* piety? 22:46:03 maybe I've forgotten how veh gifting works 22:46:06 ??vehumet 22:46:06 vehumet[1/2]: The god of destructive magic. Offers you the opportunity to memorize up to 15 different destructive spells over the course of the game, beginning with a L1 spell at * piety and loosely weighted by elemental skills. Provides mana on kills at * piety, {wizardry} bonus for destructive spells at *** piety, and extra range at **** piety. 22:46:10 no, like make the first spell gifts veh gives you as level 3 spells 22:46:10 it refers to spells that are level 3 22:46:23 one of the problems with veh is that the early gifts are literally unusable 22:46:43 because they are always worse than what you have unless you are playing a meme game where you go veh on a non-book start 22:47:23 whereas at level 3 you are at least potentially picking up cflame or meph or sth 22:47:33 at a time where it is extremely relevant 22:48:02 also since the only reason anyone plays veh is to cast level 9s, make the last set of gifts all level 9 22:48:12 it's probably a good example of why spell gifts should just always be books 22:49:22 yeah it would also be good to make the gifts artifact spellbooks so that people don't have to play the spell slot minigame 22:49:29 I still need to do that 22:49:58 hrm, real-talk probably 22:50:04 what you want to do in hellcrawl is remove sif 22:50:07 I spent quite a bit of time pressing 5 in that Dr game to stop veh from replacing cbl 22:50:17 give the book gifting to veh 22:50:36 hrm, I guess summons, but my recommendation there is let veh support those other schools 22:50:41 it used to in the past 22:51:34 maybe some other god that wasn't just "this is ALSO the GOD OF MAGIC" could do some magicy things but not be all about that 22:52:02 maybe I will take veh wizardry up to ridiculous levels so you can get that spicy late dungeon firestorm 22:52:03 but sif doesn't seem very hellcrawl to me; veh is all about QoL type stuff 22:52:39 veh is sort of fiddly in knowing what spells are assisted 22:52:41 sif is pretty smooth now that you don't spam aa constantly 22:52:53 sif is a lot more streamlined imo 22:53:05 disagree with me again, go on 22:53:14 I can make Cerebot disappear from your discord 22:53:15 forever. 22:53:32 no I just mean what Veh does to improve conjurations 22:53:41 well, and the interface-free MP restore 22:54:46 yeah mb focus on veh's other stuff now that you've made veh's gifts less annoying. do you want a veh character to be unreliant on floor drops like a sif character? I mean maybe you do, not asking rhetorically/snarky 22:58:18 in hellcrawl, maybe veh should just not gift spells 22:58:54 would need some much better passives then 23:23:41 -!- holden is now known as toqov