home *** CD-ROM | disk | FTP | other *** search
- CShot = function(pos, v, libId, hitMonster, onHitPlayer, maxAge)
- {
- var _loc1_ = this;
- var _loc2_ = pos;
- var _loc3_ = _root;
- _loc3_.snd.playEvent("sBurp.wav",0.9);
- _loc1_.canvas = _loc3_.levelMc.shotMc;
- _loc1_.isShot = true;
- _loc1_.maxAge = int(maxAge);
- _loc1_.actAge = 0;
- _loc1_.hitMonster = hitMonster;
- _loc1_.onHitPlayer = onHitPlayer;
- _loc1_.pos = {x:_loc2_.x,y:_loc2_.y};
- _loc1_.origin = {x:_loc2_.x,y:_loc2_.y};
- _loc1_.canvas.mcCount = int(_loc1_.canvas.mcCount) + 1;
- _loc1_.mc = _loc1_.canvas.attachMovie(libId,_loc1_.canvas.mcCount,_loc1_.canvas.mcCount);
- _loc1_.mc._x = _loc2_.x;
- _loc1_.mc._y = _loc2_.y;
- _loc1_.active = true;
- _loc1_.v = Math.vectorCopy(v);
- _loc1_.radius = 0;
- _loc3_.shots.push(_loc1_);
- if(_loc1_.v.x < 0)
- {
- _loc1_.mc._xscale = -100;
- }
- };
- CShot.prototype.vanish = function()
- {
- var _loc1_ = _root;
- var _loc2_ = this;
- _loc2_.active = false;
- for(var _loc3_ in _loc1_.shots)
- {
- if(_loc1_.shots[_loc3_] == _loc2_)
- {
- _loc2_.mc.removeMovieClip();
- _loc1_.shots.splice(_loc3_,1);
- }
- }
- };
- CShot.prototype.move = function(arrayIndex)
- {
- var _loc1_ = this;
- var _loc2_ = _root;
- if(_loc1_.maxAge > 0)
- {
- if(_loc1_.actAge++ > _loc1_.maxAge)
- {
- _loc1_.vanish();
- }
- }
- _loc1_.t = Math.vectorAdded(_loc1_.pos,_loc1_.v);
- _loc2_.level.reflectMovement(_loc1_);
- if(_loc1_.t.x > _loc2_.level.maxX + _loc1_.mc._width || _loc1_.t.x < _loc2_.level.minX - _loc1_.mc._width)
- {
- _loc1_.mc.removeMovieClip();
- _loc2_.shots.splice(arrayIndex,1);
- }
- else
- {
- _loc1_.boundingRectFrom = Math.vector(Math.min(_loc1_.pos.x,_loc1_.t.x),Math.min(_loc1_.pos.y,_loc1_.t.y));
- _loc1_.boundingRectTo = Math.vector(Math.max(_loc1_.pos.x,_loc1_.t.x) + _loc1_.size.x,Math.max(_loc1_.pos.y,_loc1_.t.y) + _loc1_.size.y);
- if(_loc1_.hitMonster)
- {
- _loc2_.level.monstersCollision2(_loc1_.mc.hotspot,_loc1_);
- }
- MovieClip.setPos(_loc1_.mc,_loc1_.t);
- Math.vectorCopyTo(_loc1_.t,_loc1_.pos);
- }
- };
- moveShots = function()
- {
- var _loc2_ = _root;
- for(var _loc3_ in _loc2_.shots)
- {
- var _loc1_ = _loc2_.shots[_loc3_];
- _loc1_.move(_loc3_);
- }
- };
-