Jump to content

Photo

Ganondorf Boss Fight Help

ganondorf wizzrobe tennis volleyball boss scripts dungeon fights fight battle

  • Please log in to reply
6 replies to this topic

#1 daEpad

daEpad

    Newbie

  • Members
  • Real Name:Eshaan

Posted 11 July 2013 - 10:23 AM

I'm sure you guys are familiar with the Ganondorf boss fight from Ocarina of Time. You know, the first fight where you hit back his projectiles like playing a game of Tennis? Well I wanted to know if there is anyway to make something like this. I'm looking for anyone who knows how to use a script like this, because I would really like to have one for my 5th boss. Just think the Hero of Dreams Ganondorf fight, though a little more fitting for 2.5 quests.



#2 strike

strike

    life is fragile, temporary, and precious

  • Members
  • Real Name:Olórin

Posted 11 July 2013 - 10:57 AM

This might help.

 

http://www.purezc.ne...showtopic=57373

 

I know nothing about scripting so I can't really help.

 

-Strike



#3 Moosh

Moosh

    The Mush

  • Moderators

Posted 11 July 2013 - 01:32 PM

Would you prefer a projectile like in OoT that flies straight back to the target when hit or one like in LttP where you actually have to aim it by hitting it at the right angle? Do you feel comfortable using regular FFC movement or would you prefer a script that allows you to give it fairly precise angles and speeds? Should it trigger the screen's secrets when it hits the target? Should it reduce the HP of an enemy? Should it interact with Link/other enemies like a weapon would? Just how exactly are you setting up this custom boss anyways?



#4 daEpad

daEpad

    Newbie

  • Members
  • Real Name:Eshaan

Posted 11 July 2013 - 06:31 PM

Mainly the OoT fight. I'm not familiar with FFC and I've never used scripting, so I don't know how I feel about that. It should trigger the screen when it hits the enemy. The boss should be in the center of the room doing his normal attacks which I'm not 100% sure what I'll be using. After that, the boss will shoot the blast and Link should hit back at the boss after a couple of strikes. 

 

However, just thinking about it, I do think the Agahnim fight can be necessary for me to use as well, but the Ganondorf fight is the main priority. 



#5 Moosh

Moosh

    The Mush

  • Moderators

Posted 11 July 2013 - 07:07 PM

http://www.shardstor.../Freeform_Combo

 

Here's the ZC wiki page on freeform combos. These can be used for custom boss projectiles, moving objects, and of course running most scripts.

 

I should be able to throw together a simple reflected projectile script very quickly, but I figured you might as well familiarize yourself with freeform combos in the meantime as they can be used to make your custom bosses infinitely better.

 

And script's done. Hope it helps.

//Set the combo of this FFC to the graphics and combotype you want the projectile to use.
//D0: The angle to fire the projectile at. If -1, it will fire at Link.
//D1: The speed to fire the projectile with.
//D2: The time in 60ths of a second to wait before firing again.
//    If -1, another projectile will not fire.
//D3: The sound to play when a projectile is fired. Use 0 for no sound.
ffc script OoTReflectedProjectile{
	void run(int angle, int speed, int cooldown, int sfx){
		int initx=this->X; int inity=this->Y;
		int ang;
		if(angle!=-1)ang=angle;
		while(true){
			bool hit=false;
			if(angle==-1)ang=Angle(CenterX(this), CenterY(this), CenterLinkX(), CenterLinkY());
			Game->PlaySound(sfx);
			while(this->X>-16&&this->X<256&&this->Y>-16&&this->Y<176&&!hit){
				for(int i=1; i<=Screen->NumLWeapons(); i++){
					lweapon l=Screen->LoadLWeapon(i);
					if(Collision(l, this))hit=true;
				}
				this->X+=VectorX(speed, ang);
				this->Y+=VectorY(speed, ang);
				Waitframe();
			}
			if(hit){
				ang+=180;
				while(Distance(this->X, this->Y, initx, inity)>2){
					this->X+=VectorX(speed, ang);
					this->Y+=VectorY(speed, ang);
					Waitframe();
				}
				Screen->TriggerSecrets();
				this->X=-1000;
				Quit();
			}
			else if(cooldown>-1){
				Waitframes(cooldown);
				this->X=initx;
				this->Y=inity;
			}
			else{
				this->X=-1000;
				Quit();
			}
		}
	}
}



Edited by Moosh, 11 July 2013 - 08:20 PM.


#6 daEpad

daEpad

    Newbie

  • Members
  • Real Name:Eshaan

Posted 11 July 2013 - 11:10 PM

Yeeesh, I'll see what I can do with that XD

 

Thanks though.



#7 TheLegend_njf

TheLegend_njf

    Deified

  • Members
  • Real Name:Grant

Posted 12 July 2013 - 05:07 PM

Don't get too intimidated by scripts. I speak through experience. Considering my last big project was not only script free, but ffc free as well. They were territories that gave me the shivers just looking at.

I always felt that one mistake would corrupt my entire quest.

But what I learned is that, understanding the code means little, but the more you work with adding scripts, the more familiar the language becomes.

All you need to know is the same thing I discovered. If you make a mistake, Zquest just won't accept the script. Most of it is just copy, paste, than the menu opens up where you "add script name here" kinda deal. Again, you can add whatever you want to the code, like ":/-( fried beans and rice makes good script --- blah code ---" and all Zquest will pretty much respond is "wtf is wrong with you?" In its own language.

Edited by NewJourneysFire, 12 July 2013 - 05:08 PM.




Also tagged with one or more of these keywords: ganondorf, wizzrobe, tennis, volleyball, boss, scripts, dungeon, fights, fight, battle

1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users