--- Log opened Thu Aug 13 00:00:58 2015 20150813 00:13:24-!- xixor [~xixor@isitoctconf.org] has joined #wesnoth 20150813 00:14:17< xixor> hi everybody 20150813 00:14:56< aeth> hi 20150813 00:15:52< xixor> sup? 20150813 00:18:27< aeth> nothing much 20150813 00:20:09< xixor> coo 20150813 00:20:25< xixor> It's been a few weeks since I last played Wesnoth. I think I lost all my mad skillz 20150813 00:46:38-!- Appleman1234 [~Appleman1@KD106179122098.au-net.ne.jp] has joined #wesnoth 20150813 01:00:22-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has quit [Ping timeout: 244 seconds] 20150813 01:02:09-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has joined #wesnoth 20150813 01:21:34-!- Appleman1234 [~Appleman1@KD106179122098.au-net.ne.jp] has quit [Ping timeout: 260 seconds] 20150813 02:12:28-!- Johannes13 [~Johannes@unaffiliated/johannes13] has joined #wesnoth 20150813 02:14:58-!- ArneBab_ [~quassel@55d45eef.access.ecotel.net] has joined #wesnoth 20150813 02:17:57-!- Appleman1234 [~Appleman1@KD036009074188.au-net.ne.jp] has joined #wesnoth 20150813 02:18:12-!- ArneBab [~quassel@55d46f6c.access.ecotel.net] has quit [Ping timeout: 250 seconds] 20150813 02:25:18-!- knotwork_ [~markm@unaffiliated/knotwork] has joined #wesnoth 20150813 02:26:52-!- knotwork [~markm@unaffiliated/knotwork] has quit [Ping timeout: 250 seconds] 20150813 02:30:47-!- Johannes13 [~Johannes@unaffiliated/johannes13] has quit [Ping timeout: 244 seconds] 20150813 02:48:01-!- aeonchild [enchilado@defocus/yummy/enchilado] has quit [Killed (Sigyn (Spam is off topic on freenode.))] 20150813 02:48:40-!- enchilado [enchilado@gateway/shell/blinkenshell.org/x-paoplajlbgaqhrwh] has joined #wesnoth 20150813 02:53:44-!- Appleman1234 [~Appleman1@KD036009074188.au-net.ne.jp] has quit [Ping timeout: 250 seconds] 20150813 03:07:04-!- shadowm_desktop [ignacio@wesnoth/developer/shadowm] has quit [Disconnected by services] 20150813 03:07:57-!- shadowm_desktop [ignacio@wesnoth/developer/shadowm] has joined #wesnoth 20150813 03:09:48-!- shadowm_desktop [ignacio@wesnoth/developer/shadowm] has quit [Disconnected by services] 20150813 03:10:22-!- shadowm_desktop [ignacio@wesnoth/developer/shadowm] has joined #wesnoth 20150813 03:33:16-!- enchilado [enchilado@gateway/shell/blinkenshell.org/x-paoplajlbgaqhrwh] has quit [Changing host] 20150813 03:33:16-!- enchilado [enchilado@defocus/yummy/enchilado] has joined #wesnoth 20150813 03:33:26-!- enchilado is now known as aeonchild 20150813 03:40:50-!- framling [~user@c-50-186-43-50.hsd1.or.comcast.net] has joined #wesnoth 20150813 03:50:41-!- Appleman1234 [~Appleman1@KD036009086190.au-net.ne.jp] has joined #wesnoth 20150813 05:06:53< aeth> I've added so much to my RPG... character selection, sliders, etc. 20150813 05:10:28< aeth> if anyone wants to test it 20150813 05:38:04-!- Kwandulin [~Miranda@p5B0084DE.dip0.t-ipconnect.de] has joined #wesnoth 20150813 05:54:06-!- iyzsong [~iyzsong@fsf/member/iyzsong] has joined #wesnoth 20150813 06:27:54< celticminstrel> Maybe, but not now. 20150813 06:28:00< celticminstrel> It's almost 2:30am. 20150813 06:35:38< DeFender1031> aeth, SP or MP? 20150813 06:40:39-!- celticminstrel [~celmin@unaffiliated/celticminstrel] has quit [Quit: And lo! The computer falls into a deep sleep, to awake again some other day!] 20150813 06:41:10-!- salluc69 [~lucky@host73-195-dynamic.48-82-r.retail.telecomitalia.it] has joined #wesnoth 20150813 06:53:10-!- shurnormal_ [~uprego@unaffiliated/ushiu] has joined #wesnoth 20150813 07:10:32-!- [Relic] [~Relic]@2602:306:33a3:6d30:ddd0:524:6799:3674] has quit [Quit: I press the magic X and all the weirdos go away!] 20150813 07:18:12-!- Jetrel [~Jetrel@c-73-164-34-22.hsd1.mn.comcast.net] has quit [Ping timeout: 272 seconds] 20150813 07:33:10-!- Appleman1234 [~Appleman1@KD036009086190.au-net.ne.jp] has quit [Ping timeout: 240 seconds] 20150813 07:38:28< aeth> MP, but it's too late for me to start right now 20150813 07:39:47< aeth> I am very close to the 0.9 milestone (which means I could get there in two days or two weeks, who knows?) and then there's lots of polish and postponed features. 20150813 07:41:29-!- Netsplit *.net <-> *.split quits: salluc69, Ravana_, Rhonda, shadowm 20150813 07:43:08-!- Netsplit over, joins: Ravana_, shadowm, Rhonda, salluc69 20150813 07:43:42-!- Ravana_ [~Ravana@unaffiliated/ravana/x-2327071] has quit [Disconnected by services] 20150813 07:43:48-!- Ravana_ [~Ravana@unaffiliated/ravana/x-2327071] has joined #wesnoth 20150813 07:45:49-!- Rhonda [~rhonda@anguilla.noreply.org] has quit [Ping timeout: 265 seconds] 20150813 07:46:46-!- salluc69 [~lucky@host73-195-dynamic.48-82-r.retail.telecomitalia.it] has quit [Ping timeout: 256 seconds] 20150813 07:46:48-!- shadowm [~ignacio@wesnoth/developer/shadowm] has quit [Ping timeout: 256 seconds] 20150813 07:47:19-!- Rhonda [~rhonda@anguilla.noreply.org] has joined #wesnoth 20150813 07:47:58-!- shadowm [~ignacio@wesnoth/developer/shadowm] has joined #wesnoth 20150813 07:58:05-!- salluc69 [~lucky@host73-195-dynamic.48-82-r.retail.telecomitalia.it] has joined #wesnoth 20150813 07:58:58-!- zookeeper [~lmsnie@wesnoth/developer/zookeeper] has joined #wesnoth 20150813 08:06:18-!- Kwandulin [~Miranda@p5B0084DE.dip0.t-ipconnect.de] has quit [Read error: Connection reset by peer] 20150813 08:30:06-!- Appleman1234 [~Appleman1@KD106179112247.au-net.ne.jp] has joined #wesnoth 20150813 08:31:55-!- Haudegen [~quassel@85.124.51.57] has quit [Ping timeout: 246 seconds] 20150813 08:39:38-!- Haudegen [~quassel@85.124.51.57] has joined #wesnoth 20150813 09:07:33-!- Appleman1234 [~Appleman1@KD106179112247.au-net.ne.jp] has quit [Ping timeout: 260 seconds] 20150813 09:13:21-!- Kwandulin [~Miranda@p5B0084DE.dip0.t-ipconnect.de] has joined #wesnoth 20150813 09:22:57-!- shadowm_desktop [ignacio@wesnoth/developer/shadowm] has quit [Ping timeout: 260 seconds] 20150813 10:01:55-!- DreadKnight [~DreadKnig@unaffiliated/dreadknight] has quit [Quit: #AncientBeast - Master Your Beasts ( www.AncientBeast.com )] 20150813 10:04:02-!- Appleman1234 [~Appleman1@KD036009092177.au-net.ne.jp] has joined #wesnoth 20150813 10:27:34-!- Kwandulin [~Miranda@p5B0084DE.dip0.t-ipconnect.de] has quit [Read error: Connection reset by peer] 20150813 10:40:26-!- Appleman1234 [~Appleman1@KD036009092177.au-net.ne.jp] has quit [Ping timeout: 240 seconds] 20150813 11:26:19-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has quit [Remote host closed the connection] 20150813 11:26:25-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has joined #wesnoth 20150813 11:37:08-!- Appleman1234 [~Appleman1@KD036009090105.au-net.ne.jp] has joined #wesnoth 20150813 12:17:59-!- prkc [~prkc@4E5CC75C.dsl.pool.telekom.hu] has joined #wesnoth 20150813 12:49:05-!- jemadux [~jemadux@unaffiliated/jemadux] has quit [Read error: Connection reset by peer] 20150813 12:52:31-!- jemadux [~jemadux@unaffiliated/jemadux] has joined #wesnoth 20150813 13:45:02-!- Appleman1234 [~Appleman1@KD036009090105.au-net.ne.jp] has quit [Ping timeout: 250 seconds] 20150813 13:51:54-!- Johannes13 [Johannes@unaffiliated/johannes13] has joined #wesnoth 20150813 14:27:32-!- celticminstrel [~celmin@unaffiliated/celticminstrel] has joined #wesnoth 20150813 14:41:20-!- clavi [~clavi@2001:1af8:4700:a03a:9::] has joined #wesnoth 20150813 14:42:45-!- Appleman1234 [~Appleman1@KD036009083115.au-net.ne.jp] has joined #wesnoth 20150813 14:48:21-!- shurnormal_ [~uprego@unaffiliated/ushiu] has quit [Quit: poweroff] 20150813 14:51:08-!- Kwandulin [~Miranda@p5B0084DE.dip0.t-ipconnect.de] has joined #wesnoth 20150813 14:53:08-!- DreadKnight [~DreadKnig@unaffiliated/dreadknight] has joined #wesnoth 20150813 15:06:15-!- [Relic] [~Relic]@2602:306:33a3:6d30:d41:83e3:7c7d:43ca] has joined #wesnoth 20150813 15:40:35-!- Earlo [~Earlo@line-10441.dyn.kponet.fi] has joined #wesnoth 20150813 15:51:16< celticminstrel> Why is my [recall] not working. :( 20150813 15:51:56< celticminstrel> Blah. 20150813 15:52:14< celticminstrel> Apparently it respects normal recall rules. 20150813 15:52:19< celticminstrel> That's silly. 20150813 15:52:29< celticminstrel> Well, I suppose it can be useful sometimes, but still. 20150813 15:57:12< celticminstrel> So how am I supposed to get a unit from the recall list? 20150813 16:01:48< vultraz> celticminstrel: wesnoth.get_recall_units() 20150813 16:02:02< celticminstrel> That's what I'm trying right now. 20150813 16:03:01< celticminstrel> But it's returning nil. 20150813 16:03:15< vultraz> it's not empty? 20150813 16:03:22< vultraz> your recall list, that is 20150813 16:03:30< celticminstrel> Shouldn't be. 20150813 16:05:24< celticminstrel> Yeah, I can recall if I get to a keep. 20150813 16:05:51< vultraz> [recall] should not relate to terrain location 20150813 16:06:05< celticminstrel> ...wait, I see the problem. 20150813 16:08:09< vultraz> oh? 20150813 16:08:46< celticminstrel> The unit I was trying to recall normally should exist, but due to how I entered the scenario via debug commands, it didn't. 20150813 16:09:47< vultraz> celticminstrel: that's why I use this in my campaign when I introduce new characters: https://github.com/Vultraz/Shadows_of_Deception/blob/master/lua/wml_tags.lua#L587 20150813 16:11:38< celticminstrel> The issue is that the scenario I jumped from saved him to a variable. 20150813 16:12:00< celticminstrel> Okay, yeah, [recall] works after all when the unit actually exists on the recall list. 20150813 16:18:55-!- Kwandulin [~Miranda@p5B0084DE.dip0.t-ipconnect.de] has quit [Read error: Connection reset by peer] 20150813 16:31:54-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has quit [Remote host closed the connection] 20150813 16:32:00-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has joined #wesnoth 20150813 16:35:55-!- illumno [~illumno@dslb-088-068-156-032.088.068.pools.vodafone-ip.de] has joined #wesnoth 20150813 16:46:03< celticminstrel> How can I change the score of a default candidate action? 20150813 16:49:38< celticminstrel> I guess delete and re-add it... 20150813 16:51:24< vultraz> No idea 20150813 16:51:26< vultraz> modify_ai? 20150813 16:51:32< celticminstrel> Looks like it. 20150813 17:00:58< Ravana_> is there any way to make objectives not show for each first controlling turn? 20150813 17:01:21< celticminstrel> I'd like to know that too. 20150813 17:01:28< celticminstrel> I want to set the objectives on turn 2. 20150813 17:02:30< vultraz> each first controlling turn? 20150813 17:02:37< vultraz> what do you mean 20150813 17:02:49< celticminstrel> If there are no objectives, a "No objectives available" box pops up. 20150813 17:03:10< vultraz> You don't want to show them on turn 1? 20150813 17:03:20 * celticminstrel assumes "controlling turn" means "the turn of each side controlled by a human". 20150813 17:03:28< celticminstrel> I don't, not quite sure if that's what Ravana_ wants. 20150813 17:04:02< Ravana_> controlling turn means that it doesn't need to be turn 1, but when player gets control later, then shows too 20150813 17:04:11< vultraz> Ah 20150813 17:04:14< vultraz> No, not that I know of 20150813 17:05:27< vultraz> Hm 20150813 17:05:29< vultraz> actually had a thoight 20150813 17:06:09< vultraz> ahh 20150813 17:06:33< vultraz> Ravana_, celticminstrel: [objectives]silent=yes 20150813 17:08:42< Ravana_> will try it when I get to playtesting 20150813 17:08:54< celticminstrel> Saurian skirmishers don't have any non-spear-based upgrade, right? 20150813 17:09:30-!- wario [~wario_@unaffiliated/wario] has joined #wesnoth 20150813 17:10:03< vultraz> ....lmao, no they don't 20150813 17:10:34< celticminstrel> Bleh, I need a nice quick-reference for the units. 20150813 17:10:46< celticminstrel> One that doesn't involve clicking through six folders first. 20150813 17:11:15< vultraz> the help browser? :P 20150813 17:11:23< celticminstrel> ...eh? Maybe? 20150813 17:11:36< Ravana_> units.wesnoth.org 20150813 17:11:41< celticminstrel> I was about to say "it's not accessible from main menu". Then I found it. 20150813 17:11:46< Ravana_> few months old though 20150813 17:11:48 * vultraz facepalms 20150813 17:11:53 * vultraz shakes head 20150813 17:12:18< celticminstrel> I thought there was something about undiscovered units being hidden. 20150813 17:12:28< Ravana_> :discover 20150813 17:16:23< celticminstrel> ...hm, is type= and to_variable= sufficient in [unit]? 20150813 17:16:40< celticminstrel> Oh, I suppose I should also have side= 20150813 17:16:54< vultraz> You don't need side= if it's in [side] 20150813 17:16:56< vultraz> just a small note 20150813 17:17:04< celticminstrel> It's not though. 20150813 17:25:46< celticminstrel> This scenario has somehow turned into an escort mission. 20150813 17:25:56< vultraz> :/ 20150813 17:28:55< celticminstrel> I want to clear shroud from an area. 20150813 17:29:24< celticminstrel> I see there's a {CLEAR_FOG} macro... 20150813 17:29:32< celticminstrel> (Which I used at some point) 20150813 17:29:49< celticminstrel> That's another thing, it's a bit hard to get from the wiki to the macro reference. 20150813 17:31:11 * vultraz does not recommend using that 20150813 17:31:15< vultraz> not sure how up-to-date it is 20150813 17:31:22< celticminstrel> {CLEAR_FOG}? 20150813 17:31:33< celticminstrel> Well, I'm not going to just remove it... 20150813 17:31:41< celticminstrel> And it does work. 20150813 17:31:47< vultraz> the macro reference 20150813 17:31:51< celticminstrel> Or do you mean the macro re— right. 20150813 17:32:03< Ravana_> wiki macro reference only has those that are commented 20150813 17:32:06< celticminstrel> Well, it's better than nothing though. 20150813 17:32:15< celticminstrel> It's not on the wiki, Ravana_ 20150813 17:32:25< Ravana_> indeed 20150813 17:36:19< celticminstrel> Uh. What? My sighted event triggered on scenario start even though the units in question are nowhere near each other. 20150813 17:36:44< vultraz> I've had that happen 20150813 17:37:08< vultraz> If the filter happens to match for sides with no shroud, it fires 20150813 17:37:11< vultraz> so say 20150813 17:37:15< celticminstrel> Ahh. 20150813 17:37:53< vultraz> a sighted event for 2 and 3 with no shroud on either will fire, even if the map is covered for you on side 1 20150813 17:38:13< celticminstrel> Fixed. :D 20150813 17:39:20-!- illumno [~illumno@dslb-088-068-156-032.088.068.pools.vodafone-ip.de] has quit [Quit: Leaving] 20150813 17:56:44-!- Panda_ [~IMO@2a01:e35:8aae:fcb0:a6fd:e761:fbcd:cbc2] has joined #wesnoth 20150813 17:59:34< vultraz> :D 20150813 18:10:51-!- Johannes13 [Johannes@unaffiliated/johannes13] has quit [Read error: Connection reset by peer] 20150813 18:19:29-!- claymore2 [~hexchat@host109-154-204-244.range109-154.btcentralplus.com] has joined #wesnoth 20150813 18:23:50-!- Appleman1234 [~Appleman1@KD036009083115.au-net.ne.jp] has quit [Ping timeout: 272 seconds] 20150813 18:25:14-!- shurnormal [~uxio@unaffiliated/ushiu] has quit [Quit: poweroff] 20150813 18:48:33< aeth> interesting, I found a .tar.gz from January 2008 that contains all of my pre-SVN Aethaeryn's Map versions (in separate directories) up until (obviously) 17 January 2008... only missing 0.2.0, 0.2.1, ... 0.2.4, 0.3 for versions 1.3.15 until 1.4 20150813 18:51:48< celticminstrel> Okay, now I need to copy units from a variable to the recall list... 20150813 18:52:22< celticminstrel> This is going to have to be a FOREACH, I guess. 20150813 18:55:38< celticminstrel> Have I forgotten anything? 20150813 18:57:16< celticminstrel> Oh right! [story] time. 20150813 18:58:56< aeth> in the backup I found... the very first version of Fortress Assault 20150813 18:59:12< aeth> and since it's 1.3 it loads on 1.12 20150813 19:00:54-!- lipkab [~the_new_l@host-91-147-210-193.biatv.hu] has joined #wesnoth 20150813 19:11:48-!- Haudegen [~quassel@85.124.51.57] has quit [Ping timeout: 264 seconds] 20150813 19:13:28< aeth> I have no idea why DEFAULT_SCHEDULE_24H is mainline but I like that it is 20150813 19:16:15< aeth> It probably is not at all balanced for liminal units, though. It makes them garbage. Only 2 of 24 times do they have no penalty, and an additional 4 of 24 times where it's almost no penalty, for a total of 6 of 24 where they're basically "dawn" or "dusk" enough. Instead of the expected 8 of 24 if you just multiply all times of day by 4. 20150813 19:16:52< aeth> I guess the images could be used with the penalties adjusted 20150813 19:19:22-!- Haudegen [~quassel@85.124.51.57] has joined #wesnoth 20150813 19:20:02-!- Appleman1234 [~Appleman1@KD036009070013.au-net.ne.jp] has joined #wesnoth 20150813 19:25:40-!- Ravana_ [~Ravana@unaffiliated/ravana/x-2327071] has quit [Disconnected by services] 20150813 19:25:41-!- SZ_Bot__ [~Ravana@53-113-190-90.dyn.estpak.ee] has joined #wesnoth 20150813 19:26:13-!- SZ_Bot__ is now known as Ravana_ 20150813 19:26:15-!- Ravana_ [~Ravana@53-113-190-90.dyn.estpak.ee] has quit [Changing host] 20150813 19:26:16-!- Ravana_ [~Ravana@unaffiliated/ravana/x-2327071] has joined #wesnoth 20150813 19:53:22-!- lipkab [~the_new_l@host-91-147-210-193.biatv.hu] has quit [Quit: Leaving] 20150813 20:04:01< celticminstrel> ...okay, why did my recall list disappear... 20150813 20:06:48< aeth> What's the best way to temporarily stat-modify a unit for a turn duration that can change? 20150813 20:06:55< celticminstrel> [object] 20150813 20:06:59< celticminstrel> Probably 20150813 20:07:04< aeth> Even through Lua? hmm, I think so. 20150813 20:07:21< celticminstrel> Not sure about the "turn duration that can change" part though. 20150813 20:07:34< aeth> Doing it directly with Lua means I need to handle saving/loading the game, going to another scenario (possibly), and/or when the unit promotes (not amlas) 20150813 20:07:56< aeth> celticminstrel: Well I think what could happen is a 1 turn [object] that then keeps getting extended based on a counter that can go up or down 20150813 20:08:01< celticminstrel> The thing with [object] is that it's persistent. 20150813 20:08:06< aeth> not always 20150813 20:09:29< Ravana_> [object] can be removed, but it is not pretty 20150813 20:09:30< aeth> celticminstrel: according to http://wiki.wesnoth.org/DirectActionsWML#.5Bobject.5D it can have the duration of 'turn' 20150813 20:09:49< celticminstrel> Ravana_: Really? 20150813 20:09:55< aeth> celticminstrel: So maybe I can repeatedly apply it every time it expires until the temporary effect counter runs out, and if I store that counter as a unit variable it will persist 20150813 20:10:13< celticminstrel> Wouldn't it be something like "locate the object in [modifications]; delete it; transform the unit to its current type"? 20150813 20:10:25< celticminstrel> Assuming of course you didn't set the object to expire automatically. 20150813 20:10:37< celticminstrel> aeth: Sure. 20150813 20:10:59< Ravana_> celticminstrel: I don't find https://github.com/ProditorMagnus/Ageless-for-1-11/blob/master/data/IE_data/abilities/rune_macros.cfg pretty 20150813 20:11:03< aeth> Taking more potions increments the counter instead of stacking the effect, so the effect won't get really OP 20150813 20:11:40< aeth> celticminstrel: I'm guessing the only problem is knowing which unit to check the counter variable for at the start of every turn, and if the unit dies what to do with this data structure that contains the unit 20150813 20:12:07< celticminstrel> Ravana_: I think that's exactly what I said, but I guess you're right, it's kinda ugly. 20150813 20:12:44< celticminstrel> aeth: Put the counter variable in the unit, maybe? 20150813 20:12:57< aeth> celticminstrel: right, the counter variable itself can be stored in the unit 20150813 20:13:19< celticminstrel> Oh. 20150813 20:13:22< aeth> celticminstrel: And then on side n turn it can check for the units with counters on side n, and subtract 1 and if it's still > 0 reapply the [object] 20150813 20:13:30< celticminstrel> [filter_wml][variables]? 20150813 20:13:32< aeth> I think by side n turn the old [object] will have expired 20150813 20:13:53< aeth> celticminstrel: That filters based on who has the variable? 20150813 20:14:05< celticminstrel> I think it might check the variable's value. 20150813 20:14:19< celticminstrel> Rather than just its existence. 20150813 20:14:27< aeth> What I want to avoid doing is iterating over every unit on a side (especially the sides that contain NPCs and mobs) to check for a variable that will usually be nil or 0 20150813 20:14:46< celticminstrel> Well, unit filters already implicitly do that, right? 20150813 20:15:07< aeth> Ravana_: that's the kind of stuff you want to do in Lua not WML, which is probably why it looks so ugly 20150813 20:15:26< aeth> Ravana_: at the very least if you do it in Lua you reduce the line count a lot without using performance-hurting macros 20150813 20:16:36< aeth> celticminstrel: they might just iterate over all possible units behind the scenes, in which case it's probably better for me to just use Lua and store the units, and if it's no longer there then whatever 20150813 20:17:10< Ravana_> I simply wouldn't know how to do something this complicated in lua 20150813 20:17:16< celticminstrel> On load you could iterate through all units and restore ones that need to be checked. 20150813 20:17:30< aeth> Ravana_: very, very similarly 20150813 20:17:47< celticminstrel> Also, macros aren't all that performance-hurting. Most of their performance hurt (if any) would be at load time. 20150813 20:18:12< aeth> Ravana_: iteration is generally something like "for i=1,10 do" or "for i, whatever in ipairs(foo) do" or "for key, value in pairs(foo) do" 20150813 20:18:40< aeth> Ravana_: the only other thing you need to keep in mind is to use the Lua API rather than the WML API for whatever, but otherwise it's much shorter and easier 20150813 20:18:47< aeth> Afaik, Lua only has those three ways to iterate 20150813 20:19:17< Ravana_> for I,v in ipairs(wesnoth.sides) do 20150813 20:19:18< aeth> (Then there are a few other loops like e.g. while loops) 20150813 20:19:24< Ravana_> I think that is only I have used in lua 20150813 20:19:40< aeth> right, the loops are much shorter and easier to understand than the WML equivalents at least ime 20150813 20:19:51< aeth> easier to modify too 20150813 20:20:09< Ravana_> that was small i, forgot to escape it from autocorrect 20150813 20:21:54< celticminstrel> So, why is my recall list disappearing when I end the scenario? 20150813 20:22:23< aeth> Ravana_: usually what I do is I get units or hexes in Lua through the wesnoth API and loop over them in Lua 20150813 20:22:25< celticminstrel> This is a scenario in which your leader is absent. 20150813 20:22:45< celticminstrel> The recall list still exists within the scenario. 20150813 20:22:51< aeth> I don't know 20150813 20:25:32< aeth> Ravana_: feel free to look at how I'm using Lua. Only two things are messy right now: the gui2.lua file and functions (probably needs lots of rewriting), and the way I put Lua in macros to avoid requiring downloads instead of importing files. 20150813 20:25:40< celticminstrel> Well, I suppose I can store the whole recall list on scenario end and then restore it on scenario start... :/ 20150813 20:25:56< Ravana_> the way you put lua in macros was interesting 20150813 20:26:04< Ravana_> better than how EoHS does it 20150813 20:26:14< aeth> https://github.com/Aethaeryn/wesnoth-umc/tree/master/Aethaeryns_Mod 20150813 20:26:55-!- Narrat [~Crebiz@pD9F7F783.dip0.t-ipconnect.de] has joined #wesnoth 20150813 20:27:09< aeth> Eventually I am going to require a download, but I'll use the macro trick in other add-ons like Aethaeryn's Maps that will never require downloads 20150813 20:27:22< Ravana_> when its time to try rewrite vector and enthrallment then I guess I can just as well try do it in lua 20150813 20:28:57< aeth> If the effect is only doable in WML you could probably call the effect in Lua the way I read in macros (currently just regenerates), which is by setting WML as [literal][/literal] in a variable 20150813 20:29:26< aeth> Non-trivial WML in Lua tables will make you very angry... that filter.lua file took way too long. 20150813 20:29:52< aeth> Fortunately, almost all WML you use from Lua is trivial, and mostly treated like it's a Lua table. 20150813 20:31:53< aeth> (I don't think you can iterate over WML userdata in Lua, and changing the structure rather than getting/setting a value is either non-obvious or impossible) 20150813 20:53:47-!- claymore2 [~hexchat@host109-154-204-244.range109-154.btcentralplus.com] has quit [Quit: Leaving] 20150813 20:58:08< celticminstrel> Alright, everything seems to work now, yay. 20150813 21:06:47< celticminstrel> Except one. Blargh. 20150813 21:08:09< aeth> So I'm going to do a test game soon, maybe once I do one more thing ([object] stuff for potion effects?) 20150813 21:08:33< aeth> So many things have been added since the last game, e.g. character selection 20150813 21:09:06< aeth> And I'm going to experiment with the 24 hour schedule because the maps are long/huge 20150813 21:09:59< aeth> It's probably too much compared to the 6 turn schedule... too bad there's no 12 turn one (or 18?) 20150813 21:11:33< Ravana_> there is 16 though 20150813 21:12:01< aeth> the UtBS one? 20150813 21:12:05< aeth> not balanced 20150813 21:12:48< aeth> The problem with chaotic-bias is everyone will choose chaotic then 20150813 21:13:15< Ravana_> it has more day then night 20150813 21:13:38< aeth> oh, even worse then 20150813 21:14:01< aeth> only two mainline all-lawfuls... drakes and loyalist humans 20150813 21:14:10< Ravana_> 6-5-5 I think 20150813 21:14:15< aeth> I guess also merfolk and woses and a few more niche 20150813 21:14:58< aeth> I like the 24 hour schedule, let's see if it can work 20150813 21:15:20< aeth> lot of RPG turns are very short, mostly turn ending to heal 20150813 21:17:03< aeth> (loyalist humans aren't all-lawfuls if you count magi) 20150813 21:17:29< aeth> (well, the Red Mage branch of magi) 20150813 21:17:34< celticminstrel> Drakes are paired with saurians, as well. 20150813 21:17:51< aeth> celticminstrel: in Default Era 20150813 21:17:58< celticminstrel> Yes. 20150813 21:17:59< aeth> I'm talking RPG 20150813 21:18:11< aeth> i.e. races not factiona 20150813 21:18:15< aeth> *factions 20150813 21:18:29< celticminstrel> There's no particular reason why RPG can't use factions, if you want it to. :P 20150813 21:18:34< aeth> loyalist humans = Humans that aren't outlaws (I guess woodsman is neutral) 20150813 21:19:12< aeth> celticminstrel: My add-on is a very different game than mainline, it just doesn't require a download (yet) and uses mainline units/combat 20150813 21:20:00< aeth> (mostly) 20150813 21:20:52< aeth> I am probably going to need to introduce more level 0s so a level 0 only RPG start has more options 20150813 21:21:50< celticminstrel> If I look in the save file, I can see the missing units under [carryover_sides]. 20150813 21:22:03< celticminstrel> (Or [carryover_sides_start] in the pre-scenario save.) 20150813 21:22:33< celticminstrel> But they do not show up in the recall list in-game. 20150813 21:23:33< aeth> celticminstrel: Maybe recall lists are tied to leaders? idk 20150813 21:24:04< celticminstrel> Whoops, I just pressed alt-space instead of alt-R. 20150813 21:32:32< xixor> hi 20150813 21:40:17< aeth> I'll need level 0s for: mage/DA, cavalry/horse, thief/fencer, fencer/sergeant, footpad?, HI?; all elves but shaman, shaman; troll, all orcs (except leader?), wolf rider (?); all saurians, all drakes; all undead (separately?) but WC, dwarves, gryphon rider (?), wose, etc. 20150813 21:41:05< aeth> I'm aware there's an era that does/did this, but these sprites are easy and if it's still around it probably doesn't meet my exact needs 20150813 21:41:07< celticminstrel> Ugh. 20150813 21:42:15< celticminstrel> I can even recall one of them with wesnoth.fire("recall", {whatever}). 20150813 21:43:58< celticminstrel> ...ohhh. Duh. 20150813 21:44:13< celticminstrel> I'm wrong about saying they're in the save file, I think. 20150813 21:44:15-!- shadowm_desktop [ignacio@wesnoth/developer/shadowm] has joined #wesnoth 20150813 21:45:58< aeth> my list forgot naga/merfolk and khalifate 20150813 21:46:31-!- Johannes13 [Johannes@unaffiliated/johannes13] has joined #wesnoth 20150813 21:47:54< celticminstrel> Oh yeah, and khalifate also has liminals, right? 20150813 21:48:48< vultraz> Yes 20150813 21:48:52< vultraz> IIRC 20150813 21:51:30< shadowm> Yes, it does. 20150813 21:57:13-!- Earlo [~Earlo@line-10441.dyn.kponet.fi] has quit [Remote host closed the connection] 20150813 22:12:12< aeth> ugh, I cannot find out how to give a unit an object from Lua. 20150813 22:12:18< aeth> i.e. what to wesnoth.fire if it is even possible 20150813 22:12:38< celticminstrel> You want to call [object] as an action? 20150813 22:12:48< aeth> I need to fire something that adds an object 20150813 22:13:06< shadowm> [object] (wesnoth.wml_actions.object). 20150813 22:13:13< aeth> wesnoth.fire(..., T.object { duration = "turn", T.filter { x = x, y = y }, T.effect { ... }}) 20150813 22:13:22< aeth> or something 20150813 22:13:26< celticminstrel> Yes, 20150813 22:13:34< celticminstrel> Also probably silent="yes" 20150813 22:13:59< shadowm> wesnoth.fire("object", { contents of the [object] tag }) too. 20150813 22:14:08< aeth> ah the lack of silent is why it pops up some empty square 20150813 22:14:14< celticminstrel> Yes. 20150813 22:14:15< shadowm> wesnoth.fire("tag", { contents of the [tag] }). 20150813 22:15:18< aeth> ok well now I know it's firing, and just not actually applying it to the unit 20150813 22:15:46< aeth> I wonder if it would actually be easier to just reimplement the desired subset of [object] that I need, in Lua. The only problem is that Lua-based unit modifications get wiped on promotion unless I add special handling for it. 20150813 22:16:03< aeth> I also assume there would be issues with saving and new scenarios. 20150813 22:21:04< aeth> oh I was misreading the documentation for [effect] syntax and of course WML fails silently unlike the Lua 20150813 22:22:40< Ravana_> I remember some discussion about having silent=yes be default unless object has description 20150813 22:23:58< vultraz> That would be useful 20150813 22:31:46-!- Barbosabyte [~andre@93.102.146.25.rev.optimus.pt] has joined #wesnoth 20150813 22:31:55< celticminstrel> Aha! Works now! 20150813 22:32:44< vultraz> const bool silent = !cfg.has_attribute("description") ? true : cfg["silent"].to_bool(); 20150813 22:33:25< shadowm> How about check the silent attribute first then default to something depending on the presence of .desription? 20150813 22:33:40-!- Barbosabyte [~andre@93.102.146.25.rev.optimus.pt] has quit [Quit: Leaving] 20150813 22:37:48< vultraz> bool silent = cfg["silent"].to_bool(); if (!cfg.has_attribute("description")) { silent = true }; ? 20150813 22:39:49< vultraz> (without final ; ) 20150813 22:39:51< shadowm> bool silent; if(cfg.has_attribute("silent")) { silent = cfg["silent"].to_bool(); } else { silent = !cfg.has_attribute("description"); } 20150813 22:45:04< vultraz> Is there any particular coding practice benefit of that way? 20150813 22:45:30< shadowm> The customer is always right. 20150813 22:46:02< shadowm> If the WML coder wants silent=no with a missing description then respect that. 20150813 22:46:48< vultraz> Ah, I see 20150813 22:48:18< shadowm> If you mean why I unfolded the ternary operator into an if/else block, it's because of personal preference and readability. 20150813 22:49:02-!- prkc [~prkc@4E5CC75C.dsl.pool.telekom.hu] has quit [Quit: Leaving] 20150813 22:49:13< shadowm> That's equilvent to const bool silent = cfg.has_attribute("silent") ? cfg["silent"].to_bool() : !cfg.has_attribute("description"); 20150813 22:49:17< zookeeper> if image+name+description are all empty, then i guess it could be not displayed 20150813 22:49:25< shadowm> Which is better is up to you. 20150813 22:49:47< Ravana_> name is used mainly to filter object for removal 20150813 22:50:19< shadowm> You could also go a step further and make it const bool silent = cfg["silent"].to_bool(!cfg.has_attribute("description")); 20150813 22:51:13< shadowm> Ravana_: No. 20150813 22:51:54< shadowm> There is name, which is used as the caption for the transient message box displayed when the object is applied; and then there is id, which is what you really should be using for filtering. 20150813 22:52:18< Ravana_> id can not be used for filtering, because only 1 object with single id is allowed 20150813 22:53:10< shadowm> It can be used for filtering if you are okay with having only unique objects. 20150813 22:53:13< vultraz> You do realize the entire [object] block is written, so technically you could have an item_id or whatever key and then use that? 20150813 22:53:57< Ravana_> that would work, however alone I wouldn't have thought of this 20150813 22:54:21< vultraz> :) 20150813 22:57:12-!- wario [~wario_@unaffiliated/wario] has quit [Quit: Leaving] 20150813 22:57:59< Ravana_> added to wiki 20150813 22:58:19< shadowm> vultraz: Is it, really? 20150813 22:59:32< shadowm> More importantly, is this guaranteed to remain the case if the code in question gets changed in the future? You might want to add a unit test for that. 20150813 22:59:33< vultraz> I use the hack successfully, so yes. 20150813 23:00:37< vultraz> It's a simple u->add_modification("object", cfg.get_config(), no_add); 20150813 23:01:15< shadowm> Someone might change [object]'s implementation so only recognized attributes and children are preserved. 20150813 23:02:10< shadowm> Hence it'd be advisable to have this tested. 20150813 23:08:48-!- zookeeper [~lmsnie@wesnoth/developer/zookeeper] has quit [Ping timeout: 250 seconds] 20150813 23:14:22< aeth> ah, if I use add_modification instead of fire, I don't need to make it silent, and I don't need a filter 20150813 23:14:34< aeth> vultraz: thanks 20150813 23:19:02< aeth> too bad I didn't quite get it ready for the test game because I still need to add the dummy ability and the counter 20150813 23:36:58-!- Haudegen [~quassel@85.124.51.57] has quit [Ping timeout: 250 seconds] 20150813 23:46:09-!- Haudegen [~quassel@85.124.51.57] has joined #wesnoth --- Log closed Fri Aug 14 00:00:08 2015