Friday, June 5, 2009

Gentle Landing

Huzzah. That's one. Finished, all done, colored in on The List over there =>

The knock down code works, and it's nice and solid, I even have frame counts, so I'll add those to The List too...and...done. It's Orange! That let's you know that it's done.

So yesterday I went in and added parts for the enemies to hit walls and fall where they were supposed to and not fall when they weren't. As I got started I found that enemies would get to the end of their arcs and just stop, stunned like they had just hit the ground. Of course, since there was no ground there, it looked and played a little strange. So a quick tweak later and thy would only get stunned when they hit the ground as part of the arc or at the very end. Otherwise they Fall. This means that the Falling Function for the enemies needs to end at 10, but without the invincibility triggered. I'll get the falling function finished today and the invincibility bit.
Anyhow, after the correct things happened after the arc, I went ahead and added the bounce code, so enemies would rebound off of walls if hit into them. I find this to be actually quite cool. You can knock them off of things, into walls and on one occasion I managed to hit the enemy so that they fell, hit a wall, bounced, hit another wall and then fall down.
Right then, the Failing code should work exactly how the Falling code works for The Thief. That way, the physics modeling in the game is consistent. Plus, I also have the al-jabr (It's Arabic, look it up) all done for that.

-With that done, the counter system is up next, but that requires the animation tables for throws built. Having thought about it a little, I need a table with 6 rows and each with 151 cells (150 animation cells and 1 cell for the total number of frames). That 3 kinds of throw animations both to the left and right. Of course, the only enemy with 3 kinds of throws will probably be The General, but he's designed to be a brutal pain in the ass. In any event, the table doesn't need all the extra information present in the Attack tables, since it is really just a table for animations, albeit a very big one.
Information about how a throw will deal damage will be on a part by part basis. They aren't common enough to devote a huge amount of time to. So things like this will be frequent in the function:

If EnemySkill = 8 ;The General
If ThrowType = 3
If EnemyAttackFrame = 5
HP = HP - 5
endif
endif
endif

I was also having an idea on triggering these things. First, a Counter will go right into the animation, without a starting attack. So if the counter is good, then immediately trigger the throw. No stunned Thief, no chance of dodging. That'll happen a few times with a Fencer enemy (an enemy that has no Block, only counters) and players will pay a lot more attention. Since a Counter has 2 flavours, that will correspond to individual kinds of Throws.
A similar thing will control regular Throw type attacks. For those, when the attack hits that has those properties, then the throw will also trigger. The kind (ThrowType) will correspond to the kind of attack hit. Generally speaking it'll be either a High or Low attack, but on at least one occasion a blue attack. I think that'll work and since it uses code already, um, coded it should be a pretty quick thing to install. Of course the big issue is getting animations that are 150 frames (5 seconds) long.

No comments: