stop(); var mouseIsDown:Boolean = false; var heldDown:Number = 0; var heldDownMax:Number = 15; var scSize:Number = 0; var scSizeMax:Number = 80; var units:Array = new Array(); var unitsNum:Number = 0; var keyIsDown:Boolean = false; var unitsSelected:Array = new Array(); var unitsUnderSelect:Number = 0; var rotationSpeed:Number = 250; var mcIsDown:Boolean = false; var canMove:Boolean = false; var vehicleDatabase:Array = new Array(); var buildingDatabase:Array = new Array(); var unitsDown:Array = new Array(); var credits:Number = 2000 var leftBoundry:Number = 1100; var rightBoundry:Number = -1000; var topBoundry:Number = 800 var botBoundry:Number = -770 var lowDepth = -this.getNextHighestDepth(); var scrollSpeed:Number = 10; var mcvIsDown:Boolean = false var minNum:Number = 0; var maxNum:Number = 3; var isPlaying:Boolean = false //Has Buildings var HasConYard:Boolean = true var factoryDown = false; ui.build.onRelease = function(){ trace("Buildings") ui.buildingBut._visible = true } ui.troop.onRelease = function(){ ui.buildingBut._visible = false trace("Troops") } ui.veh.onRelease = function(){ ui.buildingBut._visible = false trace("Vehicles") } ui.def.onRelease = function(){ ui.buildingBut._visible = false trace("Defences & skills") } onMouseDown = function () { mouseIsDown = true; }; onMouseUp = function () { mouseIsDown = false; }; onEnterFrame = function (){; if(mcvIsDown == false){ vehicleLoad("MCV") mcvIsDown = true } ui.creditsTxt = (credits) sc._xscale = scSize; sc._yscale = scSize; if(mc._x == 0& mc._y == 0){mc.removeMovieClip} if (scSize > 0){; sc._x = _xmouse; sc._y = _ymouse; } else { sc._x = -100; sc._y = -100; } if (Key.isDown(Key.SPACE)){; if(keyIsDown == false){ _root.attachMovie("mc1","mc",lowDepth); mc._x = _xmouse; mc._y = _ymouse; mcIsDown = true if(mcIsDown == true){ mcIsDown = false }else{ mc.removeMovieClip } } } if (Key.isDown(Key.RIGHT)){ if(_root._x >= rightBoundry){ _root._x -= scrollSpeed; ui._x += scrollSpeed ui.minimap.box._x +=0.5 } } if (Key.isDown(Key.LEFT)){ if(_root._x <= leftBoundry){ _root._x += scrollSpeed ui._x -= scrollSpeed ui.minimap.box._x -=0.5 } } if (Key.isDown(Key.UP)){ if(_root._y <= topBoundry){ _root._y += scrollSpeed ui._y -= scrollSpeed ui.minimap.box._y -=0.5 } } if (Key.isDown(Key.DOWN)){ if(_root._y >= botBoundry){ _root._y -= scrollSpeed ui._y += scrollSpeed ui.minimap.box._y += 0.5 } } trace(unitsSelected) select(); control(); buttons() }; function select(){ if (mouseIsDown == true){ if (heldDown <= heldDownMax){ heldDown += 1; } if (heldDown >= heldDownMax){ _root.attachMovie("selectC","sc"); if (scSize <= scSizeMax){ scSize += 5; } } }else{ heldDown = 0; sc.removeMovieClip; scSize = 0; } } function control(){ for (num = 1; num <= unitsNum; num++){ if (units[num].hitTest(sc)){ unitsSelected.push(units[num]); trace(units[num] + " selected"); unitsUnderSelect++; for (i = 1; i <= unitsUnderSelect; i++){ unitsSelected[i].gotoAndStop(2); } } } } function movement(obj:MovieClip, target:MovieClip,speed:Number,rotSpeed:Number) { if (mcIsDown == true){ targetAngle = Math.floor(Math.atan2(target._y - obj._y, target._x - obj._x) * (180 / Math.PI)); currentAngle = obj._rotation; angleComp = targetAngle - currentAngle; angleSignal = angleComp/Math.abs(angleComp); moveDirection = ((angleComp >= 180) || (angleComp <= -180)) ? -angleSignal : angleSignal; obj._rotation += spd * moveDirection; if(Math.abs(angleComp) < rotSpeed){ obj._rotation = targetAngle; } obj._x += Math.cos(obj._rotation * (Math.PI / 180)) * speed; obj._y += Math.sin(obj._rotation * (Math.PI / 180)) * speed; } } //Buiulding Stats var building:Object = { buildingName: "ConYard", cost: 2000, model: ConstructionYard, armor:3, tech: 0, canBeBuilt: false, canBeSold: false, rePack: true, rePackInto: "MCV", powerNeeded: 0 } buildingDatabase.push(building); var building:Object = { buildingName: "PowerPlant", cost: 150, model: powerPlant, armor:3, tech: 0, canBeSold: true, powerNeeded: 0, powerOutput: 200 } buildingDatabase.push(building); //Vehicle Stats var vehicle:Object = { vehicleName: "Tank", cost: 100, model: tankBody, turretModel:tankTurret, speed:.2, turnSpeed:.2, turretRotation:.2, turretOffet:1, weapon:2, armor:3, canFly:4, builtFrom: factory, tech: 2 }; vehicleDatabase.push(vehicle); var vehicle:Object = { vehicleName: "MCV", cost: 500, model:"MCV", turretModel: N/A, deployable: true, deploysInto: "ConYard", speed: .2, turnSpeed: N/A, turretRotation: N/A, turretOffet:0, weapon:2, armor:3, canFly:false, canBuild: true, builtFrom: factory, tech: 4, deployable: true, deployModel: ConYard, buildTime: 100 }; vehicleDatabase.push(vehicle); var vehicle:Object = { vehicleName: "Harvester", cost: 50, model:"tankBody", turretModel: N/A, speed:.2, turnSpeed:N/A, turretRotation:N/A, turretOffet:N/A, weapon:2, armor:3, builtFrom: "factory", tech: 2, canHarvest: true, buildTime: 300, cargo: 200 }; vehicleDatabase.push(vehicle); vehicleLoad("MCV") trace(vehicleDatabase.length + " units have been found") function vehicleLoad(vehicle:String,xPos:Number, yPos:Number){ for (i = 0; i < vehicleDatabase.length; i++){ var vehicleId:String = vehicleDatabase[i].vehicleName; var vehicleCost:Number = vehicleDatabase[i].cost; var vehicleTech:Number = vehicleDatabase[i].tech; var vehicleModel:MovieClip = vehicleDatabase[i].model; var vehicleTurretModel:MovieClip = vehicleDatabase[i].turretModel; var vehicleSpeed:Number = vehicleDatabase[i].speed; var vehicleTurnSpeed:Number = vehicleDatabase[i].turnSpeed; var vehicleTurretRotation:String = vehicleDatabase[i].turretRotation; var vehicleTurretOffset:String = vehicleDatabase[i].turretOffset; var vehicleDeployable:Boolean = vehicleDatabase[i].deployable var vehicleDeployInto:String = vehicleDatabase[i].deploysInto var vehicleBuildTime:Number = vehicleDatabase[i].buildTime if (vehicle == vehicleId){ units[unitsNum] = this.attachMovie(vehicleModel, vehicleId + unitsNum, this.getNextHighestDepth(), { _x:spawnPoint_1._x , _y:spawnPoint_1._y}); unitsNum++ trace("vehicle Found: " + vehicleId) vehicleFound = true if(vehicleTech >= 2){ trace(vehicleId + " has a tech of " + vehicleTech) trace(vehicleId + " can be built in a factory") if(factoryDown == true){ trace("factory is down and " + vehicleId + " can be built") if(credits >= vehicleCost){ trace("you have enough credits to build a " +vehicleId) credits -= vehicleCost if(mouseIsDown == true){ } } else { trace("not enough credits to build a " + vehicleId) } }else{ trace("factory is not down and " + vehicleId + " can not be built") } } if(vehicleTech < 2){ trace(vehicleId + " has a tech of " + vehicleTech) trace(vehicleId + " can be built in a barracks") } }else{ if(vehicleFound == false){ trace("no vehicle found!") } } } } function buttons (){ build.onRelease = function(){ ui.buildingBut._visible = true } troop.onRelease = function(){ ui.buildingBut._visible = false } if (HasConYard == true){ ui.buildingBut.powerPlant._visible = true ui.buildingBut.barracks._visible = true } else { ui.buildingBut.powerPlant._visible = false ui.buildingBut.barracks._visible = false } }