Jump to content

Photo

Changing Ganon defenses


  • Please log in to reply
8 replies to this topic

#1 Binx

Binx

    Formerly Lineas

  • Members
  • Real Name:Brian
  • Location:Lancaster, CA

Posted 20 April 2017 - 12:11 PM

Are there any ways to change Ganon's defenses against arrows via scripting, without having to script him from the ground up? Currently, since I have five arrow types (one is a slingshot bullet); any of the arrows, except for the slingshot bullets, can kill him, and I only want him to be damaged by the level 5 arrow (light arrows). Unfortunately, I can't make all the arrows except the light arrows level 1, because the game will add all level 1 arrows to your inventory when you pick up any level 1 arrow.


Edited by Binx, 20 April 2017 - 12:13 PM.


#2 Deedee

Deedee

    Bug Frog Dragon Girl

  • Moderators
  • Real Name:Deedee
  • Pronouns:She / Her, They / Them
  • Location:Canada

Posted 20 April 2017 - 12:27 PM

Are there any ways to change Ganon's defenses against arrows via scripting, without having to script him from the ground up? Currently, since I have five arrow types (one is a slingshot bullet); any of the arrows, except for the slingshot bullets, can kill him, and I only want him to be damaged by the level 5 arrow (light arrows). Unfortunately, I can't make all the arrows except the light arrows level 1, because the game will add all level 1 arrows to your inventory when you pick up any level 1 arrow.

Try unchecking "gain lower level items", and use item override for the subscreen if you aren't already.



#3 Binx

Binx

    Formerly Lineas

  • Members
  • Real Name:Brian
  • Location:Lancaster, CA

Posted 20 April 2017 - 12:34 PM

"Gain lower level items" is already unchecked, and I am using item overrides on the subscreen. The issue is that Zelda Classic can't differentiate between items of the same class and level, so it will automatically give you all items of that level. As far as I know, there's no way to restrict it to only giving you the item you pick up if multiple items have the same class and level; that's why when you use item overrides you HAVE to give all the items a different level number. If it was something that simple, I would have the bullet, wooden, fire and ice arrows all as level 1 (as I had intended, originally; I already tried it).

 

EDIT: I have an idea, not sure if it will work, testing it now.


Edited by Binx, 20 April 2017 - 01:17 PM.


#4 Binx

Binx

    Formerly Lineas

  • Members
  • Real Name:Brian
  • Location:Lancaster, CA

Posted 20 April 2017 - 01:34 PM

Well, that didn't work. Was seeing if I could manually take the higher level items away via dummy items and scripts, but it removed all the items of the same level, including the one I picked up. (I set dummy items up, basically a 1-item item bundle; wrote a simple script to remove the real item if you don't have the dummy; set all the arrows, minus the light arrow, to level 1; then placed the dummy bullet on the screen, but when I picked it up, no bullet, or any other arrow. Double and triple checked the scripts to make sure I didn't make any errors, so it must be due to the item level issue described above)
 
EDIT: Absolute worst case scenario, I'll have to make/get a custom Ganon script, but I'd rather not, I'm trying to keep most of the mechanics true to the original game.
 
Further edit, because I didn't want to triple post: I was looking at the ZC Wiki, and it says Ganon can only be killed with the silver or golden arrows, is this hard-coded by item number or item level? Because if it's anything level 2 or higher, then I'm stuck; but if it's only levels 2 and 3, or only item numbers 14 and 57, then I can easily work around it.
 
EVEN FURTHER EDIT: Wait, according to the Arrow page on the ZC wiki, it's any arrow item with a damage value of 4 or greater. Since I nerfed the arrows/bullets to only have a damage value of 1, and the fire and ice arrows have a damage value of 2, I may be able to do this without scripting, after all. Will test and update.

 

FINAL EDIT: Ok, I feel dumb, it IS based around damage calculation, so I don't need to do anything, the light arrows are the only thing that hurts him.


Edited by Binx, 20 April 2017 - 02:35 PM.


#5 Timelord

Timelord

    The Timelord

  • Banned
  • Location:Prydon Academy

Posted 29 April 2017 - 04:33 PM

For what it is worth, it is hardcoded based on what ZC considers a 'canonical item type' , which is a fancy way of stating, : An item that existed in 2.1 that we resolve weapon types into; which ordinarily is also used with a set of defences in an enemy_hit() function set. Ganon essentially ignores enemy_hit() and has his own routines.

His spawn animation, and death animation are special too.

The bottom line is that Ganon is hardcoded to take damage from arrows, based on internal properties that cannot be faked at present. If you, or anyone else, does script a Z1 Ganon, it would be lovely to have one that follows proper NES patterns, which are rather complicated. I have some files (in Japanese) that explain them.

I would not advise trying to force Ganon to obey scripts, at all. You essentially need the Triforce of Source Code to change him. :/

Edited by ZoriaRPG, 29 April 2017 - 04:35 PM.

  • Binx likes this

#6 Binx

Binx

    Formerly Lineas

  • Members
  • Real Name:Brian
  • Location:Lancaster, CA

Posted 29 April 2017 - 05:43 PM

For what it is worth, it is hardcoded based on what ZC considers a 'canonical item type' , which is a fancy way of stating, : An item that existed in 2.1 that we resolve weapon types into; which ordinarily is also used with a set of defences in an enemy_hit() function set. Ganon essentially ignores enemy_hit() and has his own routines.

His spawn animation, and death animation are special too.

The bottom line is that Ganon is hardcoded to take damage from arrows, based on internal properties that cannot be faked at present. If you, or anyone else, does script a Z1 Ganon, it would be lovely to have one that follows proper NES patterns, which are rather complicated. I have some files (in Japanese) that explain them.

I would not advise trying to force Ganon to obey scripts, at all. You essentially need the Triforce of Source Code to change him. :/

Yeah, like I said, I'm not worried about it, anymore. Since the only arrows with a damage value >4 are the light arrows, anyways, they're the only ones that hurt him. So, not gonna mess with him, other than maybe upping his damage output and HP



#7 Timelord

Timelord

    The Timelord

  • Banned
  • Location:Prydon Academy

Posted 29 April 2017 - 07:12 PM

Yeah, like I said, I'm not worried about it, anymore. Since the only arrows with a damage value >4 are the light arrows, anyways, they're the only ones that hurt him. So, not gonna mess with him, other than maybe upping his damage output and HP


I'm hoping to make all the bosses more flexible, and script-safe; and I would like to add the Z3 bosses, by the time we do 2.60.

You can do some things with scripts on a Ganon fight, if you want, to say, make him visible, give him extra attacks, or other stuff, by DrawTile and generating weapons. I honestly feel that the stock Ganon is just pointless.

#8 Binx

Binx

    Formerly Lineas

  • Members
  • Real Name:Brian
  • Location:Lancaster, CA

Posted 29 April 2017 - 07:15 PM

Yeah, he kinda is, but I'm trying to go without any scripted enemies for this particular project. I do have plans for a few custom enemies, but they'll be variations on the built-in enemies. The only thing that really annoyed me was that I couldn't make a dodongo that breathes fire.

#9 Jamian

Jamian

    ZC enthusiast

  • Members

Posted 03 May 2017 - 04:28 PM

I'll agree Z1 Ganon is best avoided. I understand having an invisible final boss was novel at the time (I can't think of any game that did this before Zelda), but ultimately the fight really amounts to randomly stabbing the screen with your sword, hoping you'll get lucky.




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users