home *** CD-ROM | disk | FTP | other *** search
- function fPickText(what, where)
- {
- var _loc2_ = where;
- trace("fPickText " + what + " | " + _loc2_.x + "," + _loc2_.y);
- var _loc1_ = levelMc.inTextOL.attachMovie("mcGameText","inGameText" + pTextCount,pTextCount,{display:what});
- pTextCount++;
- _loc1_._x = _loc2_.x;
- _loc1_._y = _loc2_.y;
- }
- CPlayer = function()
- {
- var _loc1_ = this;
- _loc1_.isPlayer = true;
- _loc1_.vMax = Math.vector(8,0);
- _loc1_.f = Math.vector(0.86,0.99);
- _loc1_.a = Math.vector(2.8,33);
- _loc1_.gravity = 3;
- _loc1_.shotV = 5;
- _loc1_.keys = new Object();
- _loc1_.keys.right = 39;
- _loc1_.keys.left = 37;
- _loc1_.keys.jump = 38;
- _loc1_.keys.shoot = 32;
- _loc1_.keys.duck = 40;
- _loc1_.ducked = 0;
- _loc1_.duckOffY = 19;
- _loc1_.init();
- };
- CPlayer.prototype.init = function(mc)
- {
- var _loc1_ = this;
- _loc1_.mc = mc;
- _loc1_.size = {x:_loc1_.mc._width,y:_loc1_.mc._height};
- _loc1_.origin = MovieClip.getPos(_loc1_.mc);
- _loc1_.reset();
- };
- CPlayer.prototype.reset = function()
- {
- var _loc1_ = this;
- _loc1_.pos = Math.vectorCopy(_loc1_.origin);
- _loc1_.v = Math.vector(0,0);
- _loc1_.mc._x = _loc1_.pos.x;
- _loc1_.mc._y = _loc1_.pos.y;
- _loc1_.shotReload = 0;
- _loc1_.lookDir = 1;
- _loc1_.keys.jumpTokens = 1;
- _loc1_.keys.shootTokens = 1;
- _loc1_.floor = {type:0,obj:0,moving:0};
- _loc1_.unduck();
- _loc1_.dead = 0;
- _loc1_.eat = 0;
- _loc1_.redraw();
- _root.osd.update();
- };
- CPlayer.prototype.unduck = function()
- {
- var _loc1_ = this;
- if(_loc1_.ducked == 1)
- {
- _loc1_.ducked = 0;
- _loc1_.size.y += _loc1_.duckOffY;
- _loc1_.pos.y -= _loc1_.duckOffY;
- }
- };
- CPlayer.prototype.sitandeat = function()
- {
- trace("EATING");
- this.eat = 1;
- };
- CPlayer.prototype.die = function()
- {
- var _loc1_ = _root;
- var _loc2_ = this;
- _loc1_.snd.playEvent("sFall.wav",1);
- _loc1_.actShots = _loc1_.totalShots;
- _loc1_.actLifes = _loc1_.actLifes - 1;
- _loc1_.osd.update();
- if(_loc1_.actLifes == 0)
- {
- _loc1_.startPhase(_loc1_.stepGameOver);
- }
- _loc2_.dead = 1;
- _loc2_.v.y = -15;
- _loc2_.v.x = (Math.random() * 5 + 5) * (Math.random() <= 0.5 ? -1 : 1);
- _loc2_.v.r = 0;
- };
- CPlayer.prototype.dieMover = function()
- {
- var _loc1_ = this;
- _loc1_.mc.gfx.gfx._rotation += _loc1_.v.r;
- _loc1_.v.y += 3;
- _loc1_.pos.x += _loc1_.v.x;
- _loc1_.pos.y += _loc1_.v.y;
- _loc1_.redraw();
- if(_loc1_.pos.y > _loc1_.origin.y + 200)
- {
- _loc1_.reset();
- }
- };
- CPlayer.prototype.move = function()
- {
- var _loc1_ = this;
- var _loc3_ = _root;
- if(_loc1_.dead)
- {
- _loc1_.dieMover();
- }
- else
- {
- _loc1_.v.y = _loc1_.v.y * _loc1_.f.y + _loc1_.gravity;
- _loc1_.showAnimWalking = _loc1_.showAnimWalking - 1;
- if(_loc1_.floor.type == 1 && _loc1_.floor.obj.ice)
- {
- if(Key.isDown(_loc1_.keys.right))
- {
- _loc1_.v.x = Math.min(Math.max(_loc1_.vMax.x * -1,_loc1_.v.x) + _loc1_.a.x * 0.5,_loc1_.vMax.x);
- _loc1_.lookDir = 1;
- _loc1_.showAnimWalking = 1;
- }
- else if(Key.isDown(_loc1_.keys.left))
- {
- _loc1_.v.x = Math.min(Math.max(_loc1_.vMax.x * -1,_loc1_.v.x) - _loc1_.a.x * 0.5,_loc1_.vMax.x);
- _loc1_.lookDir = -1;
- _loc1_.showAnimWalking = 1;
- }
- else
- {
- _loc1_.v.x *= 0.9;
- if(Math.abs(_loc1_.v.x) < 0.1)
- {
- _loc1_.v.x = 0;
- }
- }
- }
- else if(Key.isDown(_loc1_.keys.right))
- {
- _loc1_.v.x = Math.min(Math.max(0,_loc1_.v.x) + _loc1_.a.x,_loc1_.vMax.x);
- _loc1_.lookDir = 1;
- _loc1_.showAnimWalking = 1;
- }
- else if(Key.isDown(_loc1_.keys.left))
- {
- _loc1_.v.x = Math.max(Math.min(0,_loc1_.v.x) - _loc1_.a.x,_loc1_.vMax.x * -1);
- _loc1_.lookDir = -1;
- _loc1_.showAnimWalking = 1;
- }
- else
- {
- _loc1_.v.x *= 0.4;
- if(Math.abs(_loc1_.v.x) < 1)
- {
- _loc1_.v.x = 0;
- }
- }
- if(Key.isDown(_loc1_.keys.jump))
- {
- if(_loc1_.keys.jumpTokens > 0)
- {
- _loc1_.keys.jumpTokens = 0;
- _loc1_.keys.jumpTrigger = 1;
- }
- else
- {
- _loc1_.keys.jumpTrigger = 0;
- }
- }
- else
- {
- if(_loc1_.v.y < 0)
- {
- _loc1_.v.y *= 0.7;
- }
- _loc1_.keys.jumpTrigger = 0;
- _loc1_.keys.jumpTokens = 1;
- }
- if(_loc1_.floor.moving != 0)
- {
- _loc1_.pos.x = _loc1_.floor.moving.x + _loc1_.floor.relPos.x;
- _loc1_.pos.y = _loc1_.floor.moving.y + _loc1_.floor.relPos.y;
- }
- if(Key.isDown(_loc1_.keys.duck) && _loc1_.keys.jumpTrigger == 0)
- {
- if(_loc1_.ducked == 0)
- {
- _loc1_.pos.y += _loc1_.duckOffY;
- _loc1_.size.y -= _loc1_.duckOffY;
- _loc1_.ducked = 1;
- }
- }
- else if(_loc1_.ducked == 1)
- {
- _loc1_.ducked = 0;
- _loc1_.size.y += _loc1_.duckOffY;
- _loc1_.pos.y -= _loc1_.duckOffY;
- }
- if(_loc1_.ducked && _loc1_.floor.type == 1)
- {
- _loc1_.v.x = 0;
- }
- _loc1_.pos.x = Math.max(_loc1_.pos.x,_loc3_.level.minX);
- _loc1_.pos.x = Math.min(_loc1_.pos.x,_loc3_.level.maxX - _loc1_.size.x);
- _loc1_.t = Math.vectorAdded(_loc1_.pos,_loc1_.v);
- var _loc2_ = _loc3_.level.spriteCollision(_loc1_);
- if(_loc2_.type > 0)
- {
- _loc1_.t.x = _loc1_.pos.x + _loc1_.v.x * _loc2_.scale;
- _loc1_.t.y = _loc1_.pos.y + _loc1_.v.y * _loc2_.scale;
- if(_loc2_.type != 1)
- {
- _loc1_.floor.type = 0;
- }
- var _loc0_ = null;
- if((_loc0_ = _loc2_.type) !== 1)
- {
- _loc1_.floor.moving = 0;
- _loc1_.floor.obj = 0;
- trace("unknown collision type in CPlayer: " + _loc2_.type);
- }
- else
- {
- _loc2_.obj.onStep();
- _loc1_.v.y = 0;
- _loc1_.t.y = _loc2_.obj.y - _loc1_.size.y;
- if(_loc1_.floor.type == 1)
- {
- _loc1_.t.x = _loc1_.pos.x + _loc1_.v.x;
- }
- if(_loc1_.keys.jumpTrigger)
- {
- _loc3_.snd.playEvent("sJump.wav",0.7);
- _loc1_.v.y = -1 * _loc1_.a.y;
- _loc1_.t.y + Math.max(0,_loc1_.floor.obj.v.y);
- _loc1_.floor.type = 0;
- }
- if(_loc2_.obj.mover ne "")
- {
- _loc1_.floor.relPos = Math.vectorFromTo(_loc2_.obj,_loc1_.t);
- _loc1_.floor.moving = _loc2_.obj;
- }
- _loc1_.floor.type = 1;
- if(_loc1_.floor.obj != _loc2_.obj)
- {
- _loc1_.v.x += _loc1_.lookDir;
- }
- _loc1_.floor.obj = _loc2_.obj;
- }
- }
- else
- {
- _loc1_.floor.moving = 0;
- _loc1_.floor.obj = 0;
- if(_loc1_.floor.type == 1)
- {
- _loc1_.v.y += 4;
- }
- _loc1_.floor.type = 0;
- }
- _loc1_.t.x = Math.max(_loc1_.t.x,_loc3_.level.minX);
- _loc1_.t.x = Math.min(_loc1_.t.x,_loc3_.level.maxX - _loc1_.size.x);
- _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);
- _loc3_.level.xtrasCollision(_loc1_.boundingRectFrom,_loc1_.boundingRectTo,_loc1_);
- _loc3_.level.monstersCollision2(_loc1_.mc.gfx.hotspot,_loc1_);
- _loc3_.level.shotsCollision(_loc1_.boundingRectFrom,_loc1_.boundingRectTo,_loc1_);
- Math.vectorCopyTo(_loc1_.t,_loc1_.pos);
- _loc1_.redraw();
- _loc1_.shotReload = _loc1_.shotReload - 1;
- if(Key.isDown(_loc1_.keys.shoot))
- {
- if(_loc1_.shotReload <= 0 && _loc1_.keys.shootTokens > 0)
- {
- if(_loc3_.actShots > 0)
- {
- _loc3_.actShots = _loc3_.actShots - 1;
- _loc3_.osd.update();
- var shotPos = Math.vector(_loc1_.pos.x + 0.5 * _loc1_.size.x + _loc1_.lookDir * 30,_loc1_.pos.y + 33);
- new _loc3_.CShot(shotPos,Math.vector(10 * _loc1_.lookDir,0),"pl0Shot",true);
- _loc1_.shotReload = 10;
- _loc1_.mc.gfx.gfx.gun.gotoAndPlay("fire");
- }
- else
- {
- _loc3_.snd.playEvent("sNoburp.wav",1);
- }
- _loc1_.keys.shootTokens = 0;
- }
- }
- else
- {
- _loc1_.keys.shootTokens = 1;
- }
- }
- };
- CPlayer.prototype.redraw = function()
- {
- var _loc1_ = this;
- _loc1_.mc._x = _loc1_.pos.x;
- _loc1_.mc._y = _loc1_.pos.y;
- _loc1_.mc.gfx._xscale = Math.abs(_loc1_.mc.gfx._xscale) * _loc1_.lookDir;
- if(_loc1_.eat)
- {
- _loc1_.pos.x = 5000;
- _loc1_.mc._x = _loc1_.pos.x;
- }
- else if(_loc1_.dead)
- {
- if(_loc1_.eat)
- {
- _loc1_.mc.gfx.gotoAndStop("eat");
- }
- else
- {
- _loc1_.mc.gfx.gotoAndStop("die");
- }
- }
- else if(_loc1_.ducked)
- {
- _loc1_.mc.gfx.gotoAndStop("duck");
- }
- else if(_loc1_.floor.type == 1)
- {
- if(_loc1_.showAnimWalking > 0)
- {
- _loc1_.mc.gfx.gotoAndStop("walk");
- }
- else
- {
- _loc1_.mc.gfx.gotoAndStop("stay");
- }
- }
- else if(_loc1_.v.y > 0)
- {
- _loc1_.mc.gfx.gotoAndStop("flyDown");
- }
- else
- {
- _loc1_.mc.gfx.gotoAndStop("flyUp");
- }
- };
- pTextCount = 1;
-