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