00:01:39 -!- CSDCMS has quit [Read error: Connection reset by peer] 00:07:49 -!- Keanan has quit [Quit: Leaving.] 00:07:56 -!- CSDCS has quit [Read error: Connection reset by peer] 00:08:24 Unstable branch on crawl.s-z.org updated to: 0.15-a0-1939-gf284a85 (34) 00:10:57 -!- Pepe has quit [Ping timeout: 255 seconds] 00:15:11 -!- category has quit [Quit: Page closed] 00:16:13 Grunt: update 00:16:18 -!- read has joined ##crawl-dev 00:16:18 hellfire doesn't trigger qaz's rf 00:16:32 It doesn't? 00:16:38 Must have gone away with all the refactoring. 00:16:45 I was looking through the code and trying and trying to find where it'd happen 00:17:00 then I decided to test 00:17:04 and, well 00:17:15 I hope you're using lemuel_hellion_island to test 00:17:15 <3 00:17:18 the relevant code explicitly enumerates beam types, none of which are BEAM_HELLFIRE 00:17:21 nah just &M :( 00:17:27 rip 00:17:41 -!- Kramin has quit [Ping timeout: 248 seconds] 00:18:26 did you see patashu's "make hellfire green" thread? 00:18:52 o_O? 00:18:59 Almost everyone upon first encountering hellfire will think that it shares properties with fire damage, e.g. that it is AC resistable and rF resistable. In fact, I believe it is a spoiler that this is not true! It's awesome when people die, but it should be due to their own mistakes, not due to a false impression the game gave them. Making hellfire green instead of looking identical to fire... 00:19:01 ...will prompt the user that 'hey, this isn't regular fire anymore, it follows its own rules'. 00:19:03 that's it, that's the thread 00:20:30 imo make it white or lightblue instead 00:20:39 (fire so hot it ignores the normal resistances) 00:20:42 green feels like a traditional evil fire thing 00:20:57 unless these are some kind of technologically superadvanced demons 00:21:00 (please tell me the physics behind this premise isn't lost on people <_<) 00:21:00 you could call them 00:21:02 ... 00:21:08 cyberdemons 00:21:12 dang 00:21:25 no I get the physics 00:21:35 !send PleasingFungus realistic physics 00:21:36 Sending realistic physics to PleasingFungus. 00:21:36 I just think that a physical analogy for supernatural fire hurled by demons 00:21:41 is sort of the wrong direction to go 00:21:46 I guess I don't feel strongly about it. 00:21:47 butbutbutbutbut 00:21:51 realism!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 00:21:53 <3 00:22:24 !send Grunt realistic demons 00:22:24 Sending realistic demons to Grunt. 00:22:29 they'll visit you at night.... 00:23:34 !send Grunt daemons 00:23:34 Sending daemons to Grunt. 00:23:53 !send SamB dæmons 00:23:54 Sending dæmons to SamB. 00:23:57 !sendmail 00:24:07 !send PleasingFungus a mail dæmon 00:24:07 Sending a mail dæmon to PleasingFungus. 00:24:36 no, not sendmail! 00:24:44 exim or postfix maybe, but not sendmail! 00:26:50 <|amethyst> Exchange!!! 00:27:58 ugh. this image editor is really not up to a simple recoloring, as far as I can tell 00:28:10 noooo! I wouldn't wish exchange upon Microsoft themselves!!!! 00:28:23 -!- Keanan has joined ##crawl-dev 00:28:29 except the Exchange/Outlook teams, maybe 00:32:16 Hey, PleasingFungus, are you still around? 00:32:19 probably 00:32:21 why 00:32:26 ;-P 00:32:33 I was looking at the SH changes and I had a question. 00:32:50 It looks to me like SH is now 1/3 as effective as EV. 00:32:57 -!- KurzedMetal has quit [Read error: Connection reset by peer] 00:33:16 Was that the intent? 00:33:39 what? 00:33:46 SH gets thirded in player::shield_bonus() before attacks check it. 00:33:55 (Versus EV which does not) 00:34:25 %git 0c40c516c2a8f9b7e4864639efbdf274490b77fd 00:34:26 07PleasingFungus02 * 0.15-a0-1254-g0c40c51: Halve displayed SH values (crate) 10(5 weeks ago, 6 files, 29+ 10-) 13http://s-z.org/neil/git/?p=crawl.git;a=commitdiff;h=0c40c516c2a8 00:34:36 -!- Aryth has quit [Read error: Connection reset by peer] 00:34:46 %git fd0dc405fee0f2d307e8b134f5d0acbc8ccff674 00:34:46 07PleasingFungus02 * 0.15-a0-1156-gfd0dc40: Double the SH bonus from shield enchantments 10(6 weeks ago, 3 files, 4+ 4-) 13http://s-z.org/neil/git/?p=crawl.git;a=commitdiff;h=fd0dc405fee0 00:34:46 That's the value returned by player_shield_class() correct? 00:34:58 Keanan: that was already done before 00:35:18 it wasn't a change that I made 00:35:23 Yeah, It looks like it used to be doubled then thirded. 00:35:32 Then it got un-doubled. 00:35:37 so now it's just thirded 00:35:56 okay 00:36:24 Grunt: one problem with recoloring hellfire is that it makes hellions weird 00:36:27 if their flame is a different colour 00:36:28 (So now for example, 12 SH value gives you a 4 vs d(monster'sHD+15) 00:36:33 I guess you could recolour them too... 00:36:51 oh 00:37:11 keanan, are you sure you aren't getting this backwards 00:37:20 Well, that's why I'm asking. 00:37:35 Shield class returns the SH value that appears on screen afaict 00:37:39 no 00:37:41 (The math bears this out) 00:37:49 !source player_displayed_shield_class 00:37:50 http://s-z.org/neil/git/?p=crawl.git;a=blob;f=crawl-ref/source/player.cc;hb=HEAD#l2781 00:38:12 Oh 00:38:13 Hm, 00:38:15 IC 00:38:34 literally the only change I made to the internal math was to increase the value of shield plusses, and tweak bone plates a little 00:38:53 Ah. 00:42:17 -!- Evablue has quit [Ping timeout: 245 seconds] 00:42:21 sorry, it wasn't a very elegant implementation 00:42:30 reaverb wants to refactor the code to use the halved number throughout 00:42:34 which would probably be simpler 00:42:36 Nah, it's not you're fault, it's just a little confusing. 00:42:43 (Since it's in multiple places. 00:42:48 yep 00:43:23 The current apparrent number *is* 2/3 as effective as EV though. 00:43:30 (not 1/3 as I thought) 00:43:55 that's in line with what crate's experiments suggested 00:44:38 *nodnod* 00:45:19 Probably I would personally prefer it if the display number was actually comparable to EV in terms of effectiveness. 00:45:39 (So rather than display == 1/2 raw, display == 1/3 raw) 00:45:55 Or of course refactoring it so it's not a giant ugly mess :) 00:46:38 what would you do with shield plusses? 00:46:43 Is there any reason player_display_shield_class doesn't just call player::shield_bonus() to get it's display? 00:46:43 Right now they correspond to the displayed number 1:1. 00:47:01 why would it? 00:47:14 <|amethyst> Keanan: shield_bonus is random 00:47:18 Well, because that's the number used in the roll in the place where the EV number is rolled. 00:47:23 Oh, good point, duh. 00:47:32 I knew that. I am just brain dead. 00:49:39 PleasingFungus: I would probably leave the plusses as-is presently and just make them each worth 2/3 of a display number, it sounds like shields might be up for some refactoring at some point in the near future, so I don't expect that awkwardness to be permanant. 00:50:04 I'm honestly reasonably happy with how shields are, in terms of their effectiveness as equipment choices. 00:50:06 -!- purge_ has quit [Ping timeout: 255 seconds] 00:50:13 I don't think there's much need to change them further right now. 00:51:31 <|amethyst> monster shield bonus formula could probably use tweaking 00:51:48 <|amethyst> shields seem to be much more effective for monsters than for players 00:51:57 Ok, if "2/3 as effective as EV for half of your hands and a bunch of XP" seems right then it seems right, I'm not too worried about that. I just would (personally) like to be able to look at the numbers and say "hey, my shield is about as effective as my EV because the numbers are the same" 00:53:19 It's not a 1:1 in any case because shields don't affect some things that ev does: e.g., beams. 00:53:42 Sure sure, and I get that they "arent' the same thing" in the same way that AC and EV aren't the same thing. 00:53:49 obviously just multiply the displayed EV value by 1.5 00:53:58 that'd work too :) 00:54:17 <|amethyst> I'm still not sure about this 2/3 number 00:55:10 <|amethyst> shields and dodging get compared to different things 00:56:57 oh god, I just realized that 'dimme' could be taken as the world's worst blond joke 00:56:57 ugh 00:56:57 <|amethyst> as you pointed out, shields get compared to (random2 of) 15 + hd * 2/3 00:56:57 <|amethyst> but to hit is based on 18 + hd * 3/2 00:57:00 <|amethyst> more for MF_FIGHTER 00:57:59 <|amethyst> (it's different when the player's the attacker: their shield bypass ability *is* based on to-hit) 00:58:47 To me it looks like monster to-hit is 18+(HD*(25|15)/10 so HD*2.5 or HD*1.5 for a non-fighter. 00:59:03 <|amethyst> that's what I said 00:59:12 <|amethyst> 3/2 == 1.5 00:59:17 *nodnod* 00:59:21 Ok 00:59:44 So they are vaguely comparable. 00:59:58 <|amethyst> also, test_hit is not trivial 01:00:55 <|amethyst> there's always at least a 2.5% chance of hitting and 2.5% chance of missing 01:01:05 <|amethyst> which shields don't have 01:01:09 Yes, I noticed that. 01:03:38 %git :/egen 01:03:39 07reaverb02 * 0.15-a0-1584-g9b7421e: Remove the dragon slaying brand 10(3 weeks ago, 15 files, 13+ 54-) 13http://s-z.org/neil/git/?p=crawl.git;a=commitdiff;h=9b7421e1bc34 01:03:41 hm 01:07:40 lotta work these last two weeks, but mostly internal stuff 01:07:48 though I'm sure I'll discover half a dozen things I missed as soon as I push... 01:08:03 I can see why reaverb might want to refactor the code, getting all the math in one place and eliminating corresponding divisors that cancel each-other out might be nice. 01:08:37 03PleasingFungus02 07* 0.15-a0-1940-g2d7905a: Changelog through 0.15-a0-1939-gf284a85 10(3 minutes ago, 1 file, 8+ 2-) 13http://s-z.org/neil/git/?p=crawl.git;a=commitdiff;h=2d7905a8d14a 01:13:15 huh. running fsim with an octopode causes a crash sometimes 01:13:16 neat 01:16:48 !source actor.cc:589 01:16:48 http://s-z.org/neil/git/?p=crawl.git;a=blob;f=crawl-ref/source/actor.cc;hb=HEAD#l589 01:16:48 -!- UncertainKitten has quit [Quit: Connection reset by pier.] 01:16:48 also, using fsim on a jelly can cause stuff like "corr: -61704)" 01:16:48 Yeah, Ghost moths and liches can be fun too. 01:18:27 -!- Kramin has quit [Ping timeout: 255 seconds] 01:19:19 <|amethyst> PleasingFungus: so it's starting to constrict a monster it was already constricting 01:20:07 <|amethyst> not sure how we want constriction to show up in fsim anyway 01:25:16 not a big deal for what I was doing anyway 01:27:14 ??objstat 01:27:14 objstat[1/2]: Run with "crawl -objstat" in a full debug build of crawl ("make debug") to generate item/monster statistics by level/branch; see crawl -help for details 01:27:15 ??objstat[2 01:27:15 objstat[2/2]: Latest statistics: https://docs.google.com/spreadsheets/d/10fNR1JApV-AyF6vdv-g3S3FUUzSSIrUu3OTMWMEoaaA/edit#gid=681767829 01:27:33 -!- MrPeeps has quit [Ping timeout: 240 seconds] 01:29:03 -!- reaverb has joined ##crawl-dev 01:29:21 it's reaverb! I was talking about you earlier and I forget why 01:29:31 PleasingFungus: sharks haven't been removed yet :D 01:29:37 o 01:29:41 rip 01:29:58 I figure they'll be removed at least as soon as sublimation of blood subliming chunks 01:30:05 so it's all good 01:30:05 PleasingFungus: Ha. 01:30:14 Earlier you were talking about shield code. 01:30:37 and how I brought up it should probably be refactored. 01:30:46 I should probably handle brand code first though <_< >_> 01:32:00 03|amethyst02 07* 0.15-a0-1941-g6b67a30: Don't crash fsim when the player constricts (PleasingFungus) 10(24 seconds ago, 1 file, 2+ 0-) 13http://s-z.org/neil/git/?p=crawl.git;a=commitdiff;h=6b67a3050070 01:32:21 oh, that was it 01:32:23 ty 01:32:40 -!- dtsund has quit [Quit: dtsund] 01:32:47 hm. objstat claims that 460 sling bullets are generated in a typical 3-rune game 01:32:59 -!- ussdefiant has quit [Ping timeout: 264 seconds] 01:33:07 but, where? 01:33:21 <|amethyst> snake, shoals ? 01:33:34 snake generates, on average, 5 bullets 01:33:39 <|amethyst> oh, hm 01:33:42 oh 01:33:44 that might be one level 01:33:52 yeah I was misreading it 01:33:54 <|amethyst> does this count monster loot or just floor? 01:34:16 both, I think 01:34:29 ok, d generates with about 110 bullets 01:34:31 <|amethyst> I guess sharpshooters don't have slings all that often 01:34:43 snake has 30 01:34:51 also I'm not sure they ever have slings? 01:35:04 yeah they don't 01:35:10 <|amethyst> oh 01:35:12 <|amethyst> that was removed 01:35:13 <|amethyst> okay 01:35:38 hm. I'm starting to think I should just implement the 'weapon skill doesn't affect projectile damage' thing 01:36:00 since it's hard to balance slings when they're sometimes flails and sometimes demon whips 01:36:23 <|amethyst> goblins, joseph, fauns, cherubim get slings 01:36:35 sounds right 01:36:44 ah, goblins would explain the d numbers 01:37:04 <|amethyst> hm 01:38:09 <|amethyst> goblins only have a 1/15 chance of getting sling bullets though 01:38:09 PleasingFungus: If you want to further the cause of shark removal you could look at these vault edits: http://bpaste.net/show/ImnOOiaHJn2aVeMqFacR/ 01:38:09 fixing slings and then going to bed, I think 01:38:09 sorry 01:38:09 <|amethyst> there's still code for satyrs to always get the stone -> bullet upgrade, but... 01:38:24 PleasingFungus: ah, Ok. 01:41:13 !tell nicolae I'm trying to remove sharks before 0.15 goes out, but I'm not sure what to do about nicolae_underground_beach. I was thinking of pushing it deeper and replacing the sharks with a kraken. Do you have any ideas? 01:41:13 reaverb: OK, I'll let nicolae know. 01:43:18 -!- Kalir has quit [Quit: CADENZA-CLASS CLOCKWORK KNIGHT--OPERATION TERMINATED] 01:43:27 -!- DrinkMachine has joined ##crawl-dev 01:53:20 -!- rossi has quit [Ping timeout: 252 seconds] 01:54:55 -!- magicpoints has joined ##crawl-dev 01:59:22 -!- magicpoints has quit [Ping timeout: 245 seconds] 02:08:24 -!- Amy|Sonata has quit [Read error: Connection reset by peer] 02:10:31 -!- lobf has quit [Quit: lobf] 02:13:07 -!- simmarine has quit [Quit: Leaving] 02:15:20 -!- bmfx has quit [Ping timeout: 252 seconds] 02:20:02 -!- Vizer has quit [Quit: bye] 02:20:54 Unstable branch on crawl.beRotato.org updated to: 0.15-a0-1941-g6b67a30 (34) 02:22:02 -!- WalkerBoh has quit [Remote host closed the connection] 02:23:12 -!- PleasingFungus has quit [Quit: ChatZilla 0.9.90.1 [Firefox 33.0a1/20140702030201]] 02:25:18 -!- zxc232 has joined ##crawl-dev 02:40:03 -!- Xen has quit [Quit: Page closed] 02:45:32 -!- Bloaxor has quit [Quit: Error: Bloax not found] 02:46:31 -!- category has quit [Quit: Page closed] 02:47:33 -!- ProzacElf has quit [Ping timeout: 240 seconds] 02:57:19 -!- conted has quit [Ping timeout: 246 seconds] 03:01:33 -!- Z_LAMP has quit [Ping timeout: 240 seconds] 03:01:34 -!- Whistling_Bread has quit [Ping timeout: 240 seconds] 03:15:11 -!- reaverb has quit [Quit: Leaving.] 03:25:11 -!- Wolfechu has quit [Ping timeout: 240 seconds] 03:28:51 Cannot cancel out of ally swap prompt for zot trap 13https://crawl.develz.org/mantis/view.php?id=8768 by johnnyzero 03:30:38 -!- Euph0ria has quit [Read error: Connection reset by peer] 03:31:59 -!- Patashu has joined ##crawl-dev 03:35:19 -!- giantbat has quit [Quit: ???] 03:37:13 -!- Patashu_ has joined ##crawl-dev 03:37:13 -!- Patashu has quit [Disconnected by services] 03:38:15 -!- Patashu_ has quit [Client Quit] 03:38:29 -!- Patashu has joined ##crawl-dev 03:39:02 -!- edlothiol has joined ##crawl-dev 03:41:42 -!- Patashu_ has joined ##crawl-dev 03:41:42 -!- Patashu has quit [Disconnected by services] 03:41:55 -!- Keanan has quit [Quit: Leaving.] 03:52:41 -!- rossi has quit [Ping timeout: 252 seconds] 04:00:13 -!- Basil has quit [Quit: WeeChat 0.3.7] 04:03:22 -!- aelor has quit [Client Quit] 04:05:27 -!- Basil has joined ##crawl-dev 04:16:38 -!- debo has joined ##crawl-dev 04:20:03 -!- gammafunk has quit [Ping timeout: 240 seconds] 04:24:05 -!- the_glow has quit [Ping timeout: 248 seconds] 04:26:16 -!- gammafunk has joined ##crawl-dev 04:30:11 -!- tw__ is now known as tw_ 04:40:00 -!- bonghitz has quit [Remote host closed the connection] 04:42:13 -!- Basil has quit [Ping timeout: 248 seconds] 04:46:21 -!- PsiRedEye23 has quit [Ping timeout: 255 seconds] 04:56:05 -!- Evablue has quit [Ping timeout: 248 seconds] 05:00:12 -!- Kramin has quit [Ping timeout: 245 seconds] 05:20:33 -!- read has quit [Ping timeout: 255 seconds] 05:29:34 -!- Lightli has quit [Ping timeout: 246 seconds] 05:31:02 -!- Stelpa has quit [Read error: Connection reset by peer] 05:32:06 -!- Stelpa has quit [Changing host] 05:45:18 -!- rophy has quit [Ping timeout: 255 seconds] 05:47:22 -!- st_ has joined ##crawl-dev 05:49:56 -!- Evablue has quit [Ping timeout: 240 seconds] 05:53:08 -!- rossi has quit [Ping timeout: 252 seconds] 05:55:10 -!- bonghitz has quit [Remote host closed the connection] 05:55:35 -!- Patashu has joined ##crawl-dev 05:56:58 -!- Patashu_ has quit [Ping timeout: 240 seconds] 06:04:03 -!- Wahaha has quit [Ping timeout: 240 seconds] 06:11:42 -!- mizu_no_oto has quit [Quit: Computer has gone to sleep.] 06:32:03 -!- Adder_ has quit [Ping timeout: 240 seconds] 06:35:41 -!- MarvinPA has quit [Read error: Connection reset by peer] 06:35:53 -!- mizu_no_oto has quit [Quit: Computer has gone to sleep.] 06:45:08 -!- Evablue has quit [Ping timeout: 240 seconds] 06:51:22 -!- absolutego has joined ##crawl-dev 06:53:32 -!- TS__ has quit [Ping timeout: 240 seconds] 06:54:29 -!- debo has quit [Ping timeout: 248 seconds] 07:07:52 -!- syndicus has quit [Ping timeout: 260 seconds] 07:16:02 -!- rchandra has joined ##crawl-dev 07:18:24 -!- mamgar has quit [Quit: Leaving] 07:19:35 !messages 07:19:36 No messages for Lasty. 07:20:22 -!- nooodl has joined ##crawl-dev 07:21:52 -!- CSDCS has quit [Read error: Connection reset by peer] 07:26:28 -!- mizu_no_oto has quit [Quit: Computer has gone to sleep.] 07:28:18 -!- DrinkMachine has quit [Read error: Connection reset by peer] 07:28:55 -!- DrinkMachine has joined ##crawl-dev 07:39:40 -!- wheals has joined ##crawl-dev 07:40:12 -!- Evablue has quit [Ping timeout: 245 seconds] 07:43:40 -!- demiskeleton has quit [Quit: Leaving] 07:43:53 huh, 30,000 is equal to infinity 07:43:57 -!- CSDCS has quit [Read error: Connection reset by peer] 07:46:29 is there any good reason to make dropping stuff take multiple turns now that item destruction is gone? 07:47:07 Well, you want to prevent people from being able to drop items in a pattern that spells out "Elbereth" quickly . . . 07:47:23 -!- scummos^ has quit [Ping timeout: 264 seconds] 07:47:27 -!- debo has joined ##crawl-dev 07:48:36 More serious response: now that throwing can be faster than 1.0 aut, dropping things should at least be made as fast or faster than the fastest throwing speed so that you don't incentivize players to train Throwing in order to drop things faster. 07:49:02 are people really that urgent to drop their tomahawk 07:49:03 s 07:49:13 do... people actually do that? 07:49:26 s/are people/is it/ 07:51:19 the "real" problem would be that technically throwing stuff to the ground is better in terms of piety saving than dropping it 07:51:38 but since it only applies to throwables it's a small enough effect 07:53:02 -!- rossi has quit [Ping timeout: 252 seconds] 07:56:26 <|amethyst> and only if it's a single item 07:56:58 kvaak: I don't think anyone does it, but we still shouldn't incentivize it 07:57:15 the disincentive is the xp cost 07:57:43 Also technically hunger is an issue 07:57:51 I mean, there's infinity food righ tnow 07:58:04 but some players seem to struggle with it, and they could theoretically save food by dropping things faster :p 07:58:23 how often does a character who struggles from food need to drop stones 07:58:32 <|amethyst> they save turncount by dropping slowly 07:58:39 <|amethyst> not just stones, *one* stone 07:58:53 <|amethyst> dropping takes the same amount of time whatever the size of the stack 07:58:55 <|amethyst> throwing does not 07:59:11 -!- Quashie has quit [Ping timeout: 240 seconds] 07:59:49 and even if it is a problem, it doesn't seem to be a reason to make dropping stacks take multiple turns 08:00:39 Currently the only reason to ever drop anything is that you want to pick something else up and your inventory is full, so the only way this has tactical implecations is if you're in danger with a full inventory and also want to grab something off the ground before escaping. 08:01:05 . . . except mummies, I guess. You could drop things to avoid having a mummy curse them, but I doubt anyone does that 08:01:18 i drop stuff now so i don't have to drop stuff later 08:01:47 so i don't even run into that implication 08:02:48 not that i can code this without descending into DELAY CODE 08:03:31 -!- CSDCS has quit [Read error: Connection reset by peer] 08:09:08 -!- radinms has quit [Ping timeout: 240 seconds] 08:11:28 -!- CKyle has joined ##crawl-dev 08:18:44 -!- DrinkMachine has quit [Ping timeout: 240 seconds] 08:20:15 -!- CKyle has quit [Quit: CKyle] 08:21:48 -!- Evablue has quit [Quit: Evablue] 08:30:22 -!- rossi has quit [Quit: WeeChat 0.4.3] 08:32:14 -!- wheals has quit [Quit: Page closed] 08:34:48 -!- puissantveil has quit [Quit: Page closed] 08:35:00 -!- Piginabag has quit [Quit: Page closed] 08:35:22 -!- bonghitz has quit [Remote host closed the connection] 08:36:43 -!- Evablue has quit [Client Quit] 08:37:49 -!- Kazimuth has quit [Read error: Connection reset by peer] 08:45:08 -!- Arkaniad has quit [Ping timeout: 240 seconds] 08:46:52 -!- MarvinPA has joined ##crawl-dev 08:58:13 -!- MaxFrost has quit [Ping timeout: 248 seconds] 08:58:31 -!- CKyle has joined ##crawl-dev 09:01:41 -!- Datul has quit [Ping timeout: 246 seconds] 09:04:45 -!- negatendo has quit [Quit: negatendo] 09:08:03 -!- predator117 has quit [Ping timeout: 255 seconds] 09:08:21 -!- Patashu has quit [Ping timeout: 240 seconds] 09:09:13 -!- orionstein_away is now known as orionstein 09:13:40 03MarvinPA02 07* 0.15-a0-1942-ge5d7017: Reduce the startup time of Malign Gateway 10(33 hours ago, 2 files, 2+ 2-) 13http://s-z.org/neil/git/?p=crawl.git;a=commitdiff;h=e5d7017d8cb7 09:13:40 03MarvinPA02 07* 0.15-a0-1943-g379beb6: Remove Haunt from the Grand Grimoire 10(33 hours ago, 1 file, 1+ 1-) 13http://s-z.org/neil/git/?p=crawl.git;a=commitdiff;h=379beb6308ac 09:13:40 03MarvinPA02 07* 0.15-a0-1944-g3d46826: Let Felids be fully bound under Ashenzari when all their slots are cursed 10(33 hours ago, 1 file, 4+ 0-) 13http://s-z.org/neil/git/?p=crawl.git;a=commitdiff;h=3d4682682ae7 09:13:40 03MarvinPA02 07* 0.15-a0-1945-ge7b52e1: Don't consider the finger necklace's ring slot for Ash boundedness 10(31 hours ago, 1 file, 6+ 1-) 13http://s-z.org/neil/git/?p=crawl.git;a=commitdiff;h=e7b52e16aab9 09:13:40 03MarvinPA02 07* 0.15-a0-1946-g34a3de9: Fix hellfire burst being a different colour to hellfire zap 10(17 minutes ago, 2 files, 2+ 2-) 13http://s-z.org/neil/git/?p=crawl.git;a=commitdiff;h=34a3de93f540 09:16:42 -!- Euph0riaX has quit [Ping timeout: 240 seconds] 09:17:14 -!- CKyle has quit [Quit: CKyle] 09:20:11 -!- absolutego has quit [Remote host closed the connection] 09:30:01 -!- GrFi has quit [Quit: Page closed] 09:31:06 -!- CKyle has joined ##crawl-dev 09:31:42 -!- Wehk has quit [Quit: Leaving] 09:31:49 -!- Basil has joined ##crawl-dev 09:39:01 Fedhas gives a misleading/redundant message when firing through bushes. 13https://crawl.develz.org/mantis/view.php?id=8769 by Kvaak 09:44:37 -!- tensorpudding has quit [Ping timeout: 248 seconds] 09:52:37 -!- _D_ has quit [Quit: leaving] 09:57:30 -!- CKyle has quit [Quit: CKyle] 09:59:53 -!- Evablue has quit [Ping timeout: 256 seconds] 09:59:53 -!- Evablue_ is now known as Evablue 10:00:15 -!- Sgeo has quit [Read error: Connection reset by peer] 10:01:09 -!- CKyle has joined ##crawl-dev 10:01:33 -!- UncertainKitten has joined ##crawl-dev 10:06:14 -!- PleasingFungus has joined ##crawl-dev 10:13:52 !lm johnny0 x=src 10:13:53 26642. [2014-07-08 07:58:50] [src=cszo] johnnyzero the Unseen (L17 TeAs of Kikubaaqudgha) killed Jorgrun on turn 33478. (Swamp:2) 10:13:57 !lm johnny0 x=tiles 10:13:58 26642. [2014-07-08 07:58:50] [tiles=false] johnnyzero the Unseen (L17 TeAs of Kikubaaqudgha) killed Jorgrun on turn 33478. (Swamp:2) 10:14:03 hm 10:15:31 How can I run the online version of console? (Is there a meaningful difference between that and offline console?) 10:15:39 Trying to replicate 8768 10:16:03 -!- mizu_no_oto has quit [Quit: ["Textual IRC Client: www.textualapp.com"]] 10:16:05 ssh 10:17:47 What do I need to have running locally? 10:17:59 linux or windows 10:18:04 ? 10:18:06 no I mean 10:18:10 -!- conted has quit [Quit: Page closed] 10:18:14 the executable that I am sshing to connect to 10:18:20 -!- TS__ has joined ##crawl-dev 10:19:04 * geekosaur parse fail 10:19:05 !bug 8786 10:19:05 https://crawl.develz.org/mantis/view.php?id=8786 10:19:52 !bug 8768 10:19:53 https://crawl.develz.org/mantis/view.php?id=8768 10:19:56 nothing? 10:19:59 dyslexia 10:20:09 So long as you can ssh, just connect to a server like s-z 10:20:20 Will I have wizmode there? 10:20:25 if you're on windows, install putty. on most unixlikes you already have a terminal and ssh 10:20:33 I suppose I can just check 10:20:36 that's all you need 10:20:39 admins can activate wizmode on T1 10:21:03 -!- Zermako has quit [Ping timeout: 240 seconds] 10:21:25 And console and tiles don't have different accounts, you can start a game in tiles and continue in console or whatever 10:21:30 Yes, I know all of that. 10:21:38 I've ssh'd to the e.g. CSZO before. 10:22:15 I was trying to replicate 8768 with the save that johnny0 provided, so my plan was to host a local server, put his save in the appropriate directory, load it up, and test. 10:22:31 Since I've already tested in offline tiles, offline console, & webtiles, and was unable to replicate in any of those. 10:23:21 okay devs I've done it 10:23:34 I've found the single most insane complaint about weight removal: 10:23:37 "If I am a weak mage, and can carry 20+ rations, then starvation will never "await me" on the Labyrinth. That was a price for being weak. Now everything goes into INT and/or DEX." 10:23:37 you can activate wizmode whenever, not just turn 1 10:23:49 Oh huh 10:23:59 -!- ProzacElf has joined ##crawl-dev 10:24:02 minmay: the hunger cost.....! 10:24:33 turn 1 wizmode was just a suggested way of allowing non-devs to use it 10:24:56 huh, lab deaths are way up recently 10:24:58 Mm, got that mixed up 10:25:03 !lg * labyrinth s=ktyp recent 10:25:04 1223 games for * (labyrinth recent): 1008x mon, 148x beam, 20x quitting, 14x headbutt, 10x starvation, 9x pois, 3x disintegration, 2x cloud, 2x water, divine wrath, targetting, lava, burning, trap, beogh smiting, wild magic 10:25:37 i don't think any server admins have enabled that though, since there is potential for bad things (like high server load with lots of fsimming) 10:26:05 -!- Morg0th has quit [Quit: leaving] 10:26:12 !lg * lab ktyp=divine_wrath 10:26:13 1. rayonic the Grappler (L12 TrMo of Nemelex Xobeh), killed by the wrath of Vehumet in a Labyrinth (labyrinth_hidden_loot) on 2013-12-20 16:55:41, with 18631 points after 14997 turns and 2:24:09. 10:26:36 !lg * lab ktyp=targetting 10:26:37 1. sdynet the Fetichist (L11 DsAr of Nemelex Xobeh), killed themself with a badly aimed orb of electricity in a Labyrinth (labyrinth_watery) on 2013-12-16 13:18:14, with 8596 points after 14409 turns and 1:43:27. 10:26:43 yessss 10:26:44 MarvinPA: Can't you already do that with sputterflies and such 10:26:54 or has the summon cap nerfed that strategy 10:27:52 or unthrottled bots, if you just want to hammer a server deliberately 10:28:21 not that anyone would ever do that........ 10:28:32 How easily is it to fuck with the servers undeliberately with fsim 10:28:33 I'm pretty sure fsim is much, much worse than that 10:28:35 but i guess fsim has higher risk of causing issues accidentally rather than deliberately. no idea really 10:28:50 I mean just try running it with an axe, it takes several minutes to finish on my computer 10:29:18 with a what 10:30:31 er, I meant a *quick* fsim takes several minutes 10:30:36 I don't want to know how long a proper one takes 10:30:44 -!- ussdefiant has joined ##crawl-dev 10:33:01 oh, you mean fsimming axe combat. I thought you were running crawl on a guitar 10:33:07 presumably an electric guitar 10:34:39 * Grunt shreds the broad axe of distortion!!!!! 10:40:47 -!- CKyle has quit [Quit: CKyle] 10:41:47 -!- Kalir has quit [Changing host] 10:42:14 -!- CKyle has joined ##crawl-dev 10:42:19 -!- lessens has quit [Ping timeout: 272 seconds] 10:44:29 -!- shackes2 has quit [Client Quit] 10:45:00 -!- shackes has quit [Ping timeout: 255 seconds] 10:45:37 -!- lessens_ has quit [Ping timeout: 245 seconds] 10:51:43 -!- PleasingFungus has quit [Quit: ChatZilla 0.9.90.1 [Firefox 33.0a1/20140702030201]] 10:52:10 -!- Textmode has quit [Quit: "It was one dev, naked in a room with a carton of cigarettes, a thermos full of coffee and bourbon, and all his summoned angels."] 10:53:18 -!- Evablue has quit [Ping timeout: 240 seconds] 10:57:38 -!- magicpoints has joined ##crawl-dev 11:00:21 -!- ProzacElf has quit [Ping timeout: 248 seconds] 11:01:12 -!- Krakhan has quit [Changing host] 11:03:28 -!- read has joined ##crawl-dev 11:05:58 -!- ussdefiant has quit [Ping timeout: 240 seconds] 11:07:40 -!- radinms has quit [] 11:08:09 -!- CKyle has quit [Quit: CKyle] 11:09:01 -!- PleasingFungus has joined ##crawl-dev 11:18:03 -!- scummos^ has quit [Ping timeout: 240 seconds] 11:18:34 -!- negatendo has quit [Quit: poop] 11:19:19 So I was playing 0.14 console yesterday, skipping through Abyss 3, when I came across a beehive. I assumed it was a rune vault cause, you know, one doesn't see many beehives in the Abyss. 11:19:20 So after clearing out some of the inhabitants, I did a ctrl-F "rune"--there it is, top of the list! I press 'a' to guide me to it, and the game immediately crashes. 11:20:26 (grunt_abyss_rune_wretched_hive) 11:24:06 yes 11:24:11 that was a cyc quote btw 11:24:18 would I use allcaps??? 11:24:23 would I play 0.14 console???? 11:26:46 -!- ais523_ has joined ##crawl-dev 11:27:13 -!- tsohg has quit [Remote host closed the connection] 11:33:35 -!- Moonsilence has quit [Ping timeout: 264 seconds] 11:37:36 -!- negatendo has quit [Quit: poop] 11:38:54 -!- PolkaDot has quit [Quit: Lost terminal] 11:39:16 -!- bonghitz has quit [Remote host closed the connection] 11:44:50 -!- ProzacElf has joined ##crawl-dev 11:45:07 -!- holtwood has quit [Client Quit] 11:51:58 -!- mopl has quit [Quit: Page closed] 11:59:30 -!- dtsund has joined ##crawl-dev 12:03:19 <|amethyst> hrm 12:03:29 <|amethyst> https://crawl.develz.org/tavern/viewtopic.php?f=8&t=12996: 12:03:34 <|amethyst> It drives me nuts that when you reflexively cast a spell with no valid targets, it uses a turn. The biggest case of this is while attacking an enemy that just turned invisible- if you are reflexively using the main attack spell, it just gives them free hits. Tabbing with no targets in view doesn't use turns, why should attempting to cast a spell with no targets do so? 12:03:42 -!- read has quit [Read error: Connection reset by peer] 12:03:50 <|amethyst> I'm not sure what this person is doing that takes a turn 12:03:50 -!- rossi has quit [Ping timeout: 252 seconds] 12:04:42 yeah I was wondering about that too 12:05:47 <|amethyst> maybe their main attack spell is ignite poison or something? 12:05:53 <|amethyst> refrig 12:06:20 refrig hits invisible targets 12:06:29 if ignite posion doesn't, it probably should 12:06:59 -!- Cerpin has joined ##crawl-dev 12:07:01 <|amethyst> I was just trying to think of "main attack" spells that don't use a targetter 12:08:18 maybe it's a spell that does have one and somehow he's aiming at blank space and confirming through 12:09:04 |amethyst: define "main attack spell" 12:09:11 (Shatter and Tornado don't use targetters) 12:09:25 ??melee 12:09:25 melee[1/2]: a very good spell 12:09:25 they *also* don't fail against invisible enemies! 12:09:32 !send Basil SPELL_MELEE 12:09:33 Sending SPELL_MELEE to Basil. 12:10:26 <|amethyst> SwissStopwatch: I guess if he has a macro to Za that would do it 12:11:25 <|amethyst> though he'd be zapping himself then 12:11:27 good 12:11:34 zapzapzap 12:12:55 ??melee[$ 12:12:55 melee[2/2]: means that if the monster decides to cast a spell, it can pick melee as its spell. If it picks melee as its spell, it walks towards you or melees. Basically it's a way of giving a monster high HD (casts more often and with higher spell power) without making it cast TOO often. 12:13:25 Not a monster spell: 'melee' 12:13:25 %??test spawner spells:melee 12:13:28 what 12:13:34 ha, ha, ha 12:13:43 statue punch 12:13:46 !learn add melee Not a monster spell: 'melee' 12:13:47 melee[3/3]: Not a monster spell: 'melee' 12:13:54 -!- Arkaniad|Laptop has quit [Read error: Connection reset by peer] 12:13:56 -!- Tenda has quit [Ping timeout: 240 seconds] 12:14:00 Unstable branch on crawl.akrasiac.org updated to: 0.15-a0-1946-g34a3de9 (34) 12:14:02 ??hell sentinel 12:14:03 hell sentinel[1/1]: A rank 1 demon. Lots of AC, omniresistant, speed 10, spiny, casts hellfire and iron shot (but not torment). 12:14:04 Hell Sentinel (071) | Spd: 10 | HD: 19 | HP: 121-168 | AC/EV: 25/3 08(spiny 5) | Dam: 40, 25 | 05demonic, 10doors, see invisible, !sil | Res: 13magic(immune), 05hellfire, 04fire+++, 12cold+++, 11elec+++, 09poison+++, 04rot, 13neg+++, 13torm | Vul: 08holy++ | XP: 3263 | Sp: hellfire (3d20), melee, iron shot (3d33) | Sz: Large | Int: high. 12:14:04 %??hell sentinel 12:14:38 -!- tsohg has quit [Ping timeout: 240 seconds] 12:15:07 !send Basil 27 Hell Sentinels 12:15:08 Sending 27 Hell Sentinels to Basil. 12:17:33 -!- Ququman has joined ##crawl-dev 12:19:25 03Grunt02 07* 0.15-a0-1947-g071ec8e: Remove a name-colliding randart name. 10(2 minutes ago, 1 file, 0+ 2-) 13http://s-z.org/neil/git/?p=crawl.git;a=commitdiff;h=071ec8e79a4d 12:20:33 heh 12:22:35 03|amethyst02 07* 0.15-a0-1948-g25feac7: Allow specifying spells:melee in monster specs. 10(3 minutes ago, 1 file, 4+ 1-) 13http://s-z.org/neil/git/?p=crawl.git;a=commitdiff;h=25feac74e372 12:22:42 dang, fast! 12:22:47 oh, while people are around. 12:22:55 I was doing some work on ranged combat reform last night. 12:23:16 PleasingFungus: do tell 12:23:43 |amethyst: hm 12:23:50 |amethyst: I feel as though there may be a cleaner way to do that 12:24:53 <|amethyst> Grunt: maybe :) 12:25:00 slings were basically easy - I made projectile damage act as +dam slaying instead of base damage, pushed base damage up to 7 (from 2), and sling bullet damage up to 5. testing, it seemed to be roughly as good as a flail when using stones, and slightly worse than a demon whip when using sling bullets, which seemed not completely unreasonable. 12:25:32 <|amethyst> Grunt: I figured setup_mons_cast didn't really need to handle it, but maybe that would be better 12:25:47 the basic design goal there being that they're low-investment 1-handed ranged weapons - demon whips being the precise analogy. 12:27:29 I want shortbows to be similarly low-investment 2-handers (ranged slightly-worse quarterstaffs - maybe 13 delay?), and longbows to be high-investment - maybe 17 delay. 12:28:49 the idea being that there would actually be a case where people use shortbows - though perhaps that's too strong, given that they allow you to later 'promote' to using longbows? not sure. 12:31:52 crossbows are the interesting question, though. the suggestion of making them scale poorly with skill by giving them high projectile damage/low base damage was suggested, but the problem is that most weapon damage scaling comes from the delay change, not the actual damage multiplication - even at a meagre 7 base damage, sling damage scales very very well with skill - up to mindelay. I'm also... 12:31:54 ...not convinced that we need a *third* low-investment ranged weapon... 12:32:40 perhaps crossbows should be good against evasive enemies? 12:32:51 the game doesn't expose ev at all, though. 12:33:02 and who's going to train up a weapon skill just to attack a particular enemy type? 12:33:03 -!- Kenran has quit [Quit: Quitting] 12:33:27 I was thinking more from a "covering holes in your build" type thing 12:33:40 I am not convinced that is actually a thing in crawl 12:33:45 e.g. many characters want a rod of inaccuracy because it works well against enemies they otherwise couldn't hit 12:33:49 -!- Bloax has joined ##crawl-dev 12:33:50 but yeah, it might not be 12:34:03 err, otherwise couldn't hurt 12:34:16 obviously they could hit them, seeing as they're vulnerable to inaccuracy :-) 12:34:25 rod of inacc is neat, but it does kind of suffer from hidden ev 12:34:33 I end up %?? everything I want to attack with it to check if it actually has ev 12:34:40 does a lich have good ev? who knows? 12:35:19 wheals suggested making their delay scale half as fast with skill as normal, but that's kind of obtuse. much better, I think, would be to make mindelay=delay for xbows. 1.5 delay, 1.5 mindelay. (and 2.0/2.0 for Sniper.) Give it huge base damage, so it's good early on and scales with skill, but is risky to use, since it takes so long to fire. the chei of ranged weapons. 12:35:59 I'd personally just argue for monster EV being visible, but I've made that argument before and lost it 12:36:07 so I don't really want to get into the argument again 12:37:42 -!- simmarine has joined ##crawl-dev 12:38:09 I'm not really convinced that high acc is meaningfully interesting in the first place as a distinguishing feature for a weapon - see the discussion that led to the merging of slaying... 12:39:38 -!- Lighti has joined ##crawl-dev 12:39:48 i'd still give it some delay scaling, zero skill shouldn't be overwhelmingly good probably? 12:40:22 -!- wheals has joined ##crawl-dev 12:40:23 but hitting min delay early could work maybe 12:40:45 PleasingFungus: any idea how player acc vs monster evasion works? 12:40:47 * wheals snipes PleasingFungus!!!! 12:41:02 Something like 1dAcc - 1dEv ? 12:41:16 although also basing stuff on min delay is sort of not great for the purpose of getting rid of min delay 12:41:16 setting aside sure blade and such 12:41:54 didn't know that anyone was still working on getting rid of mindelay 12:41:54 i guess in a min-delay-less world having its delay scale more slowly would be fine though 12:42:34 i don't think they are but that doesn't mean it's not something worth bearing in mind for the future 12:44:57 well, now that grunt made ranged weapons work analogously to melee weapons, my basic goal was to get ranged weapons to have reasonable stats again. in a new system, they'd have to be re-re-designed, yes 12:45:03 but so would everything else 12:46:09 that reminds me, if projectiles get turned into slaying-like they should get their base dam showed 12:46:11 or something 12:46:13 oh 12:46:15 they don't? 12:46:26 no 12:46:31 hm 12:46:40 of course, only with slings are you actually making a choice between types 12:46:40 that seems non-ideal 12:46:55 (projectile damage not being shown) 12:46:57 well, it made sense before the rewrite since the numbers were basically meaningless 12:48:56 well right now, ammo hiding its base damage means that launcher base damage might as well be hidden too 12:49:18 because knowing launcher base damage is useless if you don't know your ammo's base damage 12:49:54 also shortbows are already better than demon whips, you know that right 12:50:19 that is not a fact that is set in stone 12:50:25 it is a fact that is extremely to change 12:50:29 which, in fact, is why I'm changing it 12:50:32 that would be why there is a rebalance going in now 12:50:37 on, not in 12:51:03 well you said "the idea being that there would actually be a case where people use shortbows" and there are already an awful lot of those since they are better than demon whips! 12:51:08 -!- rossi has quit [Ping timeout: 252 seconds] 12:51:46 using shortbows instead of longbows was specifically what I was saying 12:52:15 -!- Bloaxor has joined ##crawl-dev 12:52:32 yeah and there are already plenty of times that you do that... 12:52:52 that is a good thing to preserve for the new numbers, then 12:53:08 not necessarily 12:53:11 -!- bonghitz has quit [Remote host closed the connection] 12:53:18 anyway doesn't reforming ranged weapons to work completely differently than melee weapons kind of defeat the point of the previous reform? 12:53:26 no 12:53:56 the point was more to be comprehensible, and working the same as melee weapons works well for that 12:54:06 they still work almost exactly the same. you have a base damage which scales off weapon skill, a delay which is reduced by 1 aut for every 2 weapon skill, etc 12:54:17 if the new system is comprehensible (which remains to be seen) then it still fulfils the goals 12:54:18 it's just they also have bonus slaying-style damage from projectiles 12:54:25 you were just talking about changing the way the delay works... 12:54:38 I was talking about making crossbows, specifically, have a fixed delay 12:55:02 not a delay that scales differently, because that would violate the point of the design, exactly as you're saying 12:55:23 but looking at the crossbow, you would see: "base delay: 1.5. minimum delay: 1.5." 12:55:53 which is very straightforward 12:56:02 -!- Bloax has quit [Ping timeout: 245 seconds] 12:56:43 i suppose in the specific case of changing the scaling to 0 it's fairly easy to understand, but I'm not sure a launcher that doesn't improve with skill is good gameplay 12:56:53 my concern is that to get the math to work out, you'd need to make base damage scale more strongly with weapon skill (for crossbows), which would in fact impair the clarity of the design 12:57:00 yes 12:57:10 I need to run the numbers 12:57:24 hm 12:57:41 having it still scale but with a higher min delay than 7 would maybe work there and be comparable to eg sabres 12:57:50 Sounds like you'd be one-shotting orc priests or something if crossbows were to be worth anything later on 12:58:18 also, I don't get the point of attaching slaying to ammo. isn't it just like generating the launcher with higher enchantment (and enchantment cap)? 12:58:21 unless crossbow damage scales heavily to skill I guess 12:58:39 same as how the current situation (attaching base damage to ammo) is just like giving launchers extra base damage 12:58:43 sabres are already a special case that I don't like very much 12:59:01 yeah, I think I'm probably going to set projectile damage to 0 for arrows & bolts 12:59:06 yes I'm not sure why anyone would point to cutlass mindelay as an example of something where crawl is clear and makes sense 12:59:18 -!- renftw has quit [Ping timeout: 240 seconds] 12:59:30 the projectile damage thing is just so that stones and sling bullets are differentiated in a way that's not impossible to balance 12:59:33 I mean it's different if you make it so there are a bunch of different ammo types for the same launcher but that doesn't seem worthwhile, sling+stones is already godawful 12:59:53 probably it can be removed entirely when base ammo is made unlimited, but that's not going to be in 0.15 12:59:54 I can't imagine how you could possibly distinguish stones and sling bullets in a way that isn't "sling bullets are better" 13:00:09 that is the exact way in which they're distinguished, yes 13:00:12 -!- valtern has quit [Ping timeout: 245 seconds] 13:00:17 well it's an example of an exception that is now pretty clearly shown in item descriptions, which would not be the case for changing delay scaling 13:00:19 but bullets are in limited supply in early d iirc 13:00:30 MarvinPA: yeah, that's Less Bad 13:00:50 and as such doing something similar to crossbows seems entirely comparable 13:02:02 I just don't see why changing the way delay/base damage/whatever works is necessary to balance launchers when it supposedly works perfectly fine for melee weapons 13:03:22 yeah longbows and crossbows are super overpowered, but that's because they are like top-end melee weapons (dblade and bastard sword respectively) that are ranged, get two brands, and are much easier to get 13:04:00 it is really unhelpful to keep talking about how they're currently "overpowered", since fixing *that* is trivial 13:04:10 take the number called 'base damage', decrease it. done 13:04:12 the actual problem 13:04:14 I think you could make them reasonable by changing some combination of those attributes (probably not the ranged part though) without changing fundamental game mechanics 13:04:20 yes 13:04:20 i don't think anyone has claimed it's necessary to balance them? as far as i know it is about differentiating them 13:04:26 the actual problem here is differentiating xbows 13:04:28 yes 13:04:32 well how are melee weapons diferentiated? 13:04:36 differentiated* 13:05:21 axes cleave. spears reach. high-tier maces are common; longblades do fucktons of damage. staves require limited skill investment. 13:05:43 -!- wheals has quit [Quit: Leaving] 13:05:54 -!- CKyle has joined ##crawl-dev 13:06:19 notice that you have two of those already: xbows take more skill than longbows and do more damage 13:06:21 -!- Bloaxzorro has joined ##crawl-dev 13:06:24 I guess you could sort of go with a mace/lblade analogy for bows/crossbows? since bolt ammo tends to be scarce earlier 13:06:39 also, they have different sets of brands 13:07:18 I think launchers are already much more differentiated from one another than melee weapon classes are, honestly 13:07:30 -!- TangoBravo has quit [Quit: Page closed] 13:09:58 -!- Bloaxor has quit [Ping timeout: 240 seconds] 13:10:11 (also, difference in generated brands is a big difference between long blades and maces that you ignored) 13:10:21 sorry, I don't know much about the brand gen code 13:10:40 maces get crappy brands, long blades sometimes get not-crappy brands 13:10:41 okay well, how often do you see great maces of freezing 13:11:11 gmace is a lot of prot and other things I think? 13:11:22 don't forget holy wrath 13:11:26 if your answer is different from "never" then it was in a weird vault or off a weird monster or something because great maces don't generate with flaming/freezing at all on the ground 13:11:30 especially after the m&f redistribution 13:11:34 the official mace brand of uselessness 13:12:11 well to be fair long blades get excessive holy wrath too 13:12:37 -!- Swissland has quit [Client Quit] 13:12:47 23% of floor great swords are holy wrath 13:14:16 wights dont get great maces though 13:14:44 -!- tholmes_ is now known as tholmes 13:16:07 anyway, I think you are greatly underestimating the difference between longbows and crossbows, at least as it compares to the differences between melee weapons (in particular I am not convinced cleave/reach are such big distinguishing factors) 13:17:00 now, if you said melee weapons are not differentiated enough either then i'd have no problem with your position :P 13:17:30 that is, in fact, my position 13:17:32 :) 13:17:35 great! 13:18:00 but it seems more viable to maybe try to fix ranged weapons right now (total number of types: 4, current status: totally broken) 13:18:21 than to try to fix melee weapons 13:18:41 so would you want to change the way delay works for specific melee weapons? 13:19:11 I have put absolutely no thought into fixing melee weapons. 13:19:55 but this is a fix you proposed for launchers 13:19:55 and if it would be a good distinguishing feature for those, then it would probably work for melee weapons too! 13:19:57 I'm trying to demonstrate why I think it is not a good one at all 13:20:05 because melee weapons are probably more familiar 13:20:13 there is exactly one type of crossbow weapon 13:20:15 it is the crossbow 13:20:26 ??hand crossbow 13:20:26 hand crossbow[1/1]: In ancient times, a weapon that could fire darts. 13:20:29 rip 13:20:37 it is much simpler to change that than something like, say, longblades 13:20:37 okay, would you want to change the way delay works for all long blades? 13:20:52 that really seems very closely analagous to me 13:21:30 personally I think it's awful that cutlasses have a special case, and wish they had 11 base delay with short swords removed or something 13:21:54 yeah, my goal with any changes is to be absolutely transparent 13:22:03 -!- valtern has quit [Ping timeout: 240 seconds] 13:22:04 insofar as crawl combat math & transparency coexist 13:22:17 ??mace 13:22:17 mace[1/1]: A long handle with a heavy lump on the end. (one-handed mace; Dmg 8 Acc +3 Delay 14) 13:22:29 well, the only proposed changes I heard were exactly like cutlasses 13:22:41 that was mpa's suggestion 13:22:44 ??dagger 13:22:44 dagger[1/1]: A long knife or a very short sword. (Short Blade; Dam 4 Acc +6 Delay 10) Notable for getting a larger stabbing bonus than any other weapon. Doesn't chop hydra heads. 13:22:48 and wheals' 13:23:04 11 delay cutlass sounds alright 13:24:30 my suggestion was fixed delay/high base damage xbows, at least as an experiment. I like the idea of a weapon that forces you to risk taking slow turns in exchange for high damage - as a design tradeoff. it might not be possible to do this without making ugly changes to crawl's internal math re base damage scaling with skill, in which case I'll abandon the idea and just go with "ranged... 13:24:32 ...bastard sword" or something 13:25:54 but I think it'd be a much simpler change than even cutlass-style weird mindelays; "delay does not scale with skill, at all, for this weapon type" is very straightforward 13:28:14 -!- Daekdroom has quit [Quit: Saindo] 13:30:07 -!- TS__ has quit [Ping timeout: 256 seconds] 13:33:48 Well if neither damage nor speed scales with skill then there's only accuracy left. 13:34:13 and accuracy is rather funny 13:34:22 damage scales with skill, though 13:34:25 -!- Keanan has joined ##crawl-dev 13:35:22 -!- Trevise has quit [Ping timeout: 246 seconds] 13:37:31 PleasingFungus: How about removing Crossbow skill entirely? Transform them into a purely loot item. 13:38:05 PleasingFungus: That way you don't have to make them interact with skill in a gimmicky way, and they have a fixed delay 13:40:47 -!- lessens has quit [Ping timeout: 264 seconds] 13:40:54 ??disaster_area[3 13:40:54 TZer0: You have 1 message. Use !messages to read it. 13:40:54 disaster area[3/5]: so what does Disaster Area actually do, besides insta-kill you on tomb:3 insta-kills everything besides you when you aren't on tomb 3 13:40:57 !messages 13:40:58 (1/1) |amethyst said (1d 16h 21m 21s ago): !crashlog bmfx 21 is a SIGTERM during I/O; I'd check kernel logs just to make sure there aren't bad blocks 13:40:59 ??disaster_area[5 13:40:59 disaster area[5/5]: !lg evablue xl=27 place=pan 1 -tv 13:41:13 Lasty: that seems pretty drastic 13:41:41 Well, it sounds like you want crossbows to essentially behave as weapons w/o skill . . . maybe that's the ideal design 13:41:46 that is not what I want 13:42:12 you may have been confusing me with wheals, or someone else 13:43:13 goals. sling: 1h low-investment. sbow: 2h low-investment. lbow: 2h high-investment. xbow: 2h high-investment, high delay. 13:43:34 Ah, I misunderstood that you wanted it to be high investment and high delay 13:43:42 !message |amethyst on it. 13:43:42 You probably meant !messages, or possibly !tell. |amethyst on it. 13:43:52 !tell |amethyst on it. 13:43:53 TZer0: OK, I'll let |amethyst know. 13:44:31 If you set base delay to 23, it would scale down to 9.5 delay at 27 skill, which few people would ever reach. 13:45:00 Practically-speaking, it would top out around 11 delay 13:46:35 what about a lower initial delay but slower improvement in that section 13:47:01 Slower improvement means changing the formula, which means reducing clarity again 13:47:41 the question is whether or not that's worse than having a ranged weapon with shaky accuracy that takes 2.1 turns to fire on d:1 13:47:49 yes, it is worse 13:47:55 oh my 13:50:32 -!- rossi has quit [Ping timeout: 252 seconds] 13:51:27 PleasingFungus: What do you think is the right price for ranged weapons to pay for their ranginess? Compared with the good weapon classes, polearms get +1 range in exchange for approximately -1 base damage and +2 skill levels required. Getting another 6 tiles of reach seems like it should be at least -2-3 base damage and +4-6 skill levels compared with the good weapon classes. 13:53:37 The catch is that each ranged weapon has its own skill and you can start with any of them, so if sling is as strong as a regular whip, it's absurdly weak; if it's as strong as a demon whip it's completely nuts. 13:53:42 they also require ammo 13:53:48 which is notable early on 13:53:57 True, particularly for crossbows 13:54:20 Slings usually have plenty of ammo until they reach the point where bullets are required to deal damage, and then it depends on whether Shoals spawns 13:57:18 I can't come up with a way to give the ranged weapons damage/speed numbers that seem satisfactory, because they need to scale from D1 to Zot:5 without ever getting a significant loot upgrade. I think they need to use different formulas in some way. 13:57:25 -!- gammafunk has quit [Ping timeout: 248 seconds] 13:59:10 It's like trying to balance hand axes and falchions if there are no other long blades or axes 13:59:16 -!- wheals has joined ##crawl-dev 14:00:45 -!- tcjsavannah has quit [Quit: tcjsavannah] 14:01:14 PleasingFungus: Another radical idea: make the starting weapons (not longbow) all kinda crummy (like starting weapons are), and introduce a way (rare consumable? different items?) to fire multiple projectiles at once. 14:04:39 mm 14:04:51 brings back memories of Elf Rangers 14:05:15 you start wielding a stick for a bow, and the string is the elastic band from your underwear 14:05:22 as you explore the dungeon you find better strings 14:05:37 'zactly 14:05:52 We've got the flavor now, so the idea's 99% done. 14:05:52 like the spinal cord of an electric golem 14:05:53 :D 14:07:04 multiple porjectiles is something that (a lot of?) games do, though it's functionally similar to lowering average delay 14:07:07 maybe do that "ranged always mulches" thing 14:07:11 porkjectiles 14:07:40 well, regardless of what happens to ranged ammo should either be infinite or always be destroyed 14:07:42 I think that is pretty clear 14:07:49 -!- bencryption_ is now known as bencryption 14:07:59 minmay: I don't think that'll happen, but I would love that. 14:08:11 dispersal buff 14:08:23 Hellfire buff 14:08:26 wheals: http://www.zimlab.com/wizardry/flamestryke/wizardry8/itemsw8/weapons-ammow8.html 14:08:31 mmm 14:08:41 you can make something almost identical to the current situation by just making ammo always mulch and dividing ammo stack size by their former mulch rate 14:08:42 note how there are six different things you can fire with a sling 14:08:51 i wish chris were around, he'd get a kick from this GDD thread complaining about the German translation 14:08:55 wheals: it's similar to lowering the delay, except that it can be done on top of lowering delay and without obscuring the relationship of skill->delay that melee and ranged now share 14:09:04 the only thing that throws it off is hellfire and (blue) lava but honestly who cares about those 14:09:27 that gets rid of the horribleness of reusable ammo while retaining the current balance almost exactly 14:09:43 minmay: Yeah, I'd vote for that. It came up in GDD a while back, but went nowhere at the time 14:09:44 ok, it being another axis is true 14:09:51 I think Siegurt proposed it 14:09:58 lots of people have proposed it 14:10:02 ah 14:10:13 if you ever play a ranged character seriously you will propose it because seriously reusable ammo is the worst thing :P 14:10:45 Yes. 14:11:04 the worst thing? 14:11:06 remember 14:11:08 enchanted ammo... 14:11:13 In my Iashol test game I found a +8 shortbow in the early dungeon, and it was the best possible weapon I could use by a huge margin, but it made me hate playing the character 14:11:23 worst remaining thing? :D 14:11:28 PleasingFungus: a symptom of ammo mulching 14:11:30 plausible 14:11:32 or lack thereof 14:11:37 no it was bad in its own right 14:12:03 i - 22 +1 arrows. j - 17 +2 arrows. x - 24 +3 orcish arrows 14:12:11 -!- wheals is now known as shirley 14:12:20 -!- shirley is now known as wheals 14:12:21 Yeah, that was terrible 14:12:23 anyway. moot now 14:12:51 -!- Bloaxzorro has quit [Quit: Error: Bloax not found] 14:13:02 -!- Bloax has joined ##crawl-dev 14:13:42 ammo always mulching doesn't necessarily sound like a bad idea (not being afraid to shoot at stuff over blue/lava is if anything a plus rather than a minus) 14:13:44 but I'd have to think about it 14:14:31 it also gets rid of picking your ammo back up being an obligatory ritual 14:15:00 -!- Arkaniad has quit [Ping timeout: 248 seconds] 14:15:54 -!- TS__ has joined ##crawl-dev 14:16:27 That's all it does, really -- but that's more than enough 14:18:00 those two things are all it does, yes 14:18:07 and it sounds better than status quo 14:18:19 and now that nothing weighs anything it might just be possible, too 14:19:00 !tell |amethyst sysadmin is looking into it. Taking backup. 14:19:01 TZer0: OK, I'll let |amethyst know. 14:19:17 PleasingFungus: Well, I think it would give ranged a proper niche if you couldn't shoot nearly everything to death 14:19:26 I'm going to post a GDD thread on the subject . . . it's possible someone has a great idea that would resolve the issue. 14:20:11 Basil: the usual proposal is to divide stack sizes by the former mulch rate so that it doesn't change balance at all 14:20:30 -!- Axecrazydevs has quit [Quit: Page closed] 14:20:37 making ammo more limited is a very different change 14:21:10 limited ammo would be not-intolerable if ammo always mulched 14:21:12 Yup -- that would make it less silly to have short bows be demon whips 14:21:42 would be good with no-pickup monsters too 14:21:45 TZer0: Don't forget the random ping spikes. 14:21:56 that said CeHu might become intolerable in turn 14:21:59 but oh well. 14:22:37 -!- moxian has joined ##crawl-dev 14:22:40 Would it be intolerable or just weak? It seems like Ce* would still be pretty good, and not picking up countless arrows would make it way more tolerable 14:22:49 Crap 14:23:02 sysadmin is reporting disk errors on lantea 14:23:05 Lasty: "kiting hill giants with a spear" intolerable 14:23:07 shittt 14:23:08 can someone update the topic in ##crawl? 14:23:19 ??ops 14:23:19 he is copying all the content over to another drive. 14:23:20 ops[1/2]: ##crawl-dev ops: elly dpeg enne kilobyte rax violetj greensnark sorear due Zaba galehar MarvinPA Napkin 14:23:23 ??ops[2 14:23:24 ops[2/2]: ##crawl ops: Iainuki paxed rax Napkin violetj elly due 14:23:29 (sorry for ping :() 14:23:31 !learn edit ops[1] s/$/ Grunt/ 14:23:32 ops[1/2]: ##crawl-dev ops: elly dpeg enne kilobyte rax violetj greensnark sorear due Zaba galehar MarvinPA Napkin Grunt 14:23:36 (sorry Nappy) 14:23:47 !learn edit ops[1] s/Napkin/Nap_kin/ 14:23:48 ops[1/2]: ##crawl-dev ops: elly dpeg enne kilobyte rax violetj greensnark sorear due Zaba galehar MarvinPA Nap_kin Grunt 14:24:01 Basil: ah, yes 14:24:04 though i guess if we want to summon him anyway for /topic-editing... 14:24:12 ah, thank you ;) 14:24:21 oh wow the topic doesn't have cbro either 14:24:27 It might be good for someone else active to be able to do that in ##crawl, for that matter. 14:24:34 !learn edit ops[2] s/Napkin/Nap_kin/ 14:24:34 ops[2/2]: ##crawl ops: Iainuki paxed rax Nap_kin violetj elly due 14:24:49 paxed, huh 14:24:49 oh 14:24:53 guys 14:24:53 stop 14:24:58 no need to update. 14:25:04 HALT 14:25:08 well, getting cbro in the topic would be nice too 14:25:16 my friend managed to mangle the meaning of a the sentence. 14:25:23 as would be someone active who could kick people!!! 14:25:38 (ok not serious) 14:25:55 /kick wheals Like so? 14:25:56 <_< 14:26:02 !kick Grunt 14:26:07 !ban Grunt 14:26:15 aw, someone removed the cmds 14:26:18 rip 14:26:22 anyway 14:26:27 in light of this, we're setting up rsync 14:26:28 !cmd cheers 14:26:29 Command: !cheers => .echo /me slides a $(sub 0 1 $(sub $(rand $(length $(split & $(=cheers.containers)))) $(split & $(=cheers.containers)))) of $(sub 0 1 $(sub $(rand $(length $(split & $(=cheers.drinklist)))) $(split & $(=cheers.drinklist)))) across the bar to ${1:-${user}}, on the house. 14:26:42 to another disk. 14:26:55 don't worry, your precious replays and saves are (probably) safe 14:26:57 !cmd !kick .echo /kick $* 14:26:57 :D 14:26:59 Defined command: !kick => .echo /kick $* 14:27:02 !kick Grunt 14:27:03 /kick Grunt 14:27:03 -!- magicpoints has quit [Ping timeout: 240 seconds] 14:27:35 -!- PleasingFungus has quit [Ping timeout: 264 seconds] 14:28:01 hm it appears that only r a x can appoint ##crawl ops right now... 14:28:52 -!- zxc232 has quit [Quit: Leaving.] 14:35:31 -!- gammafunk has joined ##crawl-dev 14:36:48 -!- TAS-2012v has quit [Read error: Connection reset by peer] 14:37:35 -!- tcjsavannah has quit [Client Quit] 14:40:19 Really wield a - a +2 vampiric lajatang? (Y) Really unwield a - a +2 vampiric lajatang? (Y) You are already wielding that! 14:42:31 The game is correct to stop you from unwielding it. 14:42:36 It is definitely a bad choice. 14:43:06 just to be sure, you do see the bug right :p 14:43:17 <|amethyst> Lasty: the problem is, he's swapping from the weapon to itself 14:43:17 |amethyst: You have 2 messages. Use !messages to read them. 14:43:46 Man, I need to stop trying to joke 14:44:04 <|amethyst> wheals: which bug, that it asks at all or that it asks in that order? :) 14:44:38 |amethyst: Oh, I didn't actually catch that. 14:44:40 nm :p 14:44:41 oh i didn't even think about the second one 14:44:57 but that's not quite right either i guess 14:44:57 <|amethyst> I guess the order isn't necessarily a bug 14:45:02 The order is correct, I think: 14:45:12 First you confirm that the operation is desired, and then you handle the consequences 14:46:02 <|amethyst> I guess one question is, should there even be two prompts when switching from (say) distortion to vampirism 14:46:37 "Are you sure you want to switch from this to that?" 14:46:41 Could work 14:47:00 <|amethyst> then the bigger question is, how the hell to implement that in the current code? :P 14:47:31 it makes sense to me to have two prompts, you might have wanted to switch from vamp to not-disto 14:47:36 ha, yes 14:47:40 * rax is summoned! "If we need other people to have ops, that's totally something I can do." 14:48:05 You'd probably need to refactor to code to use a "switch weapon from x to y" function 14:48:45 -!- PleasingFungus has joined ##crawl-dev 14:49:34 -!- Philonous has quit [Read error: Connection reset by peer] 14:50:02 * wheals votes for MarvinPA for op. 14:50:50 03ontoclasm02 07* 0.15-a0-1949-g3bc2141: Abjuration spell icons 10(28 minutes ago, 3 files, 0+ 0-) 13http://s-z.org/neil/git/?p=crawl.git;a=commitdiff;h=3bc2141fe0c8 14:50:52 Death Door and being in red poison is pretty much inevitable death. 13https://crawl.develz.org/mantis/view.php?id=8770 by lennard 14:50:52 <|amethyst> who hangs out in ##crawl 14:50:52 Some jerk named Sequell 14:50:52 <|amethyst> Grunt has ops here, could use ops in ##crawl too I guess :) 14:51:13 imo notcluie for op 14:51:30 can you quaff curing to heal other effects while under dd? 14:51:30 <|amethyst> notcluie is overpowered, yes 14:51:31 also zermako 14:51:41 PleasingFungus: i thought he was a te 14:51:48 doh 14:51:52 <|amethyst> simmarine: yes, the issue is DDoor 14:52:02 !lg notcluie op 14:52:03 76. notcluie the Chiller (L1 OpIE), slain by a giant cockroach on D:1 on 2014-01-24 16:45:21, with 2 points after 73 turns and 0:00:29. 14:52:14 !lg notcluie 14:52:15 4031. notcluie the Acrobat (L25 TeGl of Okawaru), escaped with the Orb and 3 runes on 2014-07-08 17:02:27, with 1988028 points after 46677 turns and 5:22:55. 14:52:23 !lg notqw 14:52:24 102. notqw the Severer (L10 TeBe of Trog), slain by a hippogriff skeleton on D:8 on 2014-05-29 16:26:01, with 4950 points after 8497 turns and 0:00:56. 14:52:43 <|amethyst> Sequell: err, never mind 14:52:45 !hs notqw 14:52:46 102. notqw the Axe Maniac (L27 TeBe of Trog), succumbed to Tiamat's poison gas on Zot:3 (st_grand_hoard_of_tiamat) on 2014-05-25 15:28:35, with 583513 points after 59324 turns and 1:05:30. 14:52:47 <|amethyst> doh 14:52:50 PleasingFungus: Siegurt claims that changing exactly how skill affects ranged damage/speed is under consideration as part of the ranged combat reform efforts -- e.g., perhaps ranged combat would have delay reduced by 1 / 3 skill levels. Is that accurate? 14:52:56 i tested that locally and couldn't actually get it to kill me even after drinking a whole bunch of potions of poison 14:53:04 <|amethyst> simmarine: never mind... I was thinking one of those "DD"s was referring to deep dwarves 14:53:11 -!- FlowRiser has quit [Remote host closed the connection] 14:53:21 i guess maybe if you;re somehow casting dd with very low necro skill though, maybe 14:53:25 you're* 14:53:45 it was sprint so maybe they got huge charms and spc fast 14:53:47 PleasingFungus: If so, I retract my comments about balancing being impossible at present. 14:53:50 Lasty: I very much do not like that idea, for reasons established earlier. I'd really prefer for delay reduction with skill to be the same for ranged combat and melee combat 14:53:55 !lg * spen sif clan 14:53:57 10. lennard the Jinx (L12 SpEn of Sif Muna), slain by Gekot's ghost on D:14 on 2014-06-19 14:57:59, with 19680 points after 11669 turns and 0:46:17. 14:54:06 -!- alefury has joined ##crawl-dev 14:54:09 PleasingFungus: Gotcha. That's what I had understood. 14:54:19 could be, i think i took ~5 damage in a turn the couple of times i tried it 14:54:32 he said he had 6 hp i think 14:54:35 earlier you were comparing ranged weapons to spears 14:54:55 so yeah i can definitely see it being a thing that can happen in theory, not sure if it's edge-casey enough to matter either way though 14:54:55 <|amethyst> lg lennard spen sif clan x=hp,tdam 14:55:02 <|amethyst> !lg lennard spen sif clan x=mhp,tdam 14:55:03 2. [mhp=56;tdam=32] lennard the Jinx (L12 SpEn of Sif Muna), slain by Gekot's ghost on D:14 on 2014-06-19 14:57:59, with 19680 points after 11669 turns and 0:46:17. 14:55:24 !lg lennard spen sif clan x=mhp,tdam 1 14:55:25 1/2. [mhp=77;tdam=39] lennard the Eclecticist (L16 SpEn of Sif Muna), blasted by a spectral elf (bolt of negative energy) (summoned by a deep elf death mage (led by a deep elf high priest)) on Elf:1 on 2014-06-15 22:51:49, with 127197 points after 35150 turns and 2:33:30. 14:56:03 !lg lennard spen sprint sif clan x=mhp,tdam 1 14:56:04 1/17. [mhp=28;tdam=18] lennard the Unseen (L6 SpEn of Sif Muna), mangled by a baby alligator in Sprint (Sprint II: "The Violet Keep of Menkaure") on 2014-06-13 23:12:53, with 271 points after 175 turns and 0:01:23. 14:56:06 the difference, in the way that I think about it, is that with ranged weapons, you should probably also want to have a melee skill (MINMAY NOTE: yes I know this is not the case at present!), whereas spear users probably aren't going to be swapping to something else for melee combat. that puts different requirements on skill costs... 14:56:14 !lg lennard spen sprint sif clan x=mhp,tdam ktyp=poison 14:56:15 1. [mhp=125;tdam=7] lennard the Ninja (L18 SpEn of Sif Muna), succumbed to a golden dragon's poison gas in Sprint (Sprint VII: "The Pits") on 2014-07-07 20:11:19, with 217622 points after 14456 turns and 1:35:43. 14:56:49 !lg * ktyp=poison max=dam x=dam 14:56:50 159305. [dam=17] Shashu the Swashbuckler (L14 HaAs of Dithmenos), succumbed to a swamp dragon's poison gas on Swamp:1 on 2014-04-04 05:32:50, with 38250 points after 23945 turns and 1:32:19. 14:56:59 !lg lennard spen sprint sif clan x=dam ktyp=poison 14:57:00 1. [dam=7] lennard the Ninja (L18 SpEn of Sif Muna), succumbed to a golden dragon's poison gas in Sprint (Sprint VII: "The Pits") on 2014-07-07 20:11:19, with 217622 points after 14456 turns and 1:35:43. 14:57:23 hm, 04-04 sounds like it might have been during balancing phase? 14:57:26 !lg * ktyp=poison max=dam x=dam,cv 14:57:27 159305. [dam=17;cv=0.14-a] Shashu the Swashbuckler (L14 HaAs of Dithmenos), succumbed to a swamp dragon's poison gas on Swamp:1 on 2014-04-04 05:32:50, with 38250 points after 23945 turns and 1:32:19. 14:57:35 !lg * ktyp=poison max=dam x=dam -2 14:57:37 159304/159305. [dam=16] BluebellGnoll the Thrower (L11 OgHu of Okawaru), succumbed to Sonja's poison on D:11 on 2014-05-04 15:03:26, with 7119 points after 9083 turns and 1:02:59. 14:57:56 huh 14:57:58 -!- wheals has quit [Quit: Leaving] 14:58:39 PleasingFungus: it sounds like you're aiming for a sweet spot where ranged does significantly less damage than melee weapons, but where you'd still want to sink skill points into it. I'm not sure that sweet spot exists, since it'll usually be more effective to just level up melee and use tactics to spend less time at a range. 15:00:20 -!- gammafunk has quit [Ping timeout: 248 seconds] 15:00:43 for fighting ranged enemies, maybe, in some terrain. for fighting melee enemies, it's very useful to be able to whittle them down from a distance (minmay_ voice: "melee enemies aren't a threat regardless!) 15:01:23 -!- read has joined ##crawl-dev 15:01:38 -!- Arkaniad has quit [Ping timeout: 240 seconds] 15:01:39 also notable that diminishing returns for xp suggest there's almost certainly a niche for low-investment ranged weapons, esp for heavy armour characters 15:01:59 Well, minmay's pretty much right about that -- speed 10 melee enemies w/o special abilities are incredibly unthreatening -- the poison-vulnerable ones (e.g. almost all of them) can be killed with poison needles, and the rest are mostly undead that don't heal and are slower than speed 10 anyway 15:02:30 Against everything else you want to limit the number of turns you spend in LOS, and that usually means using the highest damage weapon you can 15:03:29 So I'm very confused 15:03:56 <|amethyst> PleasingFungus: Lasty is saying duck around a corner, so they enter LOS at melee range 15:03:59 Earlier, you said that if "changing exactly how skill affects ranged damage/speed is under consideration", then " I retract my comments about balancing being impossible at present." 15:04:25 how on earth does that interact with the design problems that you suggest exist? 15:04:25 <|amethyst> oh, nm 15:04:36 yeah sorry, my own fault for sending a fragment 15:04:51 how much should ranged damage be nerfed? (and should slings be buffed a bit so they aren't so embarassingly weak?) 15:05:05 Lighti: Well, the most important thing here is to remove lightlis. 15:05:14 Then we can proceed on a rational basis. 15:05:14 that's always the first step 15:05:29 Also, for heaven's sake read the discussion before trying to start it again from the beginning 15:05:32 oh wait 15:05:32 -!- Lighti is now known as Lightli 15:05:36 ok 15:05:49 wait, is there not normally an 'l' there 15:06:07 have I been hallucinating letters 15:06:29 Lasty: I'm also curious about whether you felt the same issues applied to pre-reform ranged combat. 15:07:08 -!- Kalir has quit [Read error: Connection reset by peer] 15:07:38 -!- Kalir has quit [Changing host] 15:09:31 -!- rbrrk has quit [Ping timeout: 246 seconds] 15:11:59 PleasingFungus: The reason I think the balance issues could be addressed if the formula could be changed is that with the right formula, it might is definitely possible to create a weapon that scales from falchion-level (or worse) at 0 skill to a reasonable end-game weapon at some very high amount of skill. The melee damage formula doesn't allow for that range. 15:13:51 PleasingFungus: I think the old ranged combat had a lot of issues (rip!), but the sum total of its needless complication was that most of the weapons started out reasonable for a starting weapon (maybe not crossbows, but limited ammo mattered most there), and most of them could also become end-game weapons with enough skill. The exception was bows, where you needed to upgrade from short to long bow to get an end-game weapon, and that was usually a stro 15:14:00 -!- jaumoose has quit [Read error: Connection reset by peer] 15:15:35 <|amethyst> cut off at "usually a stron" 15:15:35 you hit the irc message length limit at "usually a stron" 15:15:51 The exception was bows, where you needed to upgrade from short to long bow to get an end-game weapon, and that was usually a strong switch as soon as you could make it -- but that mirrors quarterstaves -> lajatangs. 15:16:15 (except that longbows are still much easier to find than lajatangs) 15:18:16 -!- puissantveil has quit [Ping timeout: 246 seconds] 15:20:23 yeah, it's kind of weird how there are two weapon skills with exactly one associated weapon for each 15:21:46 -!- CSDCS has quit [Read error: Connection reset by peer] 15:21:55 I mean, one possible solution would be making progressions like sling -> better sling -> super-sling and hand crossbow -> better crossbow -> demon crossbow . . . or I suppose better ammo qualities, even, but that would clutter inventory like crazy. 15:22:13 MEGA SLING 15:22:42 sling -> double sling -> triple sling -> quadruple sling 15:22:46 yess 15:23:11 http://blogs.houstonpress.com/artattack/Butter-Battle-Book.jpg 15:23:16 We need that now 15:23:40 I think that might be nice. it'd be cool to have cool weapon upgrades to look forward to, as a ranged user - I guess right now you look forward to cool egos/artefacts? but those are pretty uncommon - the melee weapon progression is a lot more regular... 15:23:53 it's out of scope of what I'm doing right now, though, which is just getting ranged weapons kind of working again. 15:24:02 Right now you pretty much just look for vorpal 15:24:17 I suspect that flaming/freezing might actually be good now 15:24:35 since it works like the melee brand, rather than converting your damage to 100% elemental 15:24:39 Oh, really? 15:24:41 TIL 15:24:56 on the other hand, you can always use branded ammo for that, and the vorpal stacks 15:25:03 I was just about to ask 15:25:10 that makes vorpal still king 15:25:25 though someone just posted that they got some weird fsim results on that 15:25:32 ? 15:26:21 "I recently wizmoded some crossbows, and my results were very strange (vs yak): flaming with plain ammo > vorpal with flaming ammo > flaming with flaming ammo. Do you know anything about that?" 15:26:25 https://crawl.develz.org/tavern/viewtopic.php?f=12&t=8796&start=100 15:26:45 <|amethyst> I wouldn't trust fsim too much 15:26:54 imo fsimsim 15:26:59 <|amethyst> considering that it apparently omits staff damage 15:27:10 ah, heh 15:27:14 <|amethyst> OTOH, it's all we've got 15:28:30 <|amethyst> "It's the simulator crawl deserves, but not the one it needs right now." 15:28:35 rip 15:29:22 -!- bonghitz has quit [Client Quit] 15:30:37 dang 15:30:38 overview of today's discussion: two big changes were suggested. making non-branded ranged ammo unlimited, and adding new ranged weapon types. I'm not opposed to either, but neither's going to be in 0.15, and we do want ranged weapons to be working in some form then. 15:30:43 in terms of smaller suggestions: 15:31:32 Unlimited or limited and also always mulches 15:31:45 <|amethyst> I think that, if it's necessary for balance with the more melee-like formulas, adding an upgrade to crossbows (and maybe slings) wouldn't be out of scope for 0.15 15:31:47 yes, that was a smaller suggestion which I think is probably not exclusive 15:31:53 |amethyst: you think? 15:32:11 !cheers |amethyst 15:32:12 * Sequell slides a pint of scotch across the bar to |amethyst, on the house. 15:32:17 I was just looking for an excuse to try that. 15:32:19 <|amethyst> I'm not saying it's necessary 15:32:21 ha 15:32:40 <|amethyst> but better to have two mildly unbalanced weapons than one highly unbalanced one 15:33:03 <|amethyst> in a release I mean 15:33:36 <|amethyst> Adding a new weapon type is minimal code 15:33:39 if it was less practical to use ranged weapons in melee, and if centaurs/spriggans didn't exist, then it might be interesting to try to balance ranged weapons as doing higher dps than melee weapons. (but being inherently limited by not being usable in melee.) 15:33:45 <|amethyst> so I'm not worried about it introducing bugs or anything 15:33:48 <|amethyst> well 15:33:51 <|amethyst> maybe a little worried 15:33:59 <|amethyst> but we have bows to go by :) 15:34:01 PleasingFungus: an idea I've had for a while is to give ranged weapons huge accuracy penalties in melee 15:34:04 You've got to add it to loot tables too, right? 15:34:14 <|amethyst> considering that it apparently omits staff damage 15:34:19 this is only because staves currently do not do damage 15:34:35 <|amethyst> oh... 15:34:38 haha 15:34:44 that was in mantis-is-down bugs 15:34:48 did it ever make it into mantis? 15:34:56 Grunt: probably not a bad idea 15:35:01 yeah I know it was there since I added it 15:35:16 probably you are not the person I was informing, then :p 15:35:33 was more establishing a timeframe for how long it's been known 15:35:35 btw, ranged weapons aren't actually that much more overpowered than they previously were 15:35:41 and also possibly when it got lost 15:35:42 it's just more obvious now that people can actually figure out how they work 15:35:42 PleasingFungus: yeah, agreed about ranged not being usable in melee. Being able to kite with w/ Haste alone is probably too sick 15:35:54 <|amethyst> You hit the ice beast but do no damage. 15:35:54 <|amethyst> _You kill the ice beast! 15:35:55 -!- gammafunk has joined ##crawl-dev 15:35:58 <|amethyst> what? 15:36:04 it was very fragile 15:36:06 and shattered 15:36:11 you hurt its feelings 15:36:18 |amethyst: the melee hit always does 0 damage, the bonus damage still triggers though 15:36:21 minmay: I disagree: longbows are slightly better, but shortbows are waaay better. I'm not sure about crossbows. 15:36:32 <|amethyst> minmay: but apparently doesn't produce a message 15:36:32 minmay: throwing is also far, far better. 15:36:56 Lasty: I'm pretty sure at high enough skill they are actually weaker, but yes, shortbows and throwing are much stronger (but throwing is still not nearly as good as bows/xbows so that's not actually much of a balance change if you are not a troll or ogre) 15:37:14 er, at high enough skill longbows/xbows are actually weaker 15:37:18 but at skill levels that matter they are stronger, yes 15:37:26 being able to use ranged weapons at melee range seems fine to me 15:37:35 minmay: are you sure about throwing? The charts I've seen indicate that even throwing just tomahawks does damage that exceeds the most powerful weapon-based attacks. 15:37:36 and an accuracy penalty seems like a bad way of discouraging it if it's not fine 15:37:38 the change to longbows/xbows just wasn't actually huge 15:37:41 *at high skill 15:37:50 Lasty: if you have tons of skill and don't wear any armour, sure 15:37:52 clearly add attacks of opportunity instead 15:37:53 If the current state of affairs is "they're not significantly more overpowered but it's more obvious that they're overpowered", I consider that a short term success because it makes it obvious that we need to get on with the rebalancing >_> 15:37:59 yes 15:38:08 minmay: oh, the unarmed armour penalties apply to throwing? Of course. Didn't think of that. 15:38:11 that's pretty much what I'm saying, with the exception that shortbows are dramatically stronger and that's pretty significant early game 15:38:41 Starting with a demon whip is pretty solid 15:40:30 -!- kazak is now known as djetty 15:41:08 <|amethyst> btw, whoever adds that to mantis, please mark #8531 as related 15:41:50 <|amethyst> I don't think that's all there is to 8531 (it seems like it's not counting bonus damage either in fsim) 15:43:15 -!- CSDCS has quit [Read error: Connection reset by peer] 15:44:12 oh, hey, someone reported your issue six months ago, |amethyst 15:44:17 !bug 7971 15:44:18 https://crawl.develz.org/mantis/view.php?id=7971 15:44:39 <|amethyst> hm 15:44:54 <|amethyst> there's still the third issue 15:45:06 <|amethyst> of it always being "hit but do no damage" 15:45:11 -!- Basil has quit [Quit: WeeChat 0.3.7] 15:45:45 <|amethyst> which may be on mantis too 15:45:50 <|amethyst> I'm sure we've had that bug before 15:46:40 yeah that's the one minmay was talking about 15:47:20 oh, hm 15:47:21 <|amethyst> minmay's bug isn't in 0.14 15:47:25 <|amethyst> the messaging bug is 15:47:26 Grunt: No Grunt. You are the overpowered. And then Grunt became a nerf. 15:47:28 yeah, it was introduced in 0.15 15:47:32 and they actually do 0 damage 15:47:50 -!- zxc232 has joined ##crawl-dev 15:48:01 <|amethyst> my guess would be that it was introduced by the ranged rewrite 15:48:08 that is the impression I got as well 15:48:10 yeah, I'm going to report minmay's thing in a minute if he doesn't 15:48:12 -!- lobf has joined ##crawl-dev 15:48:16 I'm just looking through old tickets first 15:48:19 already found some fun duplicates 15:51:20 -!- NeremWorld has quit [Ping timeout: 264 seconds] 15:51:27 btw, it would be really nice if debug mode fsim didn't print dozens of monster speech lookup messages 15:51:35 Magical staff melee always does 0 damage 13https://crawl.develz.org/mantis/view.php?id=8771 by minmay 15:51:48 oh I guess any debug mode kill prints dozens of monster speech lookup messages 15:51:59 -!- Basil has joined ##crawl-dev 15:52:57 minmay: that's my fault, sorry 15:53:04 !blame PleasingFungus 15:53:06 should probably turn that back off gain 15:53:21 it was a codepath that had been off so long that it no longer compiled 15:53:43 <|amethyst> there are diagnostics flags for that sort of thing 15:53:46 well 15:53:48 it uses them 15:53:55 I was going to ask which one it used 15:54:43 DEBUG_MONSPEAK 15:54:50 enabled by DEBUG_DIAGNOSTICS 15:54:54 <|amethyst> oh 15:54:56 enabled of course by FULLDEBUG 15:55:01 <|amethyst> I was thinging the &^Q stuff 15:55:04 <|amethyst> s/thing/think/ 15:55:09 ? 15:55:24 so was I 15:55:37 <|amethyst> Options.quiet_debug_messages 15:55:51 PleasingFungus: the idea is that you can use &^Q to mute some debug messages so that you don't get thinks like 50 messages upon killing a rat 15:56:04 that seems like good functionality 15:56:04 hrm, any way I can figure out how big a term I need to watch a hugeterm ttyrec? 15:56:05 <|amethyst> DIAG_MONPLACE etc 15:56:09 !lg * ikiller=~crusher -ttyrec 15:56:10 22. azzkikr, XL19 MiBe, T:48853: http://crawl.develz.org/ttyrecs/azzkikr/ 2014-07-08.11:35:46.ttyrec 2014-07-08.15:22:32.ttyrec 15:56:11 -!- lobf has quit [Quit: lobf] 15:56:19 the last one is what I tried to watch 15:56:21 PleasingFungus: unfortunately, muting all the messages through this menu doesn't stop these 50 messages from printing 15:56:31 maximizing my term doesn't help 15:56:51 yeah, you'd need to add support for that. I wasn't aware those flags existed 15:57:43 !tell ontoclasm !bug 3936 has some tiles that might be worth grabbing for something, maybe? seems a pity to let it go to waste - there's some good pixels... 15:57:43 PleasingFungus: OK, I'll let ontoclasm know. 15:57:45 yeah, witch such a wiz mode option I could probably just use a full debug build instead of having off in a seperate repo when I need it 15:57:57 *with 15:58:15 not that it wouldn't be witchery 15:59:07 hrm, maybe that ttyrec just has the hugest of terms and I should lower my font size 16:00:06 !lg * ikiller=~crusher x=tiles 16:00:06 22. [tiles=false] azzkikr the Executioner (L19 MiBe of Trog), thrown by an octopode crusher on Depths:3 on 2014-07-08 16:35:01, with 241797 points after 48853 turns and 2:34:55. 16:00:18 dude really made a huge term 16:00:21 or something 16:00:41 -!- Tenda has quit [Quit: Nettalk6 - www.ntalk.de] 16:01:36 crushed under a gigantic terminal 16:01:38 -!- lobf has joined ##crawl-dev 16:01:43 the real threat of Op crushers 16:02:02 -!- renftw has quit [] 16:02:05 fr: they throw you at the screen and the screen cracks 16:02:44 !log azzkikr xl=19 16:02:45 3. azzkikr, XL19 MiBe, T:48853: http://crawl.develz.org/morgues/trunk/azzkikr/morgue-azzkikr-20140708-163501.txt 16:03:01 oh the morgue only produces a regular size map 16:04:05 -!- CSDCS has quit [Read error: Connection reset by peer] 16:04:08 okay, I'm able to watch it in fullscreen with my font size set to 4 16:04:14 haha 16:04:17 uh 16:04:18 wow 16:04:23 well I could probably go up to like 6 16:04:28 I just tried 4 first 16:04:37 Now I need to see this for myself. 16:04:38 looks to be about normal width, but it's extremely tall 16:04:46 !lg azzkikr xl=19 -ttyrec 16:04:47 3. azzkikr, XL19 MiBe, T:48853: http://crawl.develz.org/ttyrecs/azzkikr/ 2014-07-08.11:35:46.ttyrec 2014-07-08.15:22:32.ttyrec 16:04:48 azzkikr likes to really see the dungeon 16:05:22 I can actually go all the way up to 10pt 16:05:44 but there's very little margin left (my resolution is only 1920x1080 though) 16:06:00 &rc azzkikr 16:06:02 http://crawl.develz.org/configs/trunk/azzkikr.rc 16:07:26 nice, he has a default rc from back when hand axes could be thrown and were called "handaxe" 16:08:12 !lg azzkikr s=cv 16:08:13 762 games for azzkikr: 169x 0.10, 132x 0.13, 108x 0.12, 91x 0.8, 86x 0.14, 73x 0.7, 51x 0.9, 32x 0.14-a, 12x 0.15-a, 7x 0.11, 0.13-a 16:08:28 -!- Kramin has quit [Quit: This computer has gone to sleep] 16:09:16 237x66 or so 16:09:32 (it's really hard to tell thanks to the ridiculously inefficient use of space) 16:09:33 hm it looks like I have that as well 16:09:59 huh it looked to me like it wasn't very wide 16:10:09 !tv azzkikr xl=19 16:10:10 3. azzkikr, XL19 MiBe, T:48853 requested for FooTV (telnet://termcast.develz.org or http://termcast.develz.org). 16:10:12 It's most obvious on the inventory or map screens. 16:12:35 -!- hommebarbu has quit [Ping timeout: 264 seconds] 16:13:09 problem is I'm using jettyplay, which I don't think can really handle that 16:13:14 guess I should try ipbt 16:13:23 (it's ipbt time??) 16:13:37 * gammafunk pauses Grunt 16:13:43 16:18:49 03|amethyst02 07* 0.15-a0-1950-gbc841a2: Allow toggling monster speech diagnostics in &^Q 10(14 minutes ago, 5 files, 15+ 9-) 13http://s-z.org/neil/git/?p=crawl.git;a=commitdiff;h=bc841a2a9115 16:19:42 <|amethyst> I guess that means it's no longer possible to get those messages without DEBUG_DIAGNOSTICS 16:19:46 |amethyst is leaving our monsters speechless. 16:20:15 oh, &^Q is already a thing 16:20:16 dangit 16:20:27 imo &^Qyes 16:21:13 does everyone tend to use make debug or make debug-lite ? 16:21:16 I use the latter 16:21:19 <|amethyst> %git b31cafb7 16:21:19 07kilobyte02 * 0.12-a0-1626-gb31cafb: A basic interface for manually togging dprf quietness. 10(1 year, 6 months ago, 4 files, 66+ 1-) 13http://s-z.org/neil/git/?p=crawl.git;a=commitdiff;h=b31cafb7cd45 16:21:31 I use the former but I didn't know the latter existed until you mentioned it 16:21:32 gammafunk: I think I do something much closer to the latter 16:21:32 <|amethyst> I use the equivalent of debug-lite normally 16:21:42 because I never read things 16:21:43 <|amethyst> but keep a diagnostics build around too 16:22:01 <|amethyst> however, it's also a good idea to test optimised builds too 16:22:08 keeping a diagnostic build around would be simpler if the binary got a different name or something 16:22:17 I generally run non-debug unless I need fulldebug for some specific reason 16:22:20 -!- Blazinghand|Work is now known as Blazinghand 16:22:22 <|amethyst> SamB: let me give you my command... 16:22:36 PleasingFungus: must be fun using a debugger then 16:22:44 though, that'd also perhaps work best with objdir like allegro and possibly ZSNES 16:22:47 <|amethyst> (for br in diag master; do for var in tiles ascii web; do echo; args="DEBUG=y USE_PCRE=y" extflag=""; if [[ $br = *prof* ]]; then extflag="-pg"; else args="$args NO_OPTIMIZE=y"; fi; [[ $var = *tiles* ]] && args="$args TILES=y"; [[ $var = *web* ]] && args="$args WEBTILES=y"; [[ $br = *diag* ]] && { args="$args FULLDEBUG=y"; extflag="-pg -finstrument-functions --coverage"; }; [[ $br = *nowiz* ]] && args="$args NOWIZARD=y"; echo "BUILDING var=$var br=$br ar 16:22:51 heh 16:22:52 I can't really remember my ZSNES days 16:22:54 <|amethyst> I'm sure that was cut off somewhere 16:23:07 is there a guru entry we can put that in 16:23:16 I mean, not too well 16:23:20 <|amethyst> let me put that in a script and post it 16:23:44 |amethyst: hmm, my script doesn't do any option processing 16:29:06 gammafunk: I still haven't gotten lldb working :( 16:29:34 hrm, what OS? 16:29:39 osx 16:29:40 I mean gdb works fine 16:29:40 ofc 16:29:54 yeah I was using gdb on os x 16:29:58 oh, really? 16:30:07 googling found only the shadiest possible guide to setting up gdb on osx 16:30:15 and lldb was pre-installed 16:30:19 I think it's part of xcode? 16:30:24 but it's certainly in macports 16:30:31 it was in an old version of xcode, iirc 16:30:42 ah, maybe they switched 16:30:42 yes 16:30:56 but yeah macport probably could get lldb working fine as well :) 16:30:58 it was removed in the latest non-beta osx (mavericks) 16:30:59 *macports 16:31:04 what is macports 16:31:18 http://www.macports.org/ 16:31:20 ah 16:31:42 (or get a real operating system) 16:32:12 ha 16:32:44 -!- tinybat has quit [Ping timeout: 240 seconds] 16:32:49 I think that was just nerd reflex, ignore it 16:33:16 -!- Robot2600 has quit [] 16:33:31 -!- puissantveil has quit [Ping timeout: 246 seconds] 16:34:26 -!- Galewind has quit [Quit: Page closed] 16:34:44 nerd reflux syndrome 16:35:07 -!- xnavy__ is now known as xnavy 16:35:28 lldb actually isn't in macports currently 16:35:39 there are some complexities apparently, but they're working on it 16:38:23 -!- xnavy_ has quit [Ping timeout: 264 seconds] 16:38:59 -!- gastrox has quit [Quit: Page closed] 16:39:16 do you mean gdb? 16:39:56 -!- xnavy has quit [Ping timeout: 240 seconds] 16:41:15 ? 16:41:45 apple discontinued gpl-ed stuff starting inb xcode 5; gcc was replaced by clang, gdb by lldb 16:41:49 yes 16:42:19 c(l)ang 16:42:20 so I have lldb; so why would I care about whether macports had lldb or not? 16:42:21 macports has gdb but building lldb apparently proved somewhat difficult so for now the one from xcode is it 16:42:37 you probably don't, it was gammafunk's comment I was responding to 16:42:58 although maybe I misunderstood it 16:43:43 (gdb from macports is also variously broken, because it lacks various apple patches that the gdb folks never bothered to apply and apple doesn't make them easy to find sometimes) 16:43:52 -!- tsohg has quit [Remote host closed the connection] 16:44:59 -!- BlastHardcheese has quit [Ping timeout: 252 seconds] 16:45:09 -!- TAS_2012v has quit [] 16:45:58 -!- magicpoints has joined ##crawl-dev 16:47:09 -!- orionstein is now known as orionstein_away 16:47:41 <|amethyst> SamB: http://s-z.org/neil/tmp/build-crawl 16:47:52 <|amethyst> oh 16:47:58 !send |amethyst d 16:47:59 Sending d to |amethyst. 16:48:03 <|amethyst> left something out of the docs 16:48:23 |amethyst: you meant to tell gammafunk maybe ? 16:48:41 or, oh, I see what happened there 16:48:52 -!- Lasty1 has joined ##crawl-dev 16:49:14

An appropriate representation of the requested resource /neil/tmp/build-crawl could not be found 16:49:16 :-( 16:49:44 <|amethyst> huh 16:49:46 what's with the newline after "404 Not Found" in the error page source 16:49:58 I think someone is getting sloppy with their string processing ... 16:50:17 fortunately *this* instance would seem safe 16:50:31 maybe if I try w3m 16:50:43 <|amethyst> try wget :) 16:50:57 well, first time as curl 16:50:58 +w 16:52:03 <|amethyst> hm 16:52:08 kobold (07K) | Spd: 10 | HD: 1 | HP: 2-5 | AC/EV: 2/12 | Dam: 4 | 10weapons, 10items, 10doors | Res: 06magic(1) | Chunks: 09poison | XP: 1 | Sz: small | Int: normal. 16:52:08 <|amethyst> %??kobold 16:52:12 1learn add |amethyst <|amethyst> hm 16:52:16 <|amethyst> chei's still up 16:52:22 <|amethyst> why can't I connect? 16:52:45 |amethyst: I can't hit port 80 anymore either 16:53:14 <|amethyst> ... 16:53:16 -!- scummos^ has quit [Read error: Connection reset by peer] 16:53:30 it's gone rogue! 16:53:33 does Chei have a "reboot the server" command 16:53:37 gasp 16:53:38 !!! 16:53:40 <|amethyst> apparently the server bans IP addresses that get too many errors or something 16:53:48 <|amethyst> I have no clue 16:53:51 that doesn't explain me, unless you mean for HTTP 16:53:53 not SSH 16:53:54 !send |amethyst clues 16:53:54 Sending clues to |amethyst. 16:54:00 <|amethyst> SamB: what's your ipv4? 16:54:14 <|amethyst> (you can /msg me) 16:54:35 you mean I'm not connected by IPv4 now? 16:54:59 <|amethyst> /whois SamB looks like ipv6 16:55:11 by which I mean I think it's kind of random which I get 16:55:19 anyway I'm at 207.172.123.137, and it's not really a secret 16:55:49 <|amethyst> yes, there are iptables entries dropping your stuff 16:56:13 for *HTTP* errors? 16:56:19 <|amethyst> apparently 16:56:25 404 is a stupid trigger for that! 16:56:26 -!- Wehk has quit [Read error: Connection reset by peer] 16:56:34 <|amethyst> it was a 406, remember :) 16:56:42 <|amethyst> which is even stupider 16:56:48 indeed 16:57:05 why didn't it just give me a form I didn't ask for or something 16:57:11 is there some kind of rule? 16:57:38 * SamB maybe should be complaining "why did curl not ask for */* with a low preference?" 16:57:53 -!- CryptoCactus has quit [Quit: Leaving] 16:57:55 -!- HellTiger has quit [Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/] 16:58:23 |amethyst: so, I have something that does that for *SSH* logins on my box 16:58:39 -!- ystael has quit [Ping timeout: 256 seconds] 16:58:50 failed ones, I mean 17:00:17 but doing that things besides a huge number of failed authentication attempts seems prettty dumb for HTTP 17:00:33 where by "huge" I mean superhuman 17:00:35 <|amethyst> maybe it's for using curl 17:00:48 who installed this crap? 17:01:01 or possibly: who wrote the Description for it 17:01:44 <|amethyst> it's not my server so I don't even know where to look 17:01:56 |amethyst: ah, that'd explain it 17:02:19 now I can stop belatedly trying to avoid insulting you 17:02:34 !send ##crawl-dev insults 17:02:34 Sending insults to ##crawl-dev. 17:02:56 I mean I know you'd never do this ON PURPOSE, right? 17:03:15 where by "this" I mean set up such a silly ban trigger 17:03:38 -!- Kenran has quit [Quit: Quitting] 17:03:58 -!- negatendo has quit [Quit: poop] 17:06:13 -!- BlastHardcheese has joined ##crawl-dev 17:06:42 <|amethyst> ugh 17:06:42 <|amethyst> [Tue Jul 08 17:00:57 2014] [error] [client 96.29.247.235] ModSecurity: Access denied with code 406 (phase 2). Match of " 17:06:46 <|amethyst> rx ^apache.*perl" against "REQUEST_HEADERS:User-Agent" required. [file "/usr/local/apache/conf/modsec2.user.conf"] [line "58"] [id "990011"] [msg "Request Indicates an automated program explored the site"] [severity "NOTICE"] [hostname "s-z 17:06:50 <|amethyst> .org"] [uri "/neil/tmp/build-crawl"] [unique_id "U7xqGUKHIOQAADgQKgQAAAAL"] 17:07:08 -!- M1zzu has quit [Quit: Leaving] 17:09:41 <|amethyst> yet more reason to move this stuff to dobrazupa.org 17:09:53 <|amethyst> probably most of the clients are happy to have that kind of thing :/ 17:10:01 <|amethyst> "keep techies away from your website!" 17:10:59 ah, I see the Mystery of the Failing No-Valid-Target Spell was resolved. 17:17:19 -!- tsohg has quit [Remote host closed the connection] 17:17:31 <|amethyst> yeah, modal interface woes 17:17:50 <|amethyst> modal isn't quite the right term 17:18:00 <|amethyst> but sometimes prompting for a direction and sometimes not 17:18:24 Unstable branch on crawl.lantea.net updated to: 0.15-a0-1950-gbc841a2 (34) 17:23:09 on the third hand, eh? the gripping hand, perhaps. 17:24:18 -!- lobf has quit [Quit: lobf] 17:24:22 <|amethyst> I was going to use "the gripping hand", but then I figured that would be poseurish since I've never actually read any of the series 17:24:55 heh 17:28:04 -!- Arkaniad has quit [Ping timeout: 248 seconds] 17:30:13 -!- Arkaniad has quit [Read error: Connection reset by peer] 17:31:50 * Grunt calls down the wrath of NO GOD against NONEXISTENT FOE. 17:31:55 -!- zxc232 has quit [Quit: Leaving.] 17:32:03 GOD_NO_GOD 17:32:09 the god of "God, no!" 17:32:11 -!- lobf has joined ##crawl-dev 17:32:27 za. as "fail to zap, rest" is pretty funny 17:34:42 and it was against sigmund! 17:35:03 Sigmund the NONEXISTENT FOE comes into view. 17:35:16 <|amethyst> You are now a NONEXISTENT THING. 17:35:26 <|amethyst> Xom-Paul Sartre 17:35:43 Now we know why Crazy Yiuf is Enlightened. 17:36:08 -!- HamsterSaurusMex has quit [Quit: Page closed] 17:36:19 -!- nooodl_ has joined ##crawl-dev 17:36:42 -!- Arkaniad|Laptop has quit [Ping timeout: 240 seconds] 17:39:08 -!- nooodl has quit [Ping timeout: 240 seconds] 17:41:05 -!- mopl has quit [Quit: Page closed] 17:41:19 I was thinking more about the 'contamination bomb' idea I had a while back. (A damage spell that caused glow on the caster.) 17:41:57 PleasingFungus: imo a spell that deliberately causes a glowsplosion 17:42:05 yeah pretty much! 17:42:19 give the gift of glow 17:43:19 I was thinking that it could actually fit as a cj/tmut spell pretty well; tmut could fit thematically (especially if you made it cause tmut miscasts on victims), and mechanically in terms of supporting getting up close & personal with enemies. (which is a tmut thing, mostly, except when it's not.) 17:43:40 <|amethyst> also, tmut makes zin hate it automatically :) 17:44:02 bonus! 17:44:22 <|amethyst> oh, hm 17:44:41 <|amethyst> I guess that is not true 17:44:49 <|amethyst> it's just that most transmutations have SPFLAG_CHAOTIC 17:45:20 <|amethyst> Fulminant Prism Form 17:45:23 !send |amethyst chaos 17:45:24 Sending chaos to |amethyst. 17:45:35 any tmuts that zin's OK with? 17:45:40 -!- debo has quit [Ping timeout: 248 seconds] 17:47:18 <|amethyst> ais523_: petrify, passwall, ignite poison, S2S, Alistair's, Stoneskin 17:47:36 hmm 17:47:36 fr Alistair's Stoneskin 17:47:47 <|amethyst> Stone To Skin 17:47:51 some of those are obviously OK with Zin, others seem more dubious 17:48:00 <|amethyst> turns every level into wizlab_cigotuvi 17:48:59 <|amethyst> ais523_: I guess Zin has to be okay with S2S even though it transforms things 17:49:02 <|amethyst> because Aaron 17:49:06 haha 17:49:52 <|amethyst> that's where the D&D spell came from! 17:49:59 <|amethyst> look at the original D&D priest spell lists 17:50:03 -!- Kramin has quit [Ping timeout: 240 seconds] 17:50:09 <|amethyst> several of them exist only because of some OT story 17:50:29 <|amethyst> maybe NT for some 17:51:03 the origin of the original D&D cleric class is the funniest thing 17:51:06 -!- Takeiteasydevs has quit [Quit: Page closed] 17:51:25 -!- tsohg has quit [Remote host closed the connection] 17:51:43 I don't know of it 17:52:12 -!- Moonsilence has quit [Ping timeout: 240 seconds] 17:52:29 -!- Behavioral has quit [Client Quit] 17:54:33 -!- rossi has quit [Quit: WeeChat 0.4.3] 17:55:26 |amethyst: At this point in Iashol dev, I should work from the current head of the Iashol branch in crawl's gitorious repo, right? Is the best way to sync my repo with that to do a pull from it and then a push --force to my repo, or is there another better way? 17:56:29 Lasty1: it depends on whether you want to wipe out all your existing work or not 17:56:37 if you really want to start over, that's a good way to do it 17:56:54 otherwise, either merge the Iashol branch into yours, or rebase yours onto that branch 17:57:20 alternatively, if you haven't worked on Iashol before, you can make your own Iashol branch based on the official one, and work from that 17:58:22 ais523_: http://www.dragonsfoot.org/forums/viewtopic.php?t=3550 I've seen this story in a few places; this is the most easily googleable one 17:58:42 -!- Euph0ria has quit [Ping timeout: 240 seconds] 18:02:02 I'm glad they were, anyway; I've been speedrunning Neverwinter Nights (which implements the D&D rules), and I'm using a cleric in that 18:02:21 <|amethyst> NWN is 3.0 or 3.5? I forget 18:02:25 3.0 18:03:11 the game takes a little longer to complete than Crawl does; my current record's 1:42 18:05:31 2 is 3.5, IIRC? 18:05:55 -!- korzok has quit [Ping timeout: 246 seconds] 18:06:05 -!- scummos__ has quit [Ping timeout: 256 seconds] 18:07:39 could well be, but 2 is also a completely different game 18:09:23 -!- mizu_no_oto has quit [Client Quit] 18:09:45 whether you prefer 1 or 2 is a matter of playstyle; I dislike the playstyle afforded by 2, but appreciate that many people will enjoy it 18:10:05 -!- mizu_no_oto has quit [Remote host closed the connection] 18:10:12 -!- Nomi has quit [Ping timeout: 248 seconds] 18:10:19 -!- Nomi_ is now known as Nomi 18:15:03 -!- PleasingFungus has quit [Ping timeout: 240 seconds] 18:15:22 -!- LNCP has quit [Read error: Connection reset by peer] 18:17:59 -!- the_glow1 has quit [Ping timeout: 264 seconds] 18:23:31 -!- mizu_no_oto has quit [Read error: Connection reset by peer] 18:24:32 -!- Aryth has quit [Read error: Connection reset by peer] 18:24:36 -!- Vizer has quit [Ping timeout: 248 seconds] 18:26:42 -!- mamgar has quit [Ping timeout: 255 seconds] 18:28:27 -!- Makrond has quit [Ping timeout: 272 seconds] 18:29:57 -!- tcjsavannah has quit [Quit: tcjsavannah] 18:30:20 -!- predator117 has quit [Ping timeout: 240 seconds] 18:31:42 -!- debo has joined ##crawl-dev 18:32:26 <|amethyst> Lasty1: hey, what's up 18:32:29 <|amethyst> sorry, was AFK 18:32:36 <|amethyst> Lasty1: do you have local changes 18:32:47 Yeah, I've got the iashol->ru changes 18:33:03 That's the one thing that wasn't moved over 18:34:32 <|amethyst> simplest is to rebase your branch on top of origin/iashol 18:34:55 <|amethyst> s/is/is probably/ 18:35:03 Ok, I can do that. I thought someone told me I should stop rebasing onto it, but maybe I misunderstood what they were saying 18:35:15 <|amethyst> OTOH, if it's just one commit, it might be simpler to check out a copy of origin/iashol and git cherry-pick the commit 18:35:31 <|amethyst> Lasty1: your local branch can be rebased 18:35:39 <|amethyst> Lasty1: the iashol branch, however, should not be 18:35:44 gotcha 18:35:50 That makes perfect sense 18:36:06 <|amethyst> gtg for now, listen to ais523_ if you have any more questions :) 18:36:11 haha, sounds good 18:36:13 thanks 18:36:45 <|amethyst> (well, for policy maybe ask someone with a + :) 18:37:15 -!- Arkaniad|Laptop has quit [Ping timeout: 256 seconds] 18:37:56 -!- broquaint has quit [Ping timeout: 240 seconds] 18:39:38 !send Lasty1 policy 18:39:38 Sending policy to Lasty1. 18:41:31 I need more policy. 18:41:40 !send Lasty1 more policy 18:41:40 Sending more policy to Lasty1. 18:41:55 whew, that was clsoe. 18:41:57 *close 18:44:57 -!- PleasingFungus has joined ##crawl-dev 18:47:05 -!- Keanan has quit [Quit: Leaving.] 18:48:55 -!- Piginabag has quit [Quit: Page closed] 18:54:45 -!- Arkaniad has quit [Max SendQ exceeded] 18:55:36 Magical shields can't block ranged attacks 13https://crawl.develz.org/mantis/view.php?id=8772 by CommanderC 18:57:57 -!- Tux[Qyou] has quit [Quit: Excess flood] 18:58:18 -!- PleasingFungus has quit [Ping timeout: 240 seconds] 18:58:41 -!- tswett has joined ##crawl-dev 18:58:46 Hi. 18:59:02 tswett: hi! 19:00:02 Crawl is written in C++, not C, right? 19:00:26 yes 19:01:36 -!- PleasingFungus has joined ##crawl-dev 19:05:27 Is the code actually object-oriented? I'm looking at a bit of it, and it doesn't seem very encapsulated. 19:05:58 -!- PleasingFungus has quit [Ping timeout: 264 seconds] 19:06:27 it's sort-of random what subset of C++ featuers any particular bit of the code will use, because the Crawl code used to be absolutely atrocious, and although the DCSS devs have done a decent job of cleaning it up, they couldn't clean it all up at once 19:06:29 <|amethyst> tswett: some stuff but not all or most is OO. We don't use private much, though 19:06:41 ais523_: *nod* 19:07:25 If I felt like submitting some patches to make it more OO, would they be accepted? 19:07:38 Code cleanup is always welcome! 19:07:52 Mainly I'm asking whether OO-ness would be considered cleaner. :) 19:07:54 crawl is not enterprise-ready, for shame 19:08:03 <|amethyst> making things more OO at the expense of clarity or code size would not be great 19:08:18 tswett: well, I've been bringing NetHack closer to OO ideals, in that I've started making things like accessor functions where they're needed 19:08:20 <|amethyst> And the word "Factory" makes me cringe :) 19:08:33 <|amethyst> Not factories themselves, just the word :) 19:08:34 !send |amethyst a FactoryFactory 19:08:35 Sending a FactoryFactory to |amethyst. 19:08:36 moving to that sort of "C-style OO" first makes sense for a highly disordered codebase 19:08:59 then you can move onto C++ OO features if you feel they're necessary, but having the code properly encapsulated is more important than the specific language features used to accomplish that 19:10:25 -!- lobf has quit [Quit: lobf] 19:10:35 <|amethyst> If you want to make me happy (not that I'm the gatekeeper or anything) use more templates rather than more classes :) 19:10:41 -!- CampinSam has quit [Ping timeout: 256 seconds] 19:10:48 <|amethyst> it's C++, so don't write Java :) 19:10:50 !send |amethyst a TemplateFactory 19:10:51 Sending a TemplateFactory to |amethyst. 19:10:58 Is there a single guy-in-charge here? 19:11:04 <|amethyst> no 19:11:05 Not really. 19:11:07 <|amethyst> Xom 19:11:09 in most of the situations where templates are appropriate for that, generics would be appropriate in Java 19:11:14 dpeg used to be in charge, but he resigned 19:11:21 nowadays I'm not sure if anyone is 19:11:21 I handle a lot of the administrative tasks these days, but I'm not really "in charge" in any sense. 19:11:33 Could you say that you're... 19:11:38 * tswett dodges in advance. 19:11:40 ...just a grunt? 19:11:47 * Grunt hands tswett a pair of sunglasses. 19:11:49 <|amethyst> I think you two will get along just fine 19:11:49 You'll need these. <_< 19:11:51 the big thing to do is to never listen to me for anything related to gameplay, because my opinions are unlike everyone else's there 19:12:05 * tswett puts on the sunglasses and slides backwards up a sloped driveway. 19:12:10 although normally I'm not in wild disagreement with people on technical issues 19:13:00 Now what's this random2()... 19:13:05 ??random2 19:13:05 random2[1/1]: 1dN - 1 19:13:15 Is there a random()? 19:13:16 huh, that's the same as rn2 in NetHack 19:13:23 <|amethyst> "2" is pronounced "up to but not included" 19:13:24 wonder if that was intentional or not 19:13:25 !source random.cc:135 19:13:26 http://s-z.org/neil/git/?p=crawl.git;a=blob;f=crawl-ref/source/random.cc;hb=HEAD#l135 19:13:29 |amethyst: ooh. 19:13:36 ais523_: I'm almost certain it was, unless there's a common ancestor. 19:13:40 <|amethyst> s/ed$/ing/ 19:13:49 -!- category has quit [Ping timeout: 246 seconds] 19:13:57 <|amethyst> random() is C library stuff 19:13:57 Grunt: well, if you're used to other games, you start by writing a random function that does 1 to N 19:14:12 then after a while you discover that 0 to N-1 is more useful, and random2's sort-of a natural name for that 19:14:17 as you already have a random function 19:14:28 random0, duh. 19:16:02 I have a bunch of tiny personal software projects and I always wonder how big cooperative software projects manage to get to have dozens of huge source files. 19:16:21 accretion, generally 19:16:29 Ever try to work with singular large source code files? 19:16:37 <|amethyst> well, Crawl was pretty big when it was just one person 19:16:43 <|amethyst> though it was more of what Grunt just said 19:16:46 Obviously each file should be limited to twenty lines. 19:16:58 -!- UncertainKitten has quit [Ping timeout: 240 seconds] 19:17:14 * Grunt ponders how much preprocessor abuse you'd need to pull that off. 19:17:33 Use lots and lots of function calls. 19:17:44 java? >.> 19:17:44 tswett: try comparing the NH4 to NH3.4.3 codebases, that should give you something of an idea 19:18:08 Is NH4 bigger? 19:18:12 -!- alefury has quit [] 19:18:32 yes 19:18:34 -!- moxian has quit [Ping timeout: 264 seconds] 19:18:41 -!- mizu_no_oto has quit [Quit: Computer has gone to sleep.] 19:19:03 new features means more code, and when I refactor code, normally I end up adding more lines of comments than I removed lines of code 19:20:45 * tswett looks at a version of Crawl from 2006. 19:21:06 tswett dies... 19:21:07 Smaller, to a degree. 19:22:13 Reading source code is a little bit like reading Agora Nomic rules. 19:22:16 <|amethyst> tswett: 2006 is still 9 years after Linley started :) 19:22:34 Did Linley start from an existing project? 19:23:52 Hey, I *do* have a commit in the log. 19:23:54 ??source[4] 19:23:54 source[4/4]: Henzell discussing his programming ability: "You see, I gave up on Borland's [C++] manual (which is very good, I'm just lazy) when it started talking about pointers [....] After pointers came structs, enums, pragmas, classes, macros, and a whole lot of other stuff which still means nothing to me." 19:24:18 Hmmm. 19:24:28 Maybe I shouldn't look at Linley's code. 19:24:28 <|amethyst> %git 6180bce 19:24:29 07tswett02 {|amethyst} * 0.11-a0-1759-g6180bce: Fix punctuation. 10(2 years, 2 months ago, 1 file, 2+ 2-) 13http://s-z.org/neil/git/?p=crawl.git;a=commitdiff;h=6180bce13379 19:24:34 <|amethyst> no, no you shouldn't 19:24:41 <|amethyst> he's gotten a lot better since then 19:25:12 My one and only commit, and it added two characters. 19:25:56 Now, how can I see where an identifier is defined? 19:25:56 -!- Crehl has quit [Read error: Connection reset by peer] 19:26:09 There must be some fancy tool that does that. 19:26:22 tswett: ooh, in that case, I have more code than you 19:26:24 <|amethyst> tswett: run ctags -R --exclude=contrib 19:26:25 I added two /lines/ 19:26:36 tswett: ctags or etags are the normal advice, depending on whether you prefer vim or emacs 19:26:44 <|amethyst> tswett: then in vim (say) you can ctrl-] to jump to the tag 19:26:50 cscope is also pretty nice for code spelunking 19:26:50 <|amethyst> :tn to go to the next matching tag 19:27:27 <|amethyst> or you can use whatever IDE with its fancy completion 19:27:34 %git 8005831 19:27:34 07Alex Smith02 {sorear} * 0.6.0-a1-2036-g8005831: Don't crashdump on SIGTTIN and SIGTTOU 10(4 years, 6 months ago, 1 file, 8+ 0-) 13http://s-z.org/neil/git/?p=crawl.git;a=commitdiff;h=8005831c3a4e 19:28:00 <|amethyst> hm 19:28:01 wow, you found that quickly 19:28:18 git log --author='Alex Smith' 19:28:46 <|amethyst> %git 8005831 19:28:46 07ais52302 {sorear} * 0.6.0-a1-2036-g8005831: Don't crashdump on SIGTTIN and SIGTTOU 10(4 years, 6 months ago, 1 file, 8+ 0-) 13http://s-z.org/neil/git/?p=crawl.git;a=commitdiff;h=8005831c3a4e 19:28:49 imo update-- 19:28:49 yes 19:28:50 <|amethyst> there we go 19:28:59 to be fair, I'm still dubious about the idea of considering all signals that aren't on a blacklist to be bugs 19:29:17 it makes more sense to enumerate the signals that indicate program bugs, rather than the signals that don't 19:29:26 otherwise you crash on random admin stuff like SIGTTIN 19:29:52 -!- Zermako has quit [] 19:29:54 <|amethyst> we need a Unix system person :( 19:29:57 <|amethyst> ours left 19:30:11 too busy maintaining NetHack for that, otherwise I might volunteer 19:30:14 Someone who knows about stuff like SIGTTIN? 19:30:20 Now I can figure out what stuff like mitm is. 19:30:42 <|amethyst> I know about SIGTTIN but I don't have a lot of experience writing low-level Unix stuff 19:30:45 the whole point of SIGTTIN is that you don't need to know it exists, the default behaviour's fine for 99% of programs, including Crawl 19:31:04 except that Crawl iterates over all signals, installing handlers for them, whatever they do, unless they're on a blacklist 19:31:34 * tswett types ":help " and then C-v C-] 19:31:43 Surprisingly, that actually worked. 19:33:03 Now I know that it's C-t to go back. 19:33:31 !tell ontoclasm People were talking about making hellfire looking less like fire, so why not make it a bit more purple than red https://dl.dropboxusercontent.com/u/63152810/n/crawl/hellfire.png 19:33:32 Bloax: OK, I'll let ontoclasm know. 19:34:01 <|amethyst> ais523_: file that on mantis if you don't mind 19:34:23 -!- Patashu has joined ##crawl-dev 19:34:34 can't really right now, people look at me suspiciously if I go to Crawl websites from my work connection 19:34:39 and my non-work connection isn't working properly atm 19:34:46 <|amethyst> ah 19:36:13 <|amethyst> at my work connecting to the wrong IRC servers (freenode is fine) can get you automatically cut off, it the firewall decides you're an infected machine communicating with its botnet 19:36:19 <|amethyst> s/it the/if the/ 19:36:35 -!- Textmode has joined ##crawl-dev 19:36:46 <|amethyst> OTOH, I've only ever seen this happen to what in fact *were* infected machines communicating with their botnet 19:36:48 mrrr? 19:37:14 <|amethyst> but the alert mentioned IRC connections 19:37:36 * geekosaur scans back, unix systems person? 19:38:03 (hm, I thought I was giving direct involvement here a miss, oh well) 19:38:04 <|amethyst> our signal handling etc is a mess 19:38:13 SIGMESS 19:38:27 SIGURG :p 19:39:00 SIGTRAP 19:39:10 <|amethyst> (we also need a Windows systems person) 19:39:37 <|amethyst> if only to get us backtraces :) 19:39:39 SIGNAL 19:40:52 Apparently there's a "huge pile of monster items at (-2,-2)". Interesting. 19:40:53 E_DISKONFIRE 19:41:02 lpr0 on fire 19:41:16 er 19:41:18 s/r// 19:41:28 -!- Keanan has joined ##crawl-dev 19:41:35 yeh, "lp0: on fire" 19:41:56 -!- read has quit [Ping timeout: 248 seconds] 19:42:59 printk(KERN_INFO "lp%d on fire\n", minor); 19:43:15 hm, the removed the colon 19:43:18 is the comment still there? 19:43:22 (above it) 19:43:29 Nope. 19:43:53 :( 19:44:03 -!- read has joined ##crawl-dev 19:44:06 I think it's kind of interesting how the Linux kernel doesn't really care about userspace at all. Nothing in the kernel seems to depend on anything in userland, apart from /bin/init. 19:44:26 that's how it's supposed to work, at least in theory 19:44:29 A consequence of this is that Linux doesn't write its own logs to disk. 19:45:03 there's been an absolute shitstorm between Linus and the systemd developers, who like to submit kernel patches to work around systemd bugs 19:45:14 Oh? 19:45:21 I must hear more about this. 19:45:29 <|amethyst> that's more of a consequence of policy (where to write the logs) not belonging in a kernel 19:45:49 <|amethyst> because policy is something you might want to change, and the kernel is the hardest part to change 19:46:02 !send |amethyst change 19:46:02 Sending change to |amethyst. 19:46:09 http://www.muktware.com/2014/04/linus-torvalds-happy-systemd-author-kay-sievers/25151 for example 19:46:36 |amethyst: hm, that makes a lot of sense. 19:46:37 as for logging, in large installations you often want to send system logs to a central collection 19:46:44 I tend to think of kernel stuff as being more reliable than user stuff. 19:46:45 -!- nooodl_ is now known as nooodl 19:46:50 <|amethyst> you are often *required* to 19:47:03 <|amethyst> off-machine logging is necessary for PCI compliance for example 19:47:06 which syslogd and relatives do quite well, and is hard to do well in the kernel because networking is usually a PITA from inside the kernel 19:47:09 yeh 19:47:10 <|amethyst> and I'm sure many auditors require it 19:47:19 not to mention useful tools like splunk 19:47:30 I guess I don't really know how true that is, about the kernel being more reliable. 19:47:41 -!- tsohg has quit [Remote host closed the connection] 19:47:44 the kernel is more reliable for some things, less reliable for others 19:47:50 I know that recently, I hit Ctrl-Alt-F1 and virtual console 1 failed to show up on the screen. I was dismayed by that. 19:48:28 one thing to consider is kernel dependency on userspace introduces lots of (a) race conditions (b) potential security issues 19:48:32 -!- edlothiol has quit [Ping timeout: 260 seconds] 19:48:33 Now I wonder if Ctrl-Alt-F1 out of X is handled by something in userland. 19:48:43 -!- Allgodsarefemale has quit [Quit: Page closed] 19:49:03 partly userland, partly the video driver which is often split between kernel and userland 19:49:06 (The system actually did switch to virtual console 1; it just didn't *display* the console. I was able to reboot the machine by blindly typing a reboot command.) 19:49:17 Grunt: this is a fun one https://lkml.org/lkml/2012/12/23/75 19:49:27 but ctrl-alt-fN runs into problems on some video drivers because once they go into graphics mode they don't know how to restore text mode. I think nvidia does this a lot 19:49:48 johnny0: wow 19:50:01 I thought virtual consoles usually used graphics mode nowadays. Maybe I'm confusing graphics mode with the framebuffer console. 19:50:34 tswett looks rather confused. 19:50:36 hm 19:50:48 I guess when I build my new box in the near future I'll get to figure a lot of this out again :) 19:51:31 fbconsole still relies on some things in the driver to be set up right, notably access to fonts 19:51:41 !send geekosaur fonts 19:51:42 Sending fonts to geekosaur. 19:51:47 otherwuise you need to put the text to graphics stuff in userspace 19:52:32 -!- Keanan has quit [Quit: Leaving.] 19:52:34 (or at some other level; SPARC-based Suns put it in the Forth-based environment, which is one reason the console on Suns was so slow in text mode) 19:53:44 -!- G-Flex has quit [Ping timeout: 264 seconds] 19:53:50 Linux is pretty interesting. 19:54:33 Whoa, I think I see a method call in the DCSS source code. 19:54:48 ... 19:54:49 <|amethyst> we use methods fairly often 19:54:56 <|amethyst> not consistently but fairly often 19:54:57 We're fairly... 19:54:59 *glasses* 19:55:00 methodical. 19:55:05 maybe they're looking at linley's original code :p 19:55:09 I was expecting classy 19:55:16 We're also classy! 19:55:18 Just more methodical. 19:56:33 What's this about "cleaning" items? 19:57:02 <|amethyst> huh? 19:57:20 I'm wondering what _item_ok_to_clean is for. 19:57:24 <|amethyst> ah 19:57:31 <|amethyst> if the item array is full 19:57:38 <|amethyst> unimportant items get nuked 19:57:50 Mm. 19:58:16 <|amethyst> the call to _cull_items() in get_mitm_slot() 19:58:29 -!- Kramin has quit [Quit: This computer has gone to sleep] 19:58:45 -!- G-Flex has joined ##crawl-dev 20:00:02 which ones are considered "unimportant"? 20:00:06 single stones? 20:00:22 Apparently, weapons and ammo +0 and lower. 20:00:28 And, less so, anything other than food, runes, and orbs. 20:00:35 -!- Blazinghand has quit [Remote host closed the connection] 20:00:36 oh, that function tswett mentioned duh 20:00:48 <|amethyst> _item_preferred_to_clean actually 20:00:51 <|amethyst> its neighbour 20:01:10 well, I'm assuming it's a little of both? 20:01:10 * geekosaur had wondered what "mitm" referred to... 20:01:21 man in the middle! 20:01:21 obviously 20:01:25 Yeah, what does "mitm" stand for? 20:01:28 that was where I went at first, yes 20:01:30 Besides "man in the middle", obviously. 20:01:41 monster items? 20:01:43 monster item, I guess 20:01:55 even though it's not quite that 20:01:59 -!- Ququman has quit [Read error: Connection reset by peer] 20:02:02 heh, especially not given wheals recent change 20:02:03 map item? 20:02:09 ah, that's probably it 20:02:26 don't monsters get to have items anymore? 20:02:40 (or are those stored in the monster stucture anyway?) 20:02:46 I think they are. 20:02:47 SamB: they won't pick up items the player has seen any more 20:02:56 gammafunk: yeah, I knew that 20:03:14 that hardly seemed to effect which array(s) their own items were held in though ;-) 20:03:29 well you asked if they get to have items anymore 20:03:29 <|amethyst> monster inventory is in mitm[] 20:03:40 !send |amethyst unlinked items 20:03:40 I think it's cute how there's a variable called you. 20:03:40 Sending unlinked items to |amethyst. 20:03:46 tswett: const player you; 20:03:47 Global, apparently. 20:03:53 <|amethyst> the monster's inv vector holds item indices 20:03:54 Ooh, it's a constant. 20:03:58 * Grunt tries to find the discussion surrounding that joke. 20:04:00 tswett: it isn't :) 20:04:10 It isn't? 20:04:15 it certainly isn't 20:04:22 <|amethyst> #define you (*real_you) 20:04:25 haha 20:04:25 "const player you" is an old joke (I think |amethyst made it) 20:04:41 const player you is how we'd solve many of crawl's design problems 20:04:47 We were discussing changing the message for mutation resistance 3 (because it was long and unwieldy). 20:04:52 I suggested "You are immutable." 20:04:57 And, well... :) 20:04:57 gammafunk: I was more asking if they still got to have items ever at all 20:04:58 * geekosaur wonders if cygwin/msys does TIOCSTI 20:05:16 geekosaur: what's that one ? 20:05:24 As opposed to that fake_you that hangs out in that one room on level 5. 20:05:26 MSYS won't 20:05:27 SamB: hrm, well I guess I'm confused, since weapons/armour are items, unless you mean items that aren't those 20:05:31 pretty sure 20:05:40 stuffs a value into the tty input queue. old BSDism 20:05:49 I mean unless MSYS tosses MSVCRT's signals and redoes the lot 20:05:54 I don't think even linux supports it these days; it was pretty grotty 20:06:02 it's not a signal 20:06:08 oh, true 20:06:08 "stuff input" 20:06:11 We get signal?! 20:06:18 -!- Nomi has quit [Ping timeout: 240 seconds] 20:06:24 Main term turn on. 20:06:25 Here I see there's a "player you;" 20:06:26 geekosaur: what, er, IS it 20:06:30 tswett: yes 20:06:36 [09 01:05] stuffs a value into the tty input queue. old BSDism 20:06:45 'Course, there's also #define you (*real_you). 20:06:53 <|amethyst> SamB: an ioctl 20:06:57 tswett: the one |amethyst mentioned seems to be for debugging 20:07:00 context is I'm looking at the sighup handler and thinking about better solutions than fclose() in a signal handler 20:07:09 haha, so that was a real thing 20:07:09 hmm, what does MSYS have for ioctls? 20:07:17 "real" thing 20:07:19 Windows ioctls are of course all different 20:07:28 so it's an ioctl to stuff input onto a tty, which should cause reads to return immediately 20:07:55 geekosaur: yeah, fclose in a signal handler sounds bad 20:08:17 !source libutil.cc:1255 20:08:18 http://s-z.org/neil/git/?p=crawl.git;a=blob;f=crawl-ref/source/libutil.cc;hb=HEAD#l1255 20:08:23 -!- DrinkMachine has joined ##crawl-dev 20:08:23 -!- DrinkMachine has quit [Changing host] 20:08:23 -!- DrinkMachine has joined ##crawl-dev 20:09:45 How would we feel about getting rid of all global variables? 20:09:56 <|amethyst> and replacing them with what? 20:10:12 tswett: search the NH4 commit log for the phrase "globals purge" 20:10:14 or just "purge" 20:10:15 globalVariableFactory 20:10:19 you'll get some idea of how difficult doing that is 20:10:28 although it's generally a positive change 20:10:39 <|amethyst> several of them would make sense as static class methods 20:10:42 <|amethyst> err 20:10:46 well, sometimes it's easy 20:10:46 <|amethyst> s/methods/members/ 20:10:52 we found a few dead globals, and just removed them directly 20:10:56 but normally it's much harder 20:11:08 Death has come for ais523_... 20:11:13 -!- rbrrk has quit [Ping timeout: 246 seconds] 20:11:19 |amethyst: local variables. 20:11:30 local you 20:11:33 so it's not implemented for cygwin at least 20:11:35 Make them all local variables of main() that are passed into every function. 20:11:38 ah well 20:11:38 !send gammafunk global you 20:11:39 Sending global you to gammafunk. 20:11:53 tswett: that's basically no different from globals, except a huge mess in the code if you're not using monads 20:11:59 and C++ doesn't have particularly great monad support 20:12:04 (they do know *how* to implement it, windows does have the equivalent functionality) 20:12:16 <|amethyst> just list it into a class 20:12:23 <|amethyst> class Globals { ... }; 20:12:28 you could pass them round in a struct to make it slightly less ugly, but it would be stupid 20:12:41 hmm, right, in C++ you could use a class, too 20:12:50 <|amethyst> then make all the plain functions except main into methods of Globals 20:12:52 but you might as well use a struct as there's no obvious benefit from the extra features classes have 20:13:02 ooh, clever 20:13:05 <|amethyst> then main can do Globals g; return g.main(); 20:13:07 could probably arrange to do TIOCSTI on unixy things and the appropriate winapi call on windowsy things 20:13:12 now this is just stupid rather than ridiculously stupid 20:14:29 |amethyst: fwiw, in NetHack 4, I'm aiming to eventually put all the globals into one of three structs 20:14:43 Ooh, is "you" recycled between games? 20:14:50 Instead of being destroyed and recreated? 20:14:55 no 20:14:59 ais523_: classes don't HAVE any extra features actually 20:14:59 you die... 20:14:59 one for handling the player, one for handling the dungeon, and one for handling things like the state of the save system 20:14:59 Save macros? 20:15:05 <|amethyst> what do you mean by "destroyed and recreated"? 20:15:13 SamB: well, no, apart from private by default 20:15:15 Discard the old "you" object and create a new one. 20:15:20 <|amethyst> its destructor is not called, no 20:15:23 tswett: can you do that? 20:15:32 <|amethyst> but it is reset and changed in place 20:15:33 I ... guess you could 20:15:42 <|amethyst> which is essentially like a move-assignment 20:16:08 ... wouldn't it be better to reconstruct it rather than duplicating the logic in the reset code? 20:16:31 or is placement new somehow newe 20:16:32 er. new 20:16:36 I don't see how it could be new 20:17:31 <|amethyst> SamB: one function handles both 20:17:33 ais523_, the only difference between class and struct in C++ is the latter defaults to public: 20:17:39 |amethyst: oh 20:17:44 that sounds wierd 20:17:57 it's very rare to use a struct for anything but POD, though 20:17:58 <|amethyst> SamB: both _reset_game() and the player default constructor (and the player copy constructor) call player::init 20:18:16 heh, not rare in dcss 20:18:21 so first we fill in the player object with bogus stuff, then we ACTUALLY initialize it? 20:18:29 e.g. the infamous struct bolt 20:18:36 aka beam aka beem 20:18:39 <|amethyst> SamB: when? 20:18:47 ais523_: payment on delivery? 20:18:53 haha 20:18:54 plain old data 20:18:58 <|amethyst> SamB: in the constructor, the player part is uninitialised until we call init 20:19:06 Beem, eh. 20:19:07 bolts: Payment on Delivery 20:19:10 |amethyst: are you allowed to not fill in fields in the initializer list? 20:19:13 I mean, does that work? 20:19:25 <|amethyst> SamB: it does, but that would all be duplicated in init() 20:19:56 <|amethyst> or whichever thing gets called to reset an existing object 20:19:58 also wouldn't it confuse init() if the fields are full of crud? 20:20:09 or does everything get pre-zeroed and I forgot 20:20:12 -!- Euph0ria has quit [Remote host closed the connection] 20:20:18 <|amethyst> SamB: it specifically zeroes everything 20:20:33 so, bogus stuff like I said 20:20:33 <|amethyst> SamB: including deleting stuff if necessary 20:20:45 -!- Werehuman has quit [Quit: Page closed] 20:20:47 |amethyst: you can't just delete random bytes! 20:21:10 <|amethyst> SamB: that's why the constructor does use an initialiser list for the two things that are dynamically allocated 20:21:15 I am beginning to suspect nobody ever actually builds with #define you (*real_you) 20:21:21 |amethyst: ah 20:22:21 <|amethyst> but, yeah, I guess doing this in the constructor initialiser, and using placement new for the case where outside code calls init() currently, might be cleaner 20:22:37 SamB: oh good, earlier conversation made me think that was enabled by default 20:23:06 <|amethyst> but placement new :( 20:23:22 |amethyst: well, first you'd delete, and what's wrong with placement new besides looking funny? 20:23:30 er. not deltee. 20:23:33 destruct. 20:24:01 I always used to wonder why there was explicit syntax to invoke a destructor 20:24:02 <|amethyst> SamB: you know what's even better? 20:24:06 |amethyst: what! 20:24:14 <|amethyst> SamB: we define the copy constructor in terms of copy_from 20:24:23 <|amethyst> SamB: and copy_from in terms of the *default* operator= 20:24:35 |amethyst: I belive I have known this! 20:25:31 which is clearly bonkers but when I thought of changing it I was like "no way this is going to stay up-to-date, is there?" 20:25:43 <|amethyst> I think every time someone's needed (in Crawl) both an assignment operator and a copy constructor, they have independently invented a different approach 20:27:12 you know, perhaps we should use smart pointers? 20:27:24 <|amethyst> we do in a few places 20:27:28 this is why I didn't want to poke at crawl in anger... 20:28:03 one reason I'm glad that NetHack uses C is that it decreases the damage that codebase inconsistency can do 20:28:03 then we could drop copy_from *and* the explicit copy constructor! 20:28:22 <|amethyst> SamB: hm 20:28:36 ais523_, you'd be surprised 20:29:10 <|amethyst> SamB: oh 20:29:11 this is what happens when I hang out in ##c++ all the time and see the ritual exhortations to use smart pointers rather than explicit new/delete day in and day out! 20:29:19 it's a lot easier to write spaghetti in C because the language encourages you to reinvent everything yourself 20:29:20 <|amethyst> SamB: for one of them, see: 20:29:29 geekosaur: given how long I've been working on the NetHack codebase by now, it's hard to be surprised at anything 20:29:31 <|amethyst> !source player.h:161 20:29:32 http://s-z.org/neil/git/?p=crawl.git;a=blob;f=crawl-ref/source/player.h;hb=HEAD#l161 20:29:44 but you can do just as much invention in C++ 20:29:50 especially if you don't know what you're doing 20:29:50 C++ at least comes with some hints as to how to do things right, in the form of OO and the STL 20:30:00 and how much are those used in the Crawl codebase? 20:30:02 but in C there's so little provided 20:30:07 <|amethyst> I have no idea why the quiver is a pointer 20:30:12 geekosaur: s/OO and // 20:30:13 -!- atomikkrab has quit [Ping timeout: 240 seconds] 20:30:28 -!- Sorbius has quit [Ping timeout: 248 seconds] 20:30:35 also, I haven't seen people screw up containers much in NetHack, which is what the STL mostly does 20:30:40 also ##c++ claims we shouldn't call that the STL anymore because that's too ambiguous 20:30:41 apart from strings 20:30:43 Ooh. Shouldn't i_feel_safe be called you_feel_safe? 20:30:44 SamB: I would see your point if I didn't know of some very widely used and mutually incompatible OO hacks in C 20:30:52 (Xt and Gtk+ come to mind) 20:30:56 but I *think* we mostly understand one another here 20:31:11 <|amethyst> tswett: player::feel_safe would be better :) 20:31:15 NetHack always used to just use fixed-size arrays for strings 20:31:17 geekosaur: no, I meant I don't think the OO stuff helps all that much 20:31:26 I've eliminated all of those in the core, apart from across API boundaries, though 20:31:30 not compared to the template libraries, anyway 20:31:46 it helps compared to things like the hash table support in libc >.> 20:31:53 (if you can call it that) 20:32:10 getenv/putenv? 20:32:18 -!- HellTiger has quit [Ping timeout: 240 seconds] 20:32:26 <|amethyst> I wonder how much of a problem it would be for us to move to (a sufficiently old version of) boost 20:32:27 I don't really remember there being much OO stuff in the C library 20:32:31 Is Crawl internationalizable at the moment? 20:32:32 I can't think of a single hash table anywhere in NetHack, though, not even a rolled-by-hand one; there are some non-hash tables that map integers to values 20:32:39 tswett: I think so 20:32:42 |amethyst: I don't think we get to pick the version 20:32:45 ais523_: time to... 20:32:47 hash one out 20:32:48 ??? 20:32:55 ais523_, that was more an example of C leading people in a very wrong direction 20:32:55 <|amethyst> SamB: we get to pick the version of gcc we support 20:32:58 Grunt: well, I haven't really /needed/ a hash tbale, which involves hashing 20:33:03 <|amethyst> SamB: I mean that or newer, not just that 20:33:05 doesn't Debian ship one version of boost at a time mostly? 20:33:07 ah 20:33:10 well, sure then 20:33:19 does Crawl use hash tables much? 20:33:23 man hsearch 20:33:42 pretty much the perfect example of "this should never have existed much less been made standard" 20:33:54 ais523_: do you think we really worry our little heads over how our associative arrays are actually implemented? 20:34:18 geekosaur: worse than qsort? 20:34:27 much 20:34:27 <|amethyst> ais523_: it has a hash table implementation that is used fairly often for things like monster/item/player properties 20:34:35 there are arguments for qsort 20:34:51 |amethyst: and you're sure that's not a binary tree? ;-P 20:34:54 <|amethyst> ais523_: keys are always strings 20:35:00 does map<> count? 20:35:05 |amethyst: the way those work in NetHack, at least NetHack 4, is that each property is an enum number, and those are just used to index arrays directly 20:35:21 <|amethyst> oh wait 20:35:24 <|amethyst> you are right 20:35:28 <|amethyst> typedef map hash_map_type; 20:35:32 <|amethyst> very funny, guys 20:35:34 <|amethyst> ais523_: so no 20:35:36 I know right 20:35:39 <|amethyst> we don't seem to use hash tables 20:35:50 this is mostly true in NetHack 3.4.3, too, but for some reason, often all the elements of the array have their own, independent accessor macros 20:35:55 half of which contain extra logic that's lacking in the other half 20:36:01 it might have been a perler, or someone who'd never heard of binary trees ;-) 20:36:02 I refactored all that into a single function that centralizes all the logic 20:36:02 <|amethyst> ais523_: we use that method for some things like artefact properties 20:37:34 -!- Rewans has quit [Quit: Page closed] 20:38:26 Does anyone else find it infuriating that the compiler complains about declaring variables within one case of a switch? 20:38:46 I expect it, but I know some history there 20:38:50 look up Diff's Device 20:38:52 er 20:38:54 Duff's 20:39:04 Lasty1: that doesn't work properly in C89 anyway, the normal behaviour is to put an extra set of braces in to limit the scope 20:39:06 switch is much more evil than you realize 20:39:14 -!- Zerkmund1 has quit [Remote host closed the connection] 20:39:26 ah 20:39:29 Lasty1: you may have forgotten {} 20:39:53 {}{}{}{}{}{}{}{}{}{}{} 20:39:56 ais523_: doesn't work properly in ... C89, you say? 20:40:09 it wouldn't 20:40:10 good vintage 20:40:16 why C89 specifically? 20:40:23 C89 and earlier 20:40:24 SamB: because they changed it in C99 for C++ compatibility 20:40:37 ah, that 20:40:42 I forgot about that 20:40:50 actually, that sort of feature works better in C99/C11 than in C++, because it doesn't have to worry about implicit constructors 20:40:54 I sorta learned on GNUC 20:41:03 for instance, there are some uses of arrays that work in C and don't work reliably in C++ 20:41:12 hm 20:41:23 You also get designated initializers in C 20:42:02 <|amethyst> ais523_: C++ doesn't have dynamically sized arrays for example 20:42:06 but nobody can agree on how or whether to do them for C++, and the GCC people won't implement something without at least something resembling a standard definition ... 20:42:24 -!- rbrrk has quit [Quit: Page closed] 20:42:52 SamB: does the "struct foo x = {.x = 2, .y = 3};" syntax not work? I don't see any reason why it wouldn't work for POD, and for non-POD, you can't exactly initialize without calling the constructor anyway 20:43:40 ais523_: it works a little bit 20:44:21 obviously this is for things that are permitted to be braces-initialized field-by-field 20:44:55 but I think it's required that the fields be initialized IN ORDER, and NO MORE THAN ONCE EACH 20:45:13 bleh, the order in which you initialize fields can make a difference? 20:45:41 something to do with uncertainty regarding what the rules might be if it ever WERE standardized 20:46:04 I may be misremembering, but I'm pretty sure there were at least two restrictions 20:46:17 -!- mumi is now known as xXmima-samaXx 20:46:17 also this is a GCC extension that you can use it at all 20:46:22 not in the standard or anything 20:46:52 <|amethyst> There is a proposal at 20:46:53 <|amethyst> http://htmlpreview.github.io/?https://raw.github.com/CTMacUser/multiarray-iso-proposal/master/designation-proposal.html 20:47:03 oh yay! 20:47:18 <|amethyst> discussion at https://groups.google.com/a/isocpp.org/forum/#!topic/std-proposals/IgDFqKjKlRs 20:47:30 or, wait, how long ago was this? 20:47:38 also I hate groups 20:47:47 why do they have to be so %!%@#&@^ AJX 20:47:50 er. AJAX 20:47:55 <|amethyst> SamB: about seven months 20:47:58 <|amethyst> eight 20:48:16 okay, I probably haven't seen this thread then! 20:48:51 How annoyed will people get with me if I refer to Felids as Khajiit? 20:49:04 tswett: I won't know what you mean 20:49:34 <|amethyst> tswett: aren't khajiit humanoids? 20:49:37 <|amethyst> tswett: felids aren't 20:49:44 |amethyst: yeah, I guess you're right. 20:49:52 Are Draconians humanoids? 20:49:59 (And can they breathe underwater?) 20:50:03 SamB: the really complicated feature to port over from C isn't the "struct foo x = {.x = 2, .y = 3};" syntax, but the "(struct foo){.x = 2, .y = 3}" syntax 20:50:22 ais523_: what's so complicated there? 20:50:45 imagine if struct foo has a nontrivial destructor 20:51:03 apparently the gcc devs tried to implement this and couldn't get it working reliably in all cases in C++ 20:51:16 well how about we just don't allow it for things that are destructable? 20:52:23 ah, apparently the problem is that even if it isn't destructable, the other semantics of C++ require the object to die earlier than C does 20:52:43 who cares about an object? 20:52:49 it's the value that matters, no 20:52:51 ? 20:53:06 yeah but if it's an array, it can decay into a pointer to itself 20:53:09 and then that pointer gets copied around 20:53:12 oh 20:53:20 apparently gcc refuses to let you do that because it so often goes wrong if you try 20:53:22 you can *do* that with arrays now? 20:53:42 you always could, but gcc explicitly rejects it in this case because the implications are so confusing 20:53:54 this is how the dereference operator works in C 20:54:04 "should be as easy as important the C Standard text" yeah right 20:54:07 that was tried before ;-P 20:54:27 they couldn't figure out what the text actually meant in some cases 20:54:41 if I write "int x[2] = {1, 1}; printf("%d", x[1]);", in C the x[1] is a synonym for *((int *)x+1), i.e. array-to-pointer decay 20:54:55 and because ints are a primitive, that does exactly the same thing in C++ 20:54:58 mostly unions 20:55:04 oh boy 20:55:21 I wanted to do union { const int x; int x_writable; } in NetHack 4 20:55:44 and after discussing it on comp.lang.c, we still couldn't work out whether the standard allowed you to modify x_writable and then read x in that context 20:55:48 I'm assuming the author of this proposal is aware of the issue and has it covered 20:56:14 so then they can backport the definition to C ;-) 20:56:35 C has a lot fewer things that need to be specified than C++ 20:57:08 e.g. if foo is a typedef, in "foo x = 0, y = 0;", nothing's forcing the compiler to implement x and y in a particular order 20:57:13 because it doesn't matter 20:57:17 in C++, it quite possibly would matter 20:59:27 ais523_: well, it had to do with setting fields of *multiple members* of the same enum 20:59:32 -!- Kramin has quit [Quit: This computer has gone to sleep] 20:59:50 enums have fields in C++? 20:59:56 err, members? 20:59:58 there didn't seem to be anything preventing that in C, or any explanation of what should happen 21:00:02 er, sorry, unions 21:00:16 (oops) 21:00:18 Night, everyone. 21:00:23 !send sleep tswett 21:00:23 Sending tswett to sleep. 21:00:31 nice! 21:00:37 -!- dtsund has quit [Quit: dtsund] 21:01:12 -!- tswett has quit [Quit: tswett] 21:01:40 SamB: I think it's just generally considered that that wouldn't work 21:01:48 C has a lot of "don't do that then" situations 21:02:13 that compilers are allowed to warn about if they feel like it, and not guaranteed to make work 21:02:15 well, maybe they should have *said* that the results were unspecified 21:02:22 rather than just not specifying them clearly, hmm? 21:02:33 the C standard has a rule that anything that isn't defined is undefined behaviour 21:02:38 -!- tsohg has quit [Remote host closed the connection] 21:02:39 which is probably not a good rule to have, but it does 21:03:04 well, see, unspecified would be a slight improvement here 21:03:18 would prevent the compiler from being allowed to delete all your files, for example 21:03:43 it'd have to wait until runtime when you invoke UB because of the unspefied contents of ... 21:03:50 there's actually an optional appendix to C11 that severely limits the subset of UB that's allowed to do things that drastic 21:03:52 but nobody implements it 21:03:58 lol 21:04:24 "you must be running with sufficient privileges to actually effect the deletion" bla bla bla? 21:05:05 well, it's more likely for executing uninitialized memory to delete all files you can delete, than it is to happen to form shellcode for an unpatched escalation vulnerability 21:05:10 -!- MgDark has quit [Quit: ChatZilla 0.9.90.1 [Firefox 31.0/20140703154127]] 21:05:31 but no, the appendix lists things that are allowed to have actually arbitrary effects, such as writing to a pointer to freed memory 21:05:41 and everything else has to cause a crash 21:06:31 -!- twelwe has quit [Ping timeout: 246 seconds] 21:07:48 -!- tsohg has quit [Ping timeout: 255 seconds] 21:09:00 hmm, I guess I can see why that might not be too popular 21:09:18 the compiler people want to go OMG FAST 21:09:40 and the kernel people don't want to lose control while they're crashing ... 21:11:58 -!- Lasty1 has quit [Quit: Leaving.] 21:12:46 oh, the rows between gcc and the kernel development are pretty famous by this point 21:13:16 at least we have a memory model now 21:13:21 e.g. the Linux kernel does a bunch of things that technically aren't allowed, and then has to give gcc a bunch of options to tell them not to make optimizations on the basis of the code being legal 21:13:28 that should help with some of the things I've seen 21:13:40 seen mentioned, I meen 21:13:45 *mean 21:14:46 that "hey this stupid compiler turned our thread-safe code into thread-unsafe code by adding a write where there wasn't supposed to be a write!" 21:14:52 problem 21:19:46 -!- the_glow has quit [Read error: Connection reset by peer] 21:20:29 https://groups.google.com/a/isocpp.org/forum/#!searchin/std-proposals/designated$20initializers|sort:date/std-proposals/1CFBOf03Lz0/68i0cccDGBsJ looks more recent, actually ... 21:21:44 <|amethyst> hm 21:22:07 1learn add |amethyst <|amethyst> hm 21:22:07 <|amethyst> does animating zombies with weapons work still? 21:22:37 <|amethyst> !learn add |amethyst[2] <|amethyst> hm 21:22:38 |amethyst[2/11]: <|amethyst> hm 21:22:53 good 21:23:23 -!- andrewhl has quit [Quit: andrewhl] 21:24:16 -!- renftw has quit [Client Quit] 21:24:35 ??hm 21:24:36 I don't have a page labeled hm in my learndb. Did you mean: am, ha, hd, he, ho, hp, hs, hu, hw, lm, om, pm, tm, vm. 21:24:49 !learn add hm see {|amethyst[2]} 21:24:49 hm[1/1]: see {|amethyst[2]} 21:24:51 ??hm 21:24:51 |amethyst[2/11]: <|amethyst> hm 21:24:53 good 21:25:11 oh, yay, it looks like rather than passing *over* designated initializers in *favour* of named arguments, designated initializers are now seen as the *likely implementation vehicle* for named arguments! 21:25:19 |amethyst is becomming like one of those pull toys that says random phrases 21:25:31 1learn add Grunt good 21:25:32 <|amethyst> gammafunk: Eat my shorts! 21:25:50 Howdy, partner! 21:27:44 <|amethyst> and animation equipment does seem to work most of the time 21:28:25 <|amethyst> at least a few times though it didn't equip the weapon even though neither corpse nor weapon was moved 21:29:40 -!- xnavy__ is now known as xnavy 21:33:57 or vice versa, possibly, they don't seem to be quite certain which way they want to do this yet? 21:34:22 -!- MaxFrost has quit [Ping timeout: 245 seconds] 21:35:51 -!- rophy has quit [Quit: Miranda NG! Smaller, Faster, Easier. http://miranda-ng.org/] 21:36:30 -!- mamgar_ has quit [Quit: Leaving] 21:38:45 ais523_: anyway things are certainly looking up for designated initializers! 21:39:33 -!- Crehl has quit [Quit: Crehl needs sleep - badly! (probably)] 21:39:42 -!- SwissStopwatch has quit [Ping timeout: 256 seconds] 21:40:18 right, they don't seem inherently incompatible with anything else in C++ 21:40:25 also I suggested them as a way to do named arguments in C11 right now 21:40:34 maybe C++ will be nice and put some sugar around that 21:40:46 ais523_: oh, you're one of those people ? 21:41:02 no, I suggested it on comp.lang.c 21:41:04 or ... no. 21:41:05 ah 21:41:10 which has many of the actual standards people reading it, but isn't "official" 21:41:21 like, nothing's forcing them to read what I say, and in fact they probably didn't 21:41:31 anyway C already has designated initializers ;-) 21:41:36 foo((struct foo_arguments){.arg1 = 4, .arg3 = 6}) is a bit unwieldy as syntax goes for a function call 21:41:48 something like foo(.arg1 = 4, .arg3 = 6) would be nice, though 21:42:19 -!- DrinkMachine has quit [Ping timeout: 240 seconds] 21:43:59 ais523_: true 21:46:18 much easier in C than in C++, though 21:46:30 what if there's two foo functions, one takes a struct foo_arguments, and the other takes something else? 21:49:29 -!- negatendo has quit [Quit: poop] 21:50:13 -!- Fhqwhgads_ has quit [Remote host closed the connection] 21:50:23 -!- Arkaniad has quit [Ping timeout: 264 seconds] 21:51:32 -!- ProzacElf has quit [Ping timeout: 248 seconds] 21:51:37 Cannot view stdout/stderr output on Windows 13https://crawl.develz.org/mantis/view.php?id=8773 by johnnyzero 21:51:47 johnny0: imo help us fix that :( 21:52:09 hm 21:52:14 I wonder who added that code snippet?? 21:52:29 writing that bug report was exhausting 21:52:43 <|amethyst> !blame grunt 21:52:57 I said something before clicking through to it expecting it to be a short statement, not an in-depth report :) 21:53:01 <|amethyst> !cmd !blame .echo "Guilty!" 21:53:03 Defined command: !blame => .echo "Guilty!" 21:53:08 -!- SwissStopwatch has joined ##crawl-dev 21:53:17 well, crawl does UTF-whatever properly for the more important stuff (console output, char dumps) 21:53:29 !cmd !blame .echo I pronounce ${*}... Guilty! 21:53:36 Redefined command: !blame => .echo I pronounce ${*}... Guilty! 21:53:58 <|amethyst> the problem is testing the change against older Windows 21:54:50 <|amethyst> (and/or deciding to drop support for Windows 98 :P ) 21:55:06 IMO we should drop support for really old operating systems so we can do things like C++11. 21:55:10 i linked an article in that bug report... it looks like getting stdio/stderr/stdin to play nicely with unicode is painful 21:55:56 %git d4add257e 21:55:59 07kilobyte02 * 0.12-a0-2064-gd4add25: Try to enable UTF-8 mode for stdin/stderr on new versions of Windows. 10(1 year, 5 months ago, 1 file, 11+ 0-) 13http://s-z.org/neil/git/?p=crawl.git;a=commitdiff;h=d4add257e660 21:56:00 %git 6c35d263d 21:56:01 07kilobyte02 * 0.12-a0-2068-g6c35d26: Define _O_U8TEXT by its numeric value on old compilers. 10(1 year, 5 months ago, 1 file, 3+ 0-) 13http://s-z.org/neil/git/?p=crawl.git;a=commitdiff;h=6c35d263d0cb 21:56:01 * Sequell can't find the dice! 21:56:06 <|amethyst> Grunt: chei (well, monster builds on s-z.org) is also a blocker, but chei needs to move anyway 21:57:33 -!- tsohg has quit [Ping timeout: 240 seconds] 22:03:51 Grunt: my "fix" would be reverting those two commits you linked (i.e., just remove that entire #ifdef block) 22:04:27 johnny0: I'm inclined towards the same at this point, but I'm hardly an expert on things Windows and I'd prefer a proper fix if it could be managed. 22:04:49 <|amethyst> you're using Vista you said? 22:04:58 well, s2k8 -- basically the same 22:05:04 -!- CKyle has quit [Quit: CKyle] 22:05:08 <|amethyst> "newer versions of Windows" in 2012 probably referred to 7 22:05:17 <|amethyst> err, in 2013 22:05:57 unfortunately i don't have a win7+ machine to test on 22:06:04 to see if it even does enable it 22:07:32 does crawl even take data in via stdin besides command line arguments and error prompts? 22:08:24 and output anything to stdout/err besides errors/warnings? 22:08:54 -!- tcjsavannah has quit [Quit: tcjsavannah] 22:12:52 -!- ystael has quit [Ping timeout: 248 seconds] 22:13:58 -!- mizu_no_oto has quit [Quit: Computer has gone to sleep.] 22:17:08 -!- st_ has quit [Ping timeout: 248 seconds] 22:19:19 <|amethyst> curses uses stdin and stdout by default (I believe it's stdout and not stderr) 22:19:34 <|amethyst> well, I don't know about Windows, maybe it uses the terminal there 22:19:46 (curse Windows!!!!) 22:20:01 -!- kekekela has quit [Ping timeout: 246 seconds] 22:21:17 <|amethyst> Power Windows (1985) 22:25:28 -!- ussdefiant has joined ##crawl-dev 22:26:58 -!- ProzacElf has joined ##crawl-dev 22:31:57 |amethyst: crawl doesn't use curses with win32 builds iirc -- it uses the windows Console library directly 22:32:18 |amethyst: windows doesn't support terminals 22:32:23 -!- ystael has quit [Ping timeout: 264 seconds] 22:32:39 it has this rather odd "console API" 22:32:41 |amethyst: i found this out when i tried to swap ncurses out for pdcurses :/ 22:32:45 -!- Daekdroom has quit [Quit: Saindo] 22:33:54 unfortunately, there can be only one console implementation, and on older versions of Windows only one console "handle" in a process 22:34:17 (There is no actual handle involved in those versions of Windows, it's just a magic number there.) 22:36:16 -!- CKyle has joined ##crawl-dev 22:36:40 on the ui side, it's also painful to get the standard windows command prompt to use a different font too :/ 22:37:01 -!- Kramin has quit [Quit: This computer has gone to sleep] 22:39:00 -!- PleasingFungus has joined ##crawl-dev 22:39:58 you have to add the font to the list of console fonts in the registry (and reboot), and then hope that the number you id string you chose for the font actually works 22:40:01 -!- Lasty has quit [Read error: Connection reset by peer] 22:40:39 johnny0: surely logging out and in would suffice rather than actually rebooting 22:41:00 the service that implements the console is per-*session*, isn't it? 22:41:19 where by "service" I just mean "daemon on windows" 22:48:29 -!- UncertainKitten has joined ##crawl-dev 22:50:40 SamB: probably, but i'm not sure 22:53:46 I was thinking more about minmay's 100% mulching/increased ammo gen plan. my main concern is the preposterously huge numbers you'd see in some cases 22:54:06 PleasingFungus: not a 0.15 thing imo, but start a branch? 22:54:18 you think? it seems small enough 22:54:24 as changes go 22:54:35 not that I'm certain I want to do it, but... 22:54:59 ...finish the rest of your ranged stuff first :) 22:55:35 SamB: http://support.microsoft.com/kb/247815 22:55:35 and everything else :( 22:55:35 but yes 22:55:35 -!- nooodl has quit [Quit: Ik ga weg] 22:56:15 Does anyone know why sling bullets were added in the first place? 22:56:45 Looks like they were added in the same commit as deep elf blademasters & master archers, thematically enough. also javelins. 22:57:46 %git 718202e 22:57:46 07greensnark02 * 0.3-a0-530-g718202e: Manual update (David). 10(7 years ago, 31 files, 683+ 422-) 13http://s-z.org/neil/git/?p=crawl.git;a=commitdiff;h=718202ee6b64 22:57:53 yep 22:57:55 that's the one 22:58:02 You could ask the snark. :) 22:58:17 greensnark: any idea what the motivation was for adding sling bullets? 22:59:24 -!- ussdefiant has quit [Ping timeout: 255 seconds] 23:02:31 -!- lobf has joined ##crawl-dev 23:03:01 huh, a hypothetical hellfire beam would pass through its victims just like lightning. 23:03:30 !send PleasingFungus the +6 crossbow "Hellfire" 23:03:31 Sending the +6 crossbow "Hellfire" to PleasingFungus. 23:03:37 I thought it just did hellfire on hit? 23:03:42 (only beem.is_beam = false there) 23:04:11 ah, in any case, the relevant code first checks to make sure that it's an actual beam 23:04:15 so no piercing hellfire bolts :( 23:04:17 fr???? 23:04:31 rip 23:05:07 -!- demiskeleton has quit [Quit: Leaving] 23:07:48 imo get to work? 23:08:44 obv 23:10:28 -!- ussdefiant has joined ##crawl-dev 23:10:46 -!- Phalm has quit [Ping timeout: 246 seconds] 23:16:22 -!- sstrickl has quit [Quit: sstrickl] 23:19:38 -!- MaxFrost has quit [Ping timeout: 240 seconds] 23:22:47 -!- CSDCS has quit [Read error: Connection reset by peer] 23:24:03 -!- CKyle has quit [Quit: CKyle] 23:24:55 -!- CSDCMS has quit [Read error: Connection reset by peer] 23:25:33 -!- G-Flex has quit [Ping timeout: 240 seconds] 23:32:07 -!- HaltingProblem has quit [Ping timeout: 246 seconds] 23:32:51 -!- CryptoCactus has quit [Quit: Page closed] 23:33:10 -!- Vaporware has joined ##crawl-dev 23:33:10 -!- Vaporware has quit [Changing host] 23:33:10 -!- Vaporware has joined ##crawl-dev 23:39:01 -!- CSDCMS has quit [Read error: Connection reset by peer] 23:39:12 dang, base damage scaling is 23:39:15 really underwhelming 23:39:40 for what weapons 23:39:46 like, in general 23:39:59 oh you don't say 23:40:35 I guess I've heard it talked up so much that I got my expectations too high :( 23:40:40 Fighting has the same effect as weapon skill on accuracy (this is actually quite important) and multiplies mainhand melee damage by 1+1d(skill level)/30, aux attack damage by 1+1d(skill level)/40. For comparison, melee weapon skill is 1+1d(skill level)/25. 23:41:21 ranged weapon skill is now too, presumably 23:41:24 yes, I'm looking at the relevant functions for damage now (though I didn't have accuracy in front of me - thanks!) 23:41:37 ??accuracy 23:41:37 accuracy[1/5]: Your ability to hit and not miss things in combat. Affected by weapon modifiers, some spells, fighting skill, and some randarts. Your base melee accuracy is 15 + ((dex + (str-dex) * {str_weight} / 20) / 2) + random2(fighting) + random2(weapon or unarmed skill) + 2 if unarmed + 2 if unarmed and you *started* the game with claws. 23:41:40 ??accuracy[2 23:41:41 accuracy[2/5]: Then add the weapon's base accuracy, enchantment, and slaying. If the weapon is elven and you are an elf, add either 1 or 2 on a coinflip. If the weapon is orcish and you are with Beogh and not under penance, add 1. If you are starving subtract 3. Subtract 1d({aevp}) and 1d({asp}). Then roll 1d(result of all the previous stuff). 23:41:46 wow it even has the nerve to be 1+(1dFighting)/30 23:41:59 -!- CSDCS has quit [Read error: Connection reset by peer] 23:42:36 ??asp 23:42:36 asp[1/2]: Adjusted shield evasion penalty. Affects melee accuracy and {attack speed}. Its value is base_penalty - shield_skill/(5 + size_factor). 23:43:14 !learn edit accuracy[4] s/invisible/invisible without SInv 23:43:14 accuracy[4/5]: If wearing an amulet of inaccuracy, invisible without SInv, or confused, subtract 5 (these stack). If attacking an invisible target without see invisible, subtract 6. If the defender is backlit, add 2+random2(8). If the defender is in an umbra and you are not with Yred, subtract 2+random2(4). This is your final accuracy. Probably. 23:43:32 crawl is the world's goofiest game 23:43:36 well no that's nethack 23:43:40 but crawl tries! 23:43:43 crawl is the goofiest dice game 23:43:49 !send Bloax Airstrike 23:43:50 Sending Airstrike to Bloax. 23:43:51 imagine all the dice you would have to roll 23:44:12 nethach accuracy is really easy to calculate 23:44:28 ??thac0 23:44:29 I don't have a page labeled thac0 in my learndb. 23:44:40 is your luck positive? your accuracy is +infinity 23:44:42 mmmmmm THAC0 23:44:48 is your luck not positive? fix that 23:45:00 -!- Kalir has quit [Quit: CADENZA-CLASS CLOCKWORK KNIGHT--OPERATION TERMINATED] 23:45:16 (how did your luck become negative in the first place) 23:45:20 (what are you doing) 23:45:22 sokoban 23:45:36 I said not positive 23:45:44 I was thinking of 0 luck 23:45:52 of course you would never have negative luck 23:47:13 unless you're carrying a bunch of luckstones that got cursed 23:47:38 -!- Vaporware has quit [Quit: Leaving] 23:48:08 -!- Patashu has quit [Quit: Page closed] 23:49:49 -!- DrinkMachine has joined ##crawl-dev 23:51:25 -!- _aardvark has quit [] 23:51:58 -!- DrinkMachine has quit [Client Quit] 23:53:38 -!- gastrox has quit [Quit: Page closed] 23:56:20 -!- tsohg has quit [Ping timeout: 240 seconds]