00:19:14 floraline: it depends on the number of users. A single user will use ~4% of a modern CPU, I've found 00:19:47 floraline: i'm super keen on that script. EBS storage costs are starting to kill me, but I haven't bothered writing one yet 00:19:51 (despite syncing files to s3 for backup) 00:20:53 i'm using s3cmd in the ttyrec compress script to upload to the remote storage after they've been zipped, i don't know how much this would affect the execution time but it probably will a lot 00:21:54 hm, what is "the ttyrec compress script" and what exactly is "the execution time"? 00:22:17 I assume your workflow looks like: 1) after a ttyrec file is written, 2) compress it, 3) upload it 4) delete it 00:23:06 the `dgl compress-ttyrecs` command which i was instructed by the wiki to put in a regular cron job 00:23:36 ah ok. I don't use the `dgl` stuff so that explains my unfamiliarity 00:23:43 how do you dynamically generate the directory listing? 00:23:53 the script is in dgamelaunch-config/bin/ and loops through all of the files, i altered it a bit to do exactly what you just said 00:24:01 not when the files are written but regularly on some schedule 00:24:18 uploading it will probably double the amount of time that script takes 00:26:25 the cgi script queries the remote storage for the available user folders, and also scans the local disk, and generates HTML to give one link for each user that it found 00:26:45 it does the same for files if you choose a folder 00:27:28 so from the user's point of view it's just a normal looking folder, but some files might be on the remote storage and others might be on the server's disk 00:28:23 and when the user asks for a specific file, if it's not available locally then the server will pull it from remote storage and then push it to the client 00:28:33 so the user has no idea that any of this is happening 00:28:52 the files are stored off-site but it looks like they are still on the server 00:29:50 Unstable branch on CRAWL.XTAHUA.COM updated to: 0.22-a0-512-g0943f25 (34) 00:30:22 i think i've pretty much got it working but i haven't tested it thoroughly enough to say that it's done 00:31:16 that's why i was trying to figure out how the bots find ttyrec files, i think this script won't break that 00:34:10 yeah if you used this you would be able to switch to S3 for almost every heavy user-generated file, and S3 is a fraction of the cost of EBS 00:35:05 i expect that by storing these files off-site you could run the rest of the server with 20-50GB at most.. i could be wrong about that though 00:35:09 old trunk builds for example you could not store off site 00:46:18 hm 00:46:25 even less, I'd say 00:46:58 i only wrote this with ttyrecs in mind but you can totally do the same for morgue and other files 01:27:23 Unstable branch on crawl.develz.org updated to: 0.22-a0-512-g0943f25 (34) 01:56:30 Windows builds of master branch on crawl.develz.org updated to: 0.22-a0-512-g0943f25 02:44:14 who runs footv. |amethyst or greensnark? I've updated my server to offload old ttyrecs to S3: https://crawl.project357.org/ttyrec/chequers/ -- however footv doesn't seem to handle the absolute redirect and tries to visit https://crawl.project357.org/ttyrec/chequers/http://s3.hostname/ttyrec/chequers/filename.xz -- can you please update? 02:58:38 Monster database of master branch on crawl.develz.org updated to: 0.22-a0-512-g0943f25 03:20:00 -!- amalloy is now known as amalloy_ 04:07:21 alexjurkiewicz: hi! any chance you could remove/hide ui-overhaul from CPO, at least until it's working properly? don't want players potentially getting confused 05:59:16 Hi. Can someone tell me what's the range for randart armour enchantment bonus and where it's located in the code, please? 06:27:06 ThereIsNoGod (L27 DrTm) Crash caused by signal #15: Terminated (Zot:5) 06:27:44 <|amethyst> Xenobreeder: _try_make_armour_artefact in makeitem.cc, and armour_max_enchant in item-prop.cc : max is max_plus + (max_plus + 5)/2 where max_plus is the base AC for body armour, 3/5/8 for buckler/shield/large shied, and 2 for everything else; min is 2 - (max_plus + 5)/2 for most slots, 0 for body armour 06:28:34 Thanks! 06:28:44 <|amethyst> oh, and max_plus is the base AC for barding as well 06:34:48 <|amethyst> err, sorry, min is 0 - (max_plus + 5)/2 not 2 06:44:46 Thank you. 09:13:51 -!- Xenobreeder_ is now known as Xenobreeder 10:53:11 aidanh: Did that 30 commit branch merge at least make you a little nervous that your commit count would be beaten? 10:53:17 maybe a little? 12:00:40 aidanh - another issue I found with ui-overhaul: If you have more than 52 spells in your library and try to memorise one of the spells near the bottom (where the spell list wraps the alphabet back to a), it will memorise the first instance of that letter instead 12:03:22 hence it is currently necessary to hide enough spells so that the spell you want to learn is on the first instance of that letter in the library 12:14:59 -!- eb__ is now known as eb 12:37:00 gammafunk: shaking in my boots 12:37:00 just a little 12:38:24 NP7: so menu item selection by letter always chooses the top item with that letter, even after scrolling down? 12:42:59 at least with the M screen 12:43:13 didn't test it for other things 12:46:34 I'll check it out 12:46:58 is the issue with menu scrolling you mentioned always present? 12:47:33 I couldn't reproduce that one at all 12:48:02 only with some screens 12:48:32 i, d definitely yes, not for any ?/ menus, ctrl-f, M, I 12:48:47 oh it is also there for \ 12:49:10 sounds like it's related to height 12:49:36 i.e. the problem is possibly manifesting when the menu is large enough that scrolling is required 12:53:34 scrolling with ctrl-p appears to have different problems, now that I try it: firstly the up arrow goes up more than the down arrow goes down, and secondly every third press of the down arrow doesn't do anything 12:54:46 I can reproduce the memorise menu issue; thanks 12:58:09 ..this last issue I just mentioned also occurs for all submenus of ? 12:58:47 -!- Bammboobies is now known as Bammboo 13:00:15 hm; the up arrow going up more than the down arrow in particular is quite bizarre 13:00:50 well, every third down key doing nothing is pretty weird as well 13:06:42 I can confirm the bug with the M menu I experienced also applies to ctrl-f 13:07:10 that one should be pretty simple to track down 13:08:50 yea 13:10:04 oh btw, you might be interested to know that I have gotten the same behaviour with scrolling on two different PCs with two different resolutions now 13:10:09 not sure if that matters 13:12:33 hmm, thanks; strange that I can't reproduce it (locally or on cbro) 13:17:22 >players are now incentivized to go back and kill all the the player ghosts that they've left behind for a marginal amount ox XP before doing Z5. 13:17:22 hellmonk: You have 2 messages. Use !messages to read them. 13:17:24 >now 13:20:39 hellmonk: Yeah ... 13:20:46 That line of reasoning isn't quite sound 13:21:03 !messages 13:21:04 No messages for floraline. 13:21:04 that's true of any and all monsters/vaults skipped because they're too difficult 13:21:14 the actual solution is to permanently seal off the ghost vaults after some length of time or whatever 13:21:24 if anyone actually cares about that 13:21:37 yeah its just reddit being reddit again 13:22:12 or (even better) make ghosts level up as you do 13:23:40 I think the clone ghosts are being generated quite a bit 13:23:40 gammafunk: You have 2 messages. Use !messages to read them. 13:23:46 sadly it's kind of hard to get statistics on that 13:24:09 might be nice to consider advil's idea of shipping a permastore for offline 13:24:27 Unstable branch on crawl.akrasiac.org updated to: 0.22-a0-512-g0943f25 (34) 13:24:44 I will make a cool account to die in dumb ways if you want some fun ghost store data 13:24:54 give people some nice D:6 trwz ghosts 13:25:45 make sure it knows shadow creatures 13:26:54 firestorm/shatter gr ghost for the lategame 13:37:31 aidanh: another random thing I noticed: ?Q entries have an extra blank line at the top of them 13:37:51 that's really minor 13:50:24 also these scrolling bugs are really inconsistent with browser zoom 13:55:16 NP7: inconsistent with browser zoom in what sense? 13:56:02 I'm testing all sorts of zooms and getting all sorts of different weird behaviours 13:56:18 I'll try and summarise them in a minute for one specific example, when I'm done 13:57:06 wonderful, thanks NP7, very much appreciated 14:06:52 so this zoom thing has given me more insight on how the issue with the scrolling getting stuck after one press of the down arrow, because for the menu which shows on ?/M "dra", I get the following results 14:07:06 at 80%, 100% and 125%, the menu works as expected 14:07:41 -!- amalloy_ is now known as amalloy 14:08:13 at 50%, 150% and 200%, the menu gets stuck after one press of the down arrow, such that no more up/down presses work until pgup/pgdn is pressed or the scrollbar moved with the mouse (this is what I got on the inventory screen at 100% zoom) 14:09:31 at 75%, 90% and 110%, pressing the down arrow alternates between the top entry on the screen being b, c and d, with the up arrow working normally except when the top entry is d, when the up arrow doesn't work 14:10:32 at other zooms, I get a different number of alternating entries when the down arrow is repeatably pressed, with the consistent pattern that the up arrow will work except when on the very last entry of the cycle 14:17:07 so aidanh, it may be that you couldn't reproduce this because it doesn't happen for you at normal zoom for eg the i screen; it may work if you change the browser zoom, because it appears that the zoom affects it 14:23:09 I can confirm that I get cyclical patterns for the i screen at other zooms, and at 80% it works normally, as well 14:24:16 that's a huge help, thanks 14:25:06 you're welcome :D 14:25:17 I can reproduce something that seems very similar to what you've described so far 15:37:44 alexjurkiewicz: did you change something about cpo ttyrecs? I get a corruption error from footv: !ghostvaultkills cpo -tv 15:59:44 oh hey, ghost vaults are live 15:59:44 advil: You have 2 messages. Use !messages to read them. 16:00:08 gammafunk: sorry, I've been on semi-vacation for the last couple of days 16:00:11 !messages 16:00:12 (1/2) johnstein said (1w 1d 16h 22m 48s ago): I'll add that to my list. I don't even remember how to update that stuff anymore so I'll have to search my notes or just set aside some time to slog through it 16:00:14 !messages 16:00:15 (1/1) gammafunk said (1d 14h 36m 42s ago): I just a rebased spooky_vaults_rebased branch that has that branch rebased to trunk with a few extra commits and changes to some of my previous commits. I'm going to merge that to trunk tomorrow, but if you have time to take a look, please feel free 16:00:46 advil: no worries, looks like things have gone relatively well 16:00:49 seems like maybe level annotations aren't working right with ghosts taking stairs 16:00:54 although I'm seeing an awful lot of clone ghosts 16:00:57 yes, and that 16:01:32 that seems like that might be easilly fixable but I haven't looked 16:01:45 and there are (some) people on the internet complaining *shocked face* 16:01:59 hard to believe, this may be a first for crawl 16:02:27 general consensus seems pretty favorable though 16:03:04 I think your idea of shipping some permastore ghosts is probably a good one 16:03:36 there's some mild encouragement to go down stairs with e.g. no weapon wielded if you know any ghost is likely to be a clone 16:03:57 ah, that's true 16:04:42 I would never do this personally since those terms are precious, it's a bit like trying to fight mara wielding bread 16:04:45 *turns 16:04:50 level annotations have always been able to misbehave: ghosts can be shafted 16:05:10 or could; lost track of whether that changed 16:05:14 right, is that also a problem for uniques? 16:05:19 yep 16:05:34 you could argue that this is the correct behaviour for shafts since the player doesn't know about the shafting necessarilly 16:05:43 I think uniques work correctly if you see them changing levels 16:05:44 or at least for shafts where the player didn't see it 16:05:45 (and that one definitely still exists, had it happen to Proince Ribbit a few days ago) 16:05:55 yes 16:05:57 from the annotations that someone posted on reddit, I doubt that ghosts do 16:29:27 huh, finding some old ghost stair code I didn't know about 16:38:10 03advil02 07* 0.22-a0-513-gb939540: Update ghost annotations if you can see the ghost transiting 10(65 seconds ago, 1 file, 5+ 4-) 13https://github.com/crawl/crawl/commit/b939540d7f51 16:56:58 03advil02 07* 0.22-a0-514-g96ba041: Don't have ghosts teleport with health <50% on stairs 10(14 minutes ago, 1 file, 1+ 9-) 13https://github.com/crawl/crawl/commit/96ba041d05a9 17:09:22 does anyone know how to set up https for webtiles 17:09:59 Unstable branch on crawl.jorgrun.rocks updated to: 0.22-a0-514-g96ba041d05 (34) 17:10:04 floraline: config.py has comments on what you have to enable 17:10:09 with example variables defined in said comments 17:10:55 starting on line 105 in the file I have 17:47:27 <|amethyst> floraline: n.b. that in addition to that, I had to add a "ca_certs" : "filename" to ssl_options 17:48:32 i've got config.py pointed at my .crt, .pem, .key 17:48:36 webtiles is silently failing to start 17:49:50 <|amethyst> it produces a log file (in the webtiles/run/ directory), have you checked that? 17:50:10 i just found that, all it says is it is removing a stale pidfile 17:50:31 i don't seem to get any error messages in here, just the warnings 17:50:49 <|amethyst> and no error message in the terminal either? 17:50:50 <|amethyst> hm 17:52:15 well i'm running it via /etc/init.d/webtiles and i don't know where to look for stdout 17:52:21 systemctl status doesn't really give any helpful messages 17:52:33 i don't think it's a permissions thing, crawl user can read the files 17:52:53 maybe i didn't generate my cert correctly 17:54:06 <|amethyst> hm 17:55:25 <|amethyst> you could run python /chroot/crawl-master/webserver/server.py from the command line to see output 17:56:08 it exited with no messages 17:56:16 <|amethyst> so on CSZO, I have ca_certs: and certfile: 17:56:21 <|amethyst> hrmph 17:56:48 <|amethyst> I'm not sure which parts of that are necessary, but that's what worked with both chromium and firefox, so I left it 17:57:17 my ssl_options has certfile which is my cert, keyfile, and ca_certs which is my two intermediate 17:57:55 <|amethyst> but ISTR when I specified my ca_certs, I still had to leave the intermediate in my cert? or maybe that was for Apache rather than webtiles? 17:57:59 <|amethyst> still 17:58:07 <|amethyst> that wouldn't have cause it to fail to start up 17:58:39 <|amethyst> and I would expect things like missing commas or quotes in config.py to result in an error message... 17:58:49 <|amethyst> hm 17:58:50 <|amethyst> oh 17:59:17 <|amethyst> I guess the server needs to run chrooted 17:59:32 yeah tbh i can't really ever figure out how to run it manually 18:00:23 using /etc/init.d/webtiles works but if i run it manually i keep getting os.chroot errors early in server.py 18:00:23 <|amethyst> oh 18:00:28 <|amethyst> that's right 18:00:33 <|amethyst> server.py does the chrooting itself 18:00:37 <|amethyst> so you have to run it as root 18:01:04 <|amethyst> !lg cszo -1 18:01:05 No games for cszo. 18:01:11 <|amethyst> !lg * cszo -1 18:01:21 1263784. paul the Infuser (L7 DECj of Vehumet), slain by a hill giant (a +0 giant club) on D:6 on 2016-04-11 21:46:42, with 969 points after 6892 turns and 0:17:02. 18:01:36 <|amethyst> haven't run a server in two years so I'm a little fuzzy :) 18:01:40 yeah okay, that makes sense. i guess i could run it as root outside the chroot if it weren't silently failing 18:01:54 i really appreciate your help nonetheless 18:02:10 <|amethyst> when you run it by hand as root it still fails without any messages? 18:02:17 that's right 18:02:31 <|amethyst> obviously we're a bunch of scrubs 18:02:36 lol 18:03:04 <|amethyst> hm 18:03:19 i've added some logging messages and it looks like tornado is failing right when it tries to bind on my port 8081 18:03:26 <|amethyst> hmm 18:03:36 <|amethyst> what version of tornado? 18:05:12 5.0.2 18:07:22 I'd be checking for selinux and/or cgroups log messages 18:14:01 <|amethyst> floraline: ah, I don't think we ever made it work with anything newer than tornado 3 :) 18:14:46 yeah i went to the webtiles readme and it says 2-something to 3+, i switched to 3.2.2 with no luck 18:14:52 i'll try even earlier 18:20:52 Unstable branch on underhound.eu updated to: 0.22-a0-514-g96ba041d05 (34) 18:21:26 muffindrake: are you aware that 8 monsters are nastier than 9? 18:22:44 gammafunk: fully 18:23:06 The build has errored. (master - 96ba041 #9796 : advil): https://travis-ci.org/crawl/crawl/builds/393826011 18:34:52 gammafunk: yes 18:35:16 gammafunk: see my message to amethyst about 16hrs ago 18:35:18 that tv I sent you didn't play, footv said the ttyrec was corrupted 18:35:31 footv is treating absolute links as relative 18:35:41 I moved old ttyrecs to S3 and built a dynamic directory listing 18:35:54 eg https://crawl.project357.org/ttyrec/chequers/ 18:36:30 yeah, maybe it can be extended to be smarter about that 18:36:45 I haven't looked at that convo, but maybe it's something we can tell snark 18:37:13 where is the code for it? 18:37:16 oh, i guess it's https://github.com/greensnark/dcss_tv 18:38:18 he might have moved that to crawl by now 18:38:44 maybe not 18:38:56 oh cool you moved to s3? 18:39:29 floraline: yeah, you reminded me too ! 18:39:47 much easier on the wallet ^^ 18:40:04 it looks like the issue is in download_ttyrecs: https://github.com/greensnark/dcss_tv/blob/master/CSplat/Ttyrec.pm#L160 18:40:08 I just bought a Pi for crawl serving :-) 18:40:19 specifically `my $path = ttyrec_path($g, $tty_url);` 18:40:42 ttyrec_path just combines the base url of the directory listing and the ttyrec url https://github.com/greensnark/dcss_tv/blob/master/CSplat/Ttyrec.pm#L400 18:41:09 probably simpliest solution is to change ttyrec_path so if the $url starts with http, just return url 18:42:48 this is what i did to merge the two directories into one: https://pastebin.com/raw/9X9yXuJK 18:43:38 I did basically the same without deduplication between local and remote storage: https://gist.github.com/alexjurkiewicz/4a4b1e613cca6174ec3e10b91ec3e000 18:45:21 does s3 expect you to use pagination? digitalocean wants me to only request 1000 items at a time 18:45:58 yes, but the cli autopaginates. If you were using boto3 in python, you'd need to paginate by hand 18:47:09 oh very cool 18:48:00 what are you setting up a server for? new official server? 18:48:37 gammafunk: this reminds me, beem talks to every official server right? Could you expose metrics about number of active games per-server and globally via http? 18:48:48 gammafunk: it would be nice to track that 18:48:59 i don't really know, i only started setting it up because i thought it would be fun 18:49:15 i don't know how i would go about turning it into an official server 18:49:42 or if it would even really be needed, there are already at least two in the US 18:50:22 for fun, good reason 18:52:08 it could be fun to make it official, whatever that entails, but i want to figure out all these quirks before doing anything with it. like figure out why https wont work 18:52:30 my advice is to put a httpd server in front of webtiles if you want to serve https 18:53:05 wait what do you mean 18:54:00 so webtiles server listens on port 8080 or whatever. Run nginx on your droplet that listens on port 443 with ssl and proxies requests to localhost:8080 18:54:28 rather than using the ssl configuration built into webtiles server, which I know has caused problems for other people 18:54:53 so users would be seeing 443 on their end? 18:55:33 alexjurkiewicz: well I think that's mostly available in sequell itself, isn't it? 18:55:33 i wouldn't be able to serve anything else over ssl though right? 18:56:36 gammafunk: not live "games being played right now" 18:56:46 sure, but sounds like something that could maybe be put in webtiles itself where there's a simple report available 18:56:51 floraline: sure you can. CPO serves webtiles and other stuff like morgues/ttyrecs/etc 18:57:06 gammafunk: that also works, but it might take years to arrive on all servers 18:57:29 well, as we add things to webtiles, we can contact the server admins 18:57:40 like advil's tiles chat extensions, for instance 18:57:47 it would require setup, but I'd like beem to just remain as beem 18:59:49 it would much more cleanly be implemented in webtiles in the first place, I think; beem has to process the lobbies over websocket whereas webtiles can count in a nicer way 19:01:21 floraline: this is an extract of my nginx config to give you some ideas https://gist.github.com/alexjurkiewicz/08057c59ed0e587c04698c03652d9510 19:02:20 thank you very much 19:42:46 alexjurkiewicz: thanks for all your help, https seems to be working although i have a problem with the websocket. i'll have to mess with it more later 20:39:26 muffindrake: feels like the three little ghosts is basically going for a transporter style of vault where you fight each section in sequence 20:40:13 so it would be a little cleaner to just use transporters there since players would be less included to lure things out of the vault 20:40:39 well more specifically that just wouldn't be quite as easy to do 20:42:34 probably it would work best if each time there was just one transporter that led your further in until you got to the end 20:43:35 "luring things out of the vault" isn't an issue specific to that vault, however ... 20:45:02 it doesn't need to be "specific" to the vault to be "relatively more of a problem" 20:47:06 If I have to use transporters, I'd still leave the inner 2 runed doors as is, but would only add transporters to the very beginning and end 20:48:51 or just put an iron giant in every room 20:48:51 that will stop people from luring 20:49:02 but will make the vault 500% more murderating 20:51:35 the goal when trying to improve a vault isn't to pick the most extreme change you can, it's just to improve it 20:54:09 Eh, I'll think of something then 20:56:28 I'm just going to merge it with the local changes I have which leave the doors intact, but you can submit improvements 20:56:40 one probably simple way would simply to be to pit a bit of structure in the rooms themselves 20:56:49 giving the player some places to fight 20:57:46 the hallways between rooms are almost enough, but players are fairly likely to fall back further 20:57:56 outside of the vault, to something better 20:58:16 it's not anything horribly, but it's an aspect of the vault that might be improved 20:58:31 03advil02 07* 0.22-a0-515-g75794bf: Make player ghosts non-recallable (Malacante) 10(70 seconds ago, 1 file, 2+ 1-) 13https://github.com/crawl/crawl/commit/75794bf1b04f 20:58:42 *horrible 20:58:42 I'll cut that vault until I have it improved for now 21:00:12 what I'm going to actually do is merge the vault with my other changes since it's nice to just have a basic vault for now 21:00:21 but you can absolutely submit a rework whenever you've finished 21:00:34 oh thanks advil 21:00:44 sure 21:00:51 I am going to not merge the lightning vault probably since that one might need some work 21:00:54 it's a bit...extreme 21:02:27 some rough comments I have on that one are that it's a really huge glass vault, this might slow down the level noticeably, and it's god a very high monster count yet with a very constrained monster set 21:02:55 it might just be better as a depths float vault just on its own, but that's sort of a different consideration 21:03:58 but it probably could stand to see black draconians mixed in with air mages and spark wasps for a little more variety, possibly you could thin out some monsters and have storm dragons -> storm dragon / titan (maybe w:5 on titan) 21:04:08 such a large vault trying to place visible ghosts is kind of a challenge here 21:05:06 because you're forced to make a large vault be transparent; I might need to play-test that to see if the level slows down 21:05:43 Ah, I haven't considered that kind of impact 21:06:00 we don't really go in for signs, but if there ever were a case for signs in dcss it would be ghosts vaults 21:06:05 heh 21:06:13 advil: yeah, I think we want to let players x-v ghosts though 21:06:28 true, yeah 21:06:50 I'm not a huge fan of adding a special ghost sign if we want the player to see the ghost anyhow 21:07:14 unless you know we want the sign give a ghost readout (not a serious suggestion) 21:07:39 one nice thing you could do with the lightning vault is something like 21:08:12 : if not you.uniques("Sojobo") and crawl.one_chance_in_x(4) 21:08:26 and then you define a MONS: sojobo band 21:08:26 -!- amalloy is now known as amalloy_ 21:08:43 if ever a vault were to place an electric chicken, it's this one 21:08:50 hah 21:09:14 I forget if nikola is in depths, but he's also an option 21:09:56 Unstable branch on crawl.jorgrun.rocks updated to: 0.22-a0-515-g75794bf1b0 (34) 21:13:12 @?black draconian scorcher 21:13:12 black draconian scorcher (04q) | Spd: 10 | HD: 16 | HP: 65-95 | AC/EV: 9/12 | Dam: 15 | natural, 10weapons, 10items, 10doors, evil, spellcaster, cold-blooded | Res: 06magic(40), 11elec+++ | XP: 1674 | Sp: b.fire (3d25), b.magma (3d25), fireball (3d26), hurl damnation (3d20), call down damnation (3d15) [04emergency] | Sz: Medium | Int: human. 21:13:16 @?black draconian shifter 21:13:16 black draconian shifter (11q) | Spd: 10 | HD: 16 | HP: 78-112 | AC/EV: 9/16 | Dam: 15 | 10weapons, 10items, 10doors, spellcaster, cold-blooded | Res: 06magic(40), 11elec+++ | XP: 1584 | Sp: dimension anchor, blink other, blink range, blink allies encircling, blink away [04emergency] | Sz: Medium | Int: human. 21:13:21 @?black draconian stormcaller 21:13:21 black draconian stormcaller (07q) | Spd: 10 | HD: 16 | HP: 71-103 | AC/EV: 10/10 | Dam: 20 | 10weapons, 10items, 10doors, priest, cold-blooded | Res: 06magic(40), 11elec+++ | XP: 1543 | Sp: smiting (7-17) [11!AM], sum.drakes [11!AM], upheaval (3d24) [11!AM] | Sz: Medium | Int: human. 21:14:14 Nah, any of those would be too extreme for Depths 21:14:30 especially the shifter 21:14:40 sojobo will probably do 21:16:32 well sojob is a lot harder than those 21:17:10 you could probably use a black drac stormcaller as one of your higher-level monsters 21:17:49 along with e.g. titans, storm dragons, just want to maybe controll the monster count 21:18:38 I had a count somewhere but you have like over 30 monster 21:19:15 It's 32 including ghosts 21:19:46 20 is probably a more reasonable number 21:19:57 yeah, so that's a pretty epic vault, and having good monster variety and the right balance of monsters in the different difficulty classes is important 21:20:20 black draconians are probably the weakest, spriggan air mages will be nastier but have similar hp I think 21:20:24 @?black draconian 21:20:25 black draconian (02d) | Spd: 10 | HD: 14 | HP: 74-111 | AC/EV: 9/10 | Dam: 20 | 10weapons, 10items, 10doors, cold-blooded, fly | Res: 06magic(40), 11elec+++ | XP: 1283 | Sp: b.lightning (3d19) [11!AM, 06!sil, 08breath] | Sz: Medium | Int: human. 21:20:29 @?spriggan air mage 21:20:29 spriggan air mage (11i) | Spd: 10 (move: 60%) | HD: 14 | HP: 42-58 | AC/EV: 3/22 | Dam: 16 | 10weapons, 10items, 10doors, spellcaster, see invisible, fly | Res: 06magic(140) | XP: 954 | Sp: b.lightning (3d19), airstrike (0-38), deflect missiles | Sz: little | Int: human. 21:20:41 ah yeah, thankfully significantly less 21:20:53 just a lot higher defenses, deflect missiles, and airstrike 21:21:04 @?storm dragon 21:21:04 storm dragon (12D) | Spd: 12 | HD: 14 | HP: 84-124 | AC/EV: 13/10 | Dam: 25, 1509(claw), 1507(trample) | fly | Res: 06magic(100), 02cold, 11elec+++, 12drown | XP: 2033 | Sp: b.lightning (3d19) [11!AM, 06!sil, 08breath] | Sz: Giant | Int: animal. 21:21:32 those are actually fairlysimilar to black draconians, just better melee 21:21:36 @?spark wasp 21:21:37 spark wasp (11y) | Spd: 15 | HD: 12 | HP: 53-78 | AC/EV: 9/14 | Dam: 3311(elec:12-17) | fly | Res: 06magic(40), 11elec+++ | Vul: 09poison | Chunks: 14noxious | XP: 1212 | Sp: blinkbolt (2d18) [06!sil] | Sz: tiny | Int: animal. 21:23:53 these are pretty beefy monsters if black draconian is your base, they're kind of similar to just a storm dragon already 21:24:14 and the ones you have with less hp avail are nasty in their own way (sp air mages, spark wasps) 21:25:01 air elementals are probably not helpful in the "not dying" department either 21:25:15 yeah, they complicate things due to their tendency to kill a lot of nearby monsters 21:26:45 Wait, does setting a MONS to sojobo band that a single Sojobo is spawned and the other glyphs matching that MONS entry are converted to whatever sojobo usually spawns with? 21:26:54 mean that a single* 21:26:56 ugh 21:27:19 no, you'd one to use some kind of dedicated glyph 21:27:40 and could simply NSUBST some other glyph you use more of with one instance of that 21:27:48 -!- amalloy_ is now known as amalloy 21:27:49 it will place sojobo and her band nearby 21:27:55 I see 21:28:06 you don't even have to NSUBST if you want a dedicated spawn location 21:28:56 but it's nice if you do randomize for a vault like this 21:32:08 I've reduced the monster glyph count to 20, with one being able to spawn a sojobo band 1 in 4, as you suggested 21:33:25 the syntax for SUBST/NSUBST is horrible 21:33:41 yeah, for a vault of this scale, one thing I suggest if you haven't done is build a depths-ready character, probably just a nice melee character with typical xl, defenses, consumables etc, and make a copy of this save (the cs file) so you can restore it easilly without recreating the whole character 21:33:42 I'll have to think on that for a bit 21:33:58 and then when you have something you like, playtest the vault in a depths level 21:34:24 even if you only clear the vault a couple times it will show you how the different monsters are playing together 21:34:36 and give you a sense of its difficulty 21:35:37 subst/nsusbst seems cryptic but is easy to understand once you grasp 21:35:43 the basics 21:36:19 I do, however the syntax is still absolute insane 21:36:32 there are no two ways about it 21:38:14 It's reasonably straightforward; the only alternative is requiring people to write a lot of lua 21:38:46 In that respect lua is the more standard and less insane way to specify things 21:38:47 or building some kind of fancy vault editor UI 21:41:32 no, not really, there is no standard way to specify all programmatic details of 2-d game maps in the first place 21:42:34 the substitutions talked about here are just extremely simple, and so is the syntax used 21:56:36 NSUBST: - = 3=1 / 4=1- / 12-- / 2=2 / 2=2- / 3 / 3- / - 21:56:43 Does the equals symbol inside the substitution itself have special meaning? 22:01:53 yes 22:02:17 e.g. 3=1 in the first clause means 3 of the - become 1 22:03:15 for 2=2-, that means 2 of the - become a 2 or a -, indepedently 22:05:08 perhaps it would be slightly less confusing if the single cases i.e. 3=1 were written 3:1 as you'd guess from reading syntax.txt first 22:07:07 I view = as the default kind of substitution rather than : 22:07:49 there is also the aspect where N:M is a syntax used for specifying weights 22:08:18 yes, perhaps "suspect" is the better word for this madness 22:10:44 the syntax is both flexible and easy to learn, if you don't like writing it, just specify some notes for what kind of substitutions you want 22:11:04 I'm not really interested in back and forth debates about what syntax you prefer 22:11:35 it is the syntax we have for specifying vaults, obviously someone could create a better system, this would entail an immense amount of work 22:24:41 gammafunk: I've changed the lightning vault to random placement, commit is pushed to PR branch 22:25:35 I will probably merge the simpler ones first and try that one out some more later 22:28:08 03Muffindrake02 07https://github.com/crawl/crawl/pull/790 * 0.22-a0-514-g5afa88a: randomly place monsters in lightning vault 10(6 minutes ago, 1 file, 39+ 29-) 13https://github.com/crawl/crawl/commit/5afa88aa888f 22:29:40 muffindrake: also small commit formatting request, start commit titles with an upper-case word 22:30:32 I just got the game to highlight a monster's summoner when you move the cursor over it in targeting mode 22:30:47 and will probably make a PR 22:31:00 but have a question or two first 22:31:55 1) I am doing this by setting a highlight flag on map_cells; is that what those flags are for, or should I set flags on the monster or do something else entirely 22:34:31 ughhh i just hit the rate limit on letsencrypt 22:34:35 i'm dumb 22:34:47 2) should this be extensible (eg should I try to make it easy to highlight items in the future, or highlight groups of monsters, etc) 22:44:28 neofelis: does it work in console (not related to your questions) 22:47:05 only tested in console so far 22:47:14 it works there :) 22:47:34 oh, nice 22:48:03 well, it makes the summoner look friendly, currently 22:49:59 but what exactly it does to the colour is by far the easiest thing to modify 23:06:12 -!- a624fs is now known as rofl