#nuvie@irc.freenode.net logs for 5 Aug 2006 (GMT)

Archive Today Yesterday Tomorrow
Nuvie homepage


[00:20:12] --> Yuv422 has joined #nuvie
[00:24:36] <SB-X> hey yuv
[00:25:10] <Yuv422> hey SB-X
[00:25:15] <Yuv422> how's it going
[00:25:16] <Yuv422> ?
[00:25:54] <SB-X> fine
[00:26:23] <SB-X> im about to reboot
[00:26:24] <SB-X> you going to work?
[00:26:43] <Yuv422> no it's sat here now
[00:26:47] <Yuv422> :)
[00:26:48] <SB-X> oh, yeah :p
[00:26:54] <SB-X> ok
[00:26:54] <Yuv422> I'm going to do some nuvie work
[00:26:54] <SB-X> cool
[00:27:03] <SB-X> i've got tangle vine code working and almost ready to commit :)
[00:27:10] <Yuv422> I'm adding a Weather class
[00:27:12] <Yuv422> cool
[00:27:38] <SB-X> I was thinking about some interesting weather effects just yesterday. What's that do?
[00:27:50] <Yuv422> after the tangle vine we've only got slime left.
[00:27:53] <SB-X> I hadn't considered working on anything like that soon.
[00:27:53] <Yuv422> IRRC
[00:28:13] <Yuv422> at the moment it will just hold the wind direction
[00:28:14] <SB-X> you mean for monsters with special movement code? probably true
[00:28:20] <SB-X> ok
[00:28:26] <SB-X> so it's the current state of weather in britannia?
[00:28:27] <Yuv422> and eclipse
[00:28:34] <Yuv422> undefined. ;-)
[00:28:52] <Yuv422> They are experiencing stub weather at the moment
[00:28:59] <Yuv422> ;-)
[00:28:59] <SB-X> i probably wouldn't just tossed those variables into various other classes like Player and Game, but that's a good idea making a new class for them
[00:29:02] <SB-X> lol
[00:29:17] <SB-X> would've*
[00:29:31] <Yuv422> I'm going to use GameTimedCallback to change the weather randomly
[00:29:41] <Yuv422> weather/wind dir
[00:30:14] <Yuv422> do we have a magic effect yet?
[00:30:15] <SB-X> I predict the stub weather will be replaced with rainstorms and clouds someday in the future. :)
[00:30:22] <Yuv422> yes
[00:30:53] <Yuv422> I was thinking we could even have map based weather
[00:31:02] <Yuv422> with addon weather data
[00:31:18] <Yuv422> eg snow/fog in mountain areas
[00:31:20] <SB-X> we'd probably want a little bit of both random weather, but also plotted ahead of the player on the map
[00:31:35] <Yuv422> yeah
[00:31:41] <SB-X> interesting, i didn't think there would be a place for snow but that would explain why the mountains are snowy
[00:31:57] <Yuv422> :)
[00:32:10] <SB-X> what's a magic effect? don't think there is one
[00:32:18] <Yuv422> iverting the mapwindow
[00:32:24] <Yuv422> while casting
[00:32:53] <SB-X> No, there is one that does that but I combined it with PotionEffect. It needs to be broken out into its own effect.
[00:33:04] <SB-X> or seperated out into a new class I mean
[00:33:14] <SB-X> was planning on calling it PaletteEffect
[00:33:51] <SB-X> new PaletteEffect(PALETTE_XOR, mod);
[00:34:04] * Yuv422 looks at the tangle vine bug
[00:36:30] <SB-X> MagicEffect would be an ambiguous name. That could mean the effect on the mapwindow, the colored light on the caster, the effect on the target, or even the magic balls used for attacking.
[00:38:33] <SB-X> actually now that I think about it, MagicEffect is good too :p
[00:39:08] <Yuv422> yeah
[00:39:09] <SB-X> the others can be called SpellCastAura and SpellTargetAura
[00:39:16] <Yuv422> CastMagicEffect
[00:39:17] <SB-X> and those magic balls are missiles
[00:39:45] <SB-X> yeah that's good too
[00:40:10] <SB-X> did you figure out what's wrong with the tangle vine animations?
[00:42:33] <-- Yuv422 has left #nuvie ()
[00:42:37] <SB-X> bye
[00:42:46] --> Yuv422 has joined #nuvie
[00:43:06] <SB-X> hi
[00:43:14] <Yuv422> hey
[00:43:29] <Yuv422> do you have two entries in the U6ActorList?
[00:43:38] <SB-X> nope
[00:43:46] <SB-X> i didn't add anything to U6ActorList
[00:43:50] <Yuv422> add one for tangle vine pod
[00:43:55] <SB-X> ah k
[00:44:00] <Yuv422> and one for tangle vine tip
[00:44:08] <SB-X> ok
[00:44:13] <Yuv422> then set the tangle vine pod to twitch
[00:44:15] <SB-X> i've been calling it tangle vine vine
[00:44:20] <SB-X> right
[00:44:24] <Yuv422> hehe
[00:44:47] <Yuv422> maybe tangle vine and tangle vine pod
[00:45:02] <SB-X> yeah that's what I have for their obj types already
[00:45:13] <Yuv422> cool
[00:45:17] <SB-X> is there a game-specific function that's called when an actor is spawned, but not every time they're created?
[00:45:36] <SB-X> like init() but one that wont run when the game loads
[00:45:43] <Yuv422> hmm
[00:45:53] <Yuv422> not that I can think of
[00:46:00] <SB-X> doubt I really need it
[00:46:01] <SB-X> ok
[00:46:10] <Yuv422> what did you want to do?
[00:46:32] <SB-X> the tangle vine doesn't have surrounding objs but I made an init function for it called by init(), is that ok?
[00:46:54] <SB-X> i want to create the vines when the pod is spawned, because the egg doesnt contain the vines
[00:47:12] <SB-X> each pod creates of to four neighboring vines
[00:47:17] <SB-X> up to*
[00:48:00] <Yuv422> yeah just check in tangle_init() for surrounding vine objs
[00:48:00] <SB-X> i want to know if its ok to do in init() because the comment says "init surrounding objs"
[00:48:11] <SB-X> the tangle vine doesnt have surrounding objs
[00:48:30] <SB-X> they just happen to be there
[00:48:47] <SB-X> they don't disappear if the vine is killed
[00:48:56] <Yuv422> just slap a comment on it explaining that
[00:49:05] <SB-X> ok done then :)
[00:49:31] <SB-X> still moving the dropping vines code to a couple of new functions
[00:49:39] <Yuv422> :)
[00:50:21] <SB-X> tangle_drop_vine(MapCoord,MapCoord), tangle_get_connecting_vine(MapCoord,MapCoord)
[00:50:49] <SB-X> there is some messy logic there for figuring out direction of the previous vine and the new direction
[00:50:59] <SB-X> and choosing the correct frame for the vine object
[00:51:09] <SB-X> im not sure how to make a table to check all that
[00:51:39] <Yuv422> did you see my snake tables
[00:51:47] <SB-X> no, do you think it would be the same?
[00:51:56] <Yuv422> similar
[00:52:10] <SB-X> ok i'll take a loot at them
[00:52:12] <SB-X> look*
[00:53:02] <SB-X> luckily the vines have quality pointing to the actor that dropped them
[00:53:45] <SB-X> so when looking for nearby vines you know which ones to skip
[00:54:32] <Yuv422> cool
[00:55:29] <SB-X> And when attacking a vine obj the actor will take damage, it's a lot like snakes really, except they don't drag the vines around and killing the actor doesn't make the vines disappear.
[00:55:39] <SB-X> maybe it should use surrounding_objs
[00:55:51] <SB-X> that doesn't seem necessary though
[00:56:50] <SB-X> what do you think of big trees?
[00:57:25] <Yuv422> trees?
[00:57:30] <SB-X> no, BIG trees
[00:57:41] <Yuv422> 4 tile trees?
[00:58:05] <SB-X> no, they'd look more like 8 tile trees
[00:59:10] <SB-X> but yeah those trees
[00:59:18] <SB-X> i'm saying we could prescale trees to 1.5x-3x their normal size before drawing the map
[00:59:27] <SB-X> and the trees would look bigger
[00:59:41] <SB-X> and more proportional to the characters
[01:00:08] <Yuv422> would they obscure important tiles?
[01:00:28] <SB-X> Not sure. what's important in the forest?
[01:00:43] <SB-X> reagents?
[01:01:22] <Yuv422> some times I take short cuts through the trees
[01:01:47] <SB-X> you and shamino
[01:02:33] <SB-X> oh well, just another idea for nuvie improvements i had recently
[01:02:50] <Yuv422> maybe you could move players under the trees
[01:03:07] <SB-X> yeah it wouldnt change passable tiles
[01:03:10] <SB-X> just draw them bigger
[01:03:35] <Yuv422> and make the them transparent when the party in underneath
[01:06:08] <SB-X> I don't know why but that makes me think of Savage Empire. Did SE have big trees?
[01:06:24] <Yuv422> it has the same tree tiles
[01:06:25] <Yuv422> IIRC
[01:06:30] * Yuv422 looks
[01:07:01] <Yuv422> it has the 4 tile trees
[01:07:06] <Yuv422> and the little round bushes
[01:07:17] <Yuv422> and some more exotic looking plants
[01:07:28] <Yuv422> coconut palm
[01:07:36] <Yuv422> etc
[01:07:55] <Yuv422> yacca plant
[01:07:58] <Yuv422> what ever that is
[01:08:27] <SB-X> ah k
[01:08:34] <SB-X> maybe the dinosaurs make me think everything in SE is bigger
[01:08:48] <Yuv422> they have another 4 tile tree
[01:09:04] <Yuv422> with big fern like leaves
[01:09:23] --- servus_ is now known as servus
[01:09:36] <Yuv422> I don't like how SE and MD automatically go into combat mode when a monster appears
[01:09:52] <Yuv422> it makes it hard to out run them
[01:09:58] <SB-X> you don't? i was going to add that!
[01:10:02] <SB-X> can you turn it off?
[01:10:05] <Yuv422> because your party starts running to engage
[01:10:16] <Yuv422> not that I know of
[01:10:24] <SB-X> can you switch out of combat mode?
[01:10:29] <Yuv422> yes
[01:12:00] <servus> SE has huge trees that you can chop down with grenades.
[01:12:10] <servus> Probably 6+ tiles IIRC?
[01:12:32] <SB-X> lol
[01:16:06] <Yuv422> brb
[01:43:23] <Yuv422> back
[01:54:27] <SB-X> wb
[01:54:46] <Yuv422> I'm just writing up Weather::load()
[01:54:51] <SB-X> ok
[01:55:10] <Yuv422> objlist has a different direction system to nuvie
[01:55:11] <SB-X> giant trees look too pixelated, they will look better with hi-res tiles
[01:55:17] <SB-X> oh?
[01:55:17] <Yuv422> so I'll convert it to nuvie values
[01:55:36] <Yuv422> 0x1bfa wind direction (1 byte) 0 .. 7 N, NE, E, SE, S, SW, W, NW. C = 0xff
[01:55:46] <SB-X> oh, for wind
[01:55:56] <Yuv422> yeah
[01:56:26] <SB-X> thought you meant U6 had a standard form for all directions
[01:56:33] <Yuv422> hehe no
[01:56:43] <Yuv422> sorry
[01:56:43] <SB-X> and they used different values than nuvie
[01:56:54] <SB-X> if it's just for wind then I have no problem converting them
[02:00:14] <SB-X> i don't mind if you change CommandBar not to use it's own wind state, but that's what it currently has
[02:01:09] <Yuv422> righto
[02:01:19] <Yuv422> I'll get it to read from Weather
[02:01:21] <SB-X> if you don't want to change it, all you have to do is call set_wind(std::string) in your weather changing function
[02:01:26] <SB-X> ok
[02:01:41] <Yuv422> as Weather will be the source of truth
[02:01:58] <SB-X> where is love and courage?
[02:03:13] <Yuv422> they cannot be found upon the wind
[02:10:08] <SB-X> I added some new usecode that will help you find them. If you look at the flames of truth, love, and courage in nuvie you see their description. (what flame it is)
[02:10:27] <SB-X> because they each have a unique quality
[02:10:37] <Yuv422> yeah I saw that. :)
[02:11:37] <Yuv422> I was thinking about the lenses yesterday
[02:11:44] <Yuv422> that's going to be a big hack
[02:11:50] <SB-X> ?
[02:11:57] <Yuv422> getting the light tiles onto the mpa
[02:11:59] <Yuv422> map
[02:12:14] <Yuv422> when you place them near the codex
[02:12:20] <SB-X> why dont I just add an effect for them?
[02:12:31] <Yuv422> ah
[02:12:35] <SB-X> they'd be non-moving animations
[02:12:57] <Yuv422> sounds good
[02:13:05] <SB-X> cant the original make objects with arbitrary tiles?
[02:13:08] <Yuv422> I was trying to do it with objects and tiles
[02:13:15] <SB-X> why is that a hack?
[02:13:25] <SB-X> maybe that's the proper method to place the light beams
[02:13:38] <SB-X> or is it hard to do in nuvie?
[02:13:54] <Yuv422> but we don't want to save those objects
[02:14:06] <SB-X> what happens if you load a game at the codex in nuvie?
[02:14:23] <Yuv422> you see the lenes but no light
[02:14:29] <SB-X> ah k
[02:14:31] <Yuv422> if you look at the light in u6
[02:14:42] <Yuv422> it goes when the lens movs out of the mapwindow
[02:14:57] <Yuv422> so it must be tied to the lens object
[02:14:59] <SB-X> goes away?
[02:15:32] <Yuv422> you should see the light beam but not the lens
[02:15:37] <Yuv422> if the lens is just off screen
[02:15:52] <Yuv422> but when the lens goes off screen the light beam disappears
[02:16:07] <SB-X> what's the difference between just off screen and off screen?
[02:16:17] <SB-X> :)
[02:16:18] <Yuv422> the mapwindow
[02:16:27] <Yuv422> let me take a pic
[02:23:13] <SB-X> new LensLightEffect(convex_lens) -> add_anim(TileAnim(TILE_U6_BLUE_LENS_LIGHT_1,x,y))
[02:23:23] <SB-X> ...
[02:23:58] <Yuv422> where would you dipose of the effect if the lens is moved?
[02:24:37] <SB-X> we'd have to add several usecode events for the lens
[02:24:56] <SB-X> move/get/drop at least
[02:25:05] <SB-X> maybe that's all
[02:25:09] <Yuv422> right
[02:25:25] <Yuv422> http://nuvie.sourceforge.net/temp/lens.png
[02:25:27] <Yuv422> http://nuvie.sourceforge.net/temp/lens1.png
[02:25:28] <SB-X> then just delete the effect when necessary
[02:25:31] <Yuv422> http://nuvie.sourceforge.net/temp/lens2.png
[02:25:41] <SB-X> ooh
[02:26:07] <SB-X> um, that's wierd
[02:26:11] <Yuv422> yeah
[02:26:33] <SB-X> an effect won't reproduce that bug, hope you don't mind
[02:26:49] <Yuv422> hehe, I think that's one bug we can live without
[02:27:11] <SB-X> we could make it hide the light when the lens goes offscreen but that's probably a bug too :)
[02:27:23] <SB-X> or graphics glitch let's say
[02:28:24] <Yuv422> I think Paulon spammed up the Britannian Lens in his save game
[02:28:33] <Yuv422> because it was marked as temp
[02:29:13] <Yuv422> I think it's some sort of wrapping bug
[02:29:38] <Yuv422> as it appears on the next row
[02:29:44] <SB-X> yeah
[02:29:52] <SB-X> i doubt the "real" lenses do anything different
[02:30:03] <Yuv422> oh yeah
[02:30:07] <Yuv422> I was just saying
[02:30:09] <SB-X> would be interesting to see if they have different flags
[02:30:11] <Yuv422> he cheated
[02:30:13] <SB-X> couldnt they be temporary?
[02:30:20] <SB-X> heh
[02:30:43] <SB-X> i remember it not being the safest idea to leave objects lying around in u6, even important objects
[02:31:12] <Yuv422> yeah
[02:31:14] <SB-X> because I lost some quest items that way
[02:31:17] <SB-X> there was also a bug with items in bags
[02:31:22] <Yuv422> I was talking to a guy that worked on MD
[02:31:29] <SB-X> ooh
[02:31:43] <Yuv422> and he was saying u6 had big issues with obj management
[02:32:23] <Yuv422> the memory management would remove non temp objects
[02:32:23] <SB-X> that's interesting
[02:32:48] <SB-X> i'm surprised he remembers it, they must have been big issues
[02:32:55] <SB-X> did they fix them in MD?
[02:33:22] <Yuv422> yeah that was where the conversation was going
[02:33:34] <Yuv422> he was fixing lots of issues with the u6 engine
[02:33:58] <Yuv422> he said u6 usecode was a big mess
[02:34:11] <Yuv422> and they made it into a table for MD
[02:34:50] <SB-X> like we have?
[02:34:56] <Yuv422> yes
[02:35:01] <SB-X> yay
[02:35:44] <SB-X> that's cool.. but we might just go the u7 route and make it scripted
[02:36:40] <Yuv422> that would be cooler
[02:39:37] <SB-X> i want to finish other things like magic first though
[02:39:54] <Yuv422> yeah
[02:39:57] <SB-X> do you have any big changes to combat planned or coded but not committed yet?
[02:40:48] <SB-X> hit() doesn't need the force_hit flag since we defend before calling hit
[02:40:56] <Yuv422> no
[02:41:05] <Yuv422> I was going to work on inventory stocking
[02:41:11] <SB-X> what do you mean?
[02:41:17] <Yuv422> but I haven't done anything
[02:41:21] <SB-X> oh monster drops
[02:41:26] <Yuv422> adding items to the inventory of temp actors
[02:41:29] <Yuv422> yes
[02:41:30] <SB-X> i made a table for them :)
[02:41:35] <Yuv422> ah k
[02:41:36] <SB-X> it's got very wrong data
[02:41:43] <SB-X> because its from the old monster_equip.txt doc
[02:41:50] <Yuv422> ah k
[02:41:59] <Yuv422> we could probably ask galleon for the data
[02:42:01] <SB-X> but you could use it to start and replace the values with the real ones when you find them
[02:42:09] <SB-X> yeah
[02:42:20] <Yuv422> I'll finish weather first
[02:42:44] <Yuv422> I was thinking of an objlist.h file
[02:42:53] <Yuv422> with some defines for offsets in the file
[02:43:07] <Yuv422> eg OBJLIST_OFFSET_WIND_DIR
[02:43:08] <SB-X> what about my previous idea of making a file format class for it?
[02:43:23] <SB-X> well your idea would work better with less redesign
[02:43:42] <Yuv422> I like the class idea too
[02:43:57] <Yuv422> maybe that can be longer ter
[02:43:59] <Yuv422> +m
[02:44:07] <Yuv422> like the u7 style scripting
[02:44:48] <SB-X> ok
[02:45:01] <SB-X> why dont we have an objlist.h file already? :)
[02:46:06] <SB-X> you had memorized the magic numbers already?
[02:46:21] <SB-X> before writing most of the load functions
[02:46:30] <SB-X> because I always have to look them up
[02:46:37] <Yuv422> I just check the objlist.txt doc each time
[02:46:46] <SB-X> hehe
[02:47:06] <Yuv422> but we have way to many magic numbers in nuvie
[02:47:58] <SB-X> I asked about combat because I've been working on that monster inventory list along with a prototype for a Combat class (which U6Actor is a client of), and was hoping you'd look at my proposal before making any big changes. :)
[02:48:21] <Yuv422> yup that's fine
[02:48:36] <SB-X> it isn't quite finished yet, mainly because I keep thinking up new things to add
[02:48:43] <Yuv422> hehe
[02:48:48] <SB-X> cool
[02:49:28] <SB-X> basically most of the combat functionality goes in Combat, and Combat::update() is called for any combat worktype
[02:49:59] <SB-X> Combat is subclassed into classes for different actor types that have their own methods for attacking
[02:50:26] <SB-X> and there is a table in U6Actor.h or U6ActorTypes.h that points to a combat object for each actor type
[02:50:27] <Yuv422> what about different combat types like range combat or flee
[02:51:15] <Yuv422> could a monster change combat types after running out of range weapons?
[02:51:27] <Yuv422> or after sustaining enough damage to decide to flee
[02:51:50] <SB-X> in the base class it tries ranged first, then non-ranged, then moves to the target
[02:52:08] <SB-X> it couldnt change combat types because they are closely tied to the actor and loaded at startup probably
[02:52:34] <SB-X> but since most of the functionality is in Combat it can call it's own functions
[02:52:42] <SB-X> it has a flee mode
[02:53:00] <Yuv422> righto
[02:53:04] <SB-X> which is set if the actor has over 5 int and less than 25% hp
[02:53:23] <Yuv422> is it effected by alignment too?
[02:53:35] <Yuv422> do chaotic actors flee?
[02:54:06] <SB-X> well right now it uses the same methods as U6Actor so there is no affect there, alignment only affects what the targets are
[02:54:10] <SB-X> do chaotic actors flee in u6?
[02:54:39] <Yuv422> I'm not too sure
[02:54:48] <SB-X> i never thought about that
[02:55:06] <SB-X> I'm going to change the main update function to be more like u6, where monsters will sometimes go in for a melee attack even if they have ranged weapons.
[02:55:18] <SB-X> or at least if they have magic
[02:55:26] <Yuv422> sounds good
[02:55:32] <SB-X> you probably noticed that dragons and drakes sometimes stop shooting and go towards you
[02:55:46] <SB-X> dragons are tough enemies if you don't have the kill spell
[02:55:50] <Yuv422> so their combat actions will be based on their weapons too
[02:56:04] <SB-X> yeah
[02:57:18] <SB-X> I'm thinking of adding a priority for each actortype, listing what types of weapons they prefer, and then randomize which one to use with higher priority weapons being more likely.
[02:58:04] <SB-X> although in U6 if a monster has an adjacent opponent it constantly attacks it instead of doing anything else
[02:58:20] <SB-X> we could make battles different and significantly more difficult in nuvie >:)
[02:58:31] <Yuv422> cool
[02:58:56] <SB-X> one of the things i hadnt added to Combat yet but thought of today is organizing monster parties
[02:59:11] <Yuv422> I'd like to see magic used more strategically too
[02:59:15] <SB-X> they could gather together around a leader, and coordinate their tactics against you
[02:59:30] <SB-X> yeah, like a mage standing in the back and having headlesses protect him
[02:59:55] <SB-X> and using chain bolt more often when you're grouped with your party members
[03:00:06] <SB-X> and not just standing there when they're next to you
[03:00:29] <SB-X> they should also be able to play the turn counter since you can too
[03:00:47] <Yuv422> lots of pathfinding
[03:00:50] <SB-X> and make some decision on what action to take based on the number of moves they have left
[03:01:21] <Yuv422> a better combat brain for npcs will be good
[03:01:23] <SB-X> that's already there though, it's practically point and click movement from Combat :)
[03:01:47] <SB-X> Yes. If we do that we should probably add a difficulty setting.
[03:02:32] <SB-X> im not sure what the best tactics are thoguh
[03:02:32] <Yuv422> we don't want to scare players off
[03:02:38] <SB-X> hehe
[03:04:30] <SB-X> do you know any good tactics in u6?
[03:04:49] <Yuv422> player or npc
[03:05:11] <SB-X> either... i figure to make the monsters smarter you'd make them do what most players do in battle
[03:05:46] <Yuv422> drawing actors apart by spreading your party
[03:05:50] <SB-X> but combat isnt that hard in u6 so i usually just set everyone to auto and go for the strongest enemy, or use lightning wands
[03:06:13] <Yuv422> invis combat
[03:06:29] <Yuv422> a party full of glass swords. ;-)
[03:07:03] <SB-X> that might be hard to justify
[03:07:15] <Yuv422> yeah
[03:07:16] <SB-X> a party of trolls with glass sowrds
[03:07:23] <SB-X> killing your party in one hit
[03:08:00] <SB-X> maybe a gremlin could steal them and use them on you
[03:08:09] <SB-X> but now that you mention it I remember going invis a lot
[03:08:21] <SB-X> don't remember if mages have that spell
[03:27:19] <SB-X> I made a list of what spells different actor's can use too.
[03:27:40] <SB-X> pretty sure that's got wrong data too
[03:27:59] <Yuv422> we could look through game.exe
[03:30:12] <SB-X> yeah im still hoping you can find the real data and combat rules :)
[03:32:11] <SB-X> don't know if you read what I said about it earlier in the logs, but it looks like (when using Pickpocket) that actor's can equip all of their weapons at once, and it will only show one in the inventory. (at least for throwables)
[03:32:45] <Yuv422> ak k
[03:32:56] <Yuv422> so it groups objs
[03:32:57] <SB-X> instead of automatically getting the next weapon out of inventory
[03:33:12] <Yuv422> so only one axe
[03:33:23] <Yuv422> for example
[03:33:24] <SB-X> yeah it can only show one axe becaue they are all in the same slot
[03:33:43] <SB-X> you can pickpocket the troll and steam them until he's out of axes
[03:33:48] <SB-X> steal*
[03:33:49] <Yuv422> interesting it doesn't do that for deeds
[03:34:05] <Yuv422> maybe it behaves differently for nontemp actors
[03:34:13] <SB-X> it's not grouping the objects
[03:34:20] <SB-X> so if they were in inventory you'd see all of them
[03:34:25] <SB-X> im saying they are readied not in inventory :)
[03:34:33] <Yuv422> ah k
[03:34:34] <SB-X> so it can only show one
[03:34:39] <Yuv422> right
[03:35:01] <SB-X> I guess if you could equip deeds it would look the same, but I havn't tested it the other way and checked if they group non-equipped weapons.
[03:35:38] <SB-X> currently we only allow one object per ready slot
[03:35:38] <Yuv422> do you think it stores them as one obj with a qty > 1
[03:36:01] <SB-X> im going to check that now
[03:38:03] <SB-X> they don't have to turn to attack you
[03:40:51] <SB-X> nope
[03:41:12] <SB-X> the troll in question has 3 axes all equipped
[03:41:23] <SB-X> one visible in each hand
[03:41:25] <Yuv422> ah
[03:41:52] <SB-X> the only way to see he has three is nuvie's output
[03:41:56] <Yuv422> we could turn our slots into lists
[03:42:50] * SB-X steals the trolls weapons.
[03:43:53] <SB-X> noe he only has 1 axe but he's not losing it when throwing it at me
[03:44:00] <SB-X> now*
[05:22:45] <-- SB-X has left IRC ("rebooting brb")
[05:25:10] --> SB-X has joined #nuvie
[05:25:16] <Yuv422> wb
[05:25:25] <SB-X> ty
[05:27:15] <SB-X> how hard will it be to make nuvie not require the u6_save dir?
[05:27:48] <Yuv422> and save to the current dir instead?
[05:27:55] <Yuv422> if the save dir isn't provided?
[05:28:20] <SB-X> or make a new dir
[05:28:45] <SB-X> it would be better to create the dir so you don
[05:28:48] <Yuv422> I can't imagine it would be too hard
[05:28:59] <SB-X> don't get a bunch of nuvieU6***.sav files in the program directory*
[05:29:02] <SB-X> ok
[05:29:04] <SB-X> either way is fine
[05:29:21] <SB-X> better than refusing to run if the user didn't create the folder
[05:29:28] <Yuv422> I think we need a more user friendly config system
[05:29:38] <Yuv422> with gui warnings
[05:29:51] <SB-X> oh, i thought you meant the config file style :)
[05:29:52] <Yuv422> but that can come later
[05:30:01] <Yuv422> no
[05:30:05] <Yuv422> :)
[05:30:26] <SB-X> yeah ive got written notes for gui dialog manager too
[05:30:39] <SB-X> i've also added a "latest" file to the savegame dir
[05:30:54] <SB-X> it just contains the name of a savegame
[05:31:15] <SB-X> and nuvie uses loads from and saves to that savegame instead of the one with the most recent date
[05:31:21] <SB-X> -uses
[05:32:10] <SB-X> i suppose that could've been in the config too
[05:32:29] <Yuv422> right
[05:32:33] <SB-X> i don't yet know how to move it to the top of the savegame dialog list
[05:32:35] <Yuv422> yeah config is probably better
[05:32:48] <Yuv422> when we support writing to the config file
[05:32:56] <SB-X> hehe
[05:33:04] <SB-X> ok it will live in the savegame dir for now
[05:33:23] <SB-X> SaveManager::get_latest_save()
[05:33:56] <SB-X> did you see when I asked about where you free the savegame name?
[05:34:06] <Yuv422> oh yeah
[05:34:13] <SB-X> you pass it to SaveGame and I didn't see where it's freed
[05:34:13] <Yuv422> not freeing it
[05:34:38] <SB-X> but I wasnt sure so didn't add another free somewhere
[05:35:03] <Yuv422> I'd have to have a look at it
[05:35:12] <Yuv422> I can't remember what it was doing
[05:42:23] <SB-X> do we always store the obj->x position for objects in containers yet? can it be used to point to the objblk_n of another object? (new objects probably don't get one yet)
[05:44:03] <Yuv422> we don't touch that value for existing objs read from the map
[05:44:30] <SB-X> which?
[05:45:02] <Yuv422> containerised objects
[05:45:20] <SB-X> which value? obj->x or objblk_n?
[05:45:31] <Yuv422> ob->x
[05:45:35] <Yuv422> +j
[05:45:49] <SB-X> we should really start handling it properly, so we can't take things out of containers
[05:45:50] <Yuv422> IIRC
[05:45:53] <SB-X> can*
[05:46:20] <Yuv422> why would it be a problem?
[05:48:22] <SB-X> i can't remember what the problem was now :p
[05:48:25] <SB-X> what about new objects?
[05:48:35] <SB-X> will they get an objblk_n?
[05:49:42] <Yuv422> as far as I can remember objblk_n is only used while finding containers in the load routine
[05:50:26] <SB-X> yeah, if you get a new bag and then put something in it and then save the game, your bag will be empty
[05:50:47] <Yuv422> ah
[05:51:01] <SB-X> and we currently don't delete objects if they're in bags because I didn't finish writing the function ObjManager::get_obj_container()
[05:51:07] <SB-X> it's got a FIXME comment :)
[05:51:26] <Yuv422> right
[05:52:28] <SB-X> how would I find any object in the game with a specific objblk_n?
[05:52:55] <SB-X> i believe objmanager only handles objects in the world
[05:55:48] <Yuv422> brb phone call
[06:02:25] <Yuv422> gotta love work on the weekend
[06:02:27] <Yuv422> :-(
[06:06:11] <SB-X> hehe
[06:07:33] <Yuv422> I have wind!
[06:07:46] <Yuv422> ...working in Nuvie
[06:07:50] <Yuv422> :)
[06:09:01] <SB-X> ...
[06:09:16] <SB-X> great :)
[06:19:05] <SB-X> how would I find any object in the game with a specific objblk_n?
[06:19:53] <SB-X> and where is can_twitch?
[06:20:45] <SB-X> ok, you set twitch_rand to 0
[06:20:54] <Yuv422> yeah
[06:21:00] <SB-X> now to get the pod to stop disappearing
[06:22:46] <SB-X> what do these fields mean again? frames_per_direction tiles_per_direction tiles_per_frame tile_start_offset
[06:23:11] <luteijn> hmm, I made a few small changes (info string capital X, use AND to mask map coordinates, and improved (but not perfect) usage of balloon. testing with latest cvs before committing, but once again the evil assert include is missing from some files, e.g. AnimManager. Should I fix those too, or will one of you?
[06:23:30] <SB-X> hi luteijn
[06:23:36] <Yuv422> hey luteijn
[06:23:43] <SB-X> please feel free to fix missing includes if you're committing some files anyway
[06:23:58] <SB-X> i dont know of any in AnimManager that shouldn't be there
[06:23:59] <luteijn> ok.
[06:24:55] <SB-X> that's one thing we need objblk_n for, you're supposed to be able to use the balloon from a bag
[06:25:23] <SB-X> but you can't remove things from bags yet (reliably)
[06:25:58] <SB-X> because you have to know what bag the thing you're removing is in first
[06:26:01] <Yuv422> I would say forget objblk_n and reconstruct when saving
[06:26:12] <SB-X> i need it
[06:26:36] <SB-X> how would I find any object in the game with a specific objblk_n?
[06:26:45] <Yuv422> does that work across chunks?
[06:27:20] <Yuv422> I don't think the objblk_n is a good field to use
[06:27:27] <SB-X> it's what u6 uses
[06:27:48] <Yuv422> but probably not in game
[06:28:06] <Yuv422> wait in game but they only had one chunk loaded at a time
[06:28:10] <SB-X> then we need a new pointer in obj to the parent
[06:28:11] <Yuv422> superchunkj
[06:28:15] <Yuv422> yes
[06:28:36] <SB-X> but how will we export to u6 :(
[06:28:53] <Yuv422> you can build that info again upon saving
[06:29:03] <SB-X> then why can't we use it in game?
[06:29:13] <Yuv422> because it is superchunk based
[06:29:27] <Yuv422> you'd have duplicates when searching
[06:29:45] <Yuv422> the number relates to the obj in that superchunk file
[06:29:46] <SB-X> you mean objblk_n isnt unique?
[06:29:50] <Yuv422> yes
[06:29:59] <Yuv422> not across multiple superchunks
[06:30:12] <SB-X> *sigh* ok
[06:30:14] <Yuv422> it is the objects position in the savegame file
[06:30:37] <SB-X> how would i rebuild it when saving?
[06:30:40] <Yuv422> this is all from my memory
[06:30:44] <SB-X> heh, thanks
[06:31:02] <SB-X> so, start objblk_n at 0 when saving and count up?
[06:31:14] <Yuv422> yes
[06:31:15] <SB-X> and check all containers of that object and change their x?
[06:31:21] <SB-X> s/containers/container lists/
[06:31:30] <SB-X> or contained objects*
[06:31:56] <Yuv422> you will have a problem with containers in containers
[06:32:12] <Yuv422> but it should be ok if you have a link to the parent container
[06:32:16] <Yuv422> in Obj
[06:32:29] <SB-X> yeah i'll add that first
[06:32:57] <SB-X> why would containers in containers be a problem saving though? you only need to search contained objects not parents
[06:33:22] <SB-X> for each object
[06:34:25] <Yuv422> you're right
[06:34:41] <Yuv422> I was thinking about how to do it without the parent link
[06:34:49] <SB-X> that's what I'm asking about
[06:35:42] <Yuv422> maybe you could do it with a recursive function
[06:35:57] <Yuv422> that remembers the parent container number
[06:35:58] <SB-X> that's what I was thinking of
[06:36:04] <Yuv422> :)
[06:36:08] <SB-X> well no not the parent
[06:36:15] <SB-X> im still not getting why you need the parent
[06:37:18] <Yuv422> if you want to find the container for an object and you only have the object itself
[06:37:33] <SB-X> but you dont need to find the container when saving
[06:37:52] <SB-X> you already have the id, and you just set all the contained objects to that id
[06:38:03] <SB-X> you got the id when encountering an object with a container list
[06:39:00] <SB-X> you dont need to recurse with id because you'll reach that object eventually when saving
[06:40:19] <SB-X> i was just curious
[06:41:33] <SB-X> how about my u6actortype question? :)
[06:41:54] <SB-X> i have no idea what to set the tanglevine to
[06:43:26] <Yuv422> if you have a container in a container then you need two id's if you don't use recursion
[06:44:11] <Yuv422> what do you have for the tangle vine pod at the moment?
[06:44:21] <SB-X> when you're saving containers won't you be saving everything contained too?
[06:44:44] <SB-X> {OBJ_U6_TANGLE_VINE_POD, 0, 0, 1, 0, OBJ_U6_TANGLE_VINE_POD, 0, false, false, ACTOR_ST, MOVETYPE_U6_LAND,40, 20, 25, 1, 4, 1, 30, ACTOR_ALIGNMENT_CHAOTIC},
[06:44:50] <Yuv422> yes but what if a container contains another container
[06:45:03] <SB-X> wont you be saving the contained container too?
[06:45:34] <Yuv422> yes that's why you would need a recursive function
[06:45:42] <SB-X> but you already save the container
[06:45:49] <SB-X> i mean all of those objects
[06:46:00] <Yuv422> because you need to account for the objects in the nested container
[06:46:02] <SB-X> you'll eventually reach it in the linear list of objects to save
[06:46:13] <SB-X> you account for them when they get saved
[06:46:39] <SB-X> sorry i probably wont understand until i look at the objblk save function
[06:46:57] <SB-X> i'll figure out how it works then
[06:47:02] <Yuv422> :)
[06:47:22] <SB-X> sorry to waste your time asking questions about it before checking how it saves for myself :)
[06:47:40] <SB-X> the above actortype entry makes the pod blink on and off
[06:47:43] <SB-X> disappear and reappear
[06:47:55] <Yuv422> I'll have a look at it now
[06:48:25] <SB-X> actually it goes through all the tangle vine frames
[06:49:43] <luteijn> there's only 2 frames for the pod, and for all directions the same ones should be used.
[06:52:28] <SB-X> the pod is shaking and throwing out spores
[06:54:04] <luteijn> I think it's the only 2x1 actor, everything else seems to have 4 frames at least..
[06:54:13] <Yuv422> yeah
[06:55:04] <SB-X> oh no, that doesn't sound good
[06:55:39] <luteijn> maybe you can fake 2 more frames by just copying the existing two?
[06:56:43] <Yuv422> we could add a stationary var
[06:56:58] <Yuv422> we need this for rafts
[06:57:14] <Yuv422> 0 directions
[06:57:20] <Yuv422> 2 frames per direction
[06:57:26] <Yuv422> for tangle pod
[06:57:32] <Yuv422> 0 directions
[06:57:38] <Yuv422> 1 frame per direction
[06:57:40] <Yuv422> for rafts
[06:57:59] <luteijn> reaper: 0 dirs, 4 frames
[06:58:20] <SB-X> where is a reaper or two located?
[06:58:58] <SB-X> dungeon wrong?
[06:59:05] <luteijn> north of britain somewhere. or in the dungeon with the trail of gold.
[06:59:08] * Yuv422 looks up the egg list
[06:59:21] <SB-X> luteijn: that's wrong :)
[06:59:28] <SB-X> wait, no it isnt
[06:59:34] <SB-X> those dungeons were swapped
[06:59:45] <SB-X> that must be despise
[06:59:56] <Yuv422> d8, c7, 0
[07:00:05] <SB-X> which i forgot to put on my teleport list :p
[07:00:07] <SB-X> thanks
[07:00:17] <Yuv422> or 11c, 111, 0
[07:00:30] <SB-X> nuvie already handles their animations correctly
[07:00:40] <SB-X> because they have 4 frames
[07:01:33] <Yuv422> try riding a raft!
[07:01:41] <Yuv422> crazy times!
[07:01:46] <luteijn> can whatever is used for reapers be used for tangle-vine, if we can indicate only 2 frames..
[07:02:24] <Yuv422> no
[07:02:37] <Yuv422> they need 4 frames in a row for it to work
[07:04:48] <luteijn> well, just duplicating the 2 existing frames when loading up the graphics might work then? Doesn't sound like it would be a beautiful solution though.
[07:05:10] <Yuv422> that would mean changing the tile table too
[07:05:13] <Yuv422> Yuck
[07:05:35] <Yuv422> as I said before we need to fix the raft too
[07:05:58] <Yuv422> so we might need to make the actortype table more flexible.
[07:52:41] <SB-X> Yuv422: made it more flexible yet?
[07:53:03] <Yuv422> oh were you waiting for me to do it
[07:53:13] <SB-X> hehe no
[07:53:14] <Yuv422> I was tinkering with my weather
[07:53:16] <Yuv422> ;-)
[07:53:18] <SB-X> np
[07:53:59] <Yuv422> do you think we could allow a msg
[07:54:17] <Yuv422> a custom msg that is into GameTimedCallback
[07:54:30] <Yuv422> I want to send myself multiple callbacks
[07:54:36] <Yuv422> one for wind change
[07:54:45] <Yuv422> and one for eclipse end
[07:55:20] <SB-X> I'm still thinking up additions to my Combat class, and wondering how to seperate U6ActorType into smaller structures
[07:55:45] <Yuv422> right
[07:55:57] <SB-X> you could put the message in user data
[07:56:06] <Yuv422> yeah
[07:56:14] <Yuv422> I'll do it that way
[07:56:25] <SB-X> i think that's how I've used it already
[08:07:24] <Yuv422> nope it passes evtime back
[08:07:32] <Yuv422> as the user data
[08:07:45] <Yuv422> the user data is set in another call
[08:08:11] <Yuv422> callback_target->set_user_data(callback_user_data);
[08:08:29] <Yuv422> this turns the callback into a two step process
[08:09:55] <SB-X> it's supposed to set that before calling the callback function
[08:10:08] <SB-X> check Weather::user_data
[08:14:11] <SB-X> ok that's stupid, i just forgot to pass that
[08:14:26] <SB-X> the message() function (the callback function) sets it to NULL by default
[08:14:49] <SB-X> change TimedCallback to pass user_data as the 3rd arg to message(mesg_timed, &evtime);
[08:16:02] <SB-X> actually nm it already does that in message()
[08:16:06] <SB-X> so you should be fine
[08:16:34] <SB-X> my_data was just for extra data
[08:17:22] <Yuv422> righto
[08:17:39] <Yuv422> I use data in other callbacks though
[08:17:48] <Yuv422> so it might get a bit confusing
[08:17:56] <Yuv422> looking into callback_user_data
[08:18:01] <SB-X> yeah we have msg_data, callback_user_data, and my_data :)
[08:18:04] <Yuv422> instead of the data arg
[08:18:22] <SB-X> you'll look into both this time
[08:18:37] <SB-X> so it wont be too confusing, since you're checking them both at once
[08:18:53] <SB-X> msg == MESG_TIMED && user_data == ???
[08:22:05] <SB-X> oh, for data just copy to a local variable so you know what it means
[08:38:46] <Yuv422> is there any way to cancel a callback?
[08:41:52] <Yuv422> bbl
[08:47:10] <SB-X> not if you didn't save a pointer to it
[08:53:04] <SB-X> if you did, call timer->stop_timer()
[08:53:11] <SB-X> but don't delete it
[11:59:03] <-- Kirben has left IRC (Read error: 110 (Connection timed out))
[12:11:41] <Yuv422> ok you can cast the eclipse spell now
[12:12:35] <Yuv422> and everyone is plunged into darkness
[12:13:16] <SB-X> nice
[12:13:38] <Yuv422> it lasts for random turns then everyhting lights back up again
[12:13:47] <SB-X> whats the minimum time?
[12:13:55] <Yuv422> 1 turn
[12:13:57] <Yuv422> ;-)
[12:14:01] <SB-X> ok
[12:14:09] <Yuv422> I need to move the length into the spell script
[12:14:11] <SB-X> so you wrote the spell script? that's good
[12:14:34] <Yuv422> at the moment I'm generating the random length from Weather::start_eclipse
[12:14:52] <Yuv422> but it looks like scripts can supply random values
[12:15:09] <Yuv422> # 114
[12:15:09] <Yuv422> name: Eclipse
[12:15:09] <Yuv422> invocation: VAL
[12:15:09] <Yuv422> reagents: 0xab
[12:15:10] <Yuv422> script:\
[12:15:10] <Yuv422> _eclipse _end
[12:15:12] <Yuv422> ~
[12:15:57] <Yuv422> do we have a naming convention for spell functions like eclipse
[12:15:58] <Yuv422> ?
[12:16:23] <SB-X> i havn't created any
[12:16:52] <SB-X> the spells luteijn created only use magic helper functions not complete spell functions
[12:18:06] <SB-X> but if its the same thing then they're like function_eclipse
[12:18:19] <SB-X> and _eclipse in the script
[12:19:40] <SB-X> im tired
[12:19:41] <SB-X> cya
[12:19:57] <luteijn> call (which is the same as the underscore hack) knows how to translate between names
[12:20:58] <luteijn> function_eclipse could (should) read an argument from the stack for the length, that the spell script provides.
[12:21:08] <Yuv422> ah k
[12:21:15] <Yuv422> SB-X: cya
[12:21:21] <SB-X> im tired
[12:21:22] <SB-X> cya
[12:21:34] <SB-X> oh, see how tired i am I forgot I said that already
[12:21:38] <SB-X> bye
[12:21:41] <luteijn> bye sbx
[12:21:43] <Yuv422> hehe cya
[12:22:01] <-- SB-X has left IRC ("*casts gate travel*")
[12:23:07] <Yuv422> how do I add a random value to the stack?
[12:23:25] <Yuv422> min max _random _add
[12:24:02] <luteijn> almost
[12:24:54] <luteijn> see the function_random comments,
[12:25:28] <luteijn> basically 10 _random will leave a random number from 0 to 9 (inclusive) on the stack
[12:25:53] <luteijn> so min max _random _add will leave a number from [min,(min+max)>
[12:26:43] <Yuv422> righto
[12:27:13] <Yuv422> so would "10 10 10" push 3 10's onto the stack
[12:27:23] <luteijn> probably your eclipse function is of a higher level than what I originally envisioned for the helper functions..
[12:27:40] <luteijn> yes, let me see if I got my documentation .html file somewhere online..
[12:28:42] <luteijn> http://luteijn.xs4all.nl/~luteijn/magic.html
[12:29:00] <Yuv422> thanks
[12:29:40] <Yuv422> am I using the script to its full potential
[12:30:00] <Yuv422> eclipse is a pretty highlevel operation
[12:30:25] <Yuv422> I can't really see anymore script interaction other than getting the random duration
[12:31:17] <luteijn> If I ever had time for it, I would probably have broken it down to things like 12 _set_trammel 12 _set_felucca 12 set_sun ... etc.
[12:31:43] <Yuv422> hmm that's pretty low level
[12:31:47] <Yuv422> :-)
[12:32:27] <Yuv422> maybe we could incorporate that sort of functionality into the u7 style scripting engine
[12:32:32] <luteijn> but then you can reuse things in other spells. for now it is probably a good start.
[12:33:34] <Yuv422> should we do spell magic rolls in the script?
[12:33:44] <Yuv422> chance of failure
[12:34:06] <Yuv422> I'm not too sure how that works in the original
[12:34:41] <luteijn> In principle yes, although if a certain roll occurs a lot, it could be a helper function, so you can pass the variables into it. (incase we have to change it so you don't have to change 20 spells, just one helper function)
[12:35:03] <Yuv422> yeah
[12:35:22] <Yuv422> and the exceptions to the rule can be written out in full
[12:37:28] <luteijn> there's a few 'demo' spells already (that might not totally work anymore as some things like input are not arranged properly, and they might be reading from stdin instead), but they ought to give you ideas of how I expected things to work.
[12:38:44] <Yuv422> to get a number between 10 and 30 would this work 20 _random 10 _add
[12:40:06] <luteijn> yes, but max number would be 29.
[12:40:15] <Yuv422> ah yes
[12:43:00] <luteijn> I think I had a similar discussion with SBX some time ago on syntax etc of magic script... let's see if Ican find the link to the logs.
[12:45:30] <Yuv422> the script parser looks like it will die if it expects a value on the stack but gets nothing
[12:45:46] <Yuv422> atoi()'s everywhere
[12:47:15] <luteijn> stack is text.
[12:47:31] <luteijn> atoi("stringwithoutdigits") will return 0 I think
[12:47:36] <Yuv422> ah k
[12:47:42] <luteijn> underflow will cause it to throw though.
[12:47:54] <Yuv422> what about popping an empty stack?
[12:48:01] <Yuv422> ah k
[12:49:09] <luteijn> usually scripts will return 'success' or 'failure' on the stack, so you can decide if there's a (Valid) answer there.
[12:50:48] <Yuv422> you're rand() call isn't seeded on OS X
[12:50:56] <Yuv422> I'll replace it with NUVIE_RAND
[12:51:03] <luteijn> good.
[12:52:07] <Yuv422> ok I'm getting random duration from the script now. :-)
[12:54:49] <luteijn> looking forward to the commit ;)
[12:55:04] <Yuv422> :-)
[12:55:17] <Yuv422> just testing load/save functionality
[14:00:26] <Yuv422> time for bed
[14:00:38] <Yuv422> I'll commit my changes later
[14:00:53] <Yuv422> I think I might have introduced a bug with setting the combat mode
[14:01:08] <Yuv422> cya
[14:01:25] <-- Yuv422 has left IRC ()
[19:03:57] <-- ChanServ has left IRC (Shutting Down)
[19:10:58] --> ChanServ has joined #nuvie
[22:14:34] --> SB-X has joined #nuvie
[23:18:22] --> Yuv422 has joined #nuvie
[23:27:17] <Yuv422> hmm party is getting the combat mode from 0x1c12
[23:27:23] <Yuv422> which is the eclipse counter
[23:27:43] <Yuv422> it should be getting it from 0x1c69
[23:37:00] <SB-X> hey yuv
[23:37:12] <Yuv422> hey SB-X
[23:37:20] <SB-X> heh, that's understandable without an objlist.h!
[23:37:30] <Yuv422> I'm just writing up my ChangeLog
[23:37:31] <Yuv422> yesh
[23:37:41] <Yuv422> I've added that offset to the Objlist.h file now
[23:37:57] <Yuv422> it is U6 specific so we will need to change the code later
[23:38:28] <SB-X> i accidentally made the alcohol variable read from some other variable at first, and the avatar was constantly hiccuping ;)
[23:38:29] <Yuv422> all the flags in the end of objlist move around between the three games.
[23:38:36] <Yuv422> hehe
[23:38:40] <SB-X> ah k
[23:38:49] <SB-X> yeah there's lots of u6 specific code that's not marked as such
[23:38:58] <Yuv422> yeah :-(
[23:39:09] <Yuv422> we'll have to fix that after U6 is done
[23:39:21] <SB-X> yeah I havn't worried about it since only U6 really works now
[23:40:03] <SB-X> how about splitting up actortype into smaller tables?
[23:40:19] <SB-X> like actorstats, actorshape, actorproperties
[23:40:36] <Yuv422> for managability?
[23:40:42] <SB-X> and then changing the actorshape one to something more flexible like you wanted
[23:40:42] <SB-X> yeah
[23:40:54] <Yuv422> sounds ok to me
[23:41:12] <Yuv422> that table is a bit unwieldy now.
[23:41:22] <Yuv422> it kind of grew out of my research into actor types
[23:41:36] <SB-X> you could still make a parent actortype table that gets filled at the start with pointers to the other tables
[23:42:10] --> Kirben has joined #nuvie
[23:42:15] <SB-X> get_actortype()->stats->dex
[23:42:20] <SB-X> hi Kirben
[23:52:25] <Yuv422> ok my wind and eclipse changes are in cvs now
[23:53:47] <SB-X> is there ever an eclipse without using the spell?
[23:54:23] <Yuv422> not that I've ever seen
[23:54:34] <SB-X> so not in nuvie at least
[23:54:39] <SB-X> I've never seen one in U6 either.
[23:54:56] <Yuv422> yeah you have to cast it in nuvie
[23:55:46] <Yuv422> It's cool because I use the GameTimedCallback it works with your time advance code
[23:56:04] <Yuv422> so you can rest and the eclipse will end as expected
[23:56:05] <SB-X> oh yeah
[23:56:43] <SB-X> i was wondering if a timedcallback was really the best way to handle the random time but it sounds useful
[23:56:59] <SB-X> hadn't thought of resting or other places where time advances
[23:57:43] <SB-X> There is a function I added to actors called update_time() (formerly update_moves_left()) that should also get called every minute, where you can put actor status effects.
[23:58:02] <SB-X> im not sure it actually is getting called but that's the plan
[23:58:39] <SB-X> so poison counter should really go there
[23:59:13] <SB-X> and torches
[23:59:24] <Yuv422> I was wondering about poison and time advance
[23:59:28] <Yuv422> yeah
[23:59:32] <SB-X> then if you rest you'll continue to get hit and torches will go out