Primary Zelda Hacking
April 21, 2014, 09:43:58 PM *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News: Current Zelda Oracles Hacking Suite beta version: 0.05
 
   Home   Help Search Login Register  
Pages: [1]
  Print  
Author Topic: Enemy Hit Types  (Read 548 times)
Lin
ZOLE Creator
Administrator
Hero Member
*****
Offline Offline

Posts: 580



View Profile
« on: January 10, 2011, 01:27:44 AM »

This is used for the "Hit Type" value in ZOLE's enemy editor.

Note: Add 80 (hexadecimal) to these values if you want them to actually work. For example, 81 for 01, 91 for 11. Windows Calculator can do this.

00 = Nothing
01 = Sword Only (One-hit KO)
02 = Sword Halt, other items detect but useless
03 = Other items detect but useless
04 = Nothing
05 = Link doesn't get hurt from touching and also stops the enemy. Other items useless
06 = Same as 03
07 = Same as 03
08 = Sword damages. Link gets pushed back and enemy doesn't. Other items detect but useless.
09 = Sword and ember seeds damage. Enemy doesn't get pushed back.
0A = Sword halts. Link gets hurt and other items are detected but useless.
0B = Sword damages. Link gets pushed back. Boomerang deflects.
0C = Sword and boomerang deflect. Other items detected but useless.
0D = Same as 09
0E = Same as 0C
0F = Sword damages. Enemy doesn't get pushed back. Ember seeds burn and kill. Other items detected but useless.
10 = Sword damages. Ember seeds burn but only damage. Other items detected but useless.
11 = Sword damages. Ember seeds burn but only damage. Boomerang stuns. (Traditional enemy)
18 = Sword halts, items are detected but useless. Shovel pushes enemy back.

Possibly more but I stopped at 11 because it's the most common value.

~Lin
« Last Edit: May 08, 2011, 05:43:00 AM by Fatories » Logged
Jigglysaint
Hacking Guru
Full Member
*****
Offline Offline

Posts: 150


View Profile
« Reply #1 on: January 11, 2011, 03:29:52 AM »

As I recall, some of those values actually use rings to determine what the final damage output is.  As far as I understand, there is no way to make one sprite damage another.  Also there is I believe 32 different types of interactions with sprites(that is, what it does to you if you touch it, switch hook it, bomb it, etc).  Each spot is controlled by a flag(elsewhere), and all these values are then used as an index for the enemy data.
Logged
Lin
ZOLE Creator
Administrator
Hero Member
*****
Offline Offline

Posts: 580



View Profile
« Reply #2 on: January 11, 2011, 03:35:11 AM »

Yea, I gathered the values weren't flags and were references, which is unlike Capcom. I also didn't take several things into account, like rings as you said, and I also didn't test the switch hook. There's also one with the beethat thing that you can only hit from the back that probably uses one of these.

Actually, no, that enemy used 9D (1D), which I haven't documented yet. Oh well.
Logged
Jigglysaint
Hacking Guru
Full Member
*****
Offline Offline

Posts: 150


View Profile
« Reply #3 on: January 11, 2011, 05:24:08 PM »

Well let's see what I remember about the hit detection data for sprites:

At 1ED0A is a start of a list of bytes that determine what happens when Link interacts with a  projectile.  There are 32 entries for 32 types of interactions, and at 1E9A2 is a list of flags for each spot in the index.  For example, the crystal switch apparently using index 03(which as you found out, becomes 83 in the enemy data).  Each byte in the list is either turned on or off.  32 bytes means 4 bytes worth of flags.  Each byte is connected to a specific action, which runs from Link doing sword damage, to Link getting damaged.  For example, 3C is used by the Bemos statue, and wearing the right ring will reduce that damage.  Also includes are values for what happens if you block the projectile.  I bet it could be possible to make it so blocking a shot gives Link a heart or somthing.  Unfortuanatly there is no way to reflect the laser under normal circumstances since one projectile cannot affect another sprite.  I think for that to work, you'd have to code in a beam into the weapons data and have the shield set to spawn(as well as the code for movement) for it to work.
Logged
Zerpha
Newcomer
*
Offline Offline

Posts: 11


View Profile
« Reply #4 on: January 24, 2011, 09:41:11 PM »

Nice list. But does this mean sprites are independant from their "usual values"? (E.g. if you add a Moblin, like the one in your video. This one couldn't should arrows either unlike regular Moblins afaik. Then again this is likely a bad example since their weapon is independant from this hit type list. So let's say, i could crate a (beam shooting) Lynel that will be pushed back when i hit it?)

That beam reflecting idea seems interesting.
(Since only the Level 3 shield can ward a Beamos Laser you could only deflect them with the Mirror shield, which would allow an accordingly themed Level. Yet would this not require recreating all values of hit types since laser/shield damage does not exist as bite information?)

How was the laser reflection in Link's Awakening done? Afair the beam deflects from your shield in another direction (without doing any harm). Is this just a triggered animation like a regular deflected arrow or stone that falls to the ground then?

Also, is it possible to give one bite the information of grabbing enemies? Possibly through one of the bites dependant on a Ring.
I can remember that it was possible to grab stunned enemies in Link's Awakening. Although i know those are two seperate games, and it might also be something more complex since i think those stunned enemies behaved like koopas from super mario - after a while they will be un-stunned and you'll lose your grasp and take damage from touching them.

Sorry if there are a lot of dumb questions here :mellow:
Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2013, Simple Machines Valid XHTML 1.0! Valid CSS!