Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "std.zh"
- eweapon script laz
- {
- void run
- ( int speed, int colour, int layer, int fizzlesfx,
- int fizzlesprite, int shotsfx, int maxDist
- )
- {
- int startX = CenterX(this);
- int startY = CenterY(this);
- this->Angular = true;
- Audio->PlaySound(shotsfx); //because enemy editor shot sound isn't variable yet
- this->Angle = ArcTan(Link->X-this->X, Link->Y-this->Y);
- this->Step = speed;
- /* this->Damage = Game->LoadNPCData(this->Parent)->WeaponDamage;
- should get bthis from the enemy editor
- */
- this->DrawYOffset = -32768;
- while(1)
- {
- if
- ( Screen->isSolid(CenterX(this), CenterY(this))
- /*|| ( Distance(startX, startY, CenterX(this), CenterY(this)) > maxDist )*/
- )
- {
- this->DeadState = WDS_DEAD;
- Audio->PlaySound(fizzlesfx);
- if(fizzlesprite)
- {
- lweapon fiz = Screen->CreateLWeapon(LW_SPARKLE);
- fiz->UseSprite(fizzlesprite);
- fiz->CollDetection = false;
- fiz->X = this->X;
- fiz->Y = this->Y;
- }
- }
- else
- {
- //printf("parent->X: %d\n", Screen->LoadNPCByUID(this->ParentUID)->X);
- Screen->Line
- ( layer, Screen->LoadNPCByUID(this->ParentUID)->DrawXOffset
- + Screen->LoadNPCByUID(this->ParentUID)->X
- + ((Screen->LoadNPCByUID(this->ParentUID)->TileWidth)*8),
- Screen->LoadNPCByUID(this->ParentUID)->DrawYOffset
- + Screen->LoadNPCByUID(this->ParentUID)->Y
- + ((Screen->LoadNPCByUID(this->ParentUID)->TileHeight)*8),
- CenterX(this), CenterY(this), colour, 1, 0, 0, 0, 128
- );
- }
- Waitframe();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement