package citadel import "github.com/inkyblackness/hacked/ss1/content/archive" var integerVariables = archive.GameVariables{ 3: archive.GameVariableInfoFor("Engine State").At(2).LimitedBy(0, 100), 12: archive.GameVariableInfoFor("Number of Groves").At(3).LimitedBy(0, 4), 33: archive.GameVariableInfoFor("Destroyed CPUs Level 1").At(0).LimitedBy(0, 100), 34: archive.GameVariableInfoFor("Destroyed CPUs Level 2").At(0).LimitedBy(0, 100), 35: archive.GameVariableInfoFor("Destroyed CPUs Level 3").At(0).LimitedBy(0, 100), 36: archive.GameVariableInfoFor("Destroyed CPUs Level 4").At(0).LimitedBy(0, 100), 37: archive.GameVariableInfoFor("Destroyed CPUs Level 5").At(0).LimitedBy(0, 100), 38: archive.GameVariableInfoFor("Destroyed CPUs Level 6").At(0).LimitedBy(0, 100), 39: archive.GameVariableInfoFor("Killed Cyberguards, largce CSpace").At(0).LimitedBy(0, 100), } var booleanVariables = archive.GameVariables{ 1: archive.GameVariableInfoFor("(unknown)").At(1), 2: archive.GameVariableInfoFor("(unknown)").At(1), 3: archive.GameVariableInfoFor("(unknown)").At(1), 16: archive.GameVariableInfoFor("(unknown)").At(1), 18: archive.GameVariableInfoFor("(unknown)").At(1), 21: archive.GameVariableInfoFor("(unknown)").At(1), 22: archive.GameVariableInfoFor("(unknown)").At(1), 23: archive.GameVariableInfoFor("(unknown)").At(1), 24: archive.GameVariableInfoFor("(unknown)").At(1), 25: archive.GameVariableInfoFor("(unknown)").At(1), 26: archive.GameVariableInfoFor("(unknown)").At(1), 32: archive.GameVariableInfoFor("(unknown)").At(1), 33: archive.GameVariableInfoFor("(unknown)").At(1), 36: archive.GameVariableInfoFor("(unknown)").At(1), 37: archive.GameVariableInfoFor("(unknown)").At(1), 75: archive.GameVariableInfoFor("(unknown)").At(1), 76: archive.GameVariableInfoFor("(unknown)").At(1), 77: archive.GameVariableInfoFor("(unknown)").At(1), 78: archive.GameVariableInfoFor("(unknown)").At(1), 79: archive.GameVariableInfoFor("(unknown)").At(1), 80: archive.GameVariableInfoFor("(unknown)").At(1), 81: archive.GameVariableInfoFor("(unknown)").At(1), 82: archive.GameVariableInfoFor("(unknown)").At(1), 83: archive.GameVariableInfoFor("(unknown)").At(1), 84: archive.GameVariableInfoFor("(unknown)").At(1), 85: archive.GameVariableInfoFor("(unknown)").At(1), 86: archive.GameVariableInfoFor("(unknown)").At(1), 87: archive.GameVariableInfoFor("(unknown)").At(1), 88: archive.GameVariableInfoFor("(unknown)").At(1), 89: archive.GameVariableInfoFor("(unknown)").At(1), 90: archive.GameVariableInfoFor("(unknown)").At(1), 91: archive.GameVariableInfoFor("(unknown)").At(1), 92: archive.GameVariableInfoFor("(unknown)").At(1), 93: archive.GameVariableInfoFor("(unknown)").At(1), 94: archive.GameVariableInfoFor("(unknown)").At(1), 95: archive.GameVariableInfoFor("(unknown)").At(1), 112: archive.GameVariableInfoFor("(unknown)").At(1), 113: archive.GameVariableInfoFor("(unknown)").At(1), 114: archive.GameVariableInfoFor("(unknown)").At(1), 115: archive.GameVariableInfoFor("(unknown)").At(1), 116: archive.GameVariableInfoFor("(unknown)").At(1), 117: archive.GameVariableInfoFor("(unknown)").At(1), 118: archive.GameVariableInfoFor("(unknown)").At(1), 119: archive.GameVariableInfoFor("(unknown)").At(1), 120: archive.GameVariableInfoFor("(unknown)").At(1), 121: archive.GameVariableInfoFor("(unknown)").At(1), 122: archive.GameVariableInfoFor("(unknown)").At(1), 123: archive.GameVariableInfoFor("(unknown)").At(1), 124: archive.GameVariableInfoFor("(unknown)").At(1), 125: archive.GameVariableInfoFor("(unknown)").At(1), 126: archive.GameVariableInfoFor("(unknown)").At(1), 127: archive.GameVariableInfoFor("(unknown)").At(1), 152: archive.GameVariableInfoFor("Bridge Separated").At(0), 160: archive.GameVariableInfoFor("(unknown)").At(1), 161: archive.GameVariableInfoFor("(unknown)").At(1), 162: archive.GameVariableInfoFor("(unknown)").At(1), 163: archive.GameVariableInfoFor("(unknown)").At(1), 164: archive.GameVariableInfoFor("(unknown)").At(1), 165: archive.GameVariableInfoFor("(unknown)").At(1), 166: archive.GameVariableInfoFor("(unknown)").At(1), 167: archive.GameVariableInfoFor("(unknown)").At(1), 168: archive.GameVariableInfoFor("(unknown)").At(1), 169: archive.GameVariableInfoFor("(unknown)").At(1), 192: archive.GameVariableInfoFor("(unknown)").At(1), 193: archive.GameVariableInfoFor("(unknown)").At(1), 194: archive.GameVariableInfoFor("(unknown)").At(1), 195: archive.GameVariableInfoFor("(unknown)").At(1), 196: archive.GameVariableInfoFor("(unknown)").At(1), 197: archive.GameVariableInfoFor("(unknown)").At(1), 198: archive.GameVariableInfoFor("(unknown)").At(1), 199: archive.GameVariableInfoFor("(unknown)").At(1), 200: archive.GameVariableInfoFor("(unknown)").At(1), 201: archive.GameVariableInfoFor("(unknown)").At(1), 202: archive.GameVariableInfoFor("(unknown)").At(1), 203: archive.GameVariableInfoFor("(unknown)").At(1), 204: archive.GameVariableInfoFor("(unknown)").At(1), 205: archive.GameVariableInfoFor("(unknown)").At(1), 206: archive.GameVariableInfoFor("(unknown)").At(1), 207: archive.GameVariableInfoFor("(unknown)").At(1), 225: archive.GameVariableInfoFor("(unknown)").At(1), 227: archive.GameVariableInfoFor("(unknown)").At(1), 229: archive.GameVariableInfoFor("(unknown)").At(1), 231: archive.GameVariableInfoFor("(unknown)").At(1), 233: archive.GameVariableInfoFor("(unknown)").At(1), 235: archive.GameVariableInfoFor("(unknown)").At(1), 237: archive.GameVariableInfoFor("(unknown)").At(1), 239: archive.GameVariableInfoFor("(unknown)").At(1), 241: archive.GameVariableInfoFor("(unknown)").At(1), 243: archive.GameVariableInfoFor("(unknown)").At(1), 245: archive.GameVariableInfoFor("(unknown)").At(1), 247: archive.GameVariableInfoFor("(unknown)").At(1), 249: archive.GameVariableInfoFor("(unknown)").At(1), 251: archive.GameVariableInfoFor("(unknown)").At(1), 253: archive.GameVariableInfoFor("(unknown)").At(1), 255: archive.GameVariableInfoFor("(unknown)").At(1), 257: archive.GameVariableInfoFor("(unknown)").At(1), 259: archive.GameVariableInfoFor("(unknown)").At(1), 261: archive.GameVariableInfoFor("(unknown)").At(1), 263: archive.GameVariableInfoFor("(unknown)").At(1), 265: archive.GameVariableInfoFor("(unknown)").At(1), 267: archive.GameVariableInfoFor("(unknown)").At(1), 269: archive.GameVariableInfoFor("(unknown)").At(1), 271: archive.GameVariableInfoFor("(unknown)").At(1), 273: archive.GameVariableInfoFor("(unknown)").At(1), 275: archive.GameVariableInfoFor("(unknown)").At(1), 277: archive.GameVariableInfoFor("(unknown)").At(1), 279: archive.GameVariableInfoFor("(unknown)").At(1), 281: archive.GameVariableInfoFor("(unknown)").At(1), 283: archive.GameVariableInfoFor("(unknown)").At(1), 285: archive.GameVariableInfoFor("(unknown)").At(1), 287: archive.GameVariableInfoFor("(unknown)").At(1), 289: archive.GameVariableInfoFor("(unknown)").At(1), 291: archive.GameVariableInfoFor("(unknown)").At(1), 293: archive.GameVariableInfoFor("(unknown)").At(1), 295: archive.GameVariableInfoFor("(unknown)").At(1), 297: archive.GameVariableInfoFor("(unknown)").At(1), 299: archive.GameVariableInfoFor("(unknown)").At(1), } // IntegerVariable returns a variable info for integer variables. func IntegerVariable(index int) *archive.GameVariableInfo { varInfo := integerVariables.Lookup(index) if varInfo != nil { return varInfo } varInfo = archive.EngineIntegerVariable(index) if varInfo == nil { return nil } if index == 31 { varInfo.Name = "Reactor Code 1" } if index == 32 { varInfo.Name = "Reactor Code 2" } return varInfo } // BooleanVariable returns a variable info for boolean variables. func BooleanVariable(index int) *archive.GameVariableInfo { varInfo := booleanVariables.Lookup(index) if varInfo != nil { return varInfo } return archive.EngineBooleanVariable(index) } // MissionVariables is a collector of mission-specific variable accessors. type MissionVariables struct{} var unknownVar = archive.GameVariableInfoFor("(unknown)").At(0) // IntegerVariable returns a variable info for given index. func (vars MissionVariables) IntegerVariable(index int) archive.GameVariableInfo { varInfo := IntegerVariable(index) if varInfo == nil { return unknownVar } return *varInfo } // BooleanVariable returns a variable info for given index. func (vars MissionVariables) BooleanVariable(index int) archive.GameVariableInfo { varInfo := BooleanVariable(index) if varInfo == nil { return unknownVar } return *varInfo }