Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Custom Bomb item
- //v0.6 for ZC 2.54+
- //27th November, 2015; updated 25th June, 2018
- //Assign to an item, with the item class 'Custom itemclass', or one of the 'zz###' item classes
- //as the 'Action; script.
- //Arguments:
- // D0: The sound effect to play for an error, including too many bombs on screen, or out of bombs in the counter.
- // D1: Set to '1' or higher, to make the item srop super bombs. Otherwise, leave at '0'/
- // D2: The maximum number of bombs that the player may have on-screen at any one time.
- // --> You want to set this argument, as not setting it, will allow the player to drop up to 255 bombs, providing
- // --> that they have sufficient ammunition. Normal values are between '1' and '4'.
- // D3: Set to a value of '1' to allow Link to drop bombs while jumping.
- // D4: The distance from Link to place it.
- item script BombDrop_CustomItemclass{
- void run(int errorSFX, int super, int maxOnscreen, int allowLinkZ, int dist){
- int numBombs;
- int numSBombs;
- if ( allowLinkZ )
- {
- if ( Link->Z << 0 ) Quit();
- }
- if ( !super )
- {
- if ( !maxOnscreen )
- {
- //--Game->Counter[counter]; //Use the cost counter in 2.54 Item Editor
- Game->PlaySound(this->UseSound);
- lweapon bomb = NextToLink(LW_BOMB, dist);
- bomb->UseSprite(this->Sprites[0]);
- bomb->Damage = this->Power;
- bomb->Dir = Link->Dir;
- //bomb->Level = this->Level;
- }
- else //maxonscreen
- {
- for ( int q = Screen->NumLWeapons(); q > 0 ; --q )
- {
- lweapon l = Screen->LoadLWeapon(q);
- if ( l->ID == LW_BOMB ) ++numBombs;
- }
- if ( numBombs < maxOnscreen )
- {
- //--Game->Counter[counter];
- Game->PlaySound(this->UseSound);
- lweapon bomb = NextToLink(LW_BOMB, dist);
- bomb->UseSprite(this->Sprites[0]);
- bomb->Damage = this->Power;
- bomb->Dir = Link->Dir;
- }
- else Game->PlaySound(errorSFX);
- }
- }
- else //superbomb
- {
- if ( !maxOnscreen )
- {
- //--Game->Counter[counter];
- Game->PlaySound(this->UseSound);
- lweapon bomb = NextToLink(LW_SBOMB, dist);
- bomb->UseSprite(this->Sprites[0]);
- bomb->Damage = this->Power;
- bomb->Dir = Link->Dir;
- }
- else // maxOnscreen
- {
- for ( int q = Screen->NumLWeapons(); q > 0; --q )
- {
- lweapon l = Screen->LoadLWeapon(q);
- if ( l->ID == LW_SBOMB ) ++numSBombs;
- }
- if ( numSBombs < maxOnscreen )
- {
- //--Game->Counter[counter];
- Game->PlaySound(this->UseSound);
- lweapon bomb = NextToLink(LW_SBOMB, dist);
- bomb->UseSprite(this->Sprites[0]);
- bomb->Damage = this->Power;
- bomb->Dir = Link->Dir;
- }
- else Game->PlaySound(errorSFX);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement