--- Log opened Sun Aug 09 00:00:08 2015 20150809 00:05:01-!- Panda_ [~IMO@2a01:e35:8aae:fcb0:a6fd:e761:fbcd:cbc2] has quit [Remote host closed the connection] 20150809 00:11:46-!- wario [~wario_@unaffiliated/wario] has quit [Quit: Leaving] 20150809 00:23:12-!- Falcon` [falcon@hell.kolosowscy.pl] has quit [Ping timeout: 264 seconds] 20150809 00:31:36-!- Falcon` [falcon@hell.kolosowscy.pl] has joined #wesnoth 20150809 01:15:47-!- Appleman1234_ [~Appleman1@KD106179120111.au-net.ne.jp] has joined #wesnoth 20150809 01:18:24-!- ancestral [~ancestral@75-161-229-81.mpls.qwest.net] has joined #wesnoth 20150809 01:19:01-!- Appleman1234__ [~Appleman1@KD036009082065.au-net.ne.jp] has quit [Ping timeout: 246 seconds] 20150809 01:24:01-!- Appleman1234_ is now known as Appleman1234 20150809 01:31:31-!- shadowm_desktop [ignacio@wesnoth/developer/shadowm] has joined #wesnoth 20150809 01:33:43-!- shadowm_laptop [ignacio@wesnoth/developer/shadowm] has quit [Ping timeout: 246 seconds] 20150809 01:43:21-!- ancestral [~ancestral@75-161-229-81.mpls.qwest.net] has quit [Quit: i go nstuf kthxbai] 20150809 01:56:20-!- ancestral [~ancestral@75-161-229-81.mpls.qwest.net] has joined #wesnoth 20150809 02:09:29< aeth> I always thought the beam of light was ^li but it's actually ^Ii and the font code font isn't really good for telling them apart. 20150809 02:12:04< celticminstrel> I think all terrain codes are uppercase-lowercase. 20150809 02:12:18< celticminstrel> And then possibly another lowercase or a symbol. 20150809 02:12:23< aeth> yes, in hindsight it makes sense 20150809 02:12:40< aeth> but honestly the only reason I never added ^Ii to my mod was because I thought it was ^li 20150809 02:12:45< aeth> all this time 20150809 02:13:00< aeth> for LIght of course 20150809 02:13:10< aeth> as opposed to illuminated illumination 20150809 02:13:50< DeFender1031> aeth, you mean you don't turn off the illuminated illumination when you leave a room or before you go to bed? 20150809 02:14:27< DeFender1031> using the illuminated illumination switch? 20150809 02:14:52< celticminstrel> XD 20150809 02:15:00< aeth> lol 20150809 02:15:15-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has quit [Ping timeout: 246 seconds] 20150809 02:15:55< aeth> and after spending the last few hours on it I'm ready to not touch the code dealing with terrain for another few years. :-p 20150809 02:16:02< aeth> even though it could be made so better in GUI2 20150809 02:16:33< DeFender1031> of course, during the day, you may not need to turn on the illuminated illumination, because the sun provides its own illuminati. 20150809 02:16:57< aeth> DeFender1031: The illuminated illumination of the main illumination source of the illumination time of day is way too illuminated. 20150809 02:17:16-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has joined #wesnoth 20150809 02:17:46< DeFender1031> so use... sun...glasses? 20150809 02:17:50< DeFender1031> :P 20150809 02:19:24-!- ArneBab_ [~quassel@55d4591c.access.ecotel.net] has joined #wesnoth 20150809 02:21:19< aeth> completely unrelated, someone should make an MMO version of Wesnoth by removing the map size limit and the side number limit. 20150809 02:21:30< aeth> Don't remove the simultaneous turn limit. Just wait around all day for it to be your turn. 20150809 02:22:40-!- ArneBab [~quassel@55d40073.access.ecotel.net] has quit [Ping timeout: 250 seconds] 20150809 02:35:06< DeFender1031> that sounds like the worst MMO ever. 20150809 02:40:09< celticminstrel> Pfffft. 20150809 02:43:08< aeth> More seriously, games with simultaneous turns and a very short timer would be very different from present day MP Wesnoth. 20150809 02:46:36-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has quit [Ping timeout: 264 seconds] 20150809 02:47:09-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has joined #wesnoth 20150809 02:48:22< DeFender1031> i'm not even sure how wesnoth would work with simultaneous turns... 20150809 02:48:58< DeFender1031> I suppose allied sides could all take their turn at once... 20150809 02:49:26-!- Appleman1234_ [~Appleman1@KD036009073009.au-net.ne.jp] has joined #wesnoth 20150809 02:49:30< aeth> Simultaneous same-team turns is probably the only way Wesnoth could work, and it would require a different way of handling the MP server because it would need to know which side moved the unit first or did the scripted (e.g. right click menu changes terrain or w/e) action first where conflicts exist. 20150809 02:50:12< aeth> e.g. if two units choose the same hex or two players choose mutually conflicting scripted actions. 20150809 02:50:33< celticminstrel> Eh. 20150809 02:50:40< celticminstrel> I don't think that would work very well either. 20150809 02:50:46< aeth> Well, depends. 20150809 02:50:59< celticminstrel> Hm. Maybe I'll try some 1.12 stuff now. 20150809 02:51:04< aeth> For fancy UMC like RPGs, simultaneous same-team turns would be really, really, really useful (especially if combined with a timer) because they just take soooo long 20150809 02:51:20< aeth> and then p3 forgets that it's p3's turn while waiting and it takes even longer 20150809 02:51:29< celticminstrel> I need lots more graphics. 20150809 02:51:37< celticminstrel> But that aside. 20150809 02:51:39-!- Appleman1234 [~Appleman1@KD106179120111.au-net.ne.jp] has quit [Ping timeout: 244 seconds] 20150809 02:52:28< aeth> I think one problem is e.g. if players are shopping at a shop with limited quantity and they both try to buy the same thing 20150809 02:53:03< celticminstrel> Oh yeah, I wanted to insert a whole new scenario into my campaign. 20150809 02:53:24< celticminstrel> Technically two, with the first being just a cutscen set on the map of a currently existing scenario. 20150809 02:53:28< celticminstrel> ^+e 20150809 02:53:43< ancestral> “aeth: For fancy UMC like RPGs, simultaneous same-team turns would be really, really, really useful (especially if combined with a timer) because they just take soooo long” 20150809 02:53:47< ancestral> OMG yes 20150809 02:54:11< ancestral> There are too many synchronous tasks, too 20150809 02:54:37< ancestral> If you go to a shop, you don’t see people typing messages 20150809 03:00:19< celticminstrel> Hmm. I would like to trigger an event when... 20150809 03:00:48< celticminstrel> "any unit moves onto a bridge AND the leader and at least N other units are within M hexes of the bridge" 20150809 03:01:06< celticminstrel> I've got the first part down, as a note. 20150809 03:04:07< celticminstrel> Maybe [filter_condition] with [have_unit]... 20150809 03:04:19< celticminstrel> Sorry, [has_unit]. 20150809 03:04:23< celticminstrel> Wait. 20150809 03:04:30< celticminstrel> There's both? 20150809 03:04:52< celticminstrel> Ah, [has_unit] is part of a side filter, so I was right the first time. 20150809 03:05:56-!- Appleman1234_ is now known as Appleman1234 20150809 03:09:04-!- prkc [~prkc@catv-89-134-159-162.catv.broadband.hu] has quit [Remote host closed the connection] 20150809 03:09:31< celticminstrel> Alternatively, I could store any unit that reaches the bridge, and end the scenario (moving them all to the recall list) when at least N have reached the bridge... 20150809 03:09:48< celticminstrel> Or, when all of them have? 20150809 03:10:02< celticminstrel> The only problem would be if the leader reaches the bridge. 20150809 03:11:12< celticminstrel> OR I could say it only ends if it's the leader that reaches the bridge... 20150809 03:11:40< celticminstrel> Possibly combined with parts of the preceding strategy. 20150809 03:24:45< celticminstrel> Unrelatedly, I think I need to somehow chart out all the relevant branching in this campaign. 20150809 03:37:00-!- JackBauer24 [~JackBauer@89-76-206-248.dynamic.chello.pl] has quit [Ping timeout: 255 seconds] 20150809 03:42:50< ancestral> aeth: If you have a game or scenario where there is a rigid action order, you can successfully use [end_turn] to end the turn for the player 20150809 03:43:27< ancestral> For example, if you had only one unit, or only 4 actions, or som many movement points, etc. 20150809 03:44:02< ancestral> Or click your vote for the poll 20150809 03:47:57< aeth> < ancestral> If you go to a shop, you don’t see people typing messages <- right so the easiest way to pause is to just right click or bring up help; idk why they actually implemented a pause for observers 20150809 03:48:30< celticminstrel> Huh? 20150809 03:49:00< aeth> celticminstrel: observe a game, right click, you've now paused 20150809 03:50:05< celticminstrel> Won't it rush after you let the menu close? 20150809 03:50:12< celticminstrel> Unless you're still in replay. 20150809 03:50:36< aeth> rush? 20150809 03:50:40< celticminstrel> I haven't played multiplayer for awhile though. 20150809 03:50:54< celticminstrel> Like, move faster to catch up whatever happened while "paused". 20150809 03:51:13< celticminstrel> Actually I've never played multiplayer on 1.12. 20150809 03:51:18< aeth> I don't think so, I think Quick Replays is just if you're still in replay 20150809 03:51:31< aeth> it'll move faster though because it doesn't record the time it takes for players to think, etc. 20150809 03:52:37< aeth> ancestral: it's rarely that simple though because e.g. if you have inventory then suddenly there's infinite things you could be doing at 0 MP 20150809 03:52:38< ancestral> aeth: There is a checkbox for “go in blind” or something 20150809 03:52:42< celticminstrel> Yeah, recording that woud be pretty silly. 20150809 03:52:44< ancestral> On the multiplayer window 20150809 03:52:46< aeth> ancestral: it's... strange 20150809 03:52:47< celticminstrel> ^would 20150809 03:52:56< aeth> ancestral: it doesn't even blind you from everything 20150809 03:53:03< ancestral> I wasn’t referring to that though 20150809 03:53:41< ancestral> I was referring to the sycnhronous nature of modal (?) dialog boxes (like the shop, or messages requiring a click, etc.), which suppresses events 20150809 03:53:50< ancestral> Until after the click 20150809 03:53:58< ancestral> So if I don’t hit OK when I’m in the shop 20150809 03:54:02< ancestral> The game waits 20150809 03:54:04< aeth> right, that definitely would cause issues with same side simultaneous turns 20150809 03:54:16< ancestral> When I click OK then all the events fire and I see all the queued up messages from other players 20150809 03:54:18< ancestral> That is a problem 20150809 03:54:42< aeth> What you'd have to do to allow simul stuff is have one side (the host or the server?) that is priviledged 20150809 03:54:54< aeth> Which I guess would make cheating way easier if it's the host because at least right now host cheating just OOSes 20150809 03:55:36< aeth> but you'd need to get rid of all of the blocking and make it just be "first event/action/whatever received" 20150809 04:04:10< aeth> I just saw a really small map on the MP server, not the first time I saw it. tiny, probably like 10 wide and 4 tall or something 20150809 04:04:24< aeth> So not to be outdone I made a 1 tall and 5 wide map 20150809 04:04:31< aeth> keep - castle - village - castle -keep 20150809 04:06:08-!- ancestral [~ancestral@75-161-229-81.mpls.qwest.net] has quit [Quit: i go nstuf kthxbai] 20150809 04:11:13-!- oldlaptop [~quassel@50-107-125-36.adr02.mskg.mi.frontiernet.net] has quit [Ping timeout: 244 seconds] 20150809 04:12:14-!- oldlaptop [~quassel@50-107-125-36.adr02.mskg.mi.frontiernet.net] has joined #wesnoth 20150809 04:19:16-!- ancestral [~ancestral@75-161-229-81.mpls.qwest.net] has joined #wesnoth 20150809 04:19:38< ancestral> aeth: 1 x 5 map? nice 20150809 04:20:01< ancestral> I’d say the person who goes first has the advantage 20150809 04:21:37< celticminstrel> A map that small is patently ridiculous. 20150809 04:21:51< celticminstrel> Even 10x4 is pretty crazy. 20150809 04:25:44-!- jemadux [~jemadux@unaffiliated/jemadux] has joined #wesnoth 20150809 04:27:50< ancestral> Of course it is 20150809 04:28:19< ancestral> We’ll call it Isar’s Arena 20150809 04:37:57< celticminstrel> Ehh, it looks like I missed a check here... 20150809 04:39:46< celticminstrel> In one scenario, several units leave. In this one, they return with reinforcements, and a specific one of them is set up as a temporary leader... but there's no check to make sure that that specific unit exists, so if it died before they left in the earlier scenario, things won't make sense... 20150809 04:40:48< celticminstrel> By the way, there's actually no way to end an event early, is there? 20150809 04:41:02< celticminstrel> Like "return". 20150809 04:50:28< aeth> ancestral: actually no the person who goes first is not the advantage, it's the person who has the strongest leader 20150809 04:50:47< aeth> ancestral: in my one test game the troll won. you kill the one recruit with the regular, occupy the castle with your leader, and then win 20150809 04:50:51< ancestral> Assuming the leaders are the same 20150809 04:50:56< aeth> right, assuming 20150809 04:51:06< aeth> but the smaller the map the more your leader matters 20150809 04:51:28< ancestral> So I think Wesnoth’s battle system is too complex 20150809 04:51:47< ancestral> The number of attacks is too RPG-y for me 20150809 04:52:35< ancestral> Either take a Risk-like approach (like in Civ 5, where you can do a round of attacks, and have an option to repeat if you like) 20150809 04:53:17< ancestral> Or… static numbers? :-o 20150809 04:54:06< ancestral> I guess what I’m getting at is, if I attack another unit 20150809 04:54:27< ancestral> I want a resolution, I don’t need to see how the attack unfold 20150809 05:07:45< aeth> ancestral: maybe theoretically it doesn't make that much sense, and even practically because of all of the animations required 20150809 05:07:50< aeth> ancestral: but it sure makes Wesnoth look nice 20150809 05:08:53< aeth> in practice I think a lot of people turn on accelerated x 16 speed though 20150809 05:09:15< ancestral> Anything above 4x or 8x is just weird 20150809 05:09:33< ancestral> What I mean is, I don’t want super fast sound effects an speed 20150809 05:09:45< ancestral> I just want fewer of them 20150809 05:11:23< aeth> well 20150809 05:11:32< aeth> you're actually going to get more of them once the switch to SDL2 happens 20150809 05:15:19-!- Kwandulin [~Miranda@p5B009008.dip0.t-ipconnect.de] has joined #wesnoth 20150809 05:17:36< aeth> ancestral: you want chess or something where there's instant resolution and it's predictable, but a lot of games want to try to build drama 20150809 05:17:46< aeth> ancestral: so e.g. if that mage misses 3 attacks will it hit the 4th 20150809 05:17:54< ancestral> I don’t know what I want exactly 20150809 05:18:08< ancestral> Maybe more predictability 20150809 05:18:48< ancestral> And fewer yet different ability stats 20150809 05:19:35< aeth> Wesnoth's very predictable, you can see it right in the Damage Calculations 20150809 05:19:44< aeth> But I guess you mean that you want e.g. everyone to be marksman or magical 20150809 05:20:10< aeth> or more abilities like that 20150809 05:20:22< ancestral> Well 20150809 05:20:23< aeth> Wesnoth does everything based on dodge rather than on attacker skill, which can be counterintuitive 20150809 05:20:47< ancestral> Fewer numbers, fewer percentages 20150809 05:21:05< ancestral> Fewer variables? 20150809 05:21:17< aeth> Most games with combat actually are far more complex, they just hide most of it 20150809 05:21:29< aeth> And e.g. if they allow stacks it gets to be predictable, larger stack usually winning 20150809 05:22:25< aeth> I think Wesnoth might seem complex because it's statistical and exposes you to a lot of it 20150809 05:23:57< aeth> ancestral: having (large) stacks would probably solve all your problems because they would make the game predictable 20150809 05:24:23< aeth> sure that magical unit might miss 4/4 but not all of the 30 units will miss 20150809 05:24:28< ancestral> That and all the numbers escalate quickly 20150809 05:24:30< aeth> Alternatively, far more rounds of combat 20150809 05:24:42< ancestral> 40 HP, 9-4 attacks, etc. 20150809 05:24:52< aeth> a 1-30 magical strike is going to do more damage than a 30-1, probably. (Has anyone done the numbers on that?) 20150809 05:25:46< aeth> or at the very least it will be almost impossible to *miss* and the missing is what we remember 20150809 05:34:41< celticminstrel> Okay, turns out I only really have four major decision points, and they don't all interact with each other. 20150809 05:54:23-!- Appleman1234_ [~Appleman1@KD036009083038.au-net.ne.jp] has joined #wesnoth 20150809 05:56:47-!- Appleman1234 [~Appleman1@KD036009073009.au-net.ne.jp] has quit [Ping timeout: 256 seconds] 20150809 06:00:01-!- Appleman1234_ is now known as Appleman1234 20150809 06:06:04-!- ancestral [~ancestral@75-161-229-81.mpls.qwest.net] has quit [Quit: i go nstuf kthxbai] 20150809 06:07:26-!- ancestral [~ancestral@75-161-229-81.mpls.qwest.net] has joined #wesnoth 20150809 06:50:05-!- Xara2 [Yangyf@2001:cc0:2020:4010:d87d:287c:e26a:fb09] has joined #wesnoth 20150809 06:53:27-!- Xara [Yangyf@2001:cc0:2020:4010:c4e3:65ef:b2c9:65e2] has quit [Ping timeout: 244 seconds] 20150809 07:13:24< aeth> ancestral: how would you implement your idea on Wesnoth's engine? 20150809 07:13:42< ancestral> aeth: Good question, I’ve been thinking about it 20150809 07:15:55-!- [Relic] [~Relic]@2602:306:33a3:6d30:2033:7dc1:115b:dece] has quit [Remote host closed the connection] 20150809 07:16:16< ancestral> aeth: Can you have events that trigger on an attack? 20150809 07:16:25< ancestral> And can modify the attack? 20150809 07:22:54< aeth> http://wiki.wesnoth.org/EventWML#.5Bfilter_attack.5D 20150809 07:24:50< aeth> and in Lua: http://wiki.wesnoth.org/LuaWML:Events#wesnoth.game_events 20150809 07:24:54< aeth> http://wiki.wesnoth.org/LuaWML:Misc#wesnoth.current 20150809 07:25:24< aeth> also that first Lua one is useful because that's what I need to fix my add-on for saves, I hope I remember in the morning 20150809 07:31:09< ancestral> Mechanically, how I might see cobat working is like this 20150809 07:31:12< ancestral> *combat 20150809 07:31:59< ancestral> There are basically three types of attacks: Strength, Agility, Intelligence; or really, Melee, Ranged and Magic 20150809 07:32:21< ancestral> Every character has a number; let’s just say 1-10 20150809 07:34:54< ancestral> There’d be a 4th stat of health (which, maybe would be the two highest numbers added together, or possibly all three added together) 20150809 07:35:38< ancestral> So a warrior, 6/2/0 fights an archer, 4/5/0. Attacker chooses melee 20150809 07:35:59-!- celticminstrel [~celmin@unaffiliated/celticminstrel] has quit [Quit: And lo! The computer falls into a deep sleep, to awake again some other day!] 20150809 07:36:10< ancestral> What I haven’t hammered out is how much it deals and how much randomness is involved 20150809 07:36:43< aeth> There should be three kinds of attacks: melee, ranged, and aeth 20150809 07:36:48< ancestral> Haha 20150809 07:36:53< aeth> Only aeth has aeth, and the attack's berserk 20150809 07:36:54-!- Smar [~smar@freenet/translator/finnish/Smar] has quit [Ping timeout: 246 seconds] 20150809 07:37:05< aeth> The only way to counter an aeth is with an aeth 20150809 07:37:19< aeth> (on defense, anyway) 20150809 07:37:41< ancestral> aeth: But what happens when aeth attacks aeth? 20150809 07:37:52< ancestral> Would there be a huge explosion? 20150809 07:38:01< aeth> yes, that should be the special attack animation 20150809 07:38:23< ancestral> Or maybe, since aeth is indestructible, everything else explodes 20150809 07:38:30< ancestral> Leaving just aeth 20150809 07:38:56< aeth> well, aeth isn't indestructable, e.g. if someone has berserk on any other attack type that's basically just as effective as aeth is against them 20150809 07:39:01< aeth> it's a matter of who attacks first then 20150809 07:39:20-!- Smar [~smar@freenet/translator/finnish/Smar] has joined #wesnoth 20150809 07:39:43< aeth> ancestral: there should totally be nuclear weapons in your game though. If they are played, both sides lose and the map is destroyed 20150809 07:39:49< ancestral> Anyway, leveling up would be simpler; all level 1’s are worth 1 pt, all level 2’s are worth 2 pts., etc. 20150809 07:40:12< aeth> pt? 20150809 07:40:34< ancestral> aeth: “The best strategy is not to play.” 20150809 07:40:40< aeth> leveling up in Wesnoth, well, the thing is, you can level up without a single kill or doing much damage at all if e.g. you have good dodge and they keep missing 20150809 07:40:51< aeth> ancestral: The best strategy is proxy war, actually. 20150809 07:41:05< aeth> Attack the neutral AI players to try to dominate that way 20150809 07:41:28< ancestral> WarGames. Starring Matthew Broderick 20150809 07:41:35< aeth> You'd always be on the brink of war between the players, but once that happens it's game over. 20150809 07:42:20< ancestral> aeth: Sure, maybe you get a point just from surviving 20150809 07:42:41< aeth> I should revive Thunderstone just so I can give the game nuclear weapons. Maybe there would be a missile launcher vehicle (spawns missles, i.e. long ranged attack with a level 0, loses itself on attack) and the fouth level is nuclear weapons 20150809 07:42:53< ancestral> Sounds like tons of work 20150809 07:43:12< aeth> Not really, spawning units is trivial. The only work would be balancing the spawning and getting the AI to do it. 20150809 07:43:29< aeth> It would be an interesting strategy, try to stop something from promoting so the world doesn't end. 20150809 07:43:34< aeth> And it would break stalemates. 20150809 07:43:53< ancestral> Meanwhile, I’ll make a low-fantasy game called Sunderthrone 20150809 07:44:15< aeth> I guess the harder part would be keeping track of which missle belongs to which vehicle, but I think you could do that in a variable in the missile itself, and on the death of the missle just hand it to the unit if it's still alive. 20150809 07:44:21< ancestral> Blunderbone 20150809 07:44:28< aeth> no, go the other way and keep Thunder 20150809 07:44:34< aeth> but change stone to, idk. something bigger 20150809 07:44:37< aeth> dome? 20150809 07:44:40< aeth> Thunderdome? 20150809 07:44:43< ancestral> Hah 20150809 07:45:26< aeth> s/hand it/hand the experience/ 20150809 07:45:50< ancestral> Wonderzone 20150809 07:46:01< ancestral> Thunderzone 20150809 07:46:14< ancestral> It’s like a War zone meets Thunderstone 20150809 07:46:59< ancestral> Zone makes it sound modern and militaristic 20150809 07:47:14< ancestral> Just like “sector” 20150809 07:47:18< aeth> if I bring back Thunderstone I'd have to break the trope on orcs, idk, maybe make them all great scientists and very cultured. 20150809 07:47:33< aeth> I mean a long time has passed, why would they still behave the same way? 20150809 07:51:05-!- patwotrik [~patwotrik@nl118-172-202.student.uu.se] has joined #wesnoth 20150809 07:53:19< ancestral> Maybe they wouldn’t call themselves “Orcs” anymore. Maybe they’d be called “Sophists” 20150809 07:53:39< ancestral> Or something 20150809 07:54:00< aeth> or wait 20150809 07:54:05< aeth> I could make them entirely goblins 20150809 07:54:12< aeth> because the goblins killed off all the orcs at some point 20150809 07:54:35< aeth> I think in Wesnoth lore, goblins are technically orcs, but if all the larger orcs got killed maybe genetically they'd be smaller 20150809 07:55:24< ancestral> aeth: There could be culturally split communities that have diverged enough over time to have evolved separately 20150809 07:55:51< ancestral> Or other types of “goblins” that aren’t from Orcish lineage 20150809 07:56:05< ancestral> (i.e. Goblin Trolls, Goblin Ogres, etc.) 20150809 07:57:20< aeth> see, that's the trap of Thunderstone, it's so fun to think about but it would be years of work 20150809 07:57:36< aeth> all for a niche of a niche 20150809 07:58:06< ancestral> You have to focus on one thing, one place 20150809 07:58:45< aeth> right, I need to get my old Wesnoth stuff running, not create new things 20150809 07:59:21< aeth> I might need to make more level 0s, though, because there aren't enough. Not a whole era, though. 20150809 08:00:22< aeth> maybe I can come up with something standalone for the faction I had put a lot of sprite work into (humans) 20150809 08:00:26< aeth> or some time travel thing 20150809 08:09:57-!- ancestral [~ancestral@75-161-229-81.mpls.qwest.net] has quit [Quit: i go nstuf kthxbai] 20150809 08:18:36-!- zookeeper [~lmsnie@37.35.27.57] has joined #wesnoth 20150809 08:18:44-!- zookeeper [~lmsnie@37.35.27.57] has quit [Changing host] 20150809 08:18:44-!- zookeeper [~lmsnie@wesnoth/developer/zookeeper] has joined #wesnoth 20150809 08:34:24-!- wario [~wario_@unaffiliated/wario] has joined #wesnoth 20150809 08:44:26-!- Xara [~Yangyf@210.77.22.55] has joined #wesnoth 20150809 08:44:27-!- Xara2 [Yangyf@2001:cc0:2020:4010:d87d:287c:e26a:fb09] has quit [Ping timeout: 246 seconds] 20150809 08:59:01-!- Appleman1234_ [~Appleman1@KD036009078197.au-net.ne.jp] has joined #wesnoth 20150809 09:02:25-!- Appleman1234 [~Appleman1@KD036009083038.au-net.ne.jp] has quit [Ping timeout: 246 seconds] 20150809 09:08:48-!- Haudegen [~quassel@85.124.51.57] has quit [Ping timeout: 264 seconds] 20150809 09:15:47-!- Haudegen [~quassel@85.124.51.57] has joined #wesnoth 20150809 09:19:40-!- Panda_ [~IMO@2a01:e35:8aae:fcb0:a6fd:e761:fbcd:cbc2] has joined #wesnoth 20150809 09:27:36-!- Appleman1234_ is now known as Appleman1234 20150809 09:42:51-!- shadowm_desktop [ignacio@wesnoth/developer/shadowm] has quit [Ping timeout: 255 seconds] 20150809 10:04:06-!- Xara [~Yangyf@210.77.22.55] has quit [Ping timeout: 244 seconds] 20150809 10:12:56-!- Xara [~Yangyf@210.77.23.196] has joined #wesnoth 20150809 10:23:07-!- Kwandulin [~Miranda@p5B009008.dip0.t-ipconnect.de] has quit [Read error: Connection reset by peer] 20150809 10:40:24-!- Xara2 [~Yangyf@210.77.23.196] has joined #wesnoth 20150809 10:40:24-!- Xara2 [~Yangyf@210.77.23.196] has quit [Client Quit] 20150809 11:04:23-!- patwotrik [~patwotrik@nl118-172-202.student.uu.se] has quit [Remote host closed the connection] 20150809 11:05:09-!- patwotrik [~patwotrik@nl118-172-202.student.uu.se] has joined #wesnoth 20150809 11:06:41-!- cpf [~cpf@2a02:a03f:10f1:1700:62f8:1dff:febb:fc9a] has joined #wesnoth 20150809 11:41:14-!- Xara2 [~Yangyf@210.77.23.196] has joined #wesnoth 20150809 11:42:16-!- Yang_Yifan [~Yangyf@210.77.23.196] has joined #wesnoth 20150809 11:43:49-!- Xara [~Yangyf@210.77.23.196] has quit [Ping timeout: 244 seconds] 20150809 11:46:09-!- Xara2 [~Yangyf@210.77.23.196] has quit [Ping timeout: 255 seconds] 20150809 12:01:46-!- Xara [~Yangyf@210.77.23.196] has joined #wesnoth 20150809 12:04:09-!- Yang_Yifan [~Yangyf@210.77.23.196] has quit [Ping timeout: 255 seconds] 20150809 12:24:49-!- lipkab [~the_new_l@apn-185-10-125-197.vodafone.hu] has joined #wesnoth 20150809 13:03:10-!- ancestral [~ancestral@75-161-229-81.mpls.qwest.net] has joined #wesnoth 20150809 13:04:02-!- Xara2 [~Yangyf@210.77.23.196] has joined #wesnoth 20150809 13:06:51-!- Xara [~Yangyf@210.77.23.196] has quit [Ping timeout: 265 seconds] 20150809 13:08:50-!- prkc [~prkc@catv-89-134-159-162.catv.broadband.hu] has joined #wesnoth 20150809 13:13:38-!- lipkab [~the_new_l@apn-185-10-125-197.vodafone.hu] has quit [Quit: Leaving] 20150809 13:20:12-!- jemadux [~jemadux@unaffiliated/jemadux] has quit [Ping timeout: 264 seconds] 20150809 13:27:40-!- Xara2 [~Yangyf@210.77.23.196] has quit [Read error: Connection timed out] 20150809 13:30:18-!- DreadKnight [~DreadKnig@unaffiliated/dreadknight] has joined #wesnoth 20150809 13:31:28-!- Kwandulin [~Miranda@p5B009008.dip0.t-ipconnect.de] has joined #wesnoth 20150809 13:33:06-!- Xara [~Yangyf@210.77.23.196] has joined #wesnoth 20150809 13:40:44-!- Xara2 [~Yangyf@210.77.23.196] has joined #wesnoth 20150809 13:43:42-!- Xara [~Yangyf@210.77.23.196] has quit [Ping timeout: 246 seconds] 20150809 13:52:27-!- Xara2 [~Yangyf@210.77.23.196] has quit [Ping timeout: 246 seconds] 20150809 14:04:02-!- ancestral [~ancestral@75-161-229-81.mpls.qwest.net] has quit [Quit: i go nstuf kthxbai] 20150809 14:05:49-!- DreadKnight [~DreadKnig@unaffiliated/dreadknight] has quit [Quit: #AncientBeast - Master Your Beasts ( www.AncientBeast.com )] 20150809 14:30:39-!- ancestral [~ancestral@75-161-229-81.mpls.qwest.net] has joined #wesnoth 20150809 15:03:05-!- Appleman1234_ [~Appleman1@KD111107189096.au-net.ne.jp] has joined #wesnoth 20150809 15:06:06-!- Appleman1234 [~Appleman1@KD036009078197.au-net.ne.jp] has quit [Ping timeout: 240 seconds] 20150809 15:09:47-!- Kwandulin [~Miranda@p5B009008.dip0.t-ipconnect.de] has quit [Read error: Connection reset by peer] 20150809 15:11:10-!- Appleman1234__ [~Appleman1@KD106179114221.au-net.ne.jp] has joined #wesnoth 20150809 15:13:46-!- Appleman1234_ [~Appleman1@KD111107189096.au-net.ne.jp] has quit [Ping timeout: 240 seconds] 20150809 15:13:55-!- Appleman1234 [~Appleman1@KD036012007235.au-net.ne.jp] has joined #wesnoth 20150809 15:16:27-!- Appleman1234__ [~Appleman1@KD106179114221.au-net.ne.jp] has quit [Ping timeout: 246 seconds] 20150809 15:38:05-!- lipkab [~the_new_l@host-91-147-210-193.biatv.hu] has joined #wesnoth 20150809 15:44:19-!- celticminstrel [~celmin@unaffiliated/celticminstrel] has joined #wesnoth 20150809 15:52:17< Gambit> &subreddit list 20150809 15:52:18< janebot> Gambit: https://www.reddit.com/r//new 20150809 15:52:27< Gambit> &subreddit add wesnoth 20150809 15:52:28< janebot> Gambit: I will now announce new posts from /r/wesnoth in #wesnoth. 20150809 16:49:00-!- ancestral [~ancestral@75-161-229-81.mpls.qwest.net] has quit [Quit: i go nstuf kthxbai] 20150809 17:00:43-!- ancestral [~ancestral@75-161-229-81.mpls.qwest.net] has joined #wesnoth 20150809 17:15:15-!- patwotrik [~patwotrik@nl118-172-202.student.uu.se] has quit [Ping timeout: 252 seconds] 20150809 17:15:41-!- patwotrik [~patwotrik@nl118-172-202.student.uu.se] has joined #wesnoth 20150809 17:25:18-!- lipkab [~the_new_l@host-91-147-210-193.biatv.hu] has quit [Ping timeout: 250 seconds] 20150809 17:33:18-!- [Relic] [~Relic]@2602:306:33a3:6d30:45a3:5df4:2e8b:5c40] has joined #wesnoth 20150809 17:45:02-!- ancestral [~ancestral@75-161-229-81.mpls.qwest.net] has quit [Quit: i go nstuf kthxbai] 20150809 17:48:12-!- claymore2 [~hexchat@host109-154-204-244.range109-154.btcentralplus.com] has joined #wesnoth 20150809 18:10:04-!- lipkab [~the_new_l@host-91-147-210-193.biatv.hu] has joined #wesnoth 20150809 18:10:52-!- lipkab [~the_new_l@host-91-147-210-193.biatv.hu] has quit [Read error: No route to host] 20150809 18:15:52-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has quit [Remote host closed the connection] 20150809 18:15:58-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has joined #wesnoth 20150809 18:42:07-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has quit [Remote host closed the connection] 20150809 18:42:13-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has joined #wesnoth 20150809 18:55:07-!- cpf [~cpf@2a02:a03f:10f1:1700:62f8:1dff:febb:fc9a] has quit [Ping timeout: 250 seconds] 20150809 18:58:14< celticminstrel> I don't understand what's causing the leader to lose the magical special. 20150809 19:07:15-!- Appleman1234_ [~Appleman1@KD036009064203.au-net.ne.jp] has joined #wesnoth 20150809 19:10:19-!- Appleman1234 [~Appleman1@KD036012007235.au-net.ne.jp] has quit [Ping timeout: 265 seconds] 20150809 19:16:42-!- FracV [~ja@unaffiliated/lammjohnson] has joined #wesnoth 20150809 19:24:21-!- shadowm_desktop [ignacio@wesnoth/developer/shadowm] has joined #wesnoth 20150809 19:41:58-!- FracV is now known as fractal5 20150809 19:42:28-!- fractal5 is now known as Guest47583 20150809 19:45:10-!- Guest47583 [~ja@unaffiliated/lammjohnson] has left #wesnoth [] 20150809 19:58:11< aeth> Is there a save safe way built in to associate data with a particular set of coordinates? Or do I just have to make a temporary array with values x, y, foo? 20150809 19:58:22< aeth> (for all coordinates) 20150809 19:59:18< zookeeper> that's such a high-level question that i can't really tell what specifically you mean 20150809 19:59:51< aeth> I was just wondering if there was a built in way to associate some sort of inventory with a set of coordinates rather than a unit. 20150809 19:59:58< aeth> I think units have a .variables 20150809 20:01:42-!- claymore2 [~hexchat@host109-154-204-244.range109-154.btcentralplus.com] has quit [Ping timeout: 246 seconds] 20150809 20:02:25< celticminstrel> I don't know of anything. 20150809 20:02:50< aeth> i.e. I currently have a very simple Lua table that stores inventory associated with a location, but that can't persist through save games 20150809 20:03:09< aeth> So unless there's a data structure specifically for storing variables at given locations, I guess I have to make my own temporary one with arrays. 20150809 20:03:19-!- claymore2 [~hexchat@host109-154-204-244.range109-154.btcentralplus.com] has joined #wesnoth 20150809 20:03:27< celticminstrel> Just persist your Lua table? 20150809 20:03:36< aeth> Lua tables don't persist in saves. 20150809 20:03:41< celticminstrel> You can make it happen. 20150809 20:04:03< aeth> right, unless there's something in the API that's better, e.g. there is one for units 20150809 20:04:51< celticminstrel> If I were doing it, I think I'd use a WML table instead of a Lua table. 20150809 20:05:13< celticminstrel> Then it's a WML variable and automatically gets saved, and accessing it from Lua isn't much harder. 20150809 20:05:16< aeth> But I don't need to handle it at all at the WML level, so it's just a waste 20150809 20:05:28< aeth> Also afaik all WML variables are global and global variables are evil 20150809 20:05:32< celticminstrel> Why is it a waste? 20150809 20:05:47-!- iamshansen [~iamshanse@me.shansen.me] has joined #wesnoth 20150809 20:05:59< aeth> some_table.some_variable is safer than a WML variable because if I do something like "shop" or "chest" odds are that another add-on would conflict with it 20150809 20:06:00< celticminstrel> Well yes, it's true that WML variables are global. 20150809 20:06:21< aeth> Global variables basically means that the add-on won't cooperate with others unless you e.g. prefix everything 20150809 20:06:46< celticminstrel> Prefixing wouldn't really cost anything here, it'd just affect the one line where you get a Lua table referencing the variable. 20150809 20:06:59< celticminstrel> Anyway, I don't know of any standard way to associate data with a location. 20150809 20:07:03< celticminstrel> ... 20150809 20:07:11< aeth> Anyway, the way WML would do it is less efficient than the way I do it in Lua in terms of looking up 20150809 20:07:37< celticminstrel> Sure. 20150809 20:07:50< celticminstrel> But it would work, which is (usually) more important than efficiency. 20150809 20:07:55< aeth> In Lua I just do foo[x][y][container_type][inventory_type], which is very easy to deal with, no loops, just a check for nil in certain parts of the code (e.g. before calling [x][y] to make sure the [x] exists) 20150809 20:08:08< aeth> In WML I would have to loop over an array of x, y, etc. 20150809 20:08:24< celticminstrel> Ah, true. 20150809 20:08:24< aeth> and if the arrays have to be flat it would have to be x, y, container_type..inventory_type 20150809 20:08:32< celticminstrel> I don't think WML tags can be integers. 20150809 20:08:47< aeth> That's OK when it's just shops but when I add in triggers it will be bad. 20150809 20:08:57< aeth> The more hexes have e.g. traps on them, the slower it will be. 20150809 20:09:07< aeth> Afaik the tables are fast lookup at the expense of memory 20150809 20:09:47< celticminstrel> I thought there was a save event, but it seems I was wrong. 20150809 20:09:56< aeth> there is 20150809 20:10:06< celticminstrel> Then it's missing from the wiki? 20150809 20:10:32< aeth> http://wiki.wesnoth.org/LuaWML:Events#wesnoth.game_events 20150809 20:10:34< aeth> on_save, not save 20150809 20:10:57< celticminstrel> Oh, that's completely different from what I was thinking of. 20150809 20:11:10< celticminstrel> And also better. 20150809 20:12:22< celticminstrel> Looks like you can save things to any arbitrary tag, too, not just under [variables]. 20150809 20:12:57< celticminstrel> I'd recommend doing it like that. I don't think there's anything better. 20150809 20:13:10< aeth> yes but I'm not sure if that would cause OOS or not even permit MP unless someone has it downloaded 20150809 20:13:17< aeth> Currently my add-on, as complex as it is, does not require a download. 20150809 20:13:26< aeth> And it's still really hard to arrange a game. 20150809 20:13:57< celticminstrel> Then try it and see if it causes OOS. 20150809 20:19:30-!- claymore2 [~hexchat@host109-154-204-244.range109-154.btcentralplus.com] has quit [Quit: Leaving] 20150809 20:20:32 * celticminstrel downloads 1.12.4. 20150809 20:21:37-!- Narrat [~Crebiz@p4FD16BD8.dip0.t-ipconnect.de] has joined #wesnoth 20150809 20:24:35< celticminstrel> It mysteriously lacks the nice background in the dmg... 20150809 20:38:22-!- patwotrik [~patwotrik@nl118-172-202.student.uu.se] has quit [Remote host closed the connection] 20150809 20:50:12< zookeeper> aeth, it sounds like you're confused about something but i can't tell what sort of confusion it is :p 20150809 20:50:33< shadowm> celticminstrel: Maybe it's because ancestral did the build this time. Could you prod him about it? 20150809 20:51:03< celticminstrel> I suppose? 20150809 20:51:32< aeth> zookeeper: I guess I'll just clean up the code for now and drink some more coffee and maybe it'll hit me 20150809 20:51:38< Ravana_> is there way to use [get_global_variable] with from_global value including normal $variable? 20150809 20:51:57< aeth> I'm just frustrated because literally nothing of my add-on persists past saves right now, or at least not enough of it for me to test what persists 20150809 20:53:23< celticminstrel> Attacking the enemy leader causes the weapon special to disappear. 20150809 20:53:57< celticminstrel> As far as I can tell, this has to be an attack, attacker_hits, or attack_end event. 20150809 20:54:39< celticminstrel> BUT, as far as I can tell, none of those are registered in this scenario. 20150809 20:54:48< celticminstrel> ^the magical weapon special 20150809 20:54:52< celticminstrel> WHY DOES THIS HAPPEN 20150809 20:54:57< celticminstrel> :( 20150809 20:55:24< aeth> It really doesn't help with working on my add-on that maybe 2/3 of it was written in the past week and 1/3 of it was written more than 3 years ago. 20150809 20:56:53< aeth> It also doesn't help that the only way I know of to check for simple typos like missing commas is to reload Wesnoth every time I make a change and run the menu that changed. 20150809 20:57:55-!- ancestral [~ancestral@75-161-229-81.mpls.qwest.net] has joined #wesnoth 20150809 21:00:02< celticminstrel> It only happens to my leader. 20150809 21:00:23< celticminstrel> Well... unless it specifically targets magical. 20150809 21:00:38< shadowm> ancestral: celticminstrel said that the 1.12.4 dmg lacks "the nice background", whatever that means. 20150809 21:01:54< ancestral> Hmmm 20150809 21:04:46< celticminstrel> Okay yeah, it only affects my leader. 20150809 21:11:59< celticminstrel> Wasn't there a "temporary accelerate" command? 20150809 21:12:27< shadowm> Hold shift. 20150809 21:12:49< shadowm> For toggling accelerated mode use Ctrl+a. 20150809 21:14:53< celticminstrel> The loss of the magical special has nothing to do with any of the events in the scenario 20150809 21:15:39-!- grand_grunt [~remi@2001:910:131c:1::1] has joined #wesnoth 20150809 21:16:05< celticminstrel> Oh wait, there are some events between the sides. 20150809 21:17:06< celticminstrel> No, removing those makes no difference either. 20150809 21:20:46< celticminstrel> So then... WHY IS THIS HAPPENING. :( 20150809 21:21:34< grand_grunt> I may have find a explanation for some Out Of Sync error 20150809 21:22:32< zookeeper> celticminstrel, given the (lack of) information you've provided, impossible to say. 20150809 21:27:57< celticminstrel> I think I've already said everything I know, which is that when my leader (a druid) attacks the enemy leader (a goblin rouser), she loses the magical special on her thorns attack. It wasn't fixed by removing any of the events defined in the scenario, so I assume it's reasonable to conclude that it's not caused by an event. 20150809 21:29:24< zookeeper> sounds like an unreasonable assumption, unless you just didn't mention that you know there's no other events getting injected from somewhere else 20150809 21:29:44< celticminstrel> Sorry, not caused by an event defined in the scenario. 20150809 21:29:58< zookeeper> sure, that's much more reasonable :p 20150809 21:30:27< celticminstrel> It seems unlikely that it would be caused by an event injected by a unit, though. The only enemy units that would be on the map are goblins (of various types). 20150809 21:30:50< celticminstrel> I don't know of any other way that an event would be injected. 20150809 21:31:18< zookeeper> i'm pretty sure add-ons _can_ do that 20150809 21:31:45< celticminstrel> Hm? 20150809 21:32:02< zookeeper> and are you saying that the savefile does not contain any such event? 20150809 21:32:34< celticminstrel> Good point, I should check the savefile. 20150809 21:33:37< zookeeper> i'd recommend that as the very first places to check. regardless of where the presumed event comes from, you'll at least get to see it. 20150809 21:34:01< celticminstrel> ...the very first event is an attack event filtered on the leader's ID. o.O 20150809 21:34:56< celticminstrel> Oh, but I think I know what that event is... 20150809 21:35:10< celticminstrel> And removing it didn't help. 20150809 21:36:28-!- shadowm is now known as shadow_em 20150809 21:36:33 * celticminstrel checks in data/core/macros. 20150809 21:37:39< aeth> I have [lua] code in a preload that doesn't seem to run every preload, unless macros for some reason can't be used in preload. 20150809 21:38:20< aeth> I put my Lua in macros and load them like [lua] code = {FOO} [/lua] to avoid requiring a download, which would basically turn the games from once a week to once a never. 20150809 21:38:59< celticminstrel> Okay, so yes, I confirmed that removing that event didn't change anything. 20150809 21:39:12< celticminstrel> Maybe I'll try it again just to make sure. 20150809 21:39:28< zookeeper> there's no way whatsoever i could say anything to that because you never said what that event does and therefore whether it even could be related 20150809 21:39:40< celticminstrel> It's {FORCE_CHANCE_TO_HIT}. 20150809 21:40:18< zookeeper> well, firstly, it seems awfully likely that could cause a magical special to disappear 20150809 21:40:21-!- shadow_em is now known as shadowm 20150809 21:40:23< celticminstrel> So it's an attack event, which is definitely the right context for this to occur. 20150809 21:40:26< celticminstrel> Yeah. 20150809 21:40:43< zookeeper> secondly, did you remove it by messing with the savefile or the scenario? do you know what you need to do after you edit the scenario? etc etc etc 20150809 21:41:12< celticminstrel> I messed with the scenario, but the reason I said I'll try it again is in case I forgot to press F5 the first time. 20150809 21:41:26< zookeeper> well that's more like it :p 20150809 21:41:53< celticminstrel> Or in case I forgot to save, that also happens sometimes. 20150809 21:41:55-!- Appleman1234_ is now known as Appleman1234 20150809 21:43:17< celticminstrel> I must've forgotten one of those, because this time removing them fixed it. 20150809 21:43:21< zookeeper> great 20150809 21:43:40< zookeeper> i already have an idea of why such a removal might happen 20150809 21:44:16< celticminstrel> An idea that might lead to fixing {FORCE_CHANCE_TO_HIT} or something? 20150809 21:44:24< zookeeper> yes 20150809 21:44:34< zookeeper> i guess i'll try testing that myself tomorrow 20150809 21:44:39< celticminstrel> 'kay 20150809 21:46:19< zookeeper> i'll give particular priority to it, because logically the same problem ought to apply to dacyn in EI s3 :x 20150809 21:47:04-!- Panda_ [~IMO@2a01:e35:8aae:fcb0:a6fd:e761:fbcd:cbc2] has quit [Remote host closed the connection] 20150809 21:47:32< zookeeper> humm. is your FORCE_CHANCE_TO_HIT at scenario-level or in an event somewhere? 20150809 21:47:49< celticminstrel> It's at scenario level. 20150809 21:47:59< zookeeper> ok 20150809 21:53:03< aeth> hmm I think I might actually have found a bug 20150809 21:53:05-!- DreadKnight [~DreadKnig@unaffiliated/dreadknight] has joined #wesnoth 20150809 21:53:50< aeth> There's no problem in 1.12.4 with loading on preload a table or functions, but there seems to be a problem with loading a table that contains functions, within a [lua] code = [/lua] 20150809 21:54:20< celticminstrel> That's to be expected. 20150809 21:54:37< celticminstrel> Functions are not data, so they shouldn't be stored in the save file. 20150809 21:55:16< aeth> Yes, functions are data (unless they're saved on magic, not hard drives). Yes, they need to be stored in the save file. Otherwise you require download and your players go down from about 5 to about 1. 20150809 21:57:33-!- iamshansen [~iamshanse@me.shansen.me] has left #wesnoth ["Textual IRC Client: www.textualapp.com"] 20150809 22:05:09< aeth> celticminstrel: and *some* functions are stored in the save file. It seems to be that function foo saves, but function bar.foo does not 20150809 22:08:31< aeth> In fact, it's there in the save file, it just doesn't seem to run 20150809 22:10:16< celticminstrel> Functions are not data. 20150809 22:11:00< celticminstrel> Instead of storing functions, you should store something that lets you look up the function at load or run time. 20150809 22:11:26< aeth> No. 20150809 22:11:31< aeth> Because then all the players need the function. 20150809 22:12:14< aeth> Also, only some but not all newly defined functions do not run. So clearly some functions are running. 20150809 22:12:31< celticminstrel> Well, the other alternative would be to store the function definition as a string, I suppose. 20150809 22:12:41< aeth> That's what I am doing. 20150809 22:12:45< celticminstrel> Oh, okay. 20150809 22:12:55< aeth> #define FOO << >> #enddef 20150809 22:13:03< aeth> It works, mostly 20150809 22:14:14< aeth> It seems to work for functions that are not part of a table, but does not work for functions that are. If I take something out of a table, it suddenly works. 20150809 22:14:35< aeth> Functions that are part of a table *do* work on the first run rather than load 20150809 22:14:45< aeth> Oh, oops 20150809 22:14:47< celticminstrel> I feel like this isn't enough information to understand what you're really doing. 20150809 22:14:48< aeth> There goes that theory 20150809 22:15:30< aeth> celticminstrel: https://github.com/Aethaeryn/wesnoth-umc/blob/fff1684dfefe94b1270759c70cdc3476e9d6cd9c/Aethaeryns_Mod/use_lua.cfg 20150809 22:16:03< aeth> I quite literally just store them in strings and then use macros because that way I can still make it a .lua with only the first 2 and last 2 lines not actually being Lua 20150809 22:17:04< aeth> This works perfectly except when loading a saved game. 20150809 22:17:12< aeth> The strings *are* saved in the save file. 20150809 22:18:54-!- prkc [~prkc@catv-89-134-159-162.catv.broadband.hu] has quit [Remote host closed the connection] 20150809 22:21:40< aeth> In the save file, all of the code winds up in the preload [event] as literal strings. 20150809 22:24:18< aeth> However messy this is, the bug is on Wesnoth's side not mine because preload shouldn't be having different behavior on load vs. new game afaik. 20150809 22:26:51-!- prkc [~prkc@catv-89-134-159-162.catv.broadband.hu] has joined #wesnoth 20150809 22:29:07< aeth> It does not seem to be a bug in preload. If I move the event that loads all the Lua into side turn, it still happens on load. *However*, the next side turn it then works again. 20150809 22:30:31< Ravana_> aeth: first_time_only= 20150809 22:30:43< aeth> first_time_only doesn't apply to preload afaik 20150809 22:31:18< Ravana_> I believe it does, and explicitly tells you to use it 20150809 22:31:40< aeth> oh my god 20150809 22:33:11< aeth> that did it 20150809 22:34:11< aeth> I read the description and I thought "This means that it is effectively mandatory to have the first_time_only=no value in a preload event." meant that that would be the default value for preload. 20150809 22:34:18< aeth> Because why would you have it default to something that does *not* work? 20150809 22:34:49< Ravana_> it does work, just for different purpose 20150809 22:34:59< Ravana_> it is very useful for invalidating saves 20150809 22:35:18< aeth> So the default behavior is useful for *not* having good behavior, great. :-) 20150809 22:35:36< aeth> WML is such a beginner-friendly language. 20150809 22:36:36< vultraz> So you're still making it non-downloaded-mandatory? 20150809 22:37:21< aeth> vultraz: No need to require a download when I can just define the Lua as << >>s in a macro. 20150809 22:37:28< celticminstrel> "invalidating saves" 20150809 22:37:34< celticminstrel> Please never even consider doing that. 20150809 22:37:51< aeth> celticminstrel: you can easily validate the saves by adding that line in the preload when you load it in a text editor 20150809 22:38:24< celticminstrel> I suppose. 20150809 22:38:32< aeth> So, yes, go ahead and break saves when one line can fix it. It might teach people how to end around save files for fun. That's really the first step into modding. 20150809 22:38:49< Ravana_> many ideas I have got about stuff to try with wml aren't those I am likely to upload 20150809 22:39:39< Ravana_> like I noticed that certain way reliably kicks host from game 20150809 22:40:40< aeth> Ravana_: anyway you can come up with your desired niche behavior by simply doing first_time_only=yes 20150809 22:40:47< aeth> as opposed to the default, which should always be safe 20150809 22:41:21< Ravana_> I still support same default first_time_only= value for all events 20150809 22:41:25< aeth> It's a principle of good design (and boilerplate avoidance) to put the most common behavior as defaults. 20150809 22:41:33< Ravana_> yes or no, that isn't so important 20150809 22:41:45< aeth> Ravana_: preload is a special event, though. 20150809 22:42:09< aeth> There's no reason to use preload unless you're using it to load Lua in a first_time_only=no 20150809 22:42:28< aeth> Every other use is so niche to be irrelevant 20150809 22:43:15< aeth> Ravana_: and besides you could invalidate saves with a first_time_only=no and preload, just run a counter every preload and if the counter is more than 1 don't run the Lua 20150809 22:45:06< Ravana_> I just remembered I store my lua all in wml variable with https://github.com/ProditorMagnus/OrociaRandomMod/blob/master/scenarios/OrociaRandomMod.cfg#L300 20150809 22:45:42< Ravana_> not sure why I did this way though 20150809 22:58:33< aeth> Why a variable and not a macro? 20150809 22:58:35< aeth> Do you call it later? 20150809 22:58:55< aeth> (I guess you could do a macro *and* a variable) 20150809 22:59:04< aeth> If you use a macro you can e.g. use a code editor with Lua syntax highlighting, etc. 20150809 22:59:49-!- ancestral [~ancestral@75-161-229-81.mpls.qwest.net] has quit [Quit: i go nstuf kthxbai] 20150809 23:01:10< Ravana_> I use lua there just for performance reasons, originally the scenario required over 2mb download to join game 20150809 23:01:32< aeth> I use Lua for performance reasons and because it's far more concise. 20150809 23:02:32< aeth> I have about 2000 lines of Lua in /lua/*.lua and another 600 in /data/*.lua 20150809 23:02:46< aeth> oh actually I got the code in /lua/*.lua down to 1313 lines currently 20150809 23:03:00< Ravana_> I have started using lua for more things recently, even did one addon only in lua 20150809 23:03:09< aeth> My Lua would be unmanageably long in WML even if macros weren't slow 20150809 23:03:25< aeth> Functions are a really nice thing to have. 20150809 23:04:03< aeth> I also don't really have to worry about callbacks at all if I do it with GUI2 dialogs, except in the set_menu_item part 20150809 23:04:08< Ravana_> I haven't really needed functions much 20150809 23:04:44< aeth> https://github.com/Aethaeryn/wesnoth-umc/blob/c68f5bbeeabd7701033e6fee1e4d898105fcc2b9/Aethaeryns_Mod/lua/menu.lua 20150809 23:05:14< aeth> With functions I can separate the menu code from the dialog code from most actual actions, so I can have a chance at trying to understand everything that's going on. 20150809 23:07:03< aeth> The menu code just decides what the dialog says, and then what it does based on the response if there is a response. The dialog logic is in another file. Most actions are in another file, too, unless the action is another menu or is very trivial. 20150809 23:07:10-!- ancestral [~ancestral@75-161-229-81.mpls.qwest.net] has joined #wesnoth 20150809 23:08:09< aeth> I basically reprogrammed large parts of Wesnoth in Lua because that's what the mod requires, e.g. p1 and p6 can basically use a terrain editor in-game 20150809 23:09:13< aeth> On the plus side, if Wesnoth mainline ever wants something core rewritten in Lua I'll probably be one of the few with the very specific skillset to do that. 20150809 23:15:25-!- zookeeper [~lmsnie@wesnoth/developer/zookeeper] has quit [Ping timeout: 245 seconds] 20150809 23:15:46< aeth> Wesnoth could probably gain from rewriting large parts in Lua, as long as any bottleneck is written in C or C++, as well as data structures because apparently Lua just has this terrible table for everything. 20150809 23:17:18-!- Earlo [~Earlo@line-10441.dyn.kponet.fi] has quit [Read error: Connection reset by peer] 20150809 23:17:21< aeth> Completely unrelated, I like using the item called Coins for debugging shops. It's funny to pay 10 gold for coins that when used give you 10 gold. 20150809 23:24:15-!- ancestral [~ancestral@75-161-229-81.mpls.qwest.net] has quit [Quit: i go nstuf kthxbai] 20150809 23:37:07-!- Haudegen [~quassel@85.124.51.57] has quit [Ping timeout: 265 seconds] 20150809 23:44:49-!- Haudegen [~quassel@85.124.51.57] has joined #wesnoth 20150809 23:53:37-!- wario [~wario_@unaffiliated/wario] has quit [Quit: Leaving] 20150809 23:54:55-!- DreadKnight [~DreadKnig@unaffiliated/dreadknight] has quit [Quit: #AncientBeast - Master Your Beasts ( www.AncientBeast.com )] --- Log closed Mon Aug 10 00:00:21 2015