95Roadkill

Flash RTS Main (WIP)

Oct 27th, 2014
332
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. stop();
  2.  
  3. var mouseIsDown:Boolean = false;
  4. var heldDown:Number = 0;
  5. var heldDownMax:Number = 15;
  6. var scSize:Number = 0;
  7. var scSizeMax:Number = 80;
  8. var units:Array = new Array();
  9. var unitsNum:Number = 0;
  10. var keyIsDown:Boolean = false;
  11. var unitsSelected:Array = new Array();
  12. var unitsUnderSelect:Number = 0;
  13. var rotationSpeed:Number = 250;
  14. var mcIsDown:Boolean = false;
  15. var canMove:Boolean = false;
  16. var vehicleDatabase:Array = new Array();
  17. var buildingDatabase:Array = new Array();
  18. var unitsDown:Array = new Array();
  19. var credits:Number = 2000
  20. var leftBoundry:Number = 1100;
  21. var rightBoundry:Number = -1000;
  22. var topBoundry:Number = 800
  23. var botBoundry:Number = -770
  24. var lowDepth = -this.getNextHighestDepth();
  25. var scrollSpeed:Number = 10;
  26. var mcvIsDown:Boolean = false
  27. var minNum:Number = 0;
  28. var maxNum:Number = 3;
  29. var isPlaying:Boolean = false
  30.  
  31.  
  32.  
  33. //Has Buildings
  34. var HasConYard:Boolean = true
  35. var factoryDown = false;
  36.  
  37. ui.build.onRelease = function(){
  38.     trace("Buildings")
  39.     ui.buildingBut._visible = true
  40. }
  41. ui.troop.onRelease = function(){
  42.     ui.buildingBut._visible = false
  43.     trace("Troops")
  44. }
  45. ui.veh.onRelease = function(){
  46.     ui.buildingBut._visible = false
  47.     trace("Vehicles")
  48. }
  49. ui.def.onRelease = function(){
  50.     ui.buildingBut._visible = false
  51.     trace("Defences & skills")
  52. }
  53.  
  54.  
  55.  
  56.  
  57. onMouseDown = function ()
  58. {
  59.     mouseIsDown = true;
  60. };
  61. onMouseUp = function ()
  62. {
  63.     mouseIsDown = false;
  64. };
  65.  
  66. onEnterFrame = function (){;
  67. if(mcvIsDown == false){
  68. vehicleLoad("MCV")
  69. mcvIsDown = true
  70. }
  71. ui.creditsTxt = (credits)
  72. sc._xscale = scSize;
  73. sc._yscale = scSize;
  74. if(mc._x == 0& mc._y == 0){mc.removeMovieClip}
  75.  
  76. if (scSize > 0){;
  77.     sc._x = _xmouse;
  78.     sc._y = _ymouse;
  79. } else {
  80.     sc._x = -100;
  81.     sc._y = -100;
  82. }
  83.  
  84. if (Key.isDown(Key.SPACE)){;
  85.     if(keyIsDown == false){
  86.         _root.attachMovie("mc1","mc",lowDepth);
  87.          mc._x = _xmouse;
  88.          mc._y = _ymouse;
  89.          mcIsDown = true
  90.         if(mcIsDown == true){
  91.             mcIsDown = false
  92.         }else{
  93.             mc.removeMovieClip
  94.         }
  95.     }
  96. }
  97. if (Key.isDown(Key.RIGHT)){
  98.     if(_root._x >= rightBoundry){
  99.     _root._x -= scrollSpeed;
  100.     ui._x += scrollSpeed
  101.     ui.minimap.box._x +=0.5
  102.     }
  103. }
  104. if (Key.isDown(Key.LEFT)){
  105.     if(_root._x <= leftBoundry){
  106.     _root._x += scrollSpeed
  107.     ui._x -= scrollSpeed
  108.     ui.minimap.box._x -=0.5
  109. }
  110. }
  111.  
  112. if (Key.isDown(Key.UP)){
  113.     if(_root._y <= topBoundry){
  114.     _root._y += scrollSpeed
  115.     ui._y -= scrollSpeed
  116.     ui.minimap.box._y -=0.5
  117. }
  118. }
  119. if (Key.isDown(Key.DOWN)){
  120.     if(_root._y >= botBoundry){
  121.     _root._y -= scrollSpeed
  122.     ui._y += scrollSpeed
  123.     ui.minimap.box._y += 0.5
  124. }
  125. }
  126.  
  127. trace(unitsSelected)
  128. select();
  129. control();
  130. buttons()
  131. };
  132.  
  133. function select(){
  134. if (mouseIsDown == true){
  135.     if (heldDown <= heldDownMax){
  136.         heldDown += 1;
  137.     }
  138.     if (heldDown >= heldDownMax){
  139.         _root.attachMovie("selectC","sc");
  140.         if (scSize <= scSizeMax){
  141.             scSize += 5;
  142.         }
  143.     }
  144. }else{
  145.     heldDown = 0;
  146.     sc.removeMovieClip;
  147.     scSize = 0;
  148.      }
  149. }
  150.  
  151. function control(){
  152. for (num = 1; num <= unitsNum; num++){
  153.     if (units[num].hitTest(sc)){
  154.             unitsSelected.push(units[num]);
  155.             trace(units[num] + " selected");
  156.             unitsUnderSelect++;
  157.                 for (i = 1; i <= unitsUnderSelect; i++){
  158.                     unitsSelected[i].gotoAndStop(2);
  159.             }
  160.         }
  161.     }
  162. }
  163. function movement(obj:MovieClip, target:MovieClip,speed:Number,rotSpeed:Number)
  164. {
  165. if  (mcIsDown == true){
  166.  
  167.     targetAngle = Math.floor(Math.atan2(target._y - obj._y, target._x - obj._x) * (180 / Math.PI));
  168.     currentAngle = obj._rotation;
  169.     angleComp = targetAngle - currentAngle;
  170.     angleSignal = angleComp/Math.abs(angleComp);
  171.     moveDirection = ((angleComp >= 180) || (angleComp <= -180)) ? -angleSignal : angleSignal;
  172.     obj._rotation += spd * moveDirection;
  173.     if(Math.abs(angleComp) < rotSpeed){
  174.         obj._rotation = targetAngle;
  175.     }
  176.  
  177. obj._x += Math.cos(obj._rotation * (Math.PI / 180)) * speed;
  178. obj._y += Math.sin(obj._rotation * (Math.PI / 180)) * speed;
  179. }
  180. }
  181.  
  182. //Buiulding Stats
  183. var building:Object = {
  184. buildingName: "ConYard",
  185. cost: 2000,
  186. model: ConstructionYard,      
  187. armor:3,
  188. tech: 0,
  189. canBeBuilt: false,
  190. canBeSold: false,
  191. rePack: true,
  192. rePackInto: "MCV",
  193. powerNeeded: 0
  194. }
  195. buildingDatabase.push(building);
  196. var building:Object = {
  197. buildingName: "PowerPlant",
  198. cost: 150,
  199. model: powerPlant,      
  200. armor:3,
  201. tech: 0,
  202. canBeSold: true,
  203. powerNeeded: 0,
  204. powerOutput: 200
  205. }
  206. buildingDatabase.push(building);
  207.  
  208. //Vehicle Stats
  209.  
  210. var vehicle:Object =
  211. {
  212. vehicleName: "Tank",
  213. cost: 100,
  214. model: tankBody,
  215. turretModel:tankTurret,
  216. speed:.2,
  217. turnSpeed:.2,
  218. turretRotation:.2,
  219. turretOffet:1,
  220. weapon:2,
  221. armor:3,
  222. canFly:4,
  223. builtFrom: factory,
  224. tech: 2
  225. };
  226. vehicleDatabase.push(vehicle);
  227. var vehicle:Object =
  228. {
  229. vehicleName: "MCV",
  230. cost: 500,
  231. model:"MCV",
  232. turretModel: N/A,
  233. deployable: true,
  234. deploysInto: "ConYard",
  235. speed: .2,
  236. turnSpeed: N/A,
  237. turretRotation: N/A,
  238. turretOffet:0,
  239. weapon:2,
  240. armor:3,
  241. canFly:false,
  242. canBuild: true,
  243. builtFrom: factory,
  244. tech: 4,
  245. deployable: true,
  246. deployModel: ConYard,
  247. buildTime: 100
  248. };
  249. vehicleDatabase.push(vehicle);
  250.  
  251. var vehicle:Object = {
  252. vehicleName: "Harvester",
  253. cost: 50,
  254. model:"tankBody",
  255. turretModel: N/A,
  256. speed:.2,
  257. turnSpeed:N/A,
  258. turretRotation:N/A,
  259. turretOffet:N/A,
  260. weapon:2,
  261. armor:3,
  262. builtFrom: "factory",
  263. tech: 2,
  264. canHarvest: true,
  265. buildTime: 300,
  266. cargo: 200
  267. };
  268. vehicleDatabase.push(vehicle);
  269. vehicleLoad("MCV")
  270. trace(vehicleDatabase.length + " units have been found")
  271.  
  272.  
  273.  
  274. function vehicleLoad(vehicle:String,xPos:Number, yPos:Number){
  275.  for (i = 0; i < vehicleDatabase.length; i++){
  276.     var vehicleId:String = vehicleDatabase[i].vehicleName;
  277.     var vehicleCost:Number = vehicleDatabase[i].cost;
  278.     var vehicleTech:Number = vehicleDatabase[i].tech;
  279.     var vehicleModel:MovieClip = vehicleDatabase[i].model;
  280.     var vehicleTurretModel:MovieClip = vehicleDatabase[i].turretModel;
  281.     var vehicleSpeed:Number = vehicleDatabase[i].speed;
  282.     var vehicleTurnSpeed:Number = vehicleDatabase[i].turnSpeed;
  283.     var vehicleTurretRotation:String = vehicleDatabase[i].turretRotation;
  284.     var vehicleTurretOffset:String = vehicleDatabase[i].turretOffset;
  285.     var vehicleDeployable:Boolean = vehicleDatabase[i].deployable
  286.     var vehicleDeployInto:String = vehicleDatabase[i].deploysInto
  287.     var vehicleBuildTime:Number = vehicleDatabase[i].buildTime
  288.    
  289.    
  290.    
  291.     if (vehicle == vehicleId){
  292.         units[unitsNum] = this.attachMovie(vehicleModel, vehicleId + unitsNum, this.getNextHighestDepth(), { _x:spawnPoint_1._x , _y:spawnPoint_1._y});
  293.         unitsNum++
  294.        
  295.          trace("vehicle Found: " + vehicleId)
  296.          vehicleFound = true
  297.           if(vehicleTech >= 2){
  298.              trace(vehicleId + " has a tech of " + vehicleTech)
  299.              trace(vehicleId + " can be built in a factory")
  300.              if(factoryDown == true){
  301.                  trace("factory is down and " + vehicleId + " can be built")
  302.                  if(credits >= vehicleCost){
  303.                      trace("you have enough credits to build a " +vehicleId)
  304.                      credits -= vehicleCost
  305.                      if(mouseIsDown == true){
  306.                      }
  307.                 } else {
  308.                      trace("not enough credits to build a " + vehicleId)
  309.                  }
  310.              }else{
  311.                  trace("factory is not down and " + vehicleId + " can not be built")
  312.              }
  313.         }
  314.         if(vehicleTech < 2){
  315.             trace(vehicleId + " has a tech of " + vehicleTech)
  316.             trace(vehicleId + " can be built in a barracks")
  317.             }
  318.     }else{
  319.         if(vehicleFound == false){
  320.             trace("no vehicle found!")
  321.         }
  322.     }
  323.   }
  324. }
  325. function buttons (){
  326.     build.onRelease = function(){
  327.         ui.buildingBut._visible = true
  328.     }
  329.     troop.onRelease = function(){
  330.         ui.buildingBut._visible = false
  331.     }
  332.     if (HasConYard == true){
  333.         ui.buildingBut.powerPlant._visible = true
  334.         ui.buildingBut.barracks._visible = true
  335.     } else {
  336.         ui.buildingBut.powerPlant._visible = false
  337.         ui.buildingBut.barracks._visible = false
  338.     }
  339. }
Advertisement
Add Comment
Please, Sign In to add comment