Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Custom Arrow Item
- //v0.5
- //27th November, 2015; updasted 25th Ju8ne, 2017
- //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 arrows on screen, or out of arrows in the counter.
- // D1: The maximum number of arrows 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 fire up to 255 arrows, providing
- // --> that they have sufficient ammunition. Normal values are between '1' and '4'.
- // D2: Set to a value of '1' to allow Link to fire arrows while jumping.
- // D3: The distance from Link to place it.
- //Attributes[]:
- // [0] The Step Speed
- item script Arrow_CustomItemclass{
- void run(int errorSFX, int maxOnscreen, int allowLinkZ, int dist)
- {
- int numArrows;
- if ( !allowLinkZ )
- {
- if ( Link->Z << 0 ) Quit();
- }
- else
- {
- if ( !maxOnscreen )
- {
- //Game->Counter[counter]--; //Use the cost counter in the item editor.
- if ( sound ) Game->PlaySound(sound);
- lweapon arrow = NextToLink(LW_ARROW, dist);
- arrow->UseSprite(sprite);
- arrow->Damage = this->Power;
- arrow->Level = this->Level;
- arrow->Dir = Link->Dir;
- arrow->HitXOffset = this->HitXOffset;
- arrow->HitYOffset = this->HitYOffset;
- arrow->HitZOffset = this->HitZOffset;
- arrow->DrawXOffset = this->DrawXOffset;
- arrow->DrawYOffset = this->DrawYOffset;
- arrow->DrawZOffset = this->DrawZOffset;
- arrow->HitWidth = this->HitWidth;
- arrow->HitHeight = this->HitHeight;
- arrow->HitZHeight = this->HitZHeight;
- arrow->Step = this->Attributes[0];
- }
- else if ( maxOnscreen )
- {
- for ( int q = Screen->NumLWeapons();; q >0; --q )
- {
- lweapon l = Screen->LoadLWeapon(q);
- if ( l->ID == LW_ARROW ) ++numArrows;
- }
- if ( numArrows < maxOnscreen )
- {
- Game->PlaySound(this->UseSound);
- lweapon arrow = NextToLink(LW_ARROW, dist);
- arrow->UseSprite(this->Sprites[0]);
- arrow->Damage = this->Power;
- arrow->Dir = Link->Dir;
- arrow->HitXOffset = this->HitXOffset;
- arrow->HitYOffset = this->HitYOffset;
- arrow->HitZOffset = this->HitZOffset;
- arrow->DrawXOffset = this->DrawXOffset;
- arrow->DrawYOffset = this->DrawYOffset;
- arrow->DrawZOffset = this->DrawZOffset;
- arrow->HitWidth = this->HitWidth;
- arrow->HitHeight = this->HitHeight;
- arrow->HitZHeight = this->HitZHeight;
- arrow->Step = this->Attributes[0];
- }
- else Game->PlaySound(errorSFX);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement