=CMD =CMDCLASS Vars and Functions =COMMAND REFREADGLOBAL: =DESC =ENDDESC =EX s1 = GetStringFromStack(); stack.Push(GameSpace.instance.globalHeap[s1]); stack.Push(new Data(0)); =ENDEX =ENDCMD =CMD =CMDCLASS Vars and Functions =COMMAND REFWRITEGLOBAL: =DESC =ENDDESC =EX s1 = GetStringFromStack(); =ENDEX =ENDCMD =CMD =CMDCLASS Vars and Functions =COMMAND REFEXISTSGLOBAL: =DESC =ENDDESC =EX stack.Push(new Data(GameSpace.instance.globalHeap.ContainsKey(GetStringFromStack()) ? 1 : 0)); =ENDEX =ENDCMD =CMD =CMDCLASS Vars and Functions =COMMAND REFDELETEGLOBAL: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS Vars and Functions =COMMAND READGLOBAL: =DESC =ENDDESC =EX s1 = command.data.GetString(); stack.Push(GameSpace.instance.globalHeap[s1]); stack.Push(new Data(0)); =ENDEX =ENDCMD =CMD =CMDCLASS Vars and Functions =COMMAND WRITEGLOBAL: =DESC =ENDDESC =EX s1 = command.data.GetString(); =ENDEX =ENDCMD =CMD =CMDCLASS Vars and Functions =COMMAND EXISTSGLOBAL: =DESC =ENDDESC =EX stack.Push(new Data(GameSpace.instance.globalHeap.ContainsKey(command.data.GetString()) ? 1 : 0)); =ENDEX =ENDCMD =CMD =CMDCLASS Vars and Functions =COMMAND DELETEGLOBAL: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS Vars and Functions =COMMAND CLEARGLOBALS: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS Vars and Functions =COMMAND NOTPERSIST: =DESC =ENDDESC =EX s1 = GetStringFromStack(); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND INVOCATIONCOUNT: =DESC =ENDDESC =EX stack.Push(new Data(invocationCount)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND DOUBLEQUOTE: =DESC =ENDDESC =EX stack.Push(new Data("\"")); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETTYPE: =DESC =ENDDESC =EX d1 = GetDataFromStack(); stack.Push(new Data(d1.GetType().ToString())); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETLISTELEMENTRPN: =DESC =ENDDESC =EX // value, list, index i1 = GetIntFromStack(); list1 = GetListFromStack(); if (stack.Count > 0) { d1 = stack.Pop(); } else { d1 = new Data(0);} =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND REMOVELISTELEMENT: =DESC =ENDDESC =EX i1 = GetIntFromStack(); list1 = GetListFromStack(); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETKEY: =DESC =ENDDESC =EX s1 = GetStringFromStack(); stack.Push(new Data(Input.GetKey(kc1) ? 1 : 0)); stack.Push(new Data(0)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETKEYDOWN: =DESC =ENDDESC =EX s1 = GetStringFromStack(); stack.Push(new Data(0)); stack.Push(new Data(Input.GetKeyDown(kc2) ? 1 : 0)); stack.Push(new Data(0)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETKEYUP: =DESC =ENDDESC =EX s1 = GetStringFromStack(); stack.Push(new Data(0)); stack.Push(new Data(Input.GetKeyUp(kc2) ? 1 : 0)); stack.Push(new Data(0)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETMOUSEBUTTON: =DESC =ENDDESC =EX i1 = GetIntFromStack(); stack.Push(new Data(Input.GetMouseButton(i1) ? 1 : 0)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETMOUSEBUTTONDOWN: =DESC =ENDDESC =EX i1 = GetIntFromStack(); stack.Push(new Data(Input.GetMouseButtonDown(i1) ? 1 : 0)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETMOUSEBUTTONUP: =DESC =ENDDESC =EX i1 = GetIntFromStack(); stack.Push(new Data(Input.GetMouseButtonUp(i1) ? 1 : 0)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETMOUSESCREENPOSITION: =DESC =ENDDESC =EX stack.Push(new Data(Input.mousePosition.x / Screen.width)); stack.Push(new Data(Input.mousePosition.y / Screen.height)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETMOUSESCREENPIXELPOSITION: =DESC =ENDDESC =EX stack.Push(new Data(Input.mousePosition.x)); stack.Push(new Data(Input.mousePosition.y)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETMOUSEPOSITION:; =DESC =ENDDESC =EX Vector3 wp = GameSpace.instance.mainCamera.ScreenToWorldPoint(Input.mousePosition); stack.Push(new Data(wp.x)); stack.Push(new Data(wp.y)) =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETMOUSECELL: =DESC =ENDDESC =EX Vector3 wp2 = GameSpace.instance.mainCamera.ScreenToWorldPoint(Input.mousePosition); stack.Push(new Data((int)(wp2.x / (float)GameSpace.GRID_SIZE))); stack.Push(new Data((int)(wp2.y / (float)GameSpace.GRID_SIZE))); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND RESETGAMETIME: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETGAMETIME: =DESC =ENDDESC =EX f1 = GetFloatFromStack(); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETGAMETIMEFRAMES: =DESC =ENDDESC =EX i1 = GetIntFromStack(); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETGAMETIMEFRAMES: =DESC =ENDDESC =EX stack.Push(new Data(GameSpace.instance.updateCount)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND PAUSEGAME: =DESC =ENDDESC =EX GameSpace.instance.paused = true; =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND UNPAUSEGAME: =DESC =ENDDESC =EX GameSpace.instance.paused = false; =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND OPERATEWHILEPAUSED: =DESC =ENDDESC =EX operateWhilePaused = GetIntFromStack() == 1; =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND ISPAUSED: =DESC =ENDDESC =EX stack.Push(new Data(GameSpace.instance.paused ? 1 : 0)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND USERCANCELED: =DESC =ENDDESC =EX stack.Push(new Data(GameSpace.instance.userCancelAction ? 1 : 0)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND MAPWIDTH: =DESC =ENDDESC =EX stack.Push(new Data(GameSpace.GAMESPACE_WIDTH)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND MAPHEIGHT: =DESC =ENDDESC =EX stack.Push(new Data(GameSpace.GAMESPACE_HEIGHT)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SCREENWIDTH: =DESC =ENDDESC =EX stack.Push(new Data(Screen.width)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SCREENHEIGHT: =DESC =ENDDESC =EX stack.Push(new Data(Screen.height)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND DEBUG: =DESC =ENDDESC =EX d1 = stack.Peek(); Debug.Log(d1.GetType() + " " + d1.GetInt() + " " + d1.GetFloat() + " " + d1.GetString()); Debug.Log("--EMPTY STACK--"); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND TRACE: =DESC =ENDDESC =EX DebugText.LogMessage(this,GetStringFromStack()); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND PRINT: =DESC =ENDDESC =EX DebugText.PrintMessage(this,GetStringFromStack()); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND TRACEALL: =DESC =ENDDESC =EX foreach (Data d in stack) { DebugText.LogMessage(this, sbu.ToString()); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND PRINTALL: =DESC =ENDDESC =EX foreach (Data d in stack) { DebugText.PrintMessage(this, sbu.ToString()); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND TRACEALLSP: =DESC =ENDDESC =EX foreach (Data d in stack) { DebugText.LogMessage(this, sbu.ToString()); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND PRINTALLSP: =DESC =ENDDESC =EX foreach (Data d in stack) { DebugText.PrintMessage(this, sbu.ToString()); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND TRACE2: =DESC =ENDDESC =EX s1 = GetStringFromStack(); s2 = GetStringFromStack(); DebugText.LogMessage(this,s0); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND PRINT2: =DESC =ENDDESC =EX s1 = GetStringFromStack(); s2 = GetStringFromStack(); DebugText.PrintMessage(this,s0); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND TRACE3: =DESC =ENDDESC =EX s1 = GetStringFromStack(); s2 = GetStringFromStack(); s3 = GetStringFromStack(); DebugText.LogMessage(this,s0); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND PRINT3: =DESC =ENDDESC =EX s1 = GetStringFromStack(); s2 = GetStringFromStack(); s3 = GetStringFromStack(); DebugText.PrintMessage(this,s0); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND TRACE4: =DESC =ENDDESC =EX s1 = GetStringFromStack(); s2 = GetStringFromStack(); s3 = GetStringFromStack(); s4 = GetStringFromStack(); DebugText.LogMessage(this,s0); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND PRINT4: =DESC =ENDDESC =EX s1 = GetStringFromStack(); s2 = GetStringFromStack(); s3 = GetStringFromStack(); s4 = GetStringFromStack(); DebugText.PrintMessage(this,s0); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND TRACE5: =DESC =ENDDESC =EX s1 = GetStringFromStack(); s2 = GetStringFromStack(); s3 = GetStringFromStack(); s4 = GetStringFromStack(); s5 = GetStringFromStack(); DebugText.LogMessage(this,s0); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND PRINT5: =DESC =ENDDESC =EX s1 = GetStringFromStack(); s2 = GetStringFromStack(); s3 = GetStringFromStack(); s4 = GetStringFromStack(); s5 = GetStringFromStack(); DebugText.PrintMessage(this,s0); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND TRACESTACK: =DESC =ENDDESC =EX foreach(Data d in stack) { DebugText.LogMessage(this,sb.ToString()); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND PRINTSTACK: =DESC =ENDDESC =EX foreach(Data d in stack) { DebugText.PrintMessage(this,sb.ToString()); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND CLEARTRACELOG: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETUPDATECOUNT: =DESC =ENDDESC =EX stack.Push(new Data(updateCount)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND RANDINT: =DESC =ENDDESC =EX int max = GetIntFromStack(); int min = GetIntFromStack(); stack.Push(new Data(min+amt)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND RANDFLOAT: =DESC =ENDDESC =EX stack.Push(new Data((float)GameSpace.instance.RandDouble())); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND RANDCOORDS: =DESC =ENDDESC =EX gsx = (int)(GameSpace.instance.RandDouble() * GameSpace.GRID_WIDTH); gsy = (int)(GameSpace.instance.RandDouble() * GameSpace.GRID_HEIGHT); stack.Push(new Data(gsx)); stack.Push(new Data(gsy)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND RANDCOORDSINRANGE: =DESC =ENDDESC =EX f1 = GetFloatFromStack(); gsy = GetIntFromStack(); gsx = GetIntFromStack(); stack.Push(new Data(i1)); stack.Push(new Data(i2)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND RANDXCOORD: =DESC =ENDDESC =EX stack.Push(new Data(gsx)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND RANDYCOORD: =DESC =ENDDESC =EX stack.Push(new Data(gsy)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND CURRENTCOORDS: =DESC =ENDDESC =EX stack.Push(new Data(GetCell(baseUnit.coordX))); stack.Push(new Data(GetCell(baseUnit.coordY))); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND CURRENTX: =DESC =ENDDESC =EX stack.Push(new Data(GetCell(baseUnit.coordX))); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND CURRENTY: =DESC =ENDDESC =EX stack.Push(new Data(GetCell(baseUnit.coordY))); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETUNITCURRENTCOORDS: =DESC =ENDDESC =EX i3 = GetIntFromStack(); //y-coord i2 = GetIntFromStack(); //x-coord i1 = GetIntFromStack(); // UID =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETCURRENTCOORDS: =DESC =ENDDESC =EX i2 = GetIntFromStack(); // y i1 = GetIntFromStack(); // x =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETUNITCURRENTX: =DESC =ENDDESC =EX i2 = GetIntFromStack(); // x i1 = GetIntFromStack(); // UID =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETUNITCURRENTY: =DESC =ENDDESC =EX i2 = GetIntFromStack(); // y i1 = GetIntFromStack(); // UID =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETCURRENTX: =DESC =ENDDESC =EX i1 = GetIntFromStack(); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETCURRENTY: =DESC =ENDDESC =EX i1 = GetIntFromStack(); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND CURRENTPIXELCOORDS: =DESC =ENDDESC =EX stack.Push(new Data(baseUnit.coordX)); stack.Push(new Data(baseUnit.coordY)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETUNITTRANSFORMPOSITION: =DESC =ENDDESC =EX stack.Push(new Data(baseUnit.transform.position.x)); stack.Push(new Data(baseUnit.transform.position.y)); stack.Push(new Data(baseUnit.transform.position.z)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETSCREENMODE: =DESC =ENDDESC =EX i1 = GetIntFromStack(); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETSCREENCOORDS: =DESC =ENDDESC =EX f2 = GetFloatFromStack(); //screenY = f2 f1 = GetFloatFromStack(); //screenX = f1 =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETSCREENCOORDX: =DESC =ENDDESC =EX f1 = GetFloatFromStack(); //screenX = f1 =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETSCREENCOORDY: =DESC =ENDDESC =EX f1 = GetFloatFromStack(); //screenY = f1 =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETSCREENPIXELCOORDS: =DESC =ENDDESC =EX i2 = GetIntFromStack(); //screenY i1 = GetIntFromStack(); //screenX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETSCREENPIXELCOORDX: =DESC =ENDDESC =EX i1 = GetIntFromStack(); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETSCREENPIXELCOORDY: =DESC =ENDDESC =EX i1 = GetIntFromStack(); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETBUILDSLOTSCREENCOORDS: =DESC =ENDDESC =EX i2 = GetIntFromStack(); // corner i1 = GetIntFromStack(); // slot number stack.Push(new Data(sp.x / (float)Screen.width)); stack.Push(new Data(sp.y / (float)Screen.height)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETCONTROLPANELBUTTONSCREENCOORDS: =DESC =ENDDESC =EX i1 = GetIntFromStack(); // corner s1 = GetStringFromStack(); // button name stack.Push(new Data(sp.x / (float)Screen.width)); stack.Push(new Data(sp.y / (float)Screen.height)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETTECHPANELVISIBLE: =DESC =ENDDESC =EX stack.Push(new Data(GameSpace.instance.gameControls.techPanel.activeSelf ? 1 : 0)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETTECHPANELVISIBLE: =DESC =ENDDESC =EX i1 = GetIntFromStack(); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND CELLTOPIXEL: =DESC =ENDDESC =EX i2 = GetIntFromStack(); //y i1 = GetIntFromStack(); //x stack.Push(new Data(wx)); stack.Push(new Data(wy)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND PIXELTOCELL: =DESC =ENDDESC =EX f2 = GetFloatFromStack(); //py f1 = GetFloatFromStack(); //px stack.Push(new Data(x)); stack.Push(new Data(y)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND CREATEEFFECT: =DESC =ENDDESC =EX f2 = GetFloatFromStack(); //pixel y f1 = GetFloatFromStack(); //pixel x s1 = GetStringFromStack(); //Which effect stack.Push(new Data(s.GUID)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND DESTROYEFFECT: =DESC =ENDDESC =EX i1 = GetIntFromStack(); //effect guid =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETALLUNITSINRANGE: =DESC =ENDDESC =EX i1 = GetIntFromStack(); f1 = GetFloatFromStack(); gsy = GetIntFromStack(); gsx = GetIntFromStack(); stack.Push(new Data(units)) =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETALLSHIPSINRANGE: =DESC =ENDDESC =EX i1 = GetIntFromStack(); f1 = GetFloatFromStack(); gsy = GetIntFromStack(); gsx = GetIntFromStack(); stack.Push(new Data(units)) =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETNEARESTSHIPINRANGE: =DESC =ENDDESC =EX i1 = GetIntFromStack(); f1 = GetFloatFromStack(); gsy = GetIntFromStack(); gsx = GetIntFromStack(); stack.Push(new Data(nearestShip)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETCORESWITHVAR: =DESC =ENDDESC =EX d1 = stack.Pop(); s1 = GetStringFromStack(); stack.Push(new Data(cch.UID)); stack.Push(new Data(i1)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND ADDSCRIPTTOUNIT: =DESC =ENDDESC =EX s1 = GetStringFromStack(); i1 = GetIntFromStack(); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETSCRIPTVAR: =DESC =ENDDESC =EX d1 = stack.Pop(); s2 = GetStringFromStack(); s1 = GetStringFromStack(); i1 = GetIntFromStack(); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETSCRIPTVAR: =DESC =ENDDESC =EX s2 = GetStringFromStack(); s1 = GetStringFromStack(); i1 = GetIntFromStack(); stack.Push(d1); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SELF: =DESC =ENDDESC =EX stack.Push(new Data(baseUnit.UID)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETSHIPATTRIBUTE: =DESC =ENDDESC =EX i2 = GetIntFromStack(); i1 = GetIntFromStack(); GetShipAttribute(i1, i2); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETSHIPATTRIBUTE: =DESC =ENDDESC =EX d1 = stack.Pop(); i2 = GetIntFromStack(); i1 = GetIntFromStack(); SetShipAttribute(i1, i2, d1); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETATTRIBUTE: =DESC =ENDDESC =EX i2 = GetIntFromStack(); i1 = GetIntFromStack(); GetAttribute(i1, i2); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETATTRIBUTE: =DESC =ENDDESC =EX d1 = stack.Pop(); i2 = GetIntFromStack(); i1 = GetIntFromStack(); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETUNITTYPE: =DESC =ENDDESC =EX i1 = GetIntFromStack(); // UID stack.Push(new Data(unit.gameObject.name)); stack.Push(new Data("")); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETIMAGE: =DESC =ENDDESC =EX s1 = GetStringFromStack(); //image name s2 = GetStringFromStack(); //image pos i1 = GetIntFromStack(); //unit uid =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND REMOVEIMAGES: =DESC =ENDDESC =EX i1 = GetIntFromStack(); //unit uid =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETIMAGEPOSITION: =DESC =ENDDESC =EX f3 = GetFloatFromStack(); //z f2 = GetFloatFromStack(); //y f1 = GetFloatFromStack(); //x s1 = GetStringFromStack(); //which image i1 = GetIntFromStack(); //unit uid =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETIMAGEPOSITIONX: =DESC =ENDDESC =EX f1 = GetFloatFromStack(); //x s1 = GetStringFromStack(); //which image i1 = GetIntFromStack(); //unit uid =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETIMAGEPOSITIONY: =DESC =ENDDESC =EX f1 = GetFloatFromStack(); //y s1 = GetStringFromStack(); //which image i1 = GetIntFromStack(); //unit uid =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETIMAGEPOSITIONZ: =DESC =ENDDESC =EX f1 = GetFloatFromStack(); //z s1 = GetStringFromStack(); //which image i1 = GetIntFromStack(); //unit uid =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETIMAGELAYER: =DESC =ENDDESC =EX s2 = GetStringFromStack(); //layer name s1 = GetStringFromStack(); //which image i1 = GetIntFromStack(); //unit uid =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETIMAGEORDER: =DESC =ENDDESC =EX i2 = GetIntFromStack(); //layer order s1 = GetStringFromStack(); //which image i1 = GetIntFromStack(); //unit uid =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETIMAGEROTATION: =DESC =ENDDESC =EX f1 = GetFloatFromStack(); //rotation in radians s1 = GetStringFromStack(); //which image i1 = GetIntFromStack(); //unit uid =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETIMAGESCALE: =DESC =ENDDESC =EX f2 = GetFloatFromStack(); //y f1 = GetFloatFromStack(); //x s1 = GetStringFromStack(); //which image i1 = GetIntFromStack(); //unit uid =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETIMAGESCALEX: =DESC =ENDDESC =EX f1 = GetFloatFromStack(); //x s1 = GetStringFromStack(); //which image i1 = GetIntFromStack(); //unit uid =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETIMAGESCALEY: =DESC =ENDDESC =EX f1 = GetFloatFromStack(); //y s1 = GetStringFromStack(); //which image i1 = GetIntFromStack(); //unit uid =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETIMAGECOLOR: =DESC =ENDDESC =EX i5 = GetIntFromStack(); //a i4 = GetIntFromStack(); //b i3 = GetIntFromStack(); //g i2 = GetIntFromStack(); //r s1 = GetStringFromStack(); //which image i1 = GetIntFromStack(); //unit uid =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETIMAGEPOSITION: =DESC =ENDDESC =EX s1 = GetStringFromStack(); //which image i1 = GetIntFromStack(); //unit uid =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETIMAGEPOSITIONX: =DESC =ENDDESC =EX s1 = GetStringFromStack(); //which image i1 = GetIntFromStack(); //unit uid stack.Push(new Data(id.go.transform.localPosition.x)); stack.Push(new Data()); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETIMAGEPOSITIONY: =DESC =ENDDESC =EX s1 = GetStringFromStack(); //which image i1 = GetIntFromStack(); //unit uid stack.Push(new Data(id.go.transform.localPosition.y)); stack.Push(new Data()); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETIMAGEPOSITIONZ: =DESC =ENDDESC =EX s1 = GetStringFromStack(); //which image i1 = GetIntFromStack(); //unit uid stack.Push(new Data(id.go.transform.localPosition.z)); stack.Push(new Data()); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETIMAGELAYER: =DESC =ENDDESC =EX s1 = GetStringFromStack(); //which image i1 = GetIntFromStack(); //unit uid stack.Push(new Data((unit as CommonUnit).GetSortingLayerName(s1))); stack.Push(new Data()); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETIMAGEORDER: =DESC =ENDDESC =EX s1 = GetStringFromStack(); //which image i1 = GetIntFromStack(); //unit uid stack.Push(new Data((unit as CommonUnit).GetSortingOrder(s1))); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETIMAGEROTATION: =DESC =ENDDESC =EX s1 = GetStringFromStack(); //which image i1 = GetIntFromStack(); //unit uid stack.Push(new Data(id.go.transform.eulerAngles.z*Mathf.Deg2Rad)); stack.Push(new Data()); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETIMAGESCALE: =DESC =ENDDESC =EX s1 = GetStringFromStack(); //which image i1 = GetIntFromStack(); //unit uid float scX, scY; stack.Push(new Data(scX)); stack.Push(new Data(scY)); stack.Push(new Data());stack.Push(new Data()); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETIMAGESCALEX: =DESC =ENDDESC =EX f1 = GetFloatFromStack(); //x s1 = GetStringFromStack(); //which image i1 = GetIntFromStack(); //unit uid float scX, scY; stack.Push(new Data(scX)); stack.Push(new Data()); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETIMAGESCALEY: =DESC =ENDDESC =EX f1 = GetFloatFromStack(); //y s1 = GetStringFromStack(); //which image i1 = GetIntFromStack(); //unit uid float scX, scY; stack.Push(new Data(scY)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETIMAGECOLOR: =DESC =ENDDESC =EX s1 = GetStringFromStack(); //which image i1 = GetIntFromStack(); //unit uid stack.Push(new Data((int)(c1.r*255))); stack.Push(new Data((int)(c1.g*255))); stack.Push(new Data((int)(c1.b*255))); stack.Push(new Data((int)(c1.a*255))); stack.Push(new Data()); stack.Push(new Data()); stack.Push(new Data()); stack.Push(new Data()); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND WINMISSION: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND FAILMISSION: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETFAILONHQLOSS: =DESC =ENDDESC =EX GameSpace.instance.failOnHQLoss = GetIntFromStack() != 0; =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETFAILONHQLOSS: =DESC =ENDDESC =EX stack.Push(new Data(GameSpace.instance.failOnHQLoss ? 1 : 0)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETHQJUMPTIME: =DESC =ENDDESC =EX GameSpace.instance.hqJumpTime = GetIntFromStack(); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETSHOWSPECIALENDING: =DESC =ENDDESC =EX GameSpace.instance.showSpecialEnding = GetIntFromStack() != 0; =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND PLAYSOUND: =DESC =ENDDESC =EX CustomSounds.Play(GetStringFromStack()); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SHOWCONVERSATION: =DESC =ENDDESC =EX s1 = GetStringFromStack(); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SHOWCONVERSATIONNOPAUSE: =DESC =ENDDESC =EX s1 = GetStringFromStack(); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SHOWCONVERSATIONAUTOMODE: =DESC =ENDDESC =EX f2 = GetFloatFromStack(); f1 = GetFloatFromStack(); s1 = GetStringFromStack(); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND CLOSECONVERSATION: =DESC =ENDDESC =EX s1 = GetStringFromStack(); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND ADDCONVERSATIONMESSAGE: =DESC =ENDDESC =EX s2 = GetStringFromStack(); i1 = GetIntFromStack(); s1 = GetStringFromStack(); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND CLEARCONVERSATION: =DESC =ENDDESC =EX s1 = GetStringFromStack(); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND DESTROYCONVERSATION: =DESC =ENDDESC =EX s1 = GetStringFromStack(); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND CONVERSATIONSHOWING: =ENDDESC =EX stack.Push(GameSpace.instance.conversationsManager.IsConversationShowing() ? new Data(1) : new Data(0)); =DESC =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SPECIFICCONVERSATIONSHOWING: =DESC =ENDDESC =EX s1 = GetStringFromStack(); stack.Push(GameSpace.instance.conversationsManager.IsSpecificConversationShowing(s1) ? new Data(1) : new Data(0)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETTEXT: =DESC =ENDDESC =EX s1 = GetStringFromStack(); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETTEXTCOLOR: =DESC =ENDDESC =EX i4 = GetIntFromStack(); // alpha i3 = GetIntFromStack(); // blue i2 = GetIntFromStack(); // green i1 = GetIntFromStack(); // red =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETTEXTSIZE: =DESC =ENDDESC =EX f1 = GetFloatFromStack(); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETTEXTX: =DESC =ENDDESC =EX f1 = GetFloatFromStack(); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETTEXTY: =DESC =ENDDESC =EX f1 = GetFloatFromStack(); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETTEXTROTATION: =DESC =ENDDESC =EX f1 = GetFloatFromStack(); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETTEXTORDER: =DESC =ENDDESC =EX i1 = GetIntFromStack(); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SHOWMESSAGE: =DESC =ENDDESC =EX s0 = GetStringFromStack(); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SHOWMESSAGEDISMISSIBLE: =DESC =ENDDESC =EX s0 = GetStringFromStack(); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND WASMESSAGEDISMISSED: =DESC =ENDDESC =EX stack.Push(new Data(GameSpace.instance.messageDismissed ? 1 : 0)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND CREATEINDICATORARROW: =DESC =ENDDESC =EX i1 = GetIntFromStack(); // f3 = GetFloatFromStack(); // rotation f2 = GetFloatFromStack(); // position f2*Screen.height f1 = GetFloatFromStack(); // position f1*Screen.width s0 = GetStringFromStack(); // =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND DESTROYINDICATORARROW: =DESC =ENDDESC =EX s0 = GetStringFromStack(); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETINDICATORARROWPOSITION: =DESC =ENDDESC =EX f2 = GetFloatFromStack(); f1 = GetFloatFromStack(); s0 = GetStringFromStack(); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETINDICATORARROWROTATION: =DESC =ENDDESC =EX f1 = GetFloatFromStack(); s0 = GetStringFromStack(); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETINDICATORARROWCOLOR: =DESC =ENDDESC =EX i4 = GetIntFromStack(); i3 = GetIntFromStack(); i2 = GetIntFromStack(); i1 = GetIntFromStack(); s0 = GetStringFromStack(); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND DISTANCE: =DESC =ENDDESC =EX float y1 = GetFloatFromStack(); float x1 = GetFloatFromStack(); float y2 = GetFloatFromStack(); float x2 = GetFloatFromStack(); float di = Mathf.Sqrt((x2-x1)*(x2-x1) + (y2-y1)*(y2-y1)); stack.Push(new Data(di)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND ISEDITMODE: =DESC =ENDDESC =EX stack.Push(new Data(GameSpace.editMode ? 1 : 0)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND FUNC: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND CALL: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND CONST_LATHETARGETS: =DESC =ENDDESC =EX stack.Push(new Data((int)CONST_UNIT_ATTRIBUTES.LATHETARGETS)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND CONST_CREATEENERGYSOURCEWHENDESTROYED: =DESC =ENDDESC =EX stack.Push(new Data((int)CONST_UNIT_ATTRIBUTES.CREATEENERGYSOURCEWHENDESTROYED)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND CONST_CREATEAMPGEMWHENDESTROYED: =DESC =ENDDESC =EX stack.Push(new Data((int)CONST_UNIT_ATTRIBUTES.CREATEAMPGEMWHENDESTROYED)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND CONST_ISENEMY: =DESC =ENDDESC =EX stack.Push(new Data((int)CONST_UNIT_ATTRIBUTES.ISENEMY)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND CONST_GROWSTRUC: =DESC =ENDDESC =EX stack.Push(new Data((int)CONST_UNIT_ATTRIBUTES.GROWSTRUC)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND CONST_CREATEFOOTPRINT: =DESC =ENDDESC =EX stack.Push(new Data((int)CONST_UNIT_ATTRIBUTES.CREATEFOOTPRINT)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND CONST_MISSIONGOAL: =DESC =ENDDESC =EX stack.Push(new Data((int)CONST_UNIT_ATTRIBUTES.MISSIONGOAL)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND CONST_TAKEMAPSPACE: =DESC =ENDDESC =EX stack.Push(new Data((int)CONST_UNIT_ATTRIBUTES.TAKEMAPSPACE)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND CONST_ISBUILDING: =DESC =ENDDESC =EX stack.Push(new Data((int)CONST_UNIT_ATTRIBUTES.ISBUILDING)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND CONST_ISDESTROYED: =DESC =ENDDESC =EX stack.Push(new Data((int)CONST_UNIT_ATTRIBUTES.ISDESTROYED)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND CONST_SHIP_ISENEMY: =DESC =ENDDESC =EX stack.Push(new Data((int)CONST_SHIP_ATTRIBUTES.ISENEMY)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND CONST_SHIP_HULLSIZE: =DESC =ENDDESC =EX stack.Push(new Data((int)CONST_SHIP_ATTRIBUTES.HULLSIZE)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND CONST_SHIP_HULLBUILT: =DESC =ENDDESC =EX stack.Push(new Data((int)CONST_SHIP_ATTRIBUTES.HULLBUILT)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND CONST_SHIP_CMCOST: =DESC =ENDDESC =EX stack.Push(new Data((int)CONST_SHIP_ATTRIBUTES.CMCOST)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND CONST_SHIP_CMBUILTAMT: =DESC =ENDDESC =EX stack.Push(new Data((int)CONST_SHIP_ATTRIBUTES.CMBUILTAMT)); break; =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND CONST_SHIP_ISCONNECTEDTOENERGYMINE: =DESC =ENDDESC =EX stack.Push(new Data((int)CONST_SHIP_ATTRIBUTES.ISCONNECTEDTOENERGYMINE)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND CONST_COORDX: =DESC =ENDDESC =EX stack.Push(new Data((int)CONST_UNIT_ATTRIBUTES.COORDX)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND CONST_COORDY: =DESC =ENDDESC =EX stack.Push(new Data((int)CONST_UNIT_ATTRIBUTES.COORDY)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND CONST_PIXELCOORDX: =DESC =ENDDESC =EX stack.Push(new Data((int)CONST_UNIT_ATTRIBUTES.PIXELCOORDX)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND CONST_PIXELCOORDY: =DESC =ENDDESC =EX stack.Push(new Data((int)CONST_UNIT_ATTRIBUTES.PIXELCOORDY)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND CONST_RECEIVESPACKETS: =DESC =ENDDESC =EX stack.Push(new Data((int)CONST_UNIT_ATTRIBUTES.RECEIVESPACKETS)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SIGNAL_NONE: =DESC =ENDDESC =EX stack.Push(new Data((int)CONST_SIGNALTYPES.SIGNAL_NONE)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SIGNAL_SINE: =DESC =ENDDESC =EX stack.Push(new Data((int)CONST_SIGNALTYPES.SIGNAL_SINE)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SIGNAL_SQUARE: =DESC =ENDDESC =EX stack.Push(new Data((int)CONST_SIGNALTYPES.SIGNAL_SQUARE)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SIGNAL_TRIANGLE: =DESC =ENDDESC =EX stack.Push(new Data((int)CONST_SIGNALTYPES.SIGNAL_TRIANGLE)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SIGNAL_SAWTOOTH: =DESC =ENDDESC =EX stack.Push(new Data((int)CONST_SIGNALTYPES.SIGNAL_SAWTOOTH)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SIGNAL_RANDOM: =DESC =ENDDESC =EX stack.Push(new Data((int)CONST_SIGNALTYPES.SIGNAL_RANDOM)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SIGNAL_CONSTANT: =DESC =ENDDESC =EX stack.Push(new Data((int)CONST_SIGNALTYPES.SIGNAL_CONSTANT)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND ISUNIT: =DESC =ENDDESC =EX stack.Push(new Data(baseUnit is UnitManager ? 1 : 0)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND DESTROYPARTICLE: =DESC =ENDDESC =EX i2 = GetIntFromStack(); //mode i1 = GetIntFromStack(); //UID =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND DESTROYBOND: =DESC =ENDDESC =EX i1 = GetIntFromStack(); //UID =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND CREATEUNIT: =DESC =ENDDESC =EX i2 = GetIntFromStack(); //Y cell i1 = GetIntFromStack(); //X cell s1 = GetStringFromStack(); //Unit Name stack.Push(new Data(unit.UID)); stack.Push(new Data(-1)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND DESTROYUNIT: =DESC =ENDDESC =EX i2 = GetIntFromStack(); //mode i1 = GetIntFromStack(); //UID =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETUNITISGOAL:/UID =DESC =ENDDESC =EX i2 = GetIntFromStack(); //goal i1 = GetIntFromStack(); / =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETUNITISGOAL: =DESC =ENDDESC =EX i1 = GetIntFromStack(); //UID stack.Push(new Data(u.isGoal ? 1 : 0)); stack.Push(new Data(0)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND UNITISDESTROYED: =DESC =ENDDESC =EX i1 = GetIntFromStack(); //UID stack.Push(new Data(1)); stack.Push(new Data(u.dead ? 1 : 0)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND INITCANNONSHOT: =DESC =ENDDESC =EX i3 = GetIntFromStack(); //Enemy bool i2 = GetIntFromStack(); //Target Particle UID (can be virtual) i1 = GetIntFromStack(); //CannonShot UID =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND INITMISSILE: =DESC =ENDDESC =EX i3 = GetIntFromStack(); //Enemy bool i2 = GetIntFromStack(); //Target Particle UID (can be virtual) i1 = GetIntFromStack(); //Missile UID =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND MOVESHIP: =DESC =ENDDESC =EX i4 = GetIntFromStack(); //mode i3 = GetIntFromStack(); //y i2 = GetIntFromStack(); //x i1 = GetIntFromStack(); // Ship UID =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND ROTATESHIPTOCELL: =DESC =ENDDESC =EX i3 = GetIntFromStack(); //y i2 = GetIntFromStack(); //x i1 = GetIntFromStack(); // Ship UID =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND ROTATESHIPTOPIXEL: =DESC =ENDDESC =EX f2 = GetIntFromStack(); //y f1 = GetIntFromStack(); //x i1 = GetIntFromStack(); // Ship UID =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND ROTATESHIP: =DESC =ENDDESC =EX f1 = GetIntFromStack(); //angle in radians i1 = GetIntFromStack(); // Ship UID =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND ROTATESHIPDEGREES: =DESC =ENDDESC =EX f1 = GetIntFromStack(); //angle in degrees i1 = GetIntFromStack(); // Ship UID =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETSHIPHULLSECTION: =DESC =ENDDESC =EX i3 = GetIntFromStack(); // y i2 = GetIntFromStack(); // x i1 = GetIntFromStack(); // Ship UID stack.Push(new Data(-1)); stack.Push(new Data(0)); stack.Push(new Data((int)h.hullType)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETSHIPHULLSECTIONBUILT: =DESC =ENDDESC =EX i3 = GetIntFromStack(); // y i2 = GetIntFromStack(); // x i1 = GetIntFromStack(); // Ship UID stack.Push(new Data(0)); stack.Push(new Data(0)); stack.Push(new Data(h.isBuilding ? 0 : 1)); stack.Push(new Data(0)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND DELETESHIPFROMSLOT:ance). =DESC =ENDDESC =EX i2 = GetIntFromStack(); //Destroy ship i1 = GetIntFromStack(); //Slot ID DeleteBuildButton(i1, i2 != 0, i2 > 1); //DeleteShipFromSlot needs the second arg to indicate if you want to destroy the associated ship (if built). // If the player builds a ship a script could then delete the build slot but leave the ship // (so it could not be rebuilt for inst =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETSHIPFROMSLOT: =DESC =ENDDESC =EX i1 = GetIntFromStack(); //Slot ID stack.Push(new Data(GameSpace.instance.buildPanel.GetShipFromSlot(i1))); stack.Push(new Data(-1)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETSLOTFROMSHIP: =DESC =ENDDESC =EX i1 = GetIntFromStack(); //Ship UID stack.Push(new Data(GameSpace.instance.buildPanel.GetSlotFromShip(i1))); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETSHIPNAMEFROMSLOT: =DESC =ENDDESC =EX i1 = GetIntFromStack(); //Slot ID stack.Push(new Data(sn)); stack.Push(new Data("")); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETSHIPSLOTCOUNT: =DESC =ENDDESC =EX i1 = GetIntFromStack(); //builtships stack.Push(new Data(GameSpace.instance.buildPanel.GetBuildSlotCount(i1 != 0))); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND ADDSTOCKSHIPTOINVENTORY: =DESC =ENDDESC =EX s1 = GetStringFromStack(); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND ADDCUSTOMSHIPTOINVENTORY: =DESC =ENDDESC =EX s1 = GetStringFromStack(); byte[] bdata = System.Convert.FromBase64String(s1); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND ADDGAMEEVENT: =DESC =ENDDESC =EX s1 = GetStringFromStack(); i1 = GetIntFromStack(); stack.Push(new Data(pos)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND ADDGAMEEVENTATCELL: =DESC =ENDDESC =EX i4 = GetIntFromStack(); i3 = GetIntFromStack(); i2 = GetIntFromStack(); s1 = GetStringFromStack(); i1 = GetIntFromStack(); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND ADDGAMEEVENTATPIXEL: =DESC =ENDDESC =EX i2 = GetIntFromStack(); f2 = GetFloatFromStack(); f1 = GetFloatFromStack(); s1 = GetStringFromStack(); i1 = GetIntFromStack(); stack.Push(new Data(pos)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETGAMEEVENTFADETIME: =DESC =ENDDESC =EX i2 = GetIntFromStack(); i1 = GetIntFromStack(); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETGAMEEVENTMESSAGE: =DESC =ENDDESC =EX s1 = GetStringFromStack(); i1 = GetIntFromStack(); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETGAMEEVENTTYPE: =DESC =ENDDESC =EX i2 = GetIntFromStack(); i1 = GetIntFromStack(); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETLANDCOUNT: =DESC =ENDDESC =EX stack.Push(new Data(Land.instance.landTotal)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETENEMYMIRECOUNT: =DESC =ENDDESC =EX stack.Push(new Data(Land.instance.redCoverTotal)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETMIRECOUNT: =DESC =ENDDESC =EX stack.Push(new Data(Land.instance.blueCoverTotal)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETENERGYSOURCECOUNT: =DESC =ENDDESC =EX stack.Push(new Data(GameSpace.instance.energySources.Count)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETENERGYSOURCES: =DESC =ENDDESC =EX foreach (EnergySource es in GameSpace.instance.energySources) { stack.Push(new Data(results)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETRANDOMENERGYSOURCE: =DESC =ENDDESC =EX stack.Push(new Data(-1)); stack.Push(new Data(es.UID)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETGLOBALSTOREDENERGY: =DESC =ENDDESC =EX stack.Push(new Data(f1)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETGLOBALSTOREDENERGY: =DESC =ENDDESC =EX f1 = GetFloatFromStack(); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETTECHAVAILABILITY: =DESC =ENDDESC =EX i1 = GetIntFromStack(); stack.Push(new Data(0)); stack.Push(new Data(GameSpace.instance.techAvailable[i1] ? 1 : 0)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETTECHAVAILABILITY: =DESC =ENDDESC =EX i2 = GetIntFromStack(); i1 = GetIntFromStack(); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETALLOWSHIPAMP: =DESC =ENDDESC =EX stack.Push(new Data(GameSpace.instance.allowShipAmp ? 1 : 0)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETALLOWSHIPAMP: =DESC =ENDDESC =EX i1 = GetIntFromStack(); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETHULLBUILDRATEMOD: =DESC =ENDDESC =EX f1 = GetFloatFromStack(); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETAMPGEMCOUNT: =DESC =ENDDESC =EX stack.Push(new Data(GameSpace.instance.ampGems)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETAMPGEMCOUNT: =DESC =ENDDESC =EX i1 = GetIntFromStack(); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETMAXBLUEEMERGENT: =DESC =ENDDESC =EX stack.Push(new Data(GameSpace.instance.maxBlueEmergents)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETMAXREDEMERGENT: =DESC =ENDDESC =EX stack.Push(new Data(GameSpace.instance.maxRedEmergents)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETMAXBLUEEMERGENT: =DESC =ENDDESC =EX i1 = GetIntFromStack(); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETMAXREDEMERGENT: =DESC =ENDDESC =EX i1 = GetIntFromStack(); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETBLUEEMERGENTRATE: =DESC =ENDDESC =EX stack.Push(new Data(GameSpace.instance.blueEmergentRate)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETREDEMERGENTRATE: =DESC =ENDDESC =EX stack.Push(new Data(GameSpace.instance.redEmergentRate)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETBLUEEMERGENTRATE: =DESC =ENDDESC =EX f1 = GetFloatFromStack(); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETREDEMERGENTRATE: =DESC =ENDDESC =EX f1 = GetFloatFromStack(); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETPICKUPTYPE: =DESC =ENDDESC =EX s1 = GetStringFromStack(); //type i1 = GetIntFromStack(); //UID =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETDOPPELBEHAVIOR: =DESC =ENDDESC =EX s1 = GetStringFromStack(); //behavior i1 = GetIntFromStack(); //UID =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETDOPPELHOMECELL: =DESC =ENDDESC =EX i3 = GetIntFromStack(); //Y i2 = GetIntFromStack(); //X i1 = GetIntFromStack(); //UID =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND CREATEPARTICLE: =DESC =ENDDESC =EX i2 = GetIntFromStack(); //enemy i1 = GetIntFromStack(); //particle type (1=Triangle, 2=Square, 3-Free) f4 = GetFloatFromStack(); //Speed f3 = GetFloatFromStack(); //direction in rad f2 = GetFloatFromStack(); //y f1 = GetFloatFromStack(); //x =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND PARTICLEEXISTS: =DESC =ENDDESC =EX i1 = GetIntFromStack(); //Particle UID =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETOWNEDPARTICLECOUNT: =DESC =ENDDESC =EX i1 = GetIntFromStack(); //uid =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND CREATEBOND: =DESC =ENDDESC =EX f1 = GetFloatFromStack(); //Bond distance i3 = GetIntFromStack(); //Show i2 = GetIntFromStack(); //Particle 2 UID i1 = GetIntFromStack(); //Particle 1 UID stack.Push(new Data(b.UID)); stack.Push(new Data(-1)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND BONDEXISTS: =DESC =ENDDESC =EX i1 = GetIntFromStack(); //Bond UID stack.Push(new Data(1)); stack.Push(new Data(0)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETPARTICLESINRANGE: =DESC =ENDDESC =EX i5 = GetIntFromStack(); //enemy i4 = GetIntFromStack(); //square i3 = GetIntFromStack(); //range i2 = GetIntFromStack(); //y i1 = GetIntFromStack(); //x stack.Push(new Data(results)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETPARTICLESINRADIUS: =DESC =ENDDESC =EX i5 = GetIntFromStack(); //enemy i4 = GetIntFromStack(); //square i3 = GetIntFromStack(); //range i2 = GetIntFromStack(); //y i1 = GetIntFromStack(); //x stack.Push(new Data(results)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETPARTICLECOUNTINRADIUS: =DESC =ENDDESC =EX i5 = GetIntFromStack(); //enemy i4 = GetIntFromStack(); //square i3 = GetIntFromStack(); //range i2 = GetIntFromStack(); //y i1 = GetIntFromStack(); //x stack.Push(new Data(c)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETPARTICLEPOSITION: =DESC =ENDDESC =EX i1 = GetIntFromStack(); //Particle UID stack.Push(new Data(p.position.x)); stack.Push(new Data(p.position.y)); } else { stack.Push(new Data(-1)); stack.Push(new Data(-1)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETPARTICLEPOSITION: =DESC =ENDDESC =EX f2 = GetFloatFromStack(); //y f1 = GetFloatFromStack(); //x i1 = GetIntFromStack(); //Particle UID =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND TELEPORTPARTICLE: =DESC =ENDDESC =EX i3 = GetIntFromStack(); //breakbonds i2 = GetIntFromStack(); //wholechain f2 = GetFloatFromStack(); //py f1 = GetFloatFromStack(); //px i1 = GetIntFromStack(); //Particle UID =ENDEX =ENDCMD =CMD =CMDCLASS =DESC =ENDDESC =EX =COMMAND FINDPARTICLETARGET: f3 = GetFloatFromStack(); //followEmitterProbability f2 = GetFloatFromStack(); //followShipProbability f1 = GetFloatFromStack(); //followTargetProbability i1 = GetIntFromStack(); //Particle UID =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETPARTICLEMAXSPEED: =DESC =ENDDESC =EX i1 = GetIntFromStack(); //Particle UID stack.Push(new Data(p.MAX_DELTA)); stack.Push(new Data(0)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETPARTICLEMAXSPEED: =DESC =ENDDESC =EX f1 = GetFloatFromStack(); //max speed i1 = GetIntFromStack(); //Particle UID =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETPARTICLEMAXAGE: =DESC =ENDDESC =EX i1 = GetIntFromStack(); //Particle UID stack.Push(new Data(p.maxAge)); } else { stack.Push(new Data(0)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETPARTICLEMAXAGE: =DESC =ENDDESC =EX i2 = GetIntFromStack(); //max age in frames i1 = GetIntFromStack(); //Particle UID =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETPARTICLEMAXDISTANCE: =DESC =ENDDESC =EX i1 = GetIntFromStack(); //Particle UID stack.Push(new Data(p.terminationDistance)); } else { stack.Push(new Data(0)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETPARTICLEHEALTH: =DESC =ENDDESC =EX i1 = GetIntFromStack(); //Particle UID stack.Push(new Data(p.health)); } else { stack.Push(new Data(0)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETPARTICLEMAXDISTANCE: =DESC =ENDDESC =EX f1 = GetFloatFromStack(); //max distance from owner before destruction i1 = GetIntFromStack(); //Particle UID =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETPARTICLEHEALTH: =DESC =ENDDESC =EX f1 = GetFloatFromStack(); //health i1 = GetIntFromStack(); //Particle UID =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETPARTICLEMASS: =DESC =ENDDESC =EX i1 = GetIntFromStack(); //Particle UID stack.Push(new Data(p.mass)); } else { stack.Push(new Data(0)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETPARTICLEMASS: =DESC =ENDDESC =EX f1 = GetFloatFromStack(); //mass i1 = GetIntFromStack(); //Particle UID =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETPARTICLEDRAG: =DESC =ENDDESC =EX i1 = GetIntFromStack(); //Particle UID stack.Push(new Data(p.dragAmt)); } else { stack.Push(new Data(0)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETPARTICLEDRAG: =DESC =ENDDESC =EX f1 = GetFloatFromStack(); //mass i1 = GetIntFromStack(); //Particle UID =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETPARTICLEIMMEDIATEFORCE: =DESC =ENDDESC =EX f2 = GetFloatFromStack(); //force f1 = GetFloatFromStack(); //direction in radians i1 = GetIntFromStack(); //Particle UID =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETPARTICLETARGET: =DESC =ENDDESC =EX i1 = GetIntFromStack(); //Particle UID stack.Push(new Data(p.GetTargetObjectUID())); } else { stack.Push(new Data(0)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETPARTICLETARGET: =DESC =ENDDESC =EX i2 = GetIntFromStack(); //Target Object UID i1 = GetIntFromStack(); //Particle UID =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETPARTICLETARGETATTRACTIONINTERVAL: =DESC =ENDDESC =EX i1 = GetIntFromStack(); //Particle UID stack.Push(new Data(p.targetObjectPullInterval)); stack.Push(new Data(0)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETPARTICLETARGETATTRACTIONINTERVAL: =DESC =ENDDESC =EX i2 = GetIntFromStack(); //Attraction interval in frames i1 = GetIntFromStack(); //Particle UID =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETPARTICLETARGETATTRACTIONFORCE: =DESC =ENDDESC =EX i1 = GetIntFromStack(); //Particle UID stack.Push(new Data(p.targetObjectAttractionForce)); } else { stack.Push(new Data(0)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETPARTICLETARGETATTRACTIONFORCE: =DESC =ENDDESC =EX f1 = GetFloatFromStack(); //Attraction force i1 = GetIntFromStack(); //Particle UID =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETPARTICLESAMEINTERACTION: =DESC =ENDDESC =EX i1 = GetIntFromStack(); //Particle UID //Boolean is flipped in meaning between crpl and the particle variable's meaning stack.Push(new Data(p.homoInteractionIgnore ? 0 : 1)); stack.Push(new Data(0)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETPARTICLEMOTION: =DESC =ENDDESC =EX i1 = GetIntFromStack(); //Particle UID stack.Push(new Data(td.y)); stack.Push(new Data(td.x)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETPARTICLEHASTELEPORTED: =DESC =ENDDESC =EX i1 = GetIntFromStack(); //Particle UID stack.Push(new Data(p.teleported ? 1 : 0)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETPARTICLEMOTION: =DESC =ENDDESC =EX f2 = GetFloatFromStack(); //deltay f1 = GetFloatFromStack(); //deltaX i1 = GetIntFromStack(); //Particle UID =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETPARTICLESAMEINTERACTION: =DESC =ENDDESC =EX i2 = GetIntFromStack(); //Same interaction i1 = GetIntFromStack(); //Particle UID //Boolean is flipped in meaning between crpl and the particle variable's meaning =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETPARTICLEDESTROYATEDGE: =DESC =ENDDESC =EX i1 = GetIntFromStack(); //Particle UID stack.Push(new Data(p.destroyAtEdge ? 1 : 0)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETPARTICLEDESTROYATEDGE: =DESC =ENDDESC =EX i2 = GetIntFromStack(); //Destroy at edge bool =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETPARTICLEFORCEPARAMS: =DESC =ENDDESC =EX i1 = GetIntFromStack(); //Particle UID stack.Push(new Data((int)p.oscillationType)); stack.Push(new Data(p.oscillationForceMin)); stack.Push(new Data(p.oscillationForceMax)); stack.Push(new Data(p.oscillationTime)); stack.Push(new Data(p.oscillationPhase)); stack.Push(new Data((int)p.oscillationDirectionType)); stack.Push(new Data(p.oscillationDirectionMinAngle)); stack.Push(new Data(p.oscillationDirectionMaxAngle)); stack.Push(new Data(p.oscillationDirectionTime)); stack.Push(new Data(p.oscillationDirectionPhase)); } else { stack.Push(new Data(0)); stack.Push(new Data(0)); stack.Push(new Data(0)); stack.Push(new Data(0)); stack.Push(new Data(0)); stack.Push(new Data(0)); stack.Push(new Data(0)); stack.Push(new Data(0)); stack.Push(new Data(0)); stack.Push(new Data(0)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETPARTICLEFORCEPARAMS: =DESC =ENDDESC =EX f6 = GetFloatFromStack(); //Oscillation direction phase i5 = GetIntFromStack(); //Oscillation direction time f5 = GetFloatFromStack(); //Oscillation direction max angle f4 = GetFloatFromStack(); //Oscillation direction min angle i4 = GetIntFromStack(); //Oscillation direction waveform Type f3 = GetFloatFromStack(); //Oscillation phase i3 = GetIntFromStack(); //Oscillation time f2 = GetFloatFromStack(); //Oscillation max force f1 = GetFloatFromStack(); //Oscillation min force i2 = GetIntFromStack(); //Oscillation force waveform Type i1 = GetIntFromStack(); //Particle UID =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETPARTICLEFORCESPEEDLIMIT: =DESC =ENDDESC =EX f1 = GetFloatFromStack(); // Speed limit i1 = GetIntFromStack(); // Particle =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETPARTICLEINTERACTDELAY: =DESC =ENDDESC =EX i2 = GetIntFromStack(); //Delay i1 = GetIntFromStack(); //Particle =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETPARTICLEINTERACTDELAY: =DESC =ENDDESC =EX i1 = GetIntFromStack(); //Particle stack.Push(new Data(p.interactWithSiblingsDelay)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETPARTICLEFORCEDIRECTIONRELATIVEPARTICLE: =DESC =ENDDESC =EX i2 = GetIntFromStack(); //The relative particle i1 = GetIntFromStack(); //Particle to releative particle of =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETPARTICLERETURNWHENRECALLED: =DESC =ENDDESC =EX i2 = GetIntFromStack(); //Bool on whether it should return when recalled by owner i1 = GetIntFromStack(); //Particle UID =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETUNITRECALLCHILDPARTICLES: =DESC =ENDDESC =EX i2 = GetIntFromStack(); //Bool on whether it should recall child particles i1 = GetIntFromStack(); //Unit UID =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETBONDMOVEMENTPARAMS: =DESC =ENDDESC =EX i1 = GetIntFromStack(); //Bond UID stack.Push(new Data((int)bond.movementType)); stack.Push(new Data((int)bond.movementBondMinDistance)); stack.Push(new Data((int)bond.movementBondMaxDistance)); stack.Push(new Data((int)bond.movementTime)); stack.Push(new Data((int)bond.movementPhase)); } else { stack.Push(new Data(0)); stack.Push(new Data(0)); stack.Push(new Data(0)); stack.Push(new Data(0)); stack.Push(new Data(0)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETBONDMOVEMENTPARAMS: =DESC =ENDDESC =EX f3 = GetFloatFromStack(); // phase i3 = GetIntFromStack(); // time f2 = GetFloatFromStack(); // max length f1 = GetFloatFromStack(); // min length i2 = GetIntFromStack(); //Signal waveform Type i1 = GetIntFromStack(); //Bond UID =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETBONDLENGTH: =DESC =ENDDESC =EX i1 = GetIntFromStack(); //Bond UID stack.Push(new Data(bond.BOND_DISTANCE)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETBONDLENGTH: =DESC =ENDDESC =EX f1 = GetFloatFromStack(); //Length i1 = GetIntFromStack(); //Bond UID =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETALLCONNECTEDPARTICLES: =DESC =ENDDESC =EX i1 = GetIntFromStack(); stack.Push(new Data(rp.UID)); stack.Push(new Data(results.Count)); } else { stack.Push(new Data(0)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETALLCONNECTEDPARTICLECOUNT: =DESC =ENDDESC =EX i1 = GetIntFromStack(); stack.Push(new Data(results.Count)); } else { stack.Push(new Data(0)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETALLCONNECTEDBONDS: =DESC =ENDDESC =EX i1 = GetIntFromStack(); stack.Push(new Data(b.UID)); stack.Push(new Data(results.Count)); } else { stack.Push(new Data(0)); =ENDEX =ENDCMD =CMD =CMDCLASS =DESC =ENDDESC =EX =COMMAND GETALLCONNECTEDBONDCOUNT: i1 = GetIntFromStack(); { stack.Push(new Data(results.Count)); } else { stack.Push(new Data(0)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETNEARESTTARGET: =DESC =ENDDESC =EX i8 = GetIntFromStack(); //onlyEnemyShip i7 = GetIntFromStack(); //excludeVirtual i6 = GetIntFromStack(); //excludeNormal i5 = GetIntFromStack(); // bool for find untargeted particle i4 = GetIntFromStack(); // bool for enemy i3 = GetIntFromStack(); // range in cells i2 = GetIntFromStack(); // cell y i1 = GetIntFromStack(); // cell x stack.Push(new Data(pb.UID)); } else { stack.Push(new Data(-1)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND DAMAGEPARTICLE: =DESC =ENDDESC =EX f1 = GetFloatFromStack(); i1 = GetIntFromStack(); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND ISEMERGENT: =DESC =ENDDESC =EX i1 = GetIntFromStack(); stack.Push(new Data(p != null ? 1 : 0)); =ENDEX =ENDCMD =CMD =CMDCLASS =DESC =ENDDESC =EX =COMMAND ISHULL: i1 = GetIntFromStack(); stack.Push(new Data(p != null ? 1 : 0)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND ISPARTICLE: =DESC =ENDDESC =EX i1 = GetIntFromStack(); stack.Push(new Data(p != null ? 1 : 0)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND CLEARALLFIELDS: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETFIELDCELL: =DESC =ENDDESC =EX f2 = GetFloatFromStack(); //force y f1 = GetFloatFromStack(); //force x i2 = GetIntFromStack(); //y i1 = GetIntFromStack(); //x =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND ISHQPRESENT: =DESC =ENDDESC =EX stack.Push(new Data(GameSpace.instance.headquartersShips.Count == 0 ? 0 : 1)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETHQS: =DESC =ENDDESC =EX results.Add(new Data(cm.UID)); stack.Push(new Data(results)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETLAND: =DESC =ENDDESC =EX i2 = GetIntFromStack(); //y i1 = GetIntFromStack(); //x stack.Push(new Data(Land.instance.GetLand(i1, i2))); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETLAND: =DESC =ENDDESC =EX i3 = GetIntFromStack(); //land i2 = GetIntFromStack(); //y i1 = GetIntFromStack(); //x =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETLANDBULK: =DESC =ENDDESC =EX i5 = GetIntFromStack(); //square i4 = GetIntFromStack(); //range i3 = GetIntFromStack(); //land i2 = GetIntFromStack(); //y i1 = GetIntFromStack(); //x =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETMIRE: =DESC =ENDDESC =EX i2 = GetIntFromStack(); //y i1 = GetIntFromStack(); //x stack.Push(new Data(Land.instance.GetCovered(i1, i2))); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETMIRE: =DESC =ENDDESC =EX i3 = GetIntFromStack(); //-1,0,1 i2 = GetIntFromStack(); //y i1 = GetIntFromStack(); //x =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND MIRELAND: =DESC =ENDDESC =EX i3 = GetIntFromStack(); //enemy i2 = GetIntFromStack(); //y i1 = GetIntFromStack(); //x =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GROWSTRUC: =DESC =ENDDESC =EX i3 = GetIntFromStack(); //enemy i2 = GetIntFromStack(); //y i1 = GetIntFromStack(); //x stack.Push(new Data(i4)); //0 for didn't do anything, //1 for normal struc, //2 for armor. //That is whether it is built or destroyed the enemy type. =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETEMITTERPARTICLETYPE: =DESC =ENDDESC =EX i2 = GetIntFromStack(); // 0 =ParticleType.FREE , 1 =ParticleType.TRIANGLE, else ParticleType.SQUARE; i1 = GetIntFromStack(); // particle UID =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETEMITTERPRODUCTIONINTERVAL: =DESC =ENDDESC =EX i2 = GetIntFromStack(); i1 = GetIntFromStack(); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETEMITTERMAXPARTICLES: =DESC =ENDDESC =EX i2 = GetIntFromStack(); // MAX_PARTICLE_COUNT i1 = GetIntFromStack(); // UID =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETEMITTERMAXTIME: =DESC =ENDDESC =EX i2 = GetIntFromStack(); // Time i1 = GetIntFromStack(); // UID =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETEMITTERMAXDISTANCE: =DESC =ENDDESC =EX i2 = GetIntFromStack(); // Distance i1 = GetIntFromStack(); // UID =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETEMITTERMAXPARTICLESPEED: =DESC =ENDDESC =EX f1 = GetFloatFromStack(); // Speed i1 = GetIntFromStack(); // UID =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETEMITTERPARTICLEHEALTH: =DESC =ENDDESC =EX f1 = GetFloatFromStack(); // particleHealth i1 = GetIntFromStack(); //UID =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETEMITTERTARGETPROBABILITY: =DESC =ENDDESC =EX i2 = GetIntFromStack(); // targetProbability i1 = GetIntFromStack(); // UID =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETEMITTEREMITTERTARGETPROBABILITY: =DESC =ENDDESC =EX i2 = GetIntFromStack(); // emitterTargetProbability i1 = GetIntFromStack(); // UID \ =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETEMITTERRECALLRANGE: =DESC =ENDDESC =EX i2 = GetIntFromStack(); // recallRange i1 = GetIntFromStack(); // UID =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETEMITTERDESTROYEATEDGE: =DESC =ENDDESC =EX // typo immortalized =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETEMITTERDESTROYATEDGE: =DESC =ENDDESC =EX i2 = GetIntFromStack(); // bool i1 = GetIntFromStack(); // UID =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETEMITTERENEMYPATTERN: =DESC =ENDDESC =EX i2 = GetIntFromStack(); i1 = GetIntFromStack(); { =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETEMITTERBONDDISTANCE: =DESC =ENDDESC =EX f1 = GetFloatFromStack(); i1 = GetIntFromStack(); { =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETEMITTERBONDSTIFFNESS: =DESC =ENDDESC =EX f1 = GetFloatFromStack(); i1 = GetIntFromStack(); { =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETEMITTERMINCHAINLENGTH: =DESC =ENDDESC =EX i2 = GetIntFromStack(); i1 = GetIntFromStack(); { =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETEMITTERMAXCHAINLENGTH: =DESC =ENDDESC =EX i2 = GetIntFromStack(); i1 = GetIntFromStack(); { =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETEMITTERSHAPESIZE: =DESC =ENDDESC =EX f1 = GetFloatFromStack(); i1 = GetIntFromStack(); { =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETEMITTERPARTICLETYPE: =DESC =ENDDESC =EX i1 = GetIntFromStack(); { tpti = 0; FREE tpti = 1; TRIANGLE tpti = 2; SQUARE tpti = 3; ?? Round? stack.Push(new Data(tpti)); } else { stack.Push(new Data(0)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETEMITTERPRODUCTIONINTERVAL: =DESC =ENDDESC =EX i1 = GetIntFromStack(); { stack.Push(new Data(productionInterval)); } else { stack.Push(new Data(0)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETEMITTERMAXPARTICLES: =DESC =ENDDESC =EX i1 = GetIntFromStack(); { stack.Push(new Data((MAX_PARTICLE_COUNT)); } else { stack.Push(new Data(0)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETEMITTERMAXTIME: =DESC =ENDDESC =EX i1 = GetIntFromStack(); { stack.Push(new Data(terminationTime)); } else { stack.Push(new Data(0)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETEMITTERMAXDISTANCE: =DESC =ENDDESC =EX i1 = GetIntFromStack(); { stack.Push(new Data(terminationDistance)); } else { stack.Push(new Data(0)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETEMITTERMAXPARTICLESPEED: =DESC =ENDDESC =EX i1 = GetIntFromStack(); { stack.Push(new Data(maxParticleSpeed)); } else { stack.Push(new Data(0)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETEMITTERPARTICLEHEALTH: =DESC =ENDDESC =EX i1 = GetIntFromStack(); { stack.Push(new Data((u as GravityWell).particleHealth)); } else { stack.Push(new Data(0)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETEMITTERTARGETPROBABILITY: =DESC =ENDDESC =EX i1 = GetIntFromStack(); { stack.Push(new Data((targetProbability)); } else { stack.Push(new Data(0)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETEMITTEREMITTERTARGETPROBABILITY: =DESC =ENDDESC =EX i1 = GetIntFromStack(); { stack.Push(new Data(emitterTargetProbability)); } else { stack.Push(new Data(0)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETEMITTERRECALLRANGE: =DESC =ENDDESC =EX i1 = GetIntFromStack(); { stack.Push(new Data(recallRange)); } else { stack.Push(new Data(0)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETEMITTERDESTROYEATEDGE: =DESC =ENDDESC =EX // typo immortalized =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETEMITTERDESTROYATEDGE: =DESC =ENDDESC =EX i1 = GetIntFromStack(); { stack.Push(new Data(destroyAtEdge ? 1 : 0)); } else { stack.Push(new Data(0)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETEMITTERENEMYPATTERN: =DESC =ENDDESC =EX i1 = GetIntFromStack(); { stack.Push(new Data((int)(enemyPattern)); // 0=SINGLE // 1=CHAIN // 2=BOX // 3=CENTI // 4=BAR // 5=WHEEL =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETEMITTERBONDDISTANCE: =DESC =ENDDESC =EX i1 = GetIntFromStack(); { stack.Push(new Data((BOND_DISTANCE)); } else { stack.Push(new Data(0)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETEMITTERBONDSTIFFNESS: =DESC =ENDDESC =EX i1 = GetIntFromStack(); { stack.Push(new Data(BOND_STIFFNESS)); } else { stack.Push(new Data(0)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETEMITTERMINCHAINLENGTH: =DESC =ENDDESC =EX i1 = GetIntFromStack(); { stack.Push(new Data(minChainLength)); } else { stack.Push(new Data(0)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETEMITTERMAXCHAINLENGTH: =DESC =ENDDESC =EX i1 = GetIntFromStack(); { stack.Push(new Data(maxChainLength)); } else { =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETEMITTERSHAPESIZE: =DESC =ENDDESC =EX i1 = GetIntFromStack(); { stack.Push(new Data(SHAPE_SIZE)); } else { stack.Push(new Data(0)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETENERGYSOURCERATE: =DESC =ENDDESC =EX f1 = GetFloatFromStack(); i1 = GetIntFromStack(); { =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETENERGYSOURCERANGE: =DESC =ENDDESC =EX i2 = GetIntFromStack(); i1 = GetIntFromStack(); { =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETENERGYSOURCEGROWENEMYENERGYMINE: =DESC =ENDDESC =EX i2 = GetIntFromStack(); //bool i1 = GetIntFromStack(); { =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETENERGYSOURCERATE: =DESC =ENDDESC =EX i1 = GetIntFromStack(); { stack.Push(new Data((energyRate)); } else { stack.Push(new Data(0)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETENERGYSOURCERANGE: =DESC =ENDDESC =EX i1 = GetIntFromStack(); { stack.Push(new Data(range)); } else { stack.Push(new Data(0)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETENERGYSOURCEGROWENEMYENERGYMINE:ine ? 1 : 0)); =DESC // UnitAttribte list GET and SET calls for each of these Boolean or data, as may be the case. For i1 = uid LATHETARGETS latheCanTarget ? 1 : 0)); CREATEENERGYSOURCEWHENDESTROYED createEnergySourceWhenDestroyed ? 1 : 0)); CREATEAMPGEMWHENDESTROYED createAmpGemWhenDestroyed ? 1 : 0)); ISENEMY enemy ? 1 : 0)); GROWSTRUC growStruc ? 1 : 0)); CREATEFOOTPRINT createFootprint ? 1 : 0)); MISSIONGOAL isGoal ? 1 : 0)); CREATEFOOTPRINT createFootprint ? 1 : 0)); ISBUILDING isBuilding ? 1 : 0)); ISDESTROYED dead ? 1 : 0)); RECEIVESPACKETS) packReceiver 1 : 0)); HASHEALTHBAR healthBar l ? 1 : 0)); HASENERGYBAR energyBar != null ? 1 : 0)); PARTICLESDAMAGE particlesDamage ? 1 : 0)); SHIPHULLDAMAGES ignoreShipParticleCollisions? 0 : 1)); MIREDAMAGES mireDamage ? 1 : 0)); COORDX gameSpaceX)); COORDY gameSpaceY)); PIXELCOORDX coordX)); PIXELCOORDY coordY)); HEALTH health)); MAXHEALTH maxHealth)); ENERGY energyStore)); MAXENERGY MAX_ENERGY)); ENERGYPACKDELAY energyStorePackRequestRate)); MIREDAMAGEAMT MIRE_DAMAGE_AMT)); LATHEDAMAGEAMT LATHE_DAMAGE_AMT)); // =ENDDESC =EX i1 = GetIntFromStack(); { stack.Push(new Data(growEnemyEnergyM =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETUNITLATHETARGETS: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETUNITLATHETARGETS: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETUNITCREATEENERGYSOURCEWHENDESTROYED: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETUNITCREATEENERGYSOURCEWHENDESTROYED: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETUNITISENEMY: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETUNITISENEMY: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETUNITGROWSTRUC: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETUNITGROWSTRUC: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETUNITCREATEAMPGEMWHENDESTROYED: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETUNITCREATEAMPGEMWHENDESTROYED: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETUNITCREATEFOOTPRINT: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETUNITCREATEFOOTPRINT: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETUNITMISSIONGOAL: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETUNITMISSIONGOAL: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETUNITTAKEMAPSPACE: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETUNITTAKEMAPSPACE: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETUNITISBUILDING: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETUNITISBUILDING: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETUNITCOORDX: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETUNITCOORDX: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETUNITCOORDY: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETUNITCOORDY: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETUNITPIXELCOORDX: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETUNITPIXELCOORDX: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETUNITPIXELCOORDY: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETUNITPIXELCOORDY: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETUNITRECEIVESPACKETS: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETUNITRECEIVESPACKETS: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETUNITHEALTH: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETUNITHEALTH: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETUNITMAXHEALTH: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETUNITMAXHEALTH: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETUNITENERGY: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETUNITENERGY: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETUNITMAXENERGY: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETUNITMAXENERGY: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETUNITHASHEALTHBAR: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETUNITHASHEALTHBAR: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETUNITHASENERGYBAR: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETUNITHASENERGYBAR: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETUNITENERGYPACKDELAY: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETUNITENERGYPACKDELAY: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETUNITPARTICLESDAMAGE: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETUNITPARTICLESDAMAGE: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETUNITSHIPHULLDAMAGES: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETUNITSHIPHULLDAMAGES: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETUNITMIREDAMAGES: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETUNITMIREDAMAGES: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETUNITMIREDAMAGEAMT: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETUNITMIREDAMAGEAMT: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETUNITLATHEDAMAGEAMT: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETUNITLATHEDAMAGEAMT: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETUNITCOORDS: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETUNITCOORDS: =DESC =ENDDESC =EX stack.Push(new Data(u.gameSpaceX)); stack.Push(new Data(u.gameSpaceY)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETUNITPIXELCOORDS: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETUNITPIXELCOORDS: =DESC =ENDDESC =EX stack.Push(new Data(-1)); stack.Push(new Data(-1)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETUNITISDESTROYED: =DESC // ShipAttribte list GET and SET calls for each of these Boolean or data, as may be the case. ISDESTROYED dead ? 1 : 0)); ISENEMY enemy ? 1 : 0)); ISCONNECTEDTOENERGYMINE IsConnectedToEnergyMine() ? 1 : 0)); HASAMP IsAmpGemInstalled() ? 1 : 0)); ROTATION eulerAngles.z*Mathf.Deg2Rad)); ROTATIONDEGREES eulerAngles.z)); COORDX cellX)); COORDY cellY)); PIXELCOORDX transform.position.x)); PIXELCOORDY transform.position.y)); HULLWIDTH shipPlan.GetHullWidth())); HULLHEIGHT shipPlan.GetHullHeight())); HULLSIZE shipPlan.totalHullCount)); HULLBUILT scannedHullCount - hullToBuildCount)); CMCOST BUILD_COST)); CMBUILTAMT builtAmt)); ENERGY energyStore)); ENERGYCAP ENERGYCAP)); THRUSTMULTIPLIER THRUST_MULTIPLIER)); // =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETSHIPISDESTROYED: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETSHIPTHRUSTMULTIPLIER: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETSHIPTHRUSTMULTIPLIER: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETSHIPROTATION: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETSHIPROTATION: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETSHIPROTATIONDEGREES: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETSHIPROTATIONDEGREES: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETSHIPCOORDS: =DESC =ENDDESC =EX stack.Push cellX)); stack.Push cellY)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETSHIPCOORDS: =DESC =ENDDESC =EX i3 = GetIntFromStack(); i2 = GetIntFromStack(); i1 = GetIntFromStack(); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETSHIPCOORDX: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETSHIPCOORDX: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETSHIPCOORDY: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETSHIPCOORDY: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETSHIPPIXELCOORDS: =DESC =ENDDESC =EX stack.Push position.x)); stack.Push position.y)); =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETSHIPPIXELCOORDS: =DESC =ENDDESC =EX f2 = GetFloatFromStack(); f1 = GetFloatFromStack(); i1 = GetIntFromStack(); { =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETSHIPPIXELCOORDX: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETSHIPPIXELCOORDX: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETSHIPPIXELCOORDY: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETSHIPPIXELCOORDY: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETSHIPISENEMY: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETSHIPISENEMY: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETSHIPENERGY: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETSHIPENERGY: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETSHIPENERGYCAP: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETSHIPENERGYCAP: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND SETSHIPMODULESAMMO: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETSHIPHULLSIZE: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETSHIPHULLBUILT: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETSHIPCMCOST: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETSHIPCMBUILTAMT: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETSHIPISCONNECTEDTOENERGYMINE: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETSHIPHASAMP: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETSHIPHULLWIDTH: =DESC =ENDDESC =EX =ENDEX =ENDCMD =CMD =CMDCLASS =COMMAND GETSHIPHULLHEIGHT: =DESC =ENDDESC =EX =ENDEX =ENDCMD