00:09:42 Unstable branch on crawl.jorgrun.rocks updated to: 0.22-a0-160-gcc81d7a59f (34) 00:25:16 03Aidan Holm02 07* 0.22-a0-161-g198051c: Add WME_MOUSEWHEEL 10(18 minutes ago, 5 files, 14+ 10-) 13https://github.com/crawl/crawl/commit/198051cff32f 01:09:43 Unstable branch on crawl.jorgrun.rocks updated to: 0.22-a0-161-g198051cff3 (34) 01:24:15 Unstable branch on crawl.develz.org updated to: 0.22-a0-161-g198051c (34) 01:57:16 Windows builds of master branch on crawl.develz.org updated to: 0.22-a0-161-g198051c 02:52:53 Monster database of master branch on crawl.develz.org updated to: 0.22-a0-161-g198051c 03:11:40 Unstable branch on crawl.beRotato.org updated to: 0.22-a0-161-g198051c (34) 07:02:06 -!- russ0r`OFF is now known as russ0r 09:46:22 does hasting increase dodging? 09:47:36 no 09:47:46 hasting decreases the time your actions take 09:52:32 gammafunk: yes so shouldn't that decrease time taken to dodge an attack thus making more attacks miss? 09:55:07 -!- Calamarain1 is now known as Calamarain 09:57:55 I don't see how that follows 09:58:03 <|amethyst> dodging doesn't take time 10:01:16 so, the person who was tileschat spamming on cbro made another account, apparently 10:02:22 is ip ban the next step? (obviously there are ways around that) 10:03:18 it's actually sort of amazing we haven't had to deal with this very much 10:03:50 <|amethyst> once I started IP banning on CAO, I pretty much had to ban all tor exit nodes, too 10:04:00 I think CBRO already might have that 10:04:44 <|amethyst> maybe we should implement shadowbanning 10:04:44 johnstein: the new username is itchyaboiyo, I have various screenshots documenting if you want them (it's the same MO has HeyVSauce) 10:05:00 I was thinking about hacking together a rudimentary /mute command 10:05:24 so that a player in this situation can at least do *something* 10:06:47 well, aside from save + reload 10:10:11 <|amethyst> you mean, "aside from closing the chat window" :) 10:10:24 well if there's other spectators, it's not great 10:10:26 |amethyst: dodging doesn't take time? as in it happens instantly after the monster does their turn? 10:10:33 or if you're talking to other spectators 10:10:40 brainstorming a bit, some subset of the following things could be nice in tileschat: report user button, some kind of server logging (last 50 msgs per game or something so it doesn't take up too much space), mute, kick, ban, player-usable persistent blacklists (or even whitelists, it doesn't seem unreasonable to me that someone wouldn't want spectators), ability for admin accounts to use some of these commands in addition (or instead of) the player 10:10:48 <|amethyst> dds1: it happens as part of the attacker's turn, yes 10:11:07 |amethyst: if that's the game mechanic then hasting shouldn't affect dodging. i see now. 10:11:09 <|amethyst> dds1: if five monsters attack you and you dodge all of them, the turn doesn't take any longer than if one monster attacked you, or no monsters 10:11:47 not saying we need all of those, and they are semi-ordered by severity 10:11:50 |amethyst: that makes sense in real life too. i'm imagining a matrix neo dodging 5 agents simultaneously. 10:12:21 does wielding weapons take time? i know wearing items does. 10:12:31 <|amethyst> it does 10:13:23 <|amethyst> much less time than wearing armour 10:13:23 |amethyst: also in this case the player might have wanted to use beem, so spamming like this prevents that 10:13:33 (the spectator list was the player, beem, and the spammer) 10:13:58 <|amethyst> hm 10:14:06 <|amethyst> I don't like the idea of preventing spectating 10:14:24 <|amethyst> preventing (non-whitelisted) spectators from *talking* would be fine 10:15:11 <|amethyst> but otherwise, yeah 10:15:34 <|amethyst> maybe it would be simpler to replace tileschat with an in-game IRC server, one channel per game 10:15:43 heh 10:15:44 yeah, that seems like a reasonable viewpoint, chat join whitelists is definitely the most extreme thing on there 10:15:46 <|amethyst> so we don't have to implement all those features 10:16:40 this is some kind of zawinski's law-adjacent situation 10:17:08 every video game expands until it contains an irc reimplementation 10:17:27 *attempts to expand 10:18:20 i said something about adding ctrl+g to 'interlevel travel' in instructions yesterday? did anything happen on that? 10:20:53 dds1: not yet, but ?? really is intended to provide the canonical ways of triggering commands 10:21:34 long walk / attack without move have extra listings because, at least historically (and maybe in some webtiles setups) there are cases where shift or ctrl don't work at all 10:23:38 depending on the config, a command could be bound to many keys, and ?? aside from some special cases just shows the first one 10:25:40 actually I also notice that ?4 does list ctrl-g 10:26:11 so if you want a more complete list, that help screen is probably a better bet than the quick reference (not sure if ?4 is auto-generated though) 10:26:59 advil: i see. just noticed it and seemed an odd one out. i understand that quick reference doesn't need to be comprehensive. thanks for replying! 10:28:07 !source _add_formatted_keyhelp 10:28:07 1/1. https://github.com/crawl/crawl/blob/master/crawl-ref/source/command.cc#L791 10:31:08 -!- amalloy_ is now known as amalloy 11:18:36 does anyone know why we have a distinction between CrawlProcessHandlerBase and CrawlProcessHandler? 11:18:42 is this some kind of tornado idiom? 11:18:57 or just excess abstraction 11:19:57 yeah, let me take a look 11:20:02 it's been a while since I've looked at that 11:21:31 advil: DGLLessCrawlProcessHandler 11:21:34 inherits from base 11:21:49 that's from CrawlProcessHandler no? 11:21:52 along with CrawlProcessHanlder 11:22:14 all I'm seeing is "class DGLLessCrawlProcessHandler(CrawlProcessHandler):" 11:22:14 er 11:22:20 yeah it inherits from that, right 11:23:30 there's stuff the Base one doesn't do (details of dealing with the crawl process, including starting the connection), but the breakdown isn't super clear to me 11:25:55 yeah there's some cases where methods do things and call the method in that HandlerBase parent class 11:28:18 does look like some attempt at making making specific classes for variations in system path usage 11:28:54 with the super class trying to do all of the game management 11:29:35 or rather maybe he thought there would be more process management specific to DGL 11:29:49 and it turned out to just be some subtle path differences 11:29:54 ah, yeah, or something other than dgl 11:29:59 right 11:30:06 this doesn't appear to have anything to do with tornado, yeah 11:31:44 why don't bows and crossbows crosstrain? 11:32:52 why should they crosstrain? 11:33:53 advil: I'm sure a whole ton of this stuff should be rewritten, like with webserver/inotify.py I don't know what most of it is doing, but I can tell this is probably pretty dated code 11:35:01 heh yeah, except who wants to mess with whatever that is 11:35:41 that file looks like something that will break sooner or later, we can ignore it until then :D 11:35:55 yep 11:37:15 I still don't really know what that does, but there's a much more up-to-date version here: https://github.com/seb-m/pyinotify 11:39:37 we're two major version behind current tornado, lord knows what kind of code we could remove if we moved to a more current version 11:42:33 advil: how robust of a mute are you trying to implement? 11:42:50 at the moment I'm just working out something that's per-session 11:42:54 as a starting point 11:43:07 you could probably do it 100% client side if you don't want to get too fancy 11:43:33 like if you wanted to just have each spectator do the mute 11:43:41 you want the player mute to mute the chatter for everyone? 11:43:56 yeah, I thought about that, but I know python better than javascript, so 11:44:01 hah 11:44:08 that's what I'm doing at the moment 11:44:11 would you prefer client side? 11:44:30 yeah, I mean you could use cookies and do it client side if you didn't want something like an IP-level ban with the IP only known by the server 11:44:42 oh cookies, I didn't think about that 11:44:58 since you're trying to do it more server-side, you actually need a sqlite3 modification if you want this to persist 11:45:02 but you could just not do that part 11:45:13 this is going to be username-based, and yeah, no persistence yet 11:45:31 for persistence I guess I was vaguely thinking of doing it per save 11:45:32 right, cookies and a simple js intervention would work provided you didn't want e.g. the player to be able to mute the chatter to all other viewers 11:45:48 oh, marshalling it? that seems like a bad idea to me 11:46:06 but maybe that's not too unreasonable, not like I've thought about this that much 11:46:49 I guess you have in mind a mute list being associated with each player? 11:47:21 well, it's tricky if you want to implement something quickly, since I'm not sure what would actually be quick for you 11:47:48 what I'm doing now will be quick, but I don't know how extendable it really is 11:47:49 but yeah, it seemed that the easiest way was something like that, let each spectator/player decide to mute a person, possibly persisting it across sessions using cookies 11:47:56 the cookies idea for persistence is interesting 11:48:23 we do use cookies already for the login cache, yeah 11:48:57 but again I'm hardly knowledgeable about this stuff 11:49:11 I guess you have to keep in mind how the change rolls out 11:49:26 if you modify the server itself, you need admins to upgrade their installations 11:49:36 I think I'll finish what I'm doing now and push it to a branch 11:50:12 yeah maybe |amethyst will have some thoughts 11:50:15 probably any more full-featured chat management would need to be server-side eventually, so this is a prototype for that 11:51:08 yeah, what I had hoped to have was something where the player could ban and it would work at the IP level, but without revealing the IP to anyone 11:51:39 however that raises some issues I guess; and this is sort of a weird thing to improve a lot when account registration is as simple as it is 11:51:54 hm, because of dynamic ips it might be better to have only admins able to do an ip ban 11:52:08 well, but then you don't have an effective banning system is my concern 11:52:16 account registration is so completely free of any checks 11:52:27 yeah 11:53:11 that's why eventually, some kind of "report user" button would be good 11:53:20 and sso 11:53:29 and a pony 11:53:34 yes there's just a big wishlist of registration stuff 11:54:06 take crawl offline, just put it on steam 11:54:32 hack some gpl-workaround thing to use steam to track all the cheevos and stats 11:54:44 let cheaters rule the day since there's nothing we can do about that 11:55:46 one advantage of the js version is that it would be a shadowban 11:55:57 *shadowmute 11:56:04 oh, yes 11:56:14 but I'm not sure that this is actually an advantage 11:56:24 since people figure out that no one can hear them soon enough 11:56:45 do you mean just in that they can't tell who muted them? 11:56:53 yeah, and they can't tell as immediately 11:57:56 I guess my biggest concern would be that it encourage people to spam registrations, but as you said perhaps anyone going through the trouble to do this would get reported 11:58:40 maybe it's better to have an imperfect solution now than something more substantial maybe never 11:58:52 *substatial one 11:58:58 nm, spelling is hard 12:00:10 yeah...right now I just wanted a patch for the time between when someone is actually getting spammed, and the time when a server admin is able to do something about it 12:00:38 partly to lower any stress for server admins as much as anything 12:01:24 I'm sure players and admins will appreciate it 12:05:01 Unstable branch on crawl.akrasiac.org updated to: 0.22-a0-161-g198051c (34) 12:07:28 at which version did lair 2 stop being the stash? ie : when did monsters lose the ability to pick things up that players had seen? 12:07:50 because at the wiki the article for Lair written for 0.19 still suggests to make a stash at lair 2 12:18:58 it's been a long time 12:22:02 How is this possible? i am not wearing any item that does it, but still damage is being split between my health and magic reserves 12:22:36 0.21.0-1, playing CeHu 12:22:50 archlinux. can provide char dump and save file if anyone wants to test. 12:24:48 i am not using any magic. but MP keeps getting reduced when enemies hit me. am pure melee CeHu. 12:30:40 dds1: pastebinning a chardump would be the first step to checking 12:33:16 advil: okay. it's not happening any more but i've checked my items. nothing should've reduced my mp in the first place, on lair 2 and 3. 12:33:36 will supply a char dump in 2 min. 12:35:57 advil: https://pastebin.com/JufSEku6 12:36:54 it's happening everytime i'm killing something, and okawaru is gifting me ammo. 12:36:58 is that supposed to happen? 12:38:12 oh i think i know why. i have an mp+9 staff quarterstaff. so everytime i wield it my magic is increased (the max amount) 12:38:38 damage is not being split. sorry, false alarm. 12:38:42 that'll do it 13:13:07 I think local debug mode webtiles has gotten even slower since last time I worked on it 13:14:25 full debug mode? 13:14:28 I use debug-lite 13:15:10 is that faster? 13:15:32 and/or does it compress the json? (Which I think debug mode doesn't) 13:16:04 it's faster in terms of a lot less debug spam 13:16:24 and it does have compression but I believe this is just a server setting 13:16:26 that you can turn off 13:17:13 hrm, I don't see it in config.py but I'm sure you can disable that 13:25:40 not sure how no-compression protocol actually gets enabled 13:39:57 Chaos clouds ignore cloud immunity. 13https://crawl.develz.org/mantis/view.php?id=11382 by NormalPerson7 13:54:41 does +2 chain mail (base armour rating 8) give same AC as base armour rating 10 +0 plate armour? 13:55:56 assuming you have zero armor skill and don't have the deformed body mutation, yes 13:56:42 and if i do then what? i am a centaur so i do 13:56:59 will it be 4 divided by 2 + 2 versus 10 divided by 2? 13:57:27 (4/2)+2 versus 10/2 13:57:55 deformed body halves base ac, so the chain will effectively give 6 (4+2) versus 5 for the plate 13:58:17 sorry yeah 13:58:33 hellmonk: well, not "halves base ac", but "reduces your ac by half your base ac" 13:58:42 yes, that's more correct 13:59:02 reduces your ac by half the base ac of your body armour only 13:59:39 and does not affect anything else that is derived from base ac 14:01:08 so i am looking at 10-(8/2) versuse 10-(10/2) is it? 14:01:56 yes, numerically it works out the same (6 for the chain versus 5 for the plate) 14:02:07 assuming 0 armor skill 14:03:12 hellmonk: and if armour skill was up then whose favour would it be in? can you guess? 14:03:49 ??armour skill 14:03:49 armour skill[1/2]: Armour skill reduces the penalties associated with heavy armours, and increases the effectiveness of your armour by 1/22nd of its base value per level of skill. 14:05:37 hellmonk: okay so with armour skill, eventually plate armour would give higher ac, even with deformed body 14:06:02 the way armour skill works is it sums up the total base ac of all your armour slots, then you get base ac/22 extra ac per level of armour skill (but AC is an integer so there are breakpoints) 14:06:58 so yes, at some high value the +0 plate will break even 14:07:21 so the contributing AC, for a +2 chainmail, 10 will be added? 14:07:22 but you'll likely have better armour by that point 14:07:33 no, armour skill only includes base ac 14:08:15 but it includes base ac from every armour slot, so gloves/cloak/barding/helmet contribute to determining how much extra ac you get from skill 14:08:59 i see, thanks a lot! so for 0 armour, it will be base armour + enchantment (assuming no deformed body), that is the simple sum 14:09:30 yes, at 0 skill it's just base + enchant 14:09:49 same for base weapon damage rating? 14:10:13 for zero skill, can i compare a weapon with +2 and a weapon with +3 by saying that +3 does '1' more unit of damage? 14:10:20 like is the concept working in the same way? 14:11:09 weapon damage also depends on strength and fighting skill, so I believe that's only true for 10 strength and 0 fighting/0 weapon skill 14:11:44 and I'm not 100% sure it's true then, the weapon formulas are weird and complicated 14:15:21 hellmonk: i see. okay so there are more variables involved. thanks once again! 14:15:55 New branch created: tileschat-mute (2 commits) 13https://github.com/crawl/crawl/tree/tileschat-mute 14:15:55 03Tomas Krag Hansen02 07[tileschat-mute] * 0.22-a0-144-gfed447b: Putting the honeycombs back in the bee hives. 10(5 days ago, 6 files, 7+ 7-) 13https://github.com/crawl/crawl/commit/fed447b5a9f4 14:15:55 03advil02 07[tileschat-mute] * 0.22-a0-145-g084c549: Proof of concept implementation of server-side tileschat mute 10(8 minutes ago, 2 files, 118+ 11-) 13https://github.com/crawl/crawl/commit/084c549e9495 14:16:08 uh 14:16:16 why is that honeycomb commit there 14:16:42 mute tileschat by stuffing their mouths w/ honey 14:17:14 oops, I didn't branch off of master 14:17:34 how much coding do I need to know to become a core or you know, regularly contributing developer? i know basic c++, and c 14:17:43 and have super basic experience with git in the past 14:18:43 i want to contribute. also how much of the game is even left to 'make' till it is version 1.0? like complete but only adding features here and there 14:20:07 03advil02 07[tileschat-mute] * 0.22-a0-159-gc2f5426: Proof of concept implementation of server-side tileschat mute 10(12 minutes ago, 2 files, 118+ 11-) 13https://github.com/crawl/crawl/commit/c2f542630d4c 14:20:09 Duplicate acrobat amulets remain on autopickup. 13https://crawl.develz.org/mantis/view.php?id=11383 by NormalPerson7 14:21:27 You should be able to contribute even with just basic coding skills I think, but I'll let actual devs correct me if I'm wrong on that 14:21:46 dds1: I doubt dcss will ever reach something called "1.0" 14:22:16 contributors have a variety of coding skills, it's mostly finding a tractable project relative to one's coding skills 14:23:20 often the best starting point for code contributions per se is fixing bugs, though this doesn't appeal to everyone 14:26:32 advil: i love hunting for bugs, because it makes me branch out to new things. but it'll involve asking lots of questions here. is that fine? 14:26:54 i can ask a lot of questions. also, is there some kind of rating on mantis for bugs, like 'easy' 'hairy' 'gnarly' 14:27:19 dds1: asking questions here is fine...at some point, depending on the question, people may start pointing you to ways of answering the questions yourself rather than the answers :) 14:27:57 e.g. that question that hellmonk answered, most people couldn't answer from memory (I definitely couldn't), so the meta-answer is, try it out in wizmode and see what happens 14:28:17 there are mantis tags but they aren't very consistently used 14:28:29 advil: and that'd be great. how would you rate the source code in terms of difficulty? 14:28:54 advil: is it very clean and consistent and follows style guidelines and stuff? like is it modular and you know, what people call a 'good' codebase? 14:29:00 dcss is a very large, messy codebase that has been worked on by many, many different people 14:29:12 I would not call it good, clean, consistent, etc 14:29:31 advil: lol.. okay. so i have a higher chance of messing things up attempting to fix them. introducing new bugs etc. 14:29:36 good thing git exists. 14:29:49 i mean, that'd be true in a clean codebase too 14:30:15 amalloy: yeah but introducing things is easier, and one can see the various interdependencies and stuff better. 14:30:19 probably any of the last 3 NormalPerson7 bugs are easy ones (though it's often hard to predict what will be easy) 14:30:50 advil: and it's all in c++? 14:30:59 aside from the lua 14:30:59 c++ with some lua 14:31:09 the webtiles server is python and javascript 14:31:35 which version of c++? iso? what do you guys use to compile? 14:31:48 ??install 14:31:49 i mean regular ansi c++ 14:31:49 install[1/1]: See the following for installation and compilation: https://github.com/crawl/crawl/blob/master/crawl-ref/INSTALL.txt 14:31:53 read that 14:32:01 on it 14:32:17 the dcss codebase isn't a marvel of clean engineering, but at least it's mostly...non-deceptive. functions named for roughly what they do, combined in relatively straightforward ways. easy enough to grep through 14:32:30 The build has errored. (tileschat-mute - 084c549 #9307 : advil): https://travis-ci.org/crawl/crawl/builds/339923010 14:32:35 also there is a docs/develop folder with some introduction documents 14:33:17 also err.. are new developers welcome? like the Nethack team is mostly closed, so in that sense like are you guys wanting new developers? 14:34:05 someone's gotta add all the features now that PF is gone 14:34:05 or there are already too many people and it's a struggle to get everyone on board on one thing so yuo guys don't want it overcrowded? 14:34:14 it's probably a bit premature to talk about becoming a developer when you haven't gotten a handle on the development 14:34:19 community contributions are welcome via PRs 14:34:45 advil: yeah i'd be happy to submit patches. 14:35:01 gammafunk: i'm planning to make crawl my 'study project' as in my open source project that i regularly contribute to 14:35:15 dds1: i'm in college and was advised to do so. i have a lot of time to do work on the game. 14:35:21 that doesn't change what I said though 14:35:37 the "devteam" is closed, but accepts new members sometimes; the bar for that is relatively high, I think that's what gammafunk means is premature to think about 14:36:02 gammafunk: yeah it doesn't. just giving some context about why i'm filling up this channel with my questions. 14:36:37 advil: for sure! i'll stick to patches, with an eye on the dev spot. i really like this game, and would love to be a part of it in a deeper way. 14:36:48 okay thanks a lot guys! 14:41:21 'dev team' is a bit loose; it's more like the people with direct commit access. you can be a contributor without having direct commit access 14:42:21 geekosaur: yeah i don't really _need_ direct commit access. lol i was just thinking how it works, and patch requests are perfect. 14:42:41 i'll see you guys in a couple of months. going to hit the source code hard. 14:44:39 interesting final message 14:47:28 You hammer the source code like an anvil!!!!! 14:52:03 certain parts of it infamously hit back :) 14:52:27 the beam.cc hits you! you die... 14:53:27 maybe you need some meme monsters based on the crawl sourcecode itself in hellcrawl 14:54:30 new bonus extended branch appearing in the bottom of hell: the sourcecode 15:08:53 -!- Amnesiac_ is now known as Amnesiac 15:18:25 -!- Euph0ria is now known as TabMasher 15:23:17 The build passed. (tileschat-mute - c2f5426 #9308 : advil): https://travis-ci.org/crawl/crawl/builds/339924109 18:07:54 2 new vaults: special room & decor 13https://crawl.develz.org/mantis/view.php?id=11384 by Skrybe 18:14:32 -!- amalloy is now known as amalloy_ 18:17:38 Unstable branch on underhound.eu updated to: 0.22-a0-161-g198051cff3 (34) 22:52:08 -!- cojito_ is now known as cojito 23:59:34 Unstable branch on CRAWL.XTAHUA.COM updated to: 0.22-a0-161-g198051c (34)