home *** CD-ROM | disk | FTP | other *** search
Text File | 2008-09-11 | 40.6 KB | 1,365 lines |
- function pythag(x1, y1, x2, y2)
- {
- return Math.sqrt(Math.pow(y1 - y2,2) + Math.pow(x1 - x2,2));
- }
- function angle(x1, y1, x2, y2)
- {
- return Math.round(Math.atan2(y2 - y1,x2 - x1) / 3.141593 * 180) + 90;
- }
- function calcSpeed(angle, speed)
- {
- var _loc2_ = angle * 0.01745329;
- var _loc1_ = new Object();
- _loc1_.x = speed * Math.cos(_loc2_);
- _loc1_.y = speed * Math.sin(_loc2_);
- return _loc1_;
- }
- function rotatedXY(xPos, yPos, rotate)
- {
- var _loc1_ = new Object();
- var _loc2_ = 0.017444444444444446 * rotate;
- var _loc4_ = Math.sin(_loc2_);
- var _loc3_ = Math.cos(_loc2_);
- _loc1_.x = xPos * _loc3_ - yPos * _loc4_;
- _loc1_.y = xPos * _loc4_ + yPos * _loc3_;
- return _loc1_;
- }
- function shakeControl()
- {
- }
- function newNoise(xPos, yPos, size)
- {
- var _loc1_ = 0;
- while(_loc1_ < enemyArray.length)
- {
- if(pythag(enemyArray[_loc1_]._x,enemyArray[_loc1_]._y,xPos,yPos) < size * 8)
- {
- if(enemyArray[_loc1_].S_State == 0)
- {
- enemyArray[_loc1_].S_State = 1;
- }
- }
- _loc1_ = _loc1_ + 1;
- }
- var _loc2_ = NOISE.attachMovie("noise","N",NOISE.getNextHighestDepth());
- _loc2_._x = xPos;
- _loc2_._y = yPos;
- _loc2_._xscale = size + random(10) - 5;
- _loc2_._yscale = _loc2_._xscale;
- noiseArray.push(_loc2_);
- }
- function noiseManagement()
- {
- var _loc1_ = 0;
- while(_loc1_ < noiseArray.length)
- {
- if(noiseArray[_loc1_]._alpha > 10)
- {
- noiseArray[_loc1_]._alpha -= 10;
- noiseArray[_loc1_]._xscale *= 1.2;
- noiseArray[_loc1_]._yscale = noiseArray[_loc1_]._xscale;
- }
- else
- {
- noiseArray[_loc1_].removeMovieClip();
- noiseArray.splice(_loc1_,1);
- _loc1_ = _loc1_ - 1;
- }
- _loc1_ = _loc1_ + 1;
- }
- }
- function onEnterFrame()
- {
- if(Key.isDown(80) && gamePauseSwitch == false)
- {
- gamePauseSwitch = true;
- if(gamePaused == false)
- {
- gamePaused = true;
- _parent.HUD.gotoAndStop(2);
- }
- else
- {
- _parent.HUD.gotoAndStop(1);
- gamePaused = false;
- }
- }
- else if(Key.isDown(80) == false)
- {
- gamePauseSwitch = false;
- }
- if(gamePaused == false)
- {
- if(EOLFreeze == false)
- {
- _root.saveObject.timer = _root.saveObject.timer + 1;
- _root.timer = Math.round(_root.saveObject.timer / 30);
- updateCoins();
- updateBlood();
- updateEnemy();
- noiseManagement();
- camPos.x = MAN._x;
- camPos.y = MAN._y;
- MAN.ySpeed /= 1.05;
- if(MAN.dead == true)
- {
- if(MAN.deadTimer < 150)
- {
- MAN.deadTimer = MAN.deadTimer + 1;
- }
- else if(MAN.deadTimer == 150)
- {
- MAN.deadTimer = MAN.deadTimer + 1;
- _root.saveObject.coins = coinStore;
- _root.deaths = _root.deaths + 1;
- _root.saveObject.deaths = _root.deaths;
- _root.saveObject.kill = killStore;
- _root.saveData();
- _root.gotoFrame("blank",2);
- }
- _parent.focusBG._alpha /= 2;
- if(targScale < 100)
- {
- targScale++;
- }
- newBlood(MAN._x,MAN._y);
- MAN.gotoAndStop("RAGDOLL");
- MAN._y += MAN.ySpeed;
- MAN.ySpeed += 2;
- while(collision(MAN._x,MAN._y,GROUND))
- {
- MAN._y--;
- MAN.ySpeed = 0;
- }
- MAN.sprite._rotation /= 1.05;
- MAN.xSpeed = 0;
- }
- else
- {
- MAN_Control();
- manCollision();
- objectJump(MAN);
- MAN_BowControl();
- }
- updateArrows();
- if(MAN.jumpBuffer >= jumpBufferStore && MAN.climbActive == false)
- {
- unlockSprite(MAN,"SWING");
- setSprite(MAN,"JUMP");
- MAN.spriteLock = "JUMP";
- }
- if(Math.round(_xscale) != targScale)
- {
- camElastic = 1;
- }
- else
- {
- camElastic = 5;
- }
- if(camPos.y > 600)
- {
- camPos.y = 600;
- }
- point = {x:camPos.x,y:camPos.y};
- localToGlobal(point);
- if(MAN.climbActive == true && MAN.keyPressUp == true)
- {
- if(camYOffset < 250)
- {
- camYOffset += 10;
- }
- }
- else if(MAN.climbActive == true && MAN.keyPressDown == true)
- {
- if(camYOffset > 115)
- {
- camYOffset -= 10;
- }
- }
- else if(camYOffset < 184)
- {
- camYOffset += 5;
- }
- else if(camYOffset > 192)
- {
- camYOffset -= 5;
- }
- var _loc3_ = Math.floor((256 - point.x) / camElastic);
- var _loc4_ = Math.floor((camYOffset - point.y) / camElastic);
- _X = _X + _loc3_;
- _Y = _Y + _loc4_;
- _parent.BG._x += _loc3_ / 6 - 0.5;
- if(_parent.BG._x < 0)
- {
- _parent.BG._x += _parent.BG._width / 2;
- }
- else if(_parent.BG._x > 512)
- {
- _parent.BG._x -= _parent.BG._width / 2;
- }
- _parent.BG_1._x += _loc3_ / 2;
- _parent.BG_1._y += _loc4_ / 6;
- if(_parent.BG_1._x < - _parent.BG_1._width / 3)
- {
- _parent.BG_1._x += _parent.BG_1._width / 3;
- }
- else if(_parent.BG_1._x > _parent.BG_1._width / 3)
- {
- _parent.BG_1._x -= _parent.BG_1._width / 3;
- }
- _xscale = _xscale - (_xscale - (targScale + zoomShake)) / 10;
- _yscale = _yscale - (_yscale - (targScale + zoomShake)) / 10;
- if(MAN.ySpeed < 0 && MAN.swingActive == false)
- {
- MAN.jumpBuffer = jumpBufferStore;
- }
- GROUND_G.swapDepths(getNextHighestDepth());
- spikeDamage();
- HUDControl();
- }
- setFPS();
- }
- }
- function MAN_BowControl()
- {
- if(MAN.bowActive == true)
- {
- if(_parent.focusBG._alpha < 100)
- {
- _parent.focusBG._alpha += 20;
- }
- }
- else if(_parent.focusBG._alpha > 0)
- {
- _parent.focusBG._alpha -= 10;
- }
- if(MAN.spriteLock == "BOW")
- {
- targScale = 40;
- MAN.bowActive = true;
- }
- else if(Key.isDown(16) == false && MAN.duckActive == false && MAN.climbActive == false && MAN.swingActive == false)
- {
- targScale = 100;
- }
- if(MAN.mousePressed == true)
- {
- shakeControl();
- MAN.spriteLock = "BOW";
- EFFECTS.clear();
- EFFECTS.lineStyle(2,0,100);
- EFFECTS.moveTo(xDragStart,yDragStart);
- EFFECTS.lineTo(_xmouse,_ymouse);
- MAN.powerVar = Math.round(pythag(_xmouse,_ymouse,xDragStart,yDragStart) / 2);
- MAN.anglerVar = angle(_xmouse,_ymouse,xDragStart,yDragStart);
- if(MAN.powerVar > bow_Range_Array[bow_Range])
- {
- MAN.powerVar = bow_Range_Array[bow_Range];
- }
- if(MAN.anglerVar < 0)
- {
- MAN.anglerVar += 360;
- }
- speed = calcSpeed(MAN.anglerVar - 90,MAN.powerVar * 2);
- arrowPreview(MAN.anglerVar,MAN.powerVar);
- Bow_DataText._visible = true;
- Bow_DataText._x = xDragStart;
- Bow_DataText._y = yDragStart;
- Bow_DataText.textBox.text = "Angle: " + MAN.anglerVar + "\nPower: " + MAN.powerVar + " / " + bow_Range_Array[bow_Range] + " [Level " + bow_Range + "]";
- }
- else
- {
- Bow_DataText._visible = false;
- }
- }
- function onMouseDown()
- {
- if(MAN.climbActive == false && MAN.swingActive == false && gamePaused == false)
- {
- if(MAN.mousePressed == false)
- {
- _root.playSound("CRANK",50);
- }
- MAN.moveActive = false;
- MAN.mousePressed = true;
- xDragStart = _xmouse;
- yDragStart = _ymouse;
- }
- }
- function onMouseUp()
- {
- if(MAN.mousePressed == true)
- {
- EFFECTS.clear();
- MAN.mousePressed = false;
- if(MAN.powerVar > 10)
- {
- newNoise(MAN._x,MAN._y - 40,15);
- _root.playSound("SHOOTSOUND",50);
- newArrow(arrowPosX,arrowPosY,MAN);
- arrowArray[arrowArray.length - 1].killSoldier = true;
- }
- if(bow_Accuracy < 10)
- {
- bow_Accuracy++;
- }
- }
- }
- function createArrow(xPos, yPos, caller)
- {
- var _loc1_ = attachMovie("Arrow",clone,getNextHighestDepth());
- _loc1_._rotation = caller.anglerVar;
- _loc1_.xSpeed = speed.x / 10;
- _loc1_.ySpeed = speed.y / 10;
- _loc1_.timer = 0;
- _loc1_._x = xPos + _loc1_.xSpeed;
- _loc1_._y = yPos + _loc1_.ySpeed;
- _loc1_.xPos = _loc1_._x;
- _loc1_.yPos = _loc1_._y;
- _loc1_.alive = true;
- return _loc1_;
- }
- function newArrow(xPos, yPos, caller)
- {
- arrowArray.push(createArrow(xPos,yPos,caller));
- }
- function arrowPreview(anglerVar, powerVar)
- {
- newNoise(MAN._x,MAN._y - 40,10);
- preview = createArrow(arrowPosX,arrowPosY);
- preview.noiseActive = false;
- preview._x -= preview.xSpeed;
- preview._y -= preview.ySpeed;
- preview.timer = bow_Accuracy_Array[bow_Accuracy];
- EFFECTS.moveTo(preview.xPos,preview.yPos);
- var _loc1_ = -5;
- while(preview.timer > 0)
- {
- EFFECTS.lineStyle(0.1,16711680,_loc1_);
- _loc1_ += 5;
- preview.timer--;
- updateTrajectory(preview);
- EFFECTS.lineTo(preview._x,preview._y);
- }
- preview.removeMovieClip();
- }
- function updateArrows()
- {
- var _loc4_ = 0;
- while(_loc4_ < arrowArray.length)
- {
- var _loc3_ = arrowArray[_loc4_];
- updateTrajectory(_loc3_);
- if(_loc3_.alive == true)
- {
- if(_loc3_.killSoldier != true)
- {
- if(pythag(_loc3_._x,_loc3_._y,MAN._x,MAN._y - 40) < 40)
- {
- if(MAN.dead != true)
- {
- hurtMan(10);
- MAN.ySpeed = -10;
- }
- }
- }
- if(_loc3_.killSoldier == true)
- {
- var _loc2_ = 0;
- while(_loc2_ < enemyArray.length)
- {
- if(enemyArray[_loc2_].dead != true && pythag(_loc3_._x,_loc3_._y,enemyArray[_loc2_]._x,enemyArray[_loc2_]._y - 40) < 30)
- {
- _root.playSound("guardDieSound",50);
- _loc3_.alive = false;
- _loc3_._visible = false;
- enemyArray[_loc2_].dead = true;
- enemyArray[_loc2_].ySpeed = -10;
- newBlood(enemyArray[_loc2_]._x,enemyArray[_loc2_]._y - 40);
- }
- _loc2_ = _loc2_ + 1;
- }
- }
- }
- if(_loc3_.timer < 300)
- {
- _loc3_.timer = _loc3_.timer + 1;
- }
- else if(_loc3_._yscale > 0)
- {
- _loc3_._yscale -= 10;
- }
- else
- {
- _loc3_.removeMovieClip();
- arrowArray.splice(_loc4_,1);
- }
- _loc4_ = _loc4_ + 1;
- }
- }
- function updateTrajectory(object)
- {
- if(object.alive == true)
- {
- object.xPos = object._x;
- object.yPos = object._y;
- object._x += object.xSpeed;
- object._y += object.ySpeed;
- object.xSpeed += windSpeed;
- object.ySpeed += 1;
- object._rotation = angle(object.xPos,object.yPos,object._x,object._y);
- if(collision(object._x,object._y,GROUND))
- {
- object._x += object.xSpeed / 10;
- object._y += object.ySpeed / 10;
- object.alive = false;
- if(object.noiseActive != false)
- {
- newNoise(object._x,object._y,50);
- }
- }
- }
- }
- function MAN_Control()
- {
- MAN.sneakActive = false;
- if(MAN.dead == false)
- {
- if(Key.isDown(38))
- {
- MAN.keyPressUp = true;
- }
- else
- {
- MAN.keyPressUp = false;
- MAN.keyPressUpSwitch = false;
- }
- if(Key.isDown(40))
- {
- MAN.keyPressDown = true;
- }
- else
- {
- MAN.keyPressDown = false;
- MAN.keyPressDownSwitch = false;
- MAN.duckActive = false;
- MAN.rollCount = 10;
- }
- if(Key.isDown(37))
- {
- MAN.keyPressLeft = true;
- }
- else
- {
- MAN.keyPressLeft = false;
- MAN.keyPressLeftSwitch = false;
- }
- if(Key.isDown(39))
- {
- MAN.keyPressRight = true;
- }
- else
- {
- MAN.keyPressRight = false;
- MAN.keyPressRightSwitch = false;
- }
- }
- else
- {
- MAN.keyPressUp = false;
- MAN.keyPressRight = false;
- MAN.keyPressDown = false;
- MAN.keyPressLeft = false;
- }
- if(MAN.mousePressed == false)
- {
- MAN.moveActive = false;
- if(MAN.keyPressRight == true)
- {
- MAN.moveActive = true;
- MAN.bowActive = false;
- MAN.xSpeed += 8;
- unlockSprite(MAN,"BOW");
- if(MAN.keyPressDown == true && MAN.swingActive == false && MAN.climbActive == false && MAN.jumpBuffer < 5)
- {
- if(MAN.rollCount == 0)
- {
- setSprite(MAN,"SNEAK");
- MAN.xSpeed -= 4;
- MAN.sneakActive = true;
- }
- else
- {
- MAN.rollCount--;
- setSprite(MAN,"ROLL");
- }
- }
- else
- {
- setSprite(MAN,"RUN");
- MAN.rollCount = 10;
- }
- MAN._xscale = manXScale;
- }
- else if(MAN.keyPressLeft == true)
- {
- MAN.moveActive = true;
- MAN.bowActive = false;
- MAN.xSpeed -= 8;
- unlockSprite(MAN,"BOW");
- if(MAN.keyPressDown == true && MAN.swingActive == false && MAN.climbActive == false && MAN.jumpBuffer < 5)
- {
- if(MAN.rollCount == 0)
- {
- setSprite(MAN,"SNEAK");
- MAN.xSpeed += 4;
- MAN.sneakActive = true;
- }
- else
- {
- MAN.rollCount--;
- setSprite(MAN,"ROLL");
- }
- }
- else
- {
- setSprite(MAN,"RUN");
- MAN.rollCount = 10;
- }
- MAN._xscale = - manXScale;
- }
- else if(MAN.keyPressDown == true)
- {
- MAN.sneakActive = true;
- setSprite(MAN,"DUCK");
- if(MAN.climbActive == false && MAN.swingActive == false && MAN.jumpBuffer < 5)
- {
- MAN.duckActive = true;
- targScale = 100;
- }
- }
- else
- {
- setSprite(MAN,"STAND");
- }
- MAN.sprite.bowAim.bow.gotoAndStop(10);
- MAN.sprite.bowAim.arms.gotoAndStop(10);
- }
- else
- {
- MAN.gotoAndStop("SHOOT");
- if(MAN.powerVar > 10)
- {
- if(MAN.anglerVar < 180)
- {
- MAN.sprite.bowAim._rotation = MAN.anglerVar - 90;
- MAN.sprite.bowAim.arms._rotation = MAN.anglerVar - 90 - MAN.sprite.bowAim._rotation / 3;
- MAN._xscale = manXScale;
- }
- else
- {
- MAN.sprite.bowAim._rotation = - (MAN.anglerVar + 90);
- MAN.sprite.bowAim.arms._rotation = - (MAN.anglerVar + 90) - MAN.sprite.bowAim._rotation / 3;
- MAN._xscale = - manXScale;
- }
- }
- var _loc1_ = Math.ceil(bow_Range_Array[bow_Range] / 100 * MAN.powerVar / 30);
- MAN.sprite.bowAim.bow.gotoAndStop(_loc1_);
- MAN.sprite.bowAim.arms.gotoAndStop(_loc1_);
- MAN.sprite.bowAim.bow._rotation = MAN.sprite.bowAim.arms._rotation;
- MAN.sprite.bowAim._rotation /= 3;
- var _loc2_ = {x:MAN.sprite.bowAim.arms.arrowPoint._x,y:MAN.sprite.bowAim.arms.arrowPoint._y};
- MAN.sprite.bowAim.arms.localToGlobal(_loc2_);
- arrowPosX = MAN._x;
- arrowPosY = MAN._y - 40;
- arrowTrack._x = arrowPosX;
- arrowTrack._y = arrowPosY;
- }
- MAN.xSpeed /= 2;
- if(MAN.swingActive == true)
- {
- MAN.xSpeed /= 2;
- }
- if(MAN.xSpeed < 0.1 && MAN.xSpeed > -0.1)
- {
- MAN.xSpeed = 0;
- }
- MAN._x += MAN.xSpeed;
- }
- function manCollision()
- {
- var _loc2_ = MAN.ySpeed;
- MAN._y += MAN.ySpeed;
- if(MAN.keyPressDown == true || MAN.swingActive == false && MAN.climbActive == false)
- {
- MAN.ySpeed += 2;
- }
- if(MAN.keyPressDown == false)
- {
- MAN.swingKeySwitch = false;
- }
- if(groundCollision(MAN) == true && (MAN.moveActive == true || _loc2_ > 10) && MAN.climbActive == false)
- {
- if(MAN.sneakActive == false)
- {
- newNoise(MAN._x,MAN._y,50);
- }
- else
- {
- newNoise(MAN._x,MAN._y,10);
- }
- }
- if(roofCollision(MAN) != true)
- {
- if(MAN.swingActive == true)
- {
- MAN.swingActive = false;
- if(MAN.keyPressDown == false || MAN.swingKeySwitch == true)
- {
- MAN.ySpeed = (- MAN.jumpHeight) * 1.2;
- }
- else
- {
- MAN.jumpBuffer = jumpBufferStore;
- MAN.ySpeed = 0;
- }
- if(MAN.keyPressDown == false)
- {
- MAN.xSpeed = MAN._xscale / 5;
- }
- }
- }
- if(wallCollision(MAN,1) != true && wallCollision(MAN,-1) != true)
- {
- if(unlockSprite(MAN,"CLIMB") == true && collision(MAN._x,MAN._y,GROUND) != true)
- {
- if(MAN.keyPressDown == false)
- {
- MAN.xSpeed = (- MAN._xscale) / 10;
- MAN.ySpeed = (- MAN.jumpHeight) / 1;
- _root.playSound("JUMP",50);
- newNoise(MAN._x,MAN._y - 80,50);
- }
- else
- {
- MAN.xSpeed = MAN._xscale / 2;
- MAN.ySpeed = 0;
- MAN.swingKeySwitch = true;
- }
- }
- }
- }
- function wallCollision(object, dir)
- {
- var _loc3_ = false;
- if(dir > 0)
- {
- if(object._xscale > dir)
- {
- _loc3_ = true;
- }
- }
- else if(object._xscale < dir)
- {
- _loc3_ = true;
- }
- if(collision(object._x + wallCSize * dir,object._y - 75,GROUND) && _loc3_ == true)
- {
- object.climbActive = true;
- object.doubleJump = false;
- object.ySpeed = 0;
- while(collision(object._x + wallCSize * dir,object._y - 75,GROUND))
- {
- object._x -= 1 * dir;
- }
- object._x += 2 * dir;
- if(object.keyPressUp == true)
- {
- unlockSprite(MAN,"JUMP");
- setSprite(object,"CLIMB");
- object.spriteLock = "CLIMB";
- object.gotoAndStop("CLIMB");
- object.ySpeed = -5;
- newNoise(object._x,object._y - 40,25);
- }
- else if(object.keyPressDown == false)
- {
- unlockSprite(object,"JUMP");
- setSprite(object,"SLIDE");
- object.spriteLock = "CLIMB";
- object.gotoAndStop("GRIP");
- object.ySpeed = 0;
- }
- else
- {
- unlockSprite(object,"JUMP");
- setSprite(object,"SLIDE");
- object.spriteLock = "CLIMB";
- object.gotoAndStop("SLIDE");
- object.ySpeed = 10;
- newNoise(object._x,object._y - 40,25);
- }
- return true;
- }
- object.climbActive = false;
- if(collision(object._x + wallCSize * dir,object._y - 30,GROUND) && _loc3_ == true)
- {
- while(collision(object._x + wallCSize * dir,object._y - 30,GROUND))
- {
- object._x -= 1 * dir;
- }
- }
- }
- function roofCollision(object)
- {
- if(collision(object._x,object._y - wallRSize,GROUND))
- {
- MAN.jumpKeySwitch = true;
- object.doubleJump = false;
- object.jumpBuffer = 0;
- object.swingActive = true;
- while(collision(object._x,object._y - wallRSize,GROUND))
- {
- object._y = object._y + 1;
- }
- if(object.keyPressDown == false)
- {
- object._y -= 2;
- object.ySpeed = -2;
- }
- if(object.climbActive == false)
- {
- object.setSprite(MAN,"SWING");
- object.spriteLock = "SWING";
- if(object.keyPressRight == true || object.keyPressLeft == true)
- {
- object.gotoAndStop("SWING");
- newNoise(object._x,object._y - 80,20);
- }
- else
- {
- object.gotoAndStop("SWINGSTOP");
- }
- }
- return true;
- }
- }
- function setSprite(object, frame)
- {
- if(object.dead != true)
- {
- if(object.spriteLock == false)
- {
- object.gotoAndStop(frame);
- }
- }
- else
- {
- object.gotoAndStop("RAGDOLL");
- }
- }
- function unlockSprite(object, lock)
- {
- if(object.spriteLock == lock)
- {
- object.spriteLock = false;
- return true;
- }
- }
- function groundCollision(object)
- {
- object.jumpBuffer = object.jumpBuffer + 1;
- if(collision(object._x,object._y,GROUND) == true)
- {
- while(collision(object._x,object._y,GROUND) == true)
- {
- object._y -= 1;
- }
- object._y += 2;
- object.ySpeed = 0;
- object.jumpBuffer = 0;
- if(object.keyPressUp == false)
- {
- object.doubleJump = true;
- }
- unlockSprite(object,"JUMP");
- return true;
- }
- }
- function collision(xPos, yPos, Targ)
- {
- if(Targ.hitTest(xPos / (100 / _xscale) + _X,yPos / (100 / _yscale) + _Y,true))
- {
- return true;
- }
- }
- function objectJump(object)
- {
- if(object.keyPressUp == true && object.climbActive == false && object.swingActive == false)
- {
- jump(object);
- }
- else if(object.jumpBuffer < jumpBufferStore)
- {
- object.jumpSwitch = false;
- }
- if(object.keyPressUp == false)
- {
- object.jumpKeySwitch = false;
- }
- }
- function jump(object)
- {
- if(object.swingActive == false && object.bowActive == false)
- {
- if(object.jumpBuffer < jumpBufferStore && object.jumpSwitch == false || object.climbActive == true)
- {
- object.ySpeed = - object.jumpHeight;
- _root.playSound("JUMP",50);
- object.jumpSwitch = true;
- object.jumpKeySwitch = true;
- if(object.ySpeed < - object.jumpHeight)
- {
- object.ySpeed = object.jumpHeight;
- }
- }
- else if(object.doubleJump == true && object.ySpeed > 1 && object.jumpKeySwitch == false && object.jumpBuffer > 10)
- {
- object.jumpSwitch = true;
- _root.playSound("JUMP",50);
- object.ySpeed = - object.jumpHeight;
- object.doubleJump = false;
- }
- }
- }
- function addSoldier(xPos, yPos)
- {
- var _loc1_ = attachMovie("SK","SK_Sol",getNextHighestDepth());
- _loc1_._x = xPos;
- _loc1_._y = yPos;
- _loc1_.visualStyle = 2;
- _loc1_.bowActive = false;
- _loc1_.xSpeed = 0;
- _loc1_.ySpeed = 0;
- _loc1_.spriteLock = 0;
- _loc1_.swingActive = false;
- _loc1_.S_State = 0;
- _loc1_.moveDir = 1;
- _loc1_.VA._yscale = 30;
- _loc1_.VA._xscale = 60;
- _loc1_.shockTime = 0;
- _loc1_.deadTimer = 0;
- _loc1_.arrowTimer = 10;
- _loc1_.anglerAdjust = random(10);
- _loc1_.suspectTime = 0;
- _loc1_.power = random(10) / 10;
- _loc1_.scaler = _loc1_._xscale;
- _loc1_.spotPosX = 0;
- _loc1_.spotPosY = 0;
- _loc1_.jumpBuffer = 0;
- if(random(2) == 1)
- {
- _loc1_._xscale = - _loc1_.scaler;
- _loc1_.moveDir = -1;
- }
- enemyArray.push(_loc1_);
- }
- function updateEnemy()
- {
- var _loc2_ = 0;
- while(_loc2_ < enemyArray.length)
- {
- if(enemyArray[_loc2_]._visible == true)
- {
- if(enemyArray[_loc2_].dead == true)
- {
- newBlood(enemyArray[_loc2_]._x,enemyArray[_loc2_]._y);
- enemyArray[_loc2_].gotoAndStop("RAGDOLL");
- enemyArray[_loc2_]._y += enemyArray[_loc2_].ySpeed;
- enemyArray[_loc2_].ySpeed += 2;
- if(enemyArray[_loc2_].deadTimer < 200)
- {
- if(enemyArray[_loc2_].deadTimer == 1)
- {
- _root.kills = _root.kills + 1;
- trace(_root.kills);
- }
- enemyArray[_loc2_].deadTimer = enemyArray[_loc2_].deadTimer + 1;
- }
- else if(enemyArray[_loc2_]._alpha > 0)
- {
- enemyArray[_loc2_]._alpha -= 5;
- }
- else if(enemyArray[_loc2_]._visible == true)
- {
- enemyArray[_loc2_]._visible = false;
- }
- while(collision(enemyArray[_loc2_]._x,enemyArray[_loc2_]._y,GROUND))
- {
- enemyArray[_loc2_]._y--;
- enemyArray[_loc2_].ySpeed = 0;
- }
- enemyArray[_loc2_].sprite._rotation /= 1.05;
- enemyArray[_loc2_].xSpeed = 0;
- }
- else
- {
- if(MAN.dead == true)
- {
- enemyArray[_loc2_].S_State = 0;
- unlockSprite(enemyArray[_loc2_],"SHOOT");
- setSprite(enemyArray[_loc2_],"SNEAK");
- enemyArray.spriteLock = "SNEAK";
- }
- var _loc3_ = pythag(enemyArray[_loc2_]._x,enemyArray[_loc2_]._y,MAN._x,MAN._y);
- if(_loc3_ > 100 && _loc3_ < 350 && enemyArray[_loc2_].S_State > 1 && MAN._y < enemyArray[_loc2_]._y + 40)
- {
- enemyArray[_loc2_].S_State = 3;
- }
- else if(enemyArray[_loc2_].S_State == 3)
- {
- unlockSprite(enemyArray[_loc2_],"SHOOT");
- enemyArray[_loc2_].S_State = 2;
- }
- if(_loc3_ < 150 || _loc3_ < 250 && enemyArray[_loc2_].S_State > 0 && MAN._y < enemyArray[_loc2_]._y + 20)
- {
- enemyArray[_loc2_].curDist = _loc3_;
- if(MAN._x < enemyArray[_loc2_]._x && enemyArray[_loc2_].moveDir == -1 || MAN._x > enemyArray[_loc2_]._x && enemyArray[_loc2_].moveDir == 1)
- {
- if(enemyArray[_loc2_].S_State != 3)
- {
- enemyArray[_loc2_].S_State = 2;
- enemyArray[_loc2_].spotPosX = MAN._x;
- enemyArray[_loc2_].spotPosY = enemyArray[_loc2_]._x - MAN._x;
- if(enemyArray[_loc2_].S_State == 2)
- {
- enemyArray[_loc2_].shockTime = 0;
- }
- }
- }
- }
- else
- {
- enemyArray[_loc2_].spotPosX = enemyArray[_loc2_]._x - enemyArray[_loc2_].spotPosY;
- }
- enemyArray[_loc2_]._y += enemyArray[_loc2_].ySpeed;
- enemyArray[_loc2_].ySpeed += 2;
- enemyArray[_loc2_].jumpBuffer = enemyArray[_loc2_].jumpBuffer + 1;
- if(groundCollision(enemyArray[_loc2_]) == true)
- {
- if(collision(enemyArray[_loc2_]._x - 25,enemyArray[_loc2_]._y + 30,GROUND) != true)
- {
- if(enemyArray[_loc2_].S_State < 1)
- {
- enemyArray[_loc2_]._x += 5;
- enemyArray[_loc2_].xSpeed *= -1.1;
- enemyArray[_loc2_].moveDir *= -1;
- enemyArray[_loc2_]._xscale *= -1;
- }
- else
- {
- enemyArray[_loc2_].xSpeed *= -1.1;
- if(_loc3_ < 400)
- {
- enemyArray[_loc2_].S_State = 3;
- }
- }
- }
- if(collision(enemyArray[_loc2_]._x + 25,enemyArray[_loc2_]._y + 30,GROUND) != true)
- {
- if(enemyArray[_loc2_].S_State < 1)
- {
- enemyArray[_loc2_]._x -= 5;
- enemyArray[_loc2_].xSpeed *= -1.1;
- enemyArray[_loc2_].moveDir *= -1;
- enemyArray[_loc2_]._xscale *= -1;
- }
- else
- {
- enemyArray[_loc2_].xSpeed *= -1.1;
- if(_loc3_ < 400)
- {
- enemyArray[_loc2_].S_State = 3;
- }
- }
- }
- unlockSprite(enemyArray[_loc2_],"JUMP");
- }
- if(enemyArray[_loc2_].jumpBuffer > 10)
- {
- setSprite(enemyArray[_loc2_],"JUMP");
- enemyArray[_loc2_].spriteLock = "JUMP";
- }
- else
- {
- unlockSprite(enemyArray[_loc2_],"JUMP");
- }
- if(collision(enemyArray[_loc2_]._x - 20,enemyArray[_loc2_]._y - 50,GROUND) || collision(enemyArray[_loc2_]._x + 20,enemyArray[_loc2_]._y - 50,GROUND))
- {
- if(collision(enemyArray[_loc2_]._x - 20,enemyArray[_loc2_]._y - 100,GROUND) != true)
- {
- enemyArray[_loc2_].ySpeed = -15;
- enemyArray[_loc2_].xSpeed = 5;
- }
- while(collision(enemyArray[_loc2_]._x - 20,enemyArray[_loc2_]._y - 50,GROUND))
- {
- enemyArray[_loc2_]._x += 2;
- }
- while(collision(enemyArray[_loc2_]._x + 20,enemyArray[_loc2_]._y - 50,GROUND))
- {
- enemyArray[_loc2_]._x -= 2;
- }
- enemyArray[_loc2_].xSpeed *= -1.1;
- enemyArray[_loc2_].moveDir *= -1;
- enemyArray[_loc2_]._xscale *= -1;
- }
- enemyArray[_loc2_].xSpeed /= 1.1 + enemyArray[_loc2_].power / 10;
- if(enemyArray[_loc2_].S_State != 3)
- {
- enemyArray[_loc2_]._x += enemyArray[_loc2_].xSpeed;
- }
- enemyArray[_loc2_]._xscale = enemyArray[_loc2_].scaler * enemyArray[_loc2_].moveDir;
- if(enemyArray[_loc2_].S_State == 0)
- {
- enemyArray[_loc2_].shockTime = 0;
- setSprite(enemyArray[_loc2_],"SNEAK");
- enemyArray[_loc2_].xSpeed += enemyArray[_loc2_].moveDir / 4;
- }
- else if(enemyArray[_loc2_].S_State == 1)
- {
- enemyArray[_loc2_].VA._xscale = 70;
- enemyArray[_loc2_].VA._yscale = 70;
- setSprite(enemyArray[_loc2_],"STAND");
- if(enemyArray[_loc2_].shockTime >= 30)
- {
- if(enemyArray[_loc2_].shockTime == 30)
- {
- enemyArray[_loc2_]._xscale *= -1;
- enemyArray[_loc2_].moveDir *= -1;
- }
- else if(enemyArray[_loc2_].shockTime == 40)
- {
- enemyArray[_loc2_]._xscale *= -1;
- enemyArray[_loc2_].moveDir *= -1;
- }
- }
- enemyArray[_loc2_].shockTime = enemyArray[_loc2_].shockTime + 1;
- if(enemyArray[_loc2_].shockTime > 50)
- {
- enemyArray[_loc2_].S_State = 0;
- enemyArray[_loc2_].shockTime = 0;
- }
- }
- else if(enemyArray[_loc2_].S_State == 2)
- {
- if(_loc3_ < 30)
- {
- if(MAN.dead != true)
- {
- enemyArray[_loc2_].gotoAndStop("SLASH");
- if(MAN._x > enemyArray[_loc2_]._x && enemyArray[_loc2_]._xscale > 0)
- {
- hurtMan(2);
- MAN.xSpeed += 5;
- }
- else if(MAN._x < enemyArray[_loc2_]._x && enemyArray[_loc2_]._xscale < 0)
- {
- hurtMan(2);
- MAN.xSpeed -= 5;
- }
- }
- }
- else if(enemyArray[_loc2_].shockTime < 200)
- {
- enemyArray[_loc2_].shockTime = enemyArray[_loc2_].shockTime + 1;
- enemyArray[_loc2_].suspectTime = enemyArray[_loc2_].suspectTime + 1;
- if(enemyArray[_loc2_].suspectTime > 20)
- {
- if(enemyArray[_loc2_].hitTest(MAN))
- {
- enemyArray[_loc2_].shockTime = 0;
- }
- enemyArray[_loc2_].VA._xscale = 100;
- enemyArray[_loc2_].VA._yscale = 100;
- if(MAN.dead != true)
- {
- setSprite(enemyArray[_loc2_],"RUN");
- }
- enemyArray[_loc2_].xSpeed += enemyArray[_loc2_].moveDir / 1.5;
- if(enemyArray[_loc2_]._x > enemyArray[_loc2_].spotPosX + 50)
- {
- enemyArray[_loc2_].moveDir = -1;
- }
- else if(enemyArray[_loc2_]._x < enemyArray[_loc2_].spotPosX - 50)
- {
- enemyArray[_loc2_].moveDir = 1;
- }
- }
- else if(MAN.dead != true)
- {
- setSprite(enemyArray[_loc2_],"SHOCK");
- }
- }
- else
- {
- enemyArray[_loc2_].shockTime = 0;
- enemyArray[_loc2_].suspectTime = 0;
- enemyArray[_loc2_].S_State = 1;
- }
- }
- else if(enemyArray[_loc2_].S_State == 3)
- {
- enemyArray[_loc2_].xSpeed = 0;
- unlockSprite(enemyArray[_loc2_],"JUMP");
- setSprite(enemyArray[_loc2_],"SHOOT");
- enemyArray[_loc2_].spriteLock = "SHOOT";
- enemyArray[_loc2_].anglerVar = angle(enemyArray[_loc2_]._x,enemyArray[_loc2_]._y,MAN._x,MAN._y);
- if(enemyArray[_loc2_]._x > MAN._x)
- {
- enemyArray[_loc2_].anglerVar += 10 + enemyArray[_loc2_].anglerAdjust;
- }
- else
- {
- enemyArray[_loc2_].anglerVar -= 10 + enemyArray[_loc2_].anglerAdjust;
- }
- if(enemyArray[_loc2_]._x < MAN._x)
- {
- enemyArray[_loc2_].sprite.bowAim._rotation = enemyArray[_loc2_].anglerVar - 90;
- enemyArray[_loc2_].sprite.bowAim.arms._rotation = enemyArray[_loc2_].anglerVar - 90 - enemyArray[_loc2_].sprite.bowAim._rotation / 1;
- enemyArray[_loc2_]._xscale = enemyArray[_loc2_].scaler;
- }
- else
- {
- enemyArray[_loc2_].sprite.bowAim._rotation = - (enemyArray[_loc2_].anglerVar + 90);
- enemyArray[_loc2_].sprite.bowAim.arms._rotation = - (enemyArray[_loc2_].anglerVar + 90) - enemyArray[_loc2_].sprite.bowAim._rotation / 1;
- enemyArray[_loc2_]._xscale = - enemyArray[_loc2_].scaler;
- }
- if(enemyArray[_loc2_].sprite.bowAim.bow._currentframe < 5)
- {
- enemyArray[_loc2_].sprite.bowAim.bow.nextFrame();
- enemyArray[_loc2_].sprite.bowAim.arms.nextFrame();
- }
- if(enemyArray[_loc2_].arrowTimer == 1)
- {
- enemyArray[_loc2_].arrowTimer = 30 + random(30);
- speed = calcSpeed(enemyArray[_loc2_].anglerVar - 90,random(100) + 200);
- enemyArray[_loc2_].sprite.bowAim.bow.gotoAndStop(1);
- enemyArray[_loc2_].sprite.bowAim.arms.gotoAndStop(1);
- newArrow(enemyArray[_loc2_]._x,enemyArray[_loc2_]._y - 30,enemyArray[_loc2_]);
- enemyArray[_loc2_].anglerAdjust = random(10);
- }
- else
- {
- enemyArray[_loc2_].arrowTimer--;
- }
- }
- }
- }
- _loc2_ = _loc2_ + 1;
- }
- }
- function setFPS()
- {
- var _loc1_ = new Date();
- var _loc2_ = 0;
- while(_loc1_.getTime() < FPSTimer)
- {
- _loc1_ = new Date();
- _loc2_ = _loc2_ + 1;
- }
- if(Key.isDown(16))
- {
- FPSTimer = _loc1_.getTime() + 100;
- }
- else
- {
- FPSTimer = _loc1_.getTime() + 25;
- }
- }
- function newBlood(xPos, yPos)
- {
- if(random(4) == 1)
- {
- var _loc1_ = EFFECTS.attachMovie("Blood","B",EFFECTS.getNextHighestDepth());
- _loc1_._x = xPos;
- _loc1_._y = yPos;
- _loc1_.xSpeed = random(6) - 3;
- _loc1_.ySpeed = - (random(15) + 5);
- _loc1_._xscale = random(50);
- _loc1_._yscale = _loc1_._xscale;
- _loc1_._alpha = 200;
- _loc1_._rotation = random(360);
- bloodArray.push(_loc1_);
- }
- }
- function updateBlood()
- {
- var _loc1_ = 0;
- while(_loc1_ < bloodArray.length)
- {
- if(bloodArray[_loc1_]._alpha > 0)
- {
- bloodArray[_loc1_]._x += bloodArray[_loc1_].xSpeed;
- bloodArray[_loc1_]._y += bloodArray[_loc1_].ySpeed;
- bloodArray[_loc1_].ySpeed += 2;
- bloodArray[_loc1_]._alpha -= 10;
- bloodArray[_loc1_]._xscale += 5;
- bloodArray[_loc1_]._yscale += 5;
- }
- else
- {
- bloodArray[_loc1_].removeMovieClip();
- bloodArray.splice(_loc1_,1);
- }
- _loc1_ = _loc1_ + 1;
- }
- }
- function HUDControl()
- {
- if(MAN.dead == false)
- {
- _parent.HUD.HBar._width = 150 / (100 * _root.difficulty) * MAN.health;
- _parent.HUD.HBar2._width = 0.75 * MAN.healthTimer;
- }
- else
- {
- _parent.HUD.HBar._width = 0;
- }
- if(MAN.health < 100 * _root.difficulty)
- {
- if(MAN.healthTimer > 0)
- {
- MAN.healthTimer--;
- }
- else
- {
- MAN.health = MAN.health + 1;
- }
- }
- }
- function hurtMan(ammount)
- {
- ammount = Math.round(ammount / 1.5);
- if(MAN.dead == false)
- {
- _root.playSound("HURT",100);
- _root.FADER._alpha = 50;
- _root.FADER.gotoAndStop(3);
- newBlood(MAN._x,MAN._y - 40);
- MAN.bowActive = false;
- MAN.keyPressRight = true;
- MAN.health -= ammount;
- MAN.healthTimer = 200;
- if(MAN.health <= 0)
- {
- _root.playSound("DEAD",100);
- MAN.dead = true;
- MAN._x -= MAN.xSpeed * 5;
- }
- }
- }
- function spikeDamage()
- {
- if(_root.coins >= _root.coinArray[level] && PROPS.EOL._currentframe < 10)
- {
- PROPS.EOL.nextFrame();
- }
- if(MAN._y > 3000 || pythag(MAN._x,MAN._y,PROPS.EOL._x,PROPS.EOL._y) < 10 && _root.coins >= _root.coinArray[level])
- {
- _root.saveObject.level = _root.saveObject.level + 1;
- _root.saveObject.coins = _root.coins;
- _root.saveObject.deaths = _root.deaths;
- _root.saveObject.kills = _root.kills;
- _root.saveData();
- EOLFreeze = true;
- MAN.gotoAndStop("STAND");
- _root.gotoFrame("blank",1);
- }
- if(MAN.dead == false)
- {
- if(collision(MAN._x,MAN._y - 10,SPIKES) == true || collision(MAN._x,MAN._y - 55,SPIKES) == true)
- {
- spikeTimer++;
- if(spikeTimer == 3)
- {
- MAN.ySpeed = -20;
- hurtMan(1000);
- }
- }
- else
- {
- spikeTimer = 0;
- }
- }
- }
- level = _root.saveObject.level;
- GROUND.gotoAndStop(level);
- GROUND_G.gotoAndStop(level);
- SPIKES.gotoAndStop(level);
- PROPS.gotoAndStop(level);
- createEmptyMovieClip("EFFECTS",0);
- createEmptyMovieClip("NOISE",1);
- NOISE._visible = 0;
- this.setMask(_parent.lightSource);
- _parent.focusBG._alpha = 0;
- coinStore = _root.saveObject.coins;
- deathStore = _root.saveObject.deaths;
- killStore = _root.saveObject.kills;
- _root.coins = _root.saveObject.coins;
- _root.deaths = _root.saveObject.deaths;
- _root.kills = _root.saveObject.kills;
- _root.difficulty = 1;
- var xDragStart = 0;
- var yDragStart = 0;
- var jumpBufferStore = 10;
- var arrowPosX = 0;
- var arrowPosY = 0;
- MAN.powerVar;
- MAN.anglerVar;
- var speed;
- var previewVar = false;
- var windSpeed = 0;
- MAN.health = 100 * _root.difficulty;
- MAN.healthTimer = 0;
- MAN.bowActive = false;
- MAN.xSpeed = 0;
- MAN.ySpeed = 0;
- MAN.spriteLock = 0;
- MAN.jumpBuffer = 0;
- MAN.jumpHeight = 25;
- MAN.jumpSwitch = false;
- MAN.swingActive = false;
- MAN.doubleJump = true;
- MAN.sneakActive = false;
- MAN.visualStyle = 1;
- MAN.deadTimer = 0;
- MAN.mousePressed = false;
- MAN.dead = false;
- MAN.rollCount = 20;
- MAN.VA._xscale = 0;
- MAN.VA._yscale = 0;
- var zoomShake = 0;
- var bow_Range = 10;
- var bow_Range_Array = new Array(null,80,90,100,110,120,130,140,150,150,150);
- var bow_Accuracy = 10;
- var bow_Accuracy_Array = new Array(null,5,10,15,20,25,30,35,40,45,100);
- var bow_Power = 10;
- var magic_Speed = 1;
- var manXScale = MAN._xscale;
- var camElasticTimer = 10;
- var point;
- var camPos = {x:MAN._x,y:MAN._y};
- var noiseArray = new Array();
- camYOffset = 188;
- gamePaused = false;
- gamePauseSwitch = false;
- var arrowArray = new Array();
- var wallCSize = 15;
- var wallRSize = 90;
- var oldY = object._y;
- var enemyArray = new Array();
- var bloodArray = new Array();
- var EOLFreeze = false;
- var spikeTimer = 0;
- PROPS.EOL.coinText = _root.coinArray[level];
-