00:13:43 |amethyst: is there a good way to join a vector with a delimiter in crawl? i was surprised to see there doesn't seem to be anything good for it in the standard library 00:14:45 alternatively, even something more special-cased that can turn ["x", "y", "z"] into "x, y, and z" would be even better if we have it 00:15:54 i was going to suggest johnstein use a vector in his halo PR rather than checking whether a string is empty before appending " and " to it, but if there's no nice way to turn that into a joined string the benefit is not obvious 00:18:51 oh, there's some stringutil function we have like that 00:18:56 I used it 00:19:55 amalloy: comma_separated_line() ? 00:20:19 allows you to specify a "comma" and an optional final delimiter 00:20:26 both as trings 00:21:07 wow, that is quite a template 00:21:22 s/trings/strings/ 00:21:30 gammafunk: looks useful, thanks 00:23:26 amalloy, yea, I figured there had to be a less clunky way to handle those strings. thanks for looking into it 00:36:43 hellmonk: animate dead feels really useless at low spellpower 00:37:29 two ideas: a) spellpower changes duration of summons b) remove it from Ne starting book and bump the level up to like 6 00:37:54 yeah watertreatmentrl mentioned the same thing, effect is a little too weak rn 00:38:15 can probably just bump the chance at low power 00:52:53 is that a cdda joke 00:59:18 !messages 00:59:18 (1/1) Napkin said (9h 2m 58s ago): all hail espais! reCaptcha is live! 01:00:26 !tell napkin yay! glad it works :) 01:00:27 espais: OK, I'll let napkin know. 01:00:40 seriously though, nobody let gamma in 01:13:06 too late 01:13:32 espais: https://cdn.discordapp.com/attachments/205316046230388737/352181745069588491/unknown.png 01:13:43 that was hours ago, I already have complete control of the mainframe 01:13:55 and I have nearly hacked the Core's quantum encryption 01:13:58 it is only a matter of time 01:15:50 and this is me 01:15:54 handing you the keys to the mainframe 01:15:54 https://i.makeagif.com/media/6-24-2015/202wbR.gif 02:52:34 Monster database of master branch on crawl.develz.org updated to: 0.21-a0-227-g58a7c62 03:11:33 Unstable branch on crawl.beRotato.org updated to: 0.21-a0-227-g58a7c62 (34) 03:18:37 -!- amalloy is now known as amalloy_ 09:28:54 glad you chose to update captcha instead of mantis, although i suggested updating mantis. i like this old ass look 09:50:38 i must be blind, are the player character sprites in dat/tiles/player.png? 09:54:44 <|amethyst> espais: they start way down, after the orb guardian fetus and the net tile 09:54:45 |amethyst: You have 1 message. Use !messages to read it. 09:55:56 <|amethyst> espais: also, they're all in their underwear or less, since they have paper doll clothing 09:56:11 ah, naturally 09:56:30 actually i forgot about the paper doll thing 09:56:48 one *possible* issue i noticed is that draconians don't get a hat sprite when they put on a hat 09:58:07 octopodes get a little rag on their head...i kind of thought dracs should get something too 09:58:28 <|amethyst> is there even room? 10:01:22 <|amethyst> ah 10:01:35 <|amethyst> TILEP_PART_DRCHEAD goes on top of TILEP_PART_HELM 10:02:05 <|amethyst> for local tiles you could try changing the order in pack_doll_buf in tiledoll.cc 10:02:12 <|amethyst> and see how it looks 10:03:21 <|amethyst> in webtiles there's presumably similar logic somewhere in the game_data javascript 10:03:25 ok i'll play with that a bit 10:03:48 silly question, but is there a debug way to spawn a hat nearby when i start off a game for testing? 10:03:59 <|amethyst> &%hat 10:04:23 <|amethyst> (&Y%hat if you're not in wizmode yet) 10:04:34 <|amethyst> spawns it at your feet 10:05:24 <|amethyst> you can also use &rgreen draconian etc to test the different draconian colours 10:06:35 ok th 10:06:37 *thx 11:13:00 We use a check like !pointer over something like pointer != nullptr, right? 11:13:43 I recall that we want to avoid explicitely using 0 for a pointer over nullptr, but I think for boolean tests like that it's ok to do the more direct truth test? 11:14:10 is nullptr defined to be NULL? 11:14:46 i haven't dug into the codebase yet, i'm just curious as an outsider looking in 11:23:59 espais: http://en.cppreference.com/w/cpp/language/nullptr 11:24:16 part of C++11 it seems 11:24:29 eww 11:24:39 if (!ANSI-C) {return -1;} 11:24:54 yeah 11:25:04 except it would be just if (pointer) not if (!pointer) 11:25:12 yeah, wheals_ 11:25:27 espais: don't look at the crawl codebase then, since it's over 400k lines of !ANSI-C 11:26:26 heh 11:26:26 i was just kidding 11:29:56 <|amethyst> gammafunk: I think either is fine, but slightly prefer the more concise version 11:30:09 <|amethyst> it's not an issue the way 0 or NULL is 11:32:20 <|amethyst> (NULL is allowed to be either 0 or nullptr as of C++11: http://en.cppreference.com/w/cpp/types/NULL) 11:34:05 <|amethyst> gammafunk: (but oddly, in the case of integers, I definitely prefer foo == 0 to !foo) 11:34:16 yeah, I understand that 11:34:32 <|amethyst> I guess it comes from thinking of pointers as "optional references" 11:34:54 |amethyst: one thign I wondered about the model we seem to have wrt "pointer vs reference" 11:35:33 is that it really seems to me, speaking naively as a non-expert, that we shouldn't be using pointers just because "the thing might be 'empty'" 11:35:42 it seems to me that having pointer syntax just to allow that is bad 11:35:57 and ideally there would be things like a ref to "not any monster" 11:36:08 special globals/defines that encapsulate that idea 11:36:25 like why switch to pointer syntax if all we care about is the fact that the thing might not 'exist'? 11:36:51 if you're actually making an output parameter, that's one thing 11:37:14 but using monster *mons just because mons might be nullptr strikes me as a bad design 11:37:35 but maybe it's not feasible for refs to work that way 11:39:13 wheals_: see? I can be pretty deep on the programming stuff sometimes 11:40:03 <|amethyst> gammafunk: IMO the problem with that is that you have to have a special not-a-value instance for each type 11:40:32 yeah, I guess you would need quite a few of those wouldn't you 11:41:21 we do have a number of things like that already 11:41:31 like the coord_def define that's (-1, -1) 11:41:50 which, sadly, is not used consistantly for that kind of purpose 11:42:15 I see various uses of coord_def to denote "not a valid place" 11:42:25 <|amethyst> yeah 11:42:30 I think (0, 0) gets used a lot as a global location, for instance 11:42:43 <|amethyst> possibly a lot of things should be optional once we can use C++17 11:43:14 <|amethyst> (or implement optional<> ourselves) 11:44:35 I see, and that's not for use with references 11:45:02 <|amethyst> yeah, I think at least in part because it's idiomatic in C++ to use pointers for that purpose 11:45:58 <|amethyst> ah 11:46:21 <|amethyst> the real problem was a lack of agreement on what to do if you assign one optional reference to another 11:47:21 <|amethyst> you can do optional> 11:47:26 <|amethyst> but that's ugly of course 11:49:18 <|amethyst> http://tristanbrindle.com/posts/optional-references discusses the issue somewhat (and has links to the original proposal, which did in fact include optional references) 13:04:47 Unstable branch on crawl.akrasiac.org updated to: 0.21-a0-227-g58a7c62 (34) 13:29:33 -!- amalloy_ is now known as amalloy 15:16:20 hey, is anyone here that could help me understand how the webserver returns map-info via json? 15:17:17 when a client connects to the webserver, it sends json data with a 'cells' tag 15:17:37 some cells have x, y, g, ... etc and other fields 15:18:00 but I don't see how to reconstruct the map based on this info 15:18:37 any tips? Or could someone point to the code that reconstructs the map in the web browser after getting this data? 15:25:51 ai_4_life: well, how do you mean "reconstruct the map", exactly? 15:26:07 I think the json is structured so that it sends packed tile data for each cell 15:26:37 so it's just a case of the renderer figuring out which tiles to display on a given cell 15:26:49 if by map you mean "game data", that's now how the client works 15:27:08 client is basically a renderer and an input coordinator 15:27:14 it does not process game logic for the most part 15:27:21 right 15:27:37 i'd like to be able to create a 2d grid after getting the packed tile data 15:27:39 it renders data and processes input, but the crawl binary handles the logic of interpreting that input and processing the game world 15:28:00 right, i'm looking for where the interpretation of the packed tile data happens 15:28:18 it didn't seem all cells have an x or y value 15:28:42 and i wasn't sure if that's relative to the player's current position, or from like the top left corner of the screen 15:29:30 ai_4_life: have you been looking at the game_data/static code? 15:29:41 most specifically cell_renderer.js 15:29:46 do_render_cell: function(cx, cy, x, y, map_cell, cell) 15:29:50 in that file, for instance 15:30:37 and dungeon_renderer.js 15:30:58 okay 15:31:04 it would only have to render a view window 15:31:06 i think i poked around there briefly 15:31:20 so it probably has no notions of global map coordinates 15:31:20 I will look into that in more detail 15:31:21 like the crawl binary does 15:31:22 okay 15:32:05 ai_4_life: see the functions render_loc() and shift() in dungeon_renderer.js for how cells are iterated 15:32:14 okay great 15:32:57 I think i was trying to avoid going through that code :D 15:33:10 sorry to bug you, thanks for the pointers 15:33:17 render_loc is where i wound up too after poking around a bit 15:33:22 probably an important function 15:34:35 i am surprised to see that chrome's network tab doesn't obviously show the ongoing connection between the client and server: just a bunch of static js loaded at the beginning of the game. but obviously there must be some back-and-forth on every player action and i'm just not seeing it 15:35:12 amalloy: it's over the websocket 15:35:15 go to network, ws 15:35:26 you can see all the json that you send via key commands, etc 15:35:44 but what the server returns is in binary, so its not directly readable on the chrome developer tools panel 15:35:46 ah. i'd looked there, but i'd done it wrong somehow and that tab was blank 15:35:52 click the frames 15:35:55 tab 15:36:13 might have to refresh the page 15:36:19 right 15:37:13 amalloy: what are you working on if you don't mind me asking 15:37:38 you mean why am i looking in chrome's network tab? 15:37:53 i'm not working on anything; i was just looking around since you'd asked a question 15:37:59 oh gotcha haha 15:38:01 thank you 15:40:58 ai_4_life: ...he works for....them.... 15:41:18 I cannot say more...they are watching me right now.... 15:45:03 -!- mol is now known as Guest60268 15:45:09 dang. i have tried to come up with a clever response to gammafunk's insinuations, and everything is either too sinister or super lame 15:45:13 you win again, gammafunk 15:45:51 i'll think of something funny half an hour from now. chei unreasons 16:07:54 nothing more terrifying than the looming prospect of a chaos dunk 16:13:01 Can still use Okawaru abilities under penance 13https://crawl.develz.org/mantis/view.php?id=11203 by UsaSatsui 16:23:00 ^ tiles reasons 16:28:38 i guess the question is, when you are under penance should we remove invocation icons from the menu, or leave them in but have them print an error message? 16:38:06 imo allow them with a warning... but they put you deeper into penance 16:38:27 (and don't work as well) 16:40:14 and piety costs doubled 16:40:33 and you get an immediate wrath action 16:42:06 that ought to be implied by deeper into penance... 16:48:20 why would it? I don't think getting more pennance guarantees a wrath action, does it? 16:49:28 a god going "I'm all pissed off but will take a whack at you some other time" seems weird to me... 16:51:00 that's pretty much what dcss gods do though 16:51:33 sif never gets mad at me <3 <3 <3 17:07:08 i don't really understand why tiles is so careful to include items in the ability tray that are supposed to be unusable 17:07:46 so players can remember that heroism is in the second slot from the left maybe, instead of remembering the image? 17:20:07 I could see how shifting around ability locations based on game state could be a problem 17:20:19 but I also don't use the mouse for games like this 17:27:32 -!- gressup_ is now known as gressup 17:28:16 amalloy, maybe you missed the versionsof microsoft word that "optimized" its menus based on usage 17:28:34 i remember everyone being real mad about the ribbon 17:29:22 I don't mean the ribbon. I mean menus moving often used stuff up to the top 17:29:52 which meant you always had to stop and read the damn menu to see which thing you want to use, instead of just letting muscle memory save its location 17:30:42 I should not have to play a menu minigame to use a word processor or spreadsheet... 17:39:26 interestingly there are exactly two active god powers that are usable even while under penance. anyone want to guess what they are? 17:49:04 not counting renunciation? 17:51:21 hrm 17:52:03 ??gods 17:52:03 gods[1/3]: '?' '/' 'G' for a complete list (in game). Type "?? reasons" (in IRC) to get a list of reasons which might motivate you to worship that particular god. 17:52:05 ??gods[2 17:52:05 gods[2/3]: Ashenzari, Beogh, Cheibriados, Dithmenos, Elyvilon, Fedhas, Gozag, Hepliaklqana, Jiyva, Kikubaaqudgha, Lugonu, Makhleb, Nemelex Xobeh, Okawaru, Pakellas, Qazlal, Ru, Sif Muna, Trog, Uskayaw, Vehumet, Wu Jian Council, Xom, Yredelemnul, Zin, the Shining One. 17:53:07 zin's donate gold? 17:53:26 ??elyvilon 17:53:26 elyvilon[1/4]: The divinity of healing. Most reliable source of protection from being killed (see {divine protection}), but will impose penance (i.e. not answer your requests for help) if you kill living creatures while invoking said protection. Provides healing invocations, but dislikes cannibalism, the use of necromancy, and allowing allies to die. 17:53:41 maybe one of ely's abilities 17:54:23 not counting renounce, indeed 17:55:03 gammafunk got one of them, donate gold. i thought maybe ely's divine protection would be one too, but it's not 17:55:09 hrm 17:55:23 I was vaguely thinking it might be pacify 17:55:29 but it didn't seem too likely a candidate either 17:55:53 there's beogh gifting stuff to orcs 17:56:09 which could concievably not be tied to pennance, but I'd be surprised if one of those were it 17:56:55 ??burn books 17:56:55 burn books[1/3]: Trog invocation that gives piety (2) and creates a cloud of flame. Each book in LOS extends the duration of the clouds. Won't burn manuals. 17:57:17 for whatever reason, this is allowed under penance 17:57:27 maybe because it generates piety instead of costing it, like donating gold? 17:57:40 if so we should add fedhas's fungal bloom thing, now that it's an ability and not a (p) command 17:58:27 ahh 17:58:31 I didn't even consider that one 17:58:38 not sure it would have been a guess even then 17:58:50 since it does have a tactical effect 17:59:03 but yeah zin I settled on because it's a way to gain piety 17:59:20 pacify for the same reason, although I think that one spends more piety than it gains 18:02:01 Unstable branch on underhound.eu updated to: 0.21-a0-227-g58a7c62 (34) 18:03:25 i don't think pacify gives you any piety anymore 18:03:50 it used to be a piety source but now it is a piety sink 18:04:04 see _try_to_pacify and cast_healing 18:06:29 oh 18:31:54 <|amethyst> !tell johnstein re #594 / #536, I probably won't have time to look into it in more detail for a while, since I've been busy with classes 18:31:55 |amethyst: OK, I'll let johnstein know. 18:32:22 <|amethyst> !tell johnstein I prefer the more complicated solution myself, so that it works more like invisible monsters 18:32:23 |amethyst: OK, I'll let johnstein know. 18:32:57 <|amethyst> !tell johnstein but I do see PF's point about simplicity (and preventing using spells to search for traps, even if it does cost turns) 18:32:58 |amethyst: OK, I'll let johnstein know. 18:36:26 |amethyst: while you're here, care to look over https://github.com/crawl/crawl/pull/605 for me? 18:36:42 oh, i see you're checking in to report that you don't have time :P 18:36:48 well, if not no big deal of course 18:36:53 <|amethyst> well, this one is just one commit, so let's see 18:37:21 <|amethyst> johnstein's is several, and while I did look over many of the commits earlier, I also forgot most of it 18:37:49 <|amethyst> how about you look over #594 and #536 and weigh in? :) 18:38:33 <|amethyst> amalloy: hm, re 605, are the buttons not even greyed out when you are under penance? 18:38:47 New branch created: pull/605 (1 commit) 13https://github.com/crawl/crawl/pull/605 18:38:47 03amalloy02 07https://github.com/crawl/crawl/pull/605 * 0.21-a0-228-g5a351e1: Don't let local-tiles players use god abilities under penance (UsaSatsui) 10(11 minutes ago, 5 files, 52+ 13-) 13https://github.com/crawl/crawl/commit/5a351e1e72be 18:38:50 they weren't, but are now 18:39:10 the code for greying them out is the same code that decides what happens when you click them 18:39:14 <|amethyst> amalloy: it's kind of weird to have to add a new message when we presumably didn't need that message in console 18:39:40 well. console removes the entry from the (a) menu 18:40:04 but removing from the tiles menu is a bit more disruptive, since it changes the placement of other buttons 18:40:07 <|amethyst> hm 18:40:29 <|amethyst> I think it's perfectly acceptible for clicking on a greyed-out thing to do nothing with no feedback, but I guess having a message in that case isn't terrible 18:40:53 compare to what happens when you're confused 18:41:07 in both tiles and console the ability is selectable but prints a message 18:41:11 <|amethyst> huh 18:41:41 er 18:41:52 <|amethyst> oh, remove those outer () on the return in god_power-usable 18:41:54 no, the (a) button is disabled entirely when you're confused 18:41:58 <|amethyst> s/-us/_us/ 18:42:21 <|amethyst> if unbrace doesn't warn about that, it's just because it's not smart enough to parse the multi-line thing 18:42:25 and the buttons are *not* greyed out in the tiles menu when you're confused 18:42:28 <|amethyst> hm 18:42:43 <|amethyst> I'd say make those (also silence) consistent with the penance thing 18:42:54 <|amethyst> in one way or another 18:44:23 <|amethyst> oh, also 18:44:32 <|amethyst> in god_power_from_ability 18:44:42 <|amethyst> I would kind of prefer just to return a const god_power * 18:45:01 <|amethyst> you can use nullptr for false and an actual pointer for true 18:45:02 ah, unbrace does fix that. i left it in because i was copying from that other file which had it inside an if() 18:45:15 |amethyst: agree, will do 18:45:25 i forget why i thought it was a good idea to use a bool and an out-param 18:45:41 <|amethyst> if it hadn't been a pointer that would make sense 18:45:47 <|amethyst> at least until we can use std::optional 18:46:57 <|amethyst> at the very least, if you do use a pointer for an out-parameter, you should assert that the (top level) pointer isn't NULL rather than just assigning through it blindly 18:47:17 <|amethyst> (though I'm sure there are places in the code where we don't do that) 18:48:42 |amethyst: i agree it'd be good to be consistent with silence and confuse, but that's more work; do you mind if i merge this functionality fix and leave the UI consistency fix for some other time? 18:49:12 03amalloy02 07https://github.com/crawl/crawl/pull/605 * 0.21-a0-229-g483def1: Style fixes (|amethyst) 10(2 minutes ago, 3 files, 16+ 20-) 13https://github.com/crawl/crawl/commit/483def11de62 18:50:00 <|amethyst> amalloy: sure, as long as you either add a FIXME or TODO comment about that, or file a bug :) 18:50:32 <|amethyst> amalloy: I mean, I wouldn't really *complain* if you pushed without doing that... 18:50:57 <|amethyst> but better to have that recorded somewhere other than IRC logs :) 18:51:08 oh, and re #594/#536 i told johnstein that that's more of a game-design thing and i mostly stick to code-cleanliness because i don't have strong feelings about most game-design stuff 18:51:32 <|amethyst> hm 18:51:35 both behaviours seem reasonable enough to me 18:51:55 <|amethyst> !tell johnstein I wonder if it would simplify code more to also move the invisible creature check into _check_fixed_summon_loc... 18:51:55 |amethyst: OK, I'll let johnstein know. 18:53:39 <|amethyst> !tell johnstein if you can get it down to net positive millimarvins, not counting comments, it would be hard for anyone to make the simplicity argument :) 18:53:40 |amethyst: OK, I'll let johnstein know. 18:54:47 <|amethyst> amalloy: I'm even less of a game-design person 18:55:13 <|amethyst> otherwise I would have already either merged food-unification, or removed food :) 18:57:32 oh, i was wrong. it is the same as confuse/silence already 18:57:57 i got mixed up because i was accidentally comparing penance+confuse to just penance, and they looked the same 18:57:58 <|amethyst> before or after your commit? 18:58:01 after 18:58:07 <|amethyst> ah, cool 18:58:48 <|amethyst> btw, we probably still have the bug where if you click on a spell fast enough you either get it for 0 MP, or crash Crawl :) 18:58:52 <|amethyst> in local tiles 18:59:08 <|amethyst> we really shouldn't be doing anything about those clicks until input() 18:59:14 except...augh. when confused, it greys out but prints no message. when silenced or in penance, it greys out and prints a message 18:59:58 i see why it happens but i'm not entirely sure what the right fix is 19:00:02 <|amethyst> amalloy: heh, it sounds like there is some potential for more simplification, since different behaviour implies that different code is handling it :) 19:00:12 !source get_talent 19:00:12 1/1. https://github.com/crawl/crawl/blob/master/crawl-ref/source/ability.cc#L1024 19:00:19 !source AbilityRegion::handle_mouse 19:00:19 1/1. https://github.com/crawl/crawl/blob/master/crawl-ref/source/tilereg-abl.cc#L53 19:00:41 <|amethyst> hm 19:00:43 get_talent returns NON_ABIL if you're too confused to use the thing 19:00:56 <|amethyst> but not in the several other cases that prevent using abilities 19:01:01 right 19:01:13 !source _tile_for_ability 19:01:13 1/1. https://github.com/crawl/crawl/blob/master/crawl-ref/source/tilereg-abl.cc#L185 19:01:25 <|amethyst> I wonder if we need an abflag::silence_ok and/or abflag::penance_ok ? 19:02:16 <|amethyst> get_talent has always made me kind of unhappy 19:02:39 <|amethyst> but not unhappy enough to actually do something about it, because the work to define a better interface would make me even more unhappy 19:05:01 |amethyst: incidentally, what do you think `// TODO(amalloy): we should do xyz` means? do i plan to fix it myself? was it my idea? am i a good person to ask for more details? 19:05:45 <|amethyst> amalloy: hm, I would wonder myself if I encountered that 19:06:11 i ask because i assumed it meant one thing but i found out google's internal coding guidelines define it another way 19:06:59 <|amethyst> we don't seem to have a lot of those, and most of them are from enne 19:07:25 <|amethyst> (written as "TODO enne - pool mcache types[...]" 19:07:26 <|amethyst> ) 19:08:23 <|amethyst> which still doesn't answer whether enne intended to fix those himself, or was just saying "enne thinks this is a good idea" 19:09:48 anyway, i thought it meant i plan to fix it myself, but thinking about it more i prefer google's definition: ask amalloy for an explanation if you'd like to complete this TODO 19:10:04 encouraging participation rather than discouraging it 19:10:20 sadly it doesn't actually *work* unless people agree on what it means 19:15:13 03amalloy02 07https://github.com/crawl/crawl/pull/605 * 0.21-a0-230-gfbb9852: Add a TODO (|amethyst) 10(4 minutes ago, 1 file, 3+ 0-) 13https://github.com/crawl/crawl/commit/fbb9852c99f5 19:15:39 yeah, we should implement |amethyst some day, you're right 19:16:14 03amalloy02 {GitHub} 07* 0.21-a0-228-g14ccbf3: Don't let tiles players use god abilities under penance (UsaSatsui) 10(7 seconds ago, 6 files, 51+ 13-) 13https://github.com/crawl/crawl/commit/14ccbf34992f 19:28:54 i always forget to join ##crawl before pushing a commit with an exciting title like "don't let tiles players cheat" to see how people react 19:32:24 -!- amalloy is now known as amalloy_ 19:42:43 -!- Webmant9 is now known as Webmant 19:55:55 amalloy_: there were no amused reactions this time 19:58:30 how exactly do I compute millimarvins? 20:00:13 ??Millimarvin 20:00:14 millimarvin[1/1]: 22.751 lines of code removed (as of 2017-04-01) 20:00:28 divide your removed lines by that value 20:01:13 unless you want the current value of a millimarvin, in which case you have to look up how many lines MarvinPA has removed, and divide that number by 1000 20:05:45 just trying to see how I can get net positive millimarvins for my PR 20:06:26 in need to divide net removed lines right? 20:06:36 s/in/I 20:07:35 yeah, millimarvins are a measure of removed lines 20:08:12 but "net millimarvins" is not a consistant use of the unit 20:08:33 I don't think millimarvins are defined in terms of net lines removed, just lines removed 20:08:39 I could be wrong though 20:08:50 ah. I was just using |amethyst's nomenclature above 20:09:12 Unstable branch on crawl.jorgrun.rocks updated to: 0.21-a0-228-g14ccbf3 (34) 20:09:14 maybe it is done with net removed, since that's probably more useful as a concept 20:09:26 right, it is net 20:09:50 he has 68900 removed lines and 46231 added lines 20:09:51 so 20:10:05 !calc (68900 - 46231.0) / 1000 20:10:06 22.67 20:10:12 so if I remove 20 lines by refactoring code to a new function, but add 22 lines for that new function. do I get credit for those 20 lines? or have I sinned since my net is +2? 20:10:20 this is super important obviously 20:10:20 the latter 20:10:29 it is net lines, I was mistaken 20:10:45 ah I see 20:10:48 !calc (68900 - 46231.0) / 1000 * 10 20:10:49 226.69 20:11:06 I better avoid refactoring then 20:11:34 !learn set millimarvin 22.669 lines of code removed (as of 2017-08-30) 20:11:35 millimarvin[1/1]: 22.669 lines of code removed (as of 2017-08-30) 20:12:02 good news is that if you do get some net removed lines 20:12:11 the newest value is more favorable to your millimarvins 20:13:37 prompted for cursed ring twice 13https://crawl.develz.org/mantis/view.php?id=11204 by geekosaur 20:14:09 <|amethyst> johnstein: you can make up for it by removing all comments from the code 20:26:05 is it even possible to make it even doing that? the new function alone is 30+ lines 20:27:50 <|amethyst> johnstein: *all* comments, not just the ones on those functions :) 20:28:36 ah yes. that I can do 20:32:55 -!- amalloy_ is now known as amalloy 20:34:03 johnstein: net positive millimarvins simply requires net negative lines; it doesn't matter how large a millimarvin is 20:34:28 if you net removal of one line, you'll gain less than one millimarvin, but more than zero 20:34:33 yea. I finally made that connection on my wall back to my car from work 20:34:44 yea. exactly that pout 20:34:47 point 20:34:48 <|amethyst> assuming MarvinPA doesn't suddenly go on a code-adding binge 20:35:06 <|amethyst> in which case we might have to redefine the unit 20:35:15 protomarvins 20:35:41 depending on how much code I the invis ghost handle has and how I can implement it to the function, I might be able to get close if I ignore my comments 20:35:43 using as a reference point the amount of code he'd removed before transcending to his next stage 20:35:53 marvinalia? 20:43:24 if johnstein doesn't get millimarvins from this commit I say we talk to the cbro admin about getting his account there banned 20:43:30 the stakes are just too high 21:04:21 -!- amalloy is now known as amalloy_ 21:20:13 @?draconian annihilator 21:20:13 red draconian annihilator (12q) | Spd: 10 | HD: 16 | HP: 66-97 | AC/EV: 9/10 | Dam: 15 | 10weapons, 10items, 10doors, spellcaster, cold-blooded | Res: 06magic(40), 05fire | XP: 1490 | Sp: b.lightning (3d21), poison arrow (3d23), iron shot (3d29), crystal spear (3d35), blink | Sz: Medium | Int: human. 21:20:25 !source drac_color_incompatible 21:20:26 Can't find drac_color_incompatible. 21:20:32 !source drac_colour_incompatible 21:20:32 1/1. https://github.com/crawl/crawl/blob/master/crawl-ref/source/mon-place.cc#L509 21:20:45 and yet grey dracs can cast b.lighting? 21:20:59 ah, those don't spawn 21:21:04 I was wondering about that too 21:21:21 nor do pale, as it turns out 21:21:34 ok, well black draconians can cast iron shot 22:55:39 -!- n1k is now known as n1 23:09:47 any chance i can get a higher access level for mantis? i wanted to close out the captcha issue if possible 23:42:05 !tell napkin can you either grant me a status higher than reporter on mantis to close out the captcha issue or close it yourself? unless if there are any user complaints i think it should be good to go 23:42:05 espais: OK, I'll let napkin know. 23:42:16 !tell napkin though i would be interested to see if the number of bot registrations increases 23:42:17 espais: OK, I'll let napkin know.