--- Log opened Tue Oct 30 00:00:01 2012 20121030 00:01:39-!- skyfaller [~skyfaller@wikipedia/Skyfaller] has quit [Ping timeout: 260 seconds] 20121030 00:06:12-!- irker309 [~irker@ai0867.net] has joined #wesnoth-umc-dev 20121030 00:06:12< irker309> AI-Demos: Alarantalara master * r3957609 / lua/generic-recruit_engine.lua : Add very small bonus for having an unusual range for attack - http://git.io/XV6HDA 20121030 00:15:50-!- esr [~chatzilla@wesnoth/developer/esr] has quit [Remote host closed the connection] 20121030 00:28:14< irker309> AI-Demos: Alarantalara master * r1a1fd7e / lua/generic-recruit_engine.lua : Keep high offense from recruiting goblin spearmen quite so often - http://git.io/kXDdNw 20121030 00:30:29< irker309> AI-Demos: Alarantalara master * rc5a3464 / lua/generic-recruit_engine.lua : Store weights in variables - http://git.io/dmxEnw 20121030 00:38:04< irker309> AI-Demos: Alarantalara master * r1a3ceb5 / lua/generic-recruit_engine.lua : Move setting of weights out of loop - http://git.io/wCuegg 20121030 00:39:18-!- Alarantalara [~Adium@CPEc0c1c09e8055-CM00252eac6d62.cpe.net.cable.rogers.com] has quit [Quit: Leaving.] 20121030 00:40:55< AI0867> looks like leave_own_villages (the only thing in AI Demos+params era) isn't actually used 20121030 00:50:23-!- noy [~Noy@wesnoth/developer/noy] has quit [Quit: noy] 20121030 01:01:37-!- Alarantalara [~Adium@CPEc0c1c09e8055-CM00252eac6d62.cpe.net.cable.rogers.com] has joined #wesnoth-umc-dev 20121030 01:09:24-!- noy [~Noy@wesnoth/developer/noy] has joined #wesnoth-umc-dev 20121030 01:11:12-!- mattsc [~mattsc@d154-20-32-241.bchsia.telus.net] has joined #wesnoth-umc-dev 20121030 01:15:32< mattsc> AI0867: it's not used any more. It was, but I got rid of it some time ago and then forgot to remove the era, I guess. 20121030 01:16:23< mattsc> Alarantalara: I have an argument that the arithmetic mean might actually be the one we want, but I'm not sure if it's a correct argument. 20121030 01:17:33< mattsc> Because it's not whether a damage probability is twice as high, but it's the absolute amount of damage done that matters. And that, in the long-term statistical average, is proportional to the defense %. 20121030 01:18:03< mattsc> (for a given attacker/defender pair only, of course) 20121030 01:18:54< mattsc> Haven't really had time to think this through though yet. 20121030 01:22:51< AI0867> mattsc: anything for vision? (the "which units can I see from here" part) 20121030 01:23:36< AI0867> [filter_vision] might work 20121030 01:30:53< AI0867> no, it won't =/ 20121030 01:31:02< AI0867> I need max_moves + 1 hex 20121030 01:31:08< AI0867> probably need to write my own function then 20121030 01:31:26< mattsc> AI0867: that's what ai_helper.get_attack_map does 20121030 01:32:08< mattsc> But there's something else in WML ... 20121030 01:33:20< mattsc> yes. [store_reachable_locations] has a range=vision parameter. 20121030 01:34:03< mattsc> AI0867: That ^ would indeed be easier, and potentially quicker, than what I am doing in get_attack_map. 20121030 01:34:47< AI0867> that's much better =) 20121030 01:35:32< Alarantalara> The only problem with it is that vision doesn't have to match movement any more 20121030 01:36:27< Alarantalara> so while it's great for asking what is visible, it won't work for attacks 20121030 01:38:28< mattsc> Alarantalara, AI0867: then use ai_helper.get_attack_map. That one goes one hex past the movement range. 20121030 01:38:57< Alarantalara> mattsc: about means. Switching the location of the two units does have an effect on how the enemy will attack, because it could be easier to kill one unit than before, so there is a difference between the two possibilities 20121030 01:39:29< Alarantalara> While I believe that the skewed set is better, I could be wrong 20121030 01:39:48< mattsc> Alarantalara: that is correct. But if you want to take that into account, resistance, current HP, etc. all matter too. 20121030 01:40:12< mattsc> Possibly. As I said, I really haven't thought all this through yet. 20121030 01:41:23< Alarantalara> The ideal would be to predict which units the enemy will want to kill and make them the hardest to kill, but I haven't a clue of how to describe that 20121030 01:42:25< mattsc> If you're willing to wait 10 min for every move, I could do that. ;) 20121030 01:42:33< mattsc> afk for ~30 min 20121030 01:54:41< AI0867> Alarantalara: it's not about who the unit can attack, it's about who it knows are present 20121030 01:54:59< AI0867> so it can decide whether it wants to stick around 20121030 01:58:14< Alarantalara> wouldn't that be more looking for units that can attack it? 20121030 01:58:42< AI0867> no, it just wants to make a judgement of friendly and enemy forces present 20121030 01:59:50< Alarantalara> so what would it do if an elf scout saw a bunch of dwarves? 20121030 02:00:27< Alarantalara> since it could be safe for two turns without moving 20121030 02:02:21< AI0867> first, decide that it saw them and was outnumbered 20121030 02:02:28< AI0867> then, stay at least out of their range 20121030 02:07:03< Alarantalara> I guess you want visible units regardless of they're seen then, since the vision could be granted by a nearby scout instead of your unit 20121030 02:07:20< Alarantalara> *regardless of how they're seen 20121030 02:24:51< AI0867> no, I'm doing unit-centric stuff 20121030 02:25:02< AI0867> the unit itself decides whether it wants to stick around 20121030 02:30:29< mattsc> AI0867: do you know that you can attach CAs directly to individual units? (Not sure if that will work for what you are doing, just mentioning it.) 20121030 02:32:41< Alarantalara> So a dwarf right beside a gryphon revealing 10 cavalry 6 spaces away would be perfectly happy to stay where it is? 20121030 02:32:53< Alarantalara> since the dwarf only sees 5 20121030 02:36:15< AI0867> he doesn't know about the cavalry, so yeah 20121030 02:36:34< AI0867> this is not intended as a good AI =P 20121030 02:36:51< Alarantalara> just so I'm clear on how this works 20121030 02:47:57< AI0867> mattsc: yeah, but I wants this to run for every one 20121030 02:48:23< AI0867> I looked at [candidate_action] type= too, but that only seems to be for formula_ai 20121030 02:48:29< mattsc> AI0867: ok, cool. 20121030 02:48:51< AI0867> Alarantalara: at some point, things might become a little more intelligent, but I'm starting out realy simple 20121030 02:53:37-!- noy [~Noy@wesnoth/developer/noy] has quit [Quit: noy] 20121030 02:54:15-!- loonybot [~loonybot@wesnoth/bot/loonybot] has quit [Remote host closed the connection] 20121030 02:57:21< mattsc> AI0867: you'll probably have something that can beat Fred within a few days. :D 20121030 02:59:35-!- un214 [~un214@108.221.231.191] has joined #wesnoth-umc-dev 20121030 03:00:31< AI0867> I'll settle for an occasional win against the RCA AI 20121030 03:00:49< un214> I can beat it almost all the time. 20121030 03:31:11-!- noy_ [~Noy@wesnoth/developer/noy] has joined #wesnoth-umc-dev 20121030 03:34:13-!- faabumc [~vcr@wesnoth/developer/faabumc] has joined #wesnoth-umc-dev 20121030 03:38:03-!- irker309 [~irker@ai0867.net] has quit [Quit: transmission timeout] 20121030 03:46:10< mattsc> un214: perfect! Would you mind telling me who programmed you? I'd like to have a chat with him/her sometime. ;) 20121030 03:48:54< mattsc> (and just so that that doesn't get misunderstood, have a look at the logs at what I said just before you joined) 20121030 03:51:59< un214> YHWH 20121030 03:54:51-!- shadowm_laptop [ignacio@wesnoth/developer/shadowmaster] has quit [Quit: shadowm_laptop] 20121030 03:55:44< mattsc> That would certainly make for an interesting chat about AI coding! 20121030 03:56:20< un214> Indeed. I'd love to listen in. 20121030 03:57:57< un214> AI seems to be the first important topic in 2000 years where the Bible is silent 20121030 04:19:23-!- shadowm_laptop [ignacio@wesnoth/developer/shadowmaster] has joined #wesnoth-umc-dev 20121030 04:20:49< Alarantalara> I am starting to hate goblins 20121030 04:20:56< Alarantalara> They mess up my math 20121030 04:21:08< un214> ?oGenocide? 20121030 04:23:11< Alarantalara> Goblins are cheap, have great damage and move reasonably quickly 20121030 04:24:24< Alarantalara> Almost anything I do to get their numbers under control creates an excess of guardsmen, heavy infantry, and woses 20121030 04:24:29< un214> You probably need to use space consumption in your computations. 20121030 04:24:56< Alarantalara> You want to consume space - they win there too 20121030 04:24:57< un214> In AoH on wesnoth 1.0, buying an occasional Lvl2 was profitable at its vastly inflated rate 20121030 04:25:34< un214> You want to anti-consome space when on offence 20121030 04:26:29< Alarantalara> They are the most concentrated damage for the least gold that northerns have 20121030 04:26:39< un214> true 20121030 04:26:47< un214> their damage output per hex used sucks though 20121030 04:27:12< Alarantalara> Damage per hex is higher than everything else (and is more reliable) 20121030 04:27:42< Alarantalara> you have to find strong grunts to do better 20121030 04:27:54< Alarantalara> and that's the only unit that does more 20121030 04:27:54< mattsc> Alarantalara: even goblins hate goblins: "I should have never joined you dimwits. This is the last time I team up with a bunch of goblin numbskulls on a moron mission!" 20121030 04:28:02< mattsc> Ok, I should stop now ... 20121030 04:28:21< un214> try accounting for the fact their traits are negative 20121030 04:28:25< Alarantalara> What's wrong with Grrnk quotes? 20121030 04:30:17< un214> hmm damage per hex: (2/3)(6*3) + (1/3)(5*3) < (2/4)(9*2) + (2/4)(10*2) 20121030 04:31:21< Alarantalara> 6*3 = 9*2 though 20121030 04:31:22< mattsc> Nothing in my opinion, but I am definitely biased. 20121030 04:32:01< un214> you have to figure the chance of each trait into the units, because the broke the old rule of traits are never worse than not having them 20121030 04:32:25< mattsc> I can't come up with anything actually helpful to your current problem though. 20121030 04:33:26< un214> Personally I'd do this: L0 unit is worth 50% less if it's possible to free-support a L1 unit at this time 20121030 04:34:31< Alarantalara> That would cripple bats 20121030 04:34:56< Alarantalara> and they're already the least recruit undead unit 20121030 04:35:05< un214> do you buy bats for combat role? 20121030 04:35:20< Alarantalara> sometimes 20121030 04:35:28< un214> I only buy them for scout role 20121030 04:36:38-!- faabumc [~vcr@wesnoth/developer/faabumc] has quit [Quit: Ex-Chat] 20121030 04:42:41< Alarantalara> Also, it appears to be impossible to get a list of traits from a unit type. I'd have to merge global, race, and unit type together to get a list 20121030 04:42:57< Alarantalara> And check for number at both race and unit type levels 20121030 04:43:14< Alarantalara> And then I'd have to parse them to find out what they do 20121030 04:44:02< Alarantalara> I suppose the alternative is monte carlo: create 100 of each unit and look at its stats 20121030 04:44:34-!- ancestral [~ancestral@75-161-178-116.mpls.qwest.net] has joined #wesnoth-umc-dev 20121030 04:45:55< un214> how about a high degree of caching? 20121030 04:46:12< Alarantalara> I'd still have to do it at least once 20121030 04:46:16< mattsc> If you save the results in self.data... (MC), you'd only have to do it once at the beginning of the scenario. 20121030 04:46:37< Alarantalara> And I can't just do it at the beginning of the scenario 20121030 04:46:56< Alarantalara> Unless I want to do it for all recruitable units versus all units that could appear on the map 20121030 04:47:31< un214> well you only have to populate your cache if you find a unit you can recruit now but has no cache entry 20121030 04:48:05< un214> oh wait you took damage calcs based on resistance into consieration 20121030 04:48:59< un214> anyway I can murder that strategy anyway 20121030 04:49:45< Alarantalara> i.e. all recruitable enemies, and all their advancements and any placed units (thanks Hornshark) 20121030 04:49:45< Alarantalara> I'd have to repopulate it every time new enemy units appeared 20121030 04:49:45< Alarantalara> Or be unable to play a survival map 20121030 04:50:13< un214> here's what murders you: 20121030 04:50:26< un214> 1. recruit about 3 units that share a particular weakness 20121030 04:50:33< un214> you overspend against those 3 20121030 04:50:40< un214> then I spend rest on their counters 20121030 04:51:07< Alarantalara> Not quite. I also fall back to more generic units once I think I have enough counters 20121030 04:51:22< Alarantalara> So I buy 2-3 counters and stop 20121030 04:51:28< un214> ah 20121030 04:51:56< Alarantalara> I also consider what you could recruit 20121030 04:52:20< un214> I wonder how it'd fare up against my glacier strategy 20121030 04:52:40< Alarantalara> Download AI-demos and try it on 1.11 20121030 04:52:58< Alarantalara> play against Ron 20121030 04:53:07< Alarantalara> If you do it now on the server, I'll watch 20121030 04:53:18< un214> sorry don't have 1.11 20121030 04:53:29< un214> besides it takes 3 hours 20121030 04:53:44< Alarantalara> You could do it with 1.10 as well, though the version there is slightly worse 20121030 04:53:56< un214> ok let's see 20121030 04:54:56< un214> name: Glorfindel 20121030 04:55:25< un214> hmm how do I set it? 20121030 04:55:38< Alarantalara> Choose the era 20121030 04:55:54< Alarantalara> and then pick the AI you want from the list 20121030 04:56:16< un214> only has Fred 20121030 04:56:40< Alarantalara> The Era is Default+Experimental AI (not the adjustable parameters one) 20121030 04:57:04< un214> ah 20121030 04:57:08< un214> game exists 20121030 04:57:14< un214> what faction you favor for Ron? 20121030 04:57:32< Alarantalara> Rebels, probably 20121030 05:17:46-!- shadowm_laptop2 [ignacio@wesnoth/developer/shadowmaster] has joined #wesnoth-umc-dev 20121030 05:19:58-!- shadowm_laptop [ignacio@wesnoth/developer/shadowmaster] has quit [Ping timeout: 255 seconds] 20121030 05:23:02-!- shadowm_laptop2 [ignacio@wesnoth/developer/shadowmaster] has quit [Read error: Connection reset by peer] 20121030 05:25:50< un214> what a waste 20121030 05:25:58< un214> it was beat on the board before glacier was even rolling 20121030 05:26:06< Alarantalara> Oh definitely 20121030 05:26:35< Alarantalara> Right now it's somewhat better recruiting and better village grabbing 20121030 05:26:48< Alarantalara> but otherwise no better than the standard AI 20121030 05:27:06< Alarantalara> it also does a better job with poison, but that's irrelevant vs undead 20121030 05:27:14< un214> I told a guy playing knalgan to resign at turn 40. He refused. 20121030 05:27:27< un214> He died on turn 60. The game was decided around turn 30. 20121030 05:28:05< un214> that was better recruiting 20121030 05:28:41< un214> had it packed 3 or 4 woses together rather than scattering them it could have crashed the line 20121030 05:29:42< un214> good night 20121030 05:29:46< Alarantalara> good night 20121030 05:29:49-!- un214 [~un214@108.221.231.191] has quit [Read error: Connection reset by peer] 20121030 05:50:09-!- faabumc [~vcr@wesnoth/developer/faabumc] has joined #wesnoth-umc-dev 20121030 06:19:37-!- mattsc [~mattsc@d154-20-32-241.bchsia.telus.net] has quit [Quit: bye] 20121030 06:24:56-!- irker540 [~irker@ai0867.net] has joined #wesnoth-umc-dev 20121030 06:24:56< irker540> AI-Demos: Alarantalara master * r32227d9 / lua/generic-recruit_engine.lua : Stop recruiting as many very expensive units - http://git.io/nKztVA 20121030 06:30:29-!- faabumc [~vcr@wesnoth/developer/faabumc] has quit [Ping timeout: 256 seconds] 20121030 06:33:13-!- Blueblaze [~Blueblaze@2602:306:394f:6a89:6233:4bff:fe0a:827b] has joined #wesnoth-umc-dev 20121030 06:37:08-!- ancestral [~ancestral@75-161-178-116.mpls.qwest.net] has quit [Read error: Connection reset by peer] 20121030 06:37:28-!- ancestral [~ancestral@75-161-178-116.mpls.qwest.net] has joined #wesnoth-umc-dev 20121030 06:49:51-!- Alarantalara [~Adium@CPEc0c1c09e8055-CM00252eac6d62.cpe.net.cable.rogers.com] has quit [Quit: Leaving.] 20121030 07:29:18< irker540> wesnoth-umc-dev: shikadilord * r16127 /trunk/After_the_Storm/macros/visualfx.cfg: 20121030 07:29:19< irker540> AtS: make it so HIGHLIGHT_GOAL doesn't clobber existing [item]s on the matching locations 20121030 07:33:41-!- ancestral [~ancestral@75-161-178-116.mpls.qwest.net] has quit [Quit: And that’s the end of THAT chapter.] 20121030 07:47:12-!- faabumc [~vcr@wesnoth/developer/faabumc] has joined #wesnoth-umc-dev 20121030 07:48:10-!- loonybot [~loonybot@ppp94-29-12-11.pppoe.spdop.ru] has joined #wesnoth-umc-dev 20121030 07:48:11-!- loonybot [~loonybot@ppp94-29-12-11.pppoe.spdop.ru] has quit [Changing host] 20121030 07:48:11-!- loonybot [~loonybot@wesnoth/bot/loonybot] has joined #wesnoth-umc-dev 20121030 07:48:14-!- mode/#wesnoth-umc-dev [+v loonybot] by ChanServ 20121030 07:57:00-!- Blueblaze [~Blueblaze@2602:306:394f:6a89:6233:4bff:fe0a:827b] has quit [Quit: Blueblaze] 20121030 08:27:53-!- zookeeper [~lmsnie@wesnoth/developer/zookeeper] has joined #wesnoth-umc-dev 20121030 10:09:08-!- noy_ [~Noy@wesnoth/developer/noy] has quit [Quit: noy_] 20121030 10:11:27-!- Elvish_Hunter [02c320d6@gateway/web/freenode/ip.2.195.32.214] has joined #wesnoth-umc-dev 20121030 10:14:29< irker540> wesnoth-umc-dev: elvish-hunter * r16128 /trunk/Wesnoth_Lua_Pack/gui-tags.lua: 20121030 10:14:30< irker540> WLP: replaced two instances of wesnoth.get_unit with wesnoth.get_units 20121030 10:24:08< irker540> wesnoth-umc-dev: elvish-hunter * r16129 /trunk/Wesnoth_Lua_Pack/ (changelog wml-tags.lua wlp.html): 20121030 10:24:08< irker540> WLP: added inline SSF support to [store_shroud] and [set_shroud] 20121030 10:32:55< irker540> wesnoth-umc-dev: elvish-hunter * r16130 /trunk/Wesnoth_Lua_Pack/ (changelog gui-tags.lua): 20121030 10:32:55< irker540> WLP: added color slider to [show_side_debug] 20121030 10:36:46< irker540> wesnoth-umc-dev: elvish-hunter * r16131 /trunk/Wesnoth_Lua_Pack/ (changelog wml-tags.lua): 20121030 10:36:46< irker540> WLP: bumped Wesnoth version requirement to 1.11.0 20121030 11:03:05-!- faabumc [~vcr@wesnoth/developer/faabumc] has quit [Quit: Ex-Chat] 20121030 11:37:08-!- Elvish_Hunter [02c320d6@gateway/web/freenode/ip.2.195.32.214] has quit [Quit: Ciao!] 20121030 12:41:01-!- noy [~Noy@wesnoth/developer/noy] has joined #wesnoth-umc-dev 20121030 13:37:05-!- irker540 [~irker@ai0867.net] has quit [Quit: transmission timeout] 20121030 14:06:33-!- esr [~chatzilla@pool-108-36-242-199.phlapa.fios.verizon.net] has joined #wesnoth-umc-dev 20121030 14:07:00-!- esr [~chatzilla@pool-108-36-242-199.phlapa.fios.verizon.net] has quit [Changing host] 20121030 14:07:00-!- esr [~chatzilla@wesnoth/developer/esr] has joined #wesnoth-umc-dev 20121030 14:18:30-!- faabumc [~vcr@wesnoth/developer/faabumc] has joined #wesnoth-umc-dev 20121030 14:20:33-!- mattsc [~mattsc@216.13.187.190] has joined #wesnoth-umc-dev 20121030 14:26:16-!- esr [~chatzilla@wesnoth/developer/esr] has quit [Remote host closed the connection] 20121030 15:08:02-!- esr [~chatzilla@pool-108-36-242-199.phlapa.fios.verizon.net] has joined #wesnoth-umc-dev 20121030 15:15:20-!- faabumc_ [~vcr@wesnoth/developer/faabumc] has joined #wesnoth-umc-dev 20121030 15:15:37-!- faabumc [~vcr@wesnoth/developer/faabumc] has quit [Ping timeout: 268 seconds] 20121030 15:16:52-!- mattsc [~mattsc@216.13.187.190] has quit [Quit: I'm asleep] 20121030 15:22:18-!- faabumc_ [~vcr@wesnoth/developer/faabumc] has quit [Read error: Connection reset by peer] 20121030 15:36:56-!- mattsc [~mattsc@fw.hia.nrc.ca] has joined #wesnoth-umc-dev 20121030 16:01:58-!- esr [~chatzilla@pool-108-36-242-199.phlapa.fios.verizon.net] has quit [Remote host closed the connection] 20121030 16:50:28-!- mattsc [~mattsc@fw.hia.nrc.ca] has quit [Quit: bye] 20121030 18:07:13-!- Crendgrim [~crend@port-92-204-102-11.dynamic.qsc.de] has joined #wesnoth-umc-dev 20121030 18:47:18-!- noy [~Noy@wesnoth/developer/noy] has quit [Quit: noy] 20121030 19:13:45-!- noy [~Noy@wesnoth/developer/noy] has joined #wesnoth-umc-dev 20121030 19:24:26-!- shadowm_laptop [ignacio@wesnoth/developer/shadowmaster] has joined #wesnoth-umc-dev 20121030 22:22:55-!- Alarantalara [~Adium@CPEc0c1c09e8055-CM00252eac6d62.cpe.net.cable.rogers.com] has joined #wesnoth-umc-dev 20121030 22:25:53-!- zookeeper [~lmsnie@wesnoth/developer/zookeeper] has quit [Ping timeout: 256 seconds] 20121030 22:30:09-!- irker567 [~irker@ai0867.net] has joined #wesnoth-umc-dev 20121030 22:30:09< irker567> AI-Demos: Alarantalara master * rb1d4479 / lua/generic-recruit_engine.lua : Reduce weight of movement - http://git.io/oG2CRQ 20121030 22:45:41< irker567> wesnoth-umc-dev: shikadilord * r16132 /trunk/After_the_Storm/macros/items.cfg: 20121030 22:45:41< irker567> AtS: fix multiple instances of unsafe attribute aggregation in WML macros 20121030 22:57:45< irker567> wesnoth-umc-dev: shikadilord * r16133 /trunk/After_the_Storm/macros/soundfx.cfg: 20121030 22:57:46< irker567> AtS: fix another instance of unsafe attribute aggregation in a WML macro 20121030 23:06:41< irker567> wesnoth-umc-dev: shikadilord * r16134 /trunk/Invasion_from_the_Unknown/macros/ (soundfx.cfg items.cfg): 20121030 23:06:41< irker567> IftU: fix multiple instances of unsafe attribute aggregation in WML macros 20121030 23:10:53-!- ancestral [~ancestral@75-161-178-116.mpls.qwest.net] has joined #wesnoth-umc-dev 20121030 23:13:14-!- noy [~Noy@wesnoth/developer/noy] has quit [Quit: noy] 20121030 23:33:24-!- noy [~Noy@wesnoth/developer/noy] has joined #wesnoth-umc-dev 20121030 23:42:10-!- esr [~chatzilla@static-71-162-243-5.phlapa.fios.verizon.net] has joined #wesnoth-umc-dev 20121030 23:42:37-!- esr [~chatzilla@static-71-162-243-5.phlapa.fios.verizon.net] has quit [Changing host] 20121030 23:42:37-!- esr [~chatzilla@wesnoth/developer/esr] has joined #wesnoth-umc-dev 20121030 23:44:50-!- Blueblaze [~Blueblaze@adsl-99-148-246-168.dsl.hstntx.sbcglobal.net] has joined #wesnoth-umc-dev --- Log closed Wed Oct 31 00:00:09 2012