Schattenländer - v0.1d released (Feb 10/07)

正在查看此主题的用户

I uploaded the song 'Devil's nag' here. It's not from the original game but you will probably recognize it. I added an oboe and a harpsichord finale. Definitely one of the best renaissance pieces I've heard.
 
Page 88 of the '92 first print manual, I dont know if the manual was the same for the second or third run.
I'll load it up and see if I can get all the base chances of success, I had thought it was a mathematical expression of the base virtue required by your own virtue and religion training (you can tell I wasn't much about saints in the game, more of a hack 'n slash player).
I've been looking through the game files to see if I can find it all written out so I dont have to go through it, and am not finding it as easily as I had hoped.
As for excel, if you know of a free program for it, I can get it to you that way, otherwise, a notepad + file may be the best I can do.
 
OpenOffice 2.1 is a free equivalent (to Word, Excel, Access, etc) - and is in fact what I use, when I'm not at work.

And my recollection had been that some saints, with comparable virtue requirements, would have higher and lower base costs.  See upthread for a link to the character editor - you could just create a test party and mess with their stats and see.
 
Oh, and an aside regarding dragons -

Curiously, because of that fantastic property of (ti_on_scene_prop_hit) that it records the exact spot the impact happened, scene props (properly animated) could currently be far more powerful for us than troops.  Can you say "jarid in the eye"?  I thought you could.

Need troops to actually do damage instead of just reduce HP, but I can think of ways to integrate that.  (For instance, if we make a troop called "Dragonfire", trap six of them inside the dragon's mouth with an AI-barrier, equip them with a custom missile weapon with a really high rate of fire but either low accuracy or poor skill, with a missile which is all particle effects, and use ammo refills to make them fire when we want... yummy.)
 
Great idea. I was wondering how to make your teammates attack a scene prop. Invisible enemies inside a dragon head would do it.

EDIT: I see. Position 1 stores the hit location in ti_on_scene_prop_hit. Cute.

EDIT2: Hmmm Position 1 stores the GLOBAL hit location, actually.... So if the whole floor was a scene prop... we can detect the exact location where the potion shattered...

Well it looks like it only works for props, so if you throw a potion at an agent and it hits, you get no data. Damn.

Still, useful for many applications. For example, stone-tar implementation becomes very easy now: spawn a black blob and set scripted destination to current destination, causing enemies to pause momentarily.

It'll be a pain in the ass to prop every floor though. I'm checking to see if vegetation and boulders work.
 
I had been having sort of the same thought.  However - careful!

There doesn't appear to be any way to tell what hit the scene prop.  And the lag on thrown objects (we'd want it slow) would mean that we couldn't just use a trigger on attack from the potion; other missile weapons might well land during the airtime of the potion.  I had been pursuing the same train of thought, but have not yet figured out how to work this one out.

(On the other hand, if you solve that, then we may be equally able to get the position of the agent it hit, if not the floor...)

I'm also not sure we have any way to set the HP of a scene prop.  There's actually nothing in the scene prop definitions in <module_scene_props.py> that would define that.  Not relevant for the floor, obviously, but for lots of other things it could be useful.  I suspect we need to avoid sokf_destructable for now and use agent slots and animations instead.
 
Ah, ****, you're right. I can imagine it... you throw the potion of Thunderbolt, just as an enemy arrow hits the ground between your feet... and YOU blow up.

I thought props have infinite HP, they only die when you tell them to. In fact you actually have to tell them HOW to die.


 
You'd think... but I can't find the instruction to die anywhere in the definition of the training dummies, or the training ground mission, or... dunno.

Here's another thought for you: can we find the "hit" point on a scene prop that doesn't have a collision mesh?  I expect not, but if it were possible then there are ways we could use that instead.

Alternately, we can register the exact damage done.  How many arrows do exactly 1 damage?  Or, for that matter - this is definitely worth testing, including hitting characters with 'em - negative damage?  (Neg damage would mean thunderbolt does -1, sunburst does -2, etc...).  Even the "exactly 1 damage" version could be serious gold... activate a receptive state as soon as you fire, explosion requires the magic 1dam hit plus the receptive state, state triggers away within two seconds or so. 

Or we filter for exactly one damage and in a straight line forward from the troop doing the throwing.  (Which reminds me - is a local coordinate rotated to match the facing of the object it's local to, or is it only shifted but the axis directions remain the same as global?)  Or both, or remove all sources of damage which could do that increment (can you damage a scene prop by falling on it?), or the like.

 
Hellequin 说:
You'd think... but I can't find the instruction to die anywhere in the definition of the training dummies, or the training ground mission, or... dunno.

Hm, you're right, no idea when scene_prop_destroy is called.

Well, we can keep track of amount of damage dealt (param2) which would accomplish the same as checking HPs, so it's not a necessary trigger.

Hellequin 说:
Here's another thought for you: can we find the "hit" point on a scene prop that doesn't have a collision mesh?  I expect not, but if it were possible then there are ways we could use that instead.

The arrow would go right through like it wasn't there and hit the thing behind it.

Hellequin 说:
Alternately, we can register the exact damage done.  How many arrows do exactly 1 damage?  Or, for that matter - this is definitely worth testing, including hitting characters with 'em - negative damage?  (Neg damage would mean thunderbolt does -1, sunburst does -2, etc...).  Even the "exactly 1 damage" version could be serious gold... activate a receptive state as soon as you fire, explosion requires the magic 1dam hit plus the receptive state, state triggers away within two seconds or so. 

Or we filter for exactly one damage and in a straight line forward from the troop doing the throwing.  (Which reminds me - is a local coordinate rotated to match the facing of the object it's local to, or is it only shifted but the axis directions remain the same as global?)  Or both, or remove all sources of damage which could do that increment (can you damage a scene prop by falling on it?), or the like.

Damage is too unreliable since it's modified by player speed and player skill stats (power throw). Filtering for direction is a great idea. I imagine the coordinate transforms also rotate the axes, otherwise they're be rather pants, I can't imagine Armagan making a new opcode for something that can be done in three existing opcodes. So we scan all the props within a certain cone of the player, tagging them to get ready for the hit; if no hit registers in 0.5 seconds we clear the tags. Might work.
 
Speed is irrelevant to thrown weapons, and power throw only does a small percentage.  Make it do one damage and filter for <3, we're still fine.  That on top of the cone would be pretty reliable.

Mind you, if the axes rotate, depending on exactly how they do it, we could probably come up with a way to map out the throw path just as a series of animate-to positions and a scene prop.  If necessary the potion props are waiting out of sight and come screaming across the sky and then down to the player's hand in 0.02 seconds, like some kind of alchemical cruise missile, or else the potion is a teeny invisible solid fly which we continually animate to stay with the player and a visible-but-intangible potion bottle which comes into your hand from under the ground which follows it through its arc, or the invisible fly plus a potion-shaped particle... I'm sure there are ways we can do it with scene props.  Arguably these are less elegant, but propping all floors has its downsides too.

Either one sounds doable but incredibly time-intensive to get working the first time.
 
Much glory to our contributors!

Saijonas has collated all the hidden data I needed about every saint in the game, and formatted it exactly as I needed it.  He did it in a day.

Breyean has finished the Darklands County Survey and is formatting his results into easily usable form for me as well.  His was a much bigger job, but he's done.  He did it by actually walking across the length and breadth of a game of Darklands, taking exhaustive notes.  We owe his adventurers new boots.

Way to go both of you!
 
OMG, Darklands...
*starts building a shrine to the crew*

Pardon my intrusion, I'll be going away now... gotta go pray to all the saints for the quick and efficient conclusion of this endeavour. :smile:
 
How's it going? When do you think you will release this little masterpiece? I'm so excited I could pee myself
 
Merentha 说:
Dr.Love 说:
How's it going? When do you think you will release this little masterpiece?
Not for a good while, I'd imagine.

My guess would be 6mos to one year, assuming people don't get burned out.  I will work on it full time once lom is done though, assuming I don't get burned out.
 
That's about my guess, too.

Also assuming my wife doesn't kill me for spending so much time coding.

Incidentally... I just successfully compiled a version which should, on retrospect, not have compiled.  Looks like Armagan lifted the 128 faction limit!  Theoretically this means we don't need to cut out any saints anymore.  In practice, of course, most of the ones we cut are cut for good reason.  At most Martin of Tours might make it back in if I find myself with a desire to do so at some point.

However, inadvertent as it may have been, this discovery marks a fresh benchmark.  All saints' powers and data is now entered and accessible in the mod.  Only the attribute, skill, at stat boosts actually do anything at this time, but the constants are in place, so as we build fresh functionality in, it'll pretty much automatically come online for the appropriate saints.  (Also as we add klosters so you can actually learn any of them!)  This is a much bigger accomplishment than it looks; our 125 saints have an average of 3-4 effects each, some as high as eight, plus 0-4 contexts (encounters where they can change the menu path, as distinct from buff effects) each.  The file module_saints_init.py is 2600 lines long, and that's basically all slot assignments delineating the holy host, and a small percentage of whitespace.  Call it 2000 faction_set_slot calls.  Saijonas gathered the biographical data for me, I did the effects and contexts and then a huge find-and-replace job to turn it into code.  Whew!

Potions will be way easier.  Less than half as numerous, triplicate semiduplication across the board, one effect each and a few contexts, no biographical data.  No sweat by comparison.  Before I do them, it's kloster time.

Saijonas is also making excellent headway on pass 1 of the professions.  I need to switch to writing the character creation menus soon, or he's going to be done cataloguing long before there's a framework in place to accept it!  Much praise to the uncomplaining doers of scutwork; they are the rock upon which we shall build this mod.

Jeansberg is quietly making magic in the background.  Check out the first post for a link to where he's piling up the songs.  Awesome!

There's a lot of progress happening, it's just not visible.  Public advisory, however; until after Christmas, the lack of visible progress will in fact denote a lack of progress, as I'll have little time to code.  (My wife would have that be 'zero'.  Did I mention the five kids? :smile:)  So I may be slow in responding to PMs and so forth until roughly Boxing Day or beyond.

Best of the holidays to all o'ya!
- Hellequin
 
the additions in .8 to modding are awesome, considering that this is a graphics update, especially.

it's still hard to do hard thinks and not easy to do easy things, but it's not so crazy to do things that seem like they should be easy any more.  The dialog bug seems fixed and I think the one where it crashes when you have a large string in a string register is fixed as well.
 
(Confirmed - putting a long string into a string register and thence into a menu is no longer a problem.  There may be a limit but it's way up from where it used to be.)
 
No sense speculating on a release date. It's not like we have exactly x hours to work on this every week, so putting a timeframe is meaningless. I think the answer to the question is, "far far in the future".
 
I'm off for a week's vacation in Vegas ---- when gambling and all you can eat buffet's call, you answer.
repeatedly.
I will be resuming work in the new year, and I still have fingers crossed that I will not ghost on the mod.
 
后退
顶部 底部