public static UtilityItem Load(List <string> values) { UtilityItem item = new UtilityItem(); item.iconGraphic = new Graphics(ref values, 23); item.activateSound = new Sound(ref values, 48); ItemInfo.LoadGeneralSettings1((ItemInfo)item, values); item.maxSlotted = CSVReader.GetInt(values[31]); item.maxSlottedCategoryCode = CSVReader.GetInt(values[32]); item.extraCapacity = CSVReader.GetInt(values[33]); item.rechargeRate = CSVReader.GetInt(values[34]); item.stealthDistance = CSVReader.GetInt(values[35]); item.cloakDistance = CSVReader.GetInt(values[36]); item.antiStealthDistance = CSVReader.GetInt(values[37]); item.antiCloakDistance = CSVReader.GetInt(values[38]); item.antiWarpDistance = CSVReader.GetInt(values[39]); item.stealthDistanceTime = CSVReader.GetInt(values[40]); item.cloakDistanceTime = CSVReader.GetInt(values[41]); item.vehicleTopSpeed = CSVReader.GetInt(values[42]); item.vehicleHyperTopSpeed = CSVReader.GetInt(values[43]); item.vehicleThrust = CSVReader.GetInt(values[44]); item.vehicleRotate = CSVReader.GetInt(values[45]); item.soccerThrowTimer = CSVReader.GetInt(values[46]); item.startMode = (StartMode)CSVReader.GetInt(values[47]); item.kineticIgnore = CSVReader.GetInt(values[52]); item.kineticPercent = CSVReader.GetInt(values[53]); item.explosiveIgnore = CSVReader.GetInt(values[54]); item.explosivePercent = CSVReader.GetInt(values[55]); item.electronicIgnore = CSVReader.GetInt(values[56]); item.electronicPercent = CSVReader.GetInt(values[57]); item.psionicIgnore = CSVReader.GetInt(values[58]); item.psionicPercent = CSVReader.GetInt(values[59]); item.bypassIgnore = CSVReader.GetInt(values[60]); item.bypassPercent = CSVReader.GetInt(values[61]); item.energyIgnore = CSVReader.GetInt(values[62]); item.energyPercent = CSVReader.GetInt(values[63]); item.losDistance = CSVReader.GetInt(values[124]); item.losAngle = CSVReader.GetInt(values[125]); item.losXray = CSVReader.GetInt(values[126]); item.losDistancePercent = CSVReader.GetInt(values[127]); item.losAnglePercent = CSVReader.GetInt(values[128]); item.combatAwareness = CSVReader.GetInt(values[129]); item.radarPrizeDistance = CSVReader.GetInt(values[130]); item.normalWeight = CSVReader.GetInt(values[131]); item.stopWeight = CSVReader.GetInt(values[132]); item.strafeThrust = CSVReader.GetInt(values[133]); item.forwardThrust = CSVReader.GetInt(values[134]); item.reverseThrust = CSVReader.GetInt(values[135]); item.soccerCatchRadius = CSVReader.GetInt(values[136]); return(item); }
public static List <ItemInfo> Load(string filename) { List <ItemInfo> itemInfo = new List <ItemInfo>(); TextReader reader = new StreamReader(filename); string line = ""; while ((line = reader.ReadLine()) != null) { List <string> values = CSVReader.Parse(line); switch (values[0]) { case "4": Ammo ammo = Ammo.Load(values); BlobsToLoad.Add(ammo.graphic.blobName); itemInfo.Add(ammo); break; case "1": MultiItem multiItem = MultiItem.Load(values); BlobsToLoad.Add(multiItem.graphic.blobName); itemInfo.Add(multiItem); break; case "6": Projectile projectile = Projectile.Load(values); BlobsToLoad.Add(projectile.iconGraphic.blobName); BlobsToLoad.Add(projectile.fireGraphic.blobName); BlobsToLoad.Add(projectile.projectileGraphic.blobName); BlobsToLoad.Add(projectile.shadowGraphic.blobName); BlobsToLoad.Add(projectile.trailGraphic.blobName); BlobsToLoad.Add(projectile.explosionGraphic.blobName); BlobsToLoad.Add(projectile.prefireGraphic.blobName); BlobsToLoad.Add(projectile.firingSound.blobName); BlobsToLoad.Add(projectile.explosionSound.blobName); BlobsToLoad.Add(projectile.bounceSound.blobName); BlobsToLoad.Add(projectile.prefireSound.blobName); itemInfo.Add(projectile); break; case "7": VehicleMaker vehicleMaker = VehicleMaker.Load(values); BlobsToLoad.Add(vehicleMaker.prefireSound.blobName); BlobsToLoad.Add(vehicleMaker.prefireGraphic.blobName); BlobsToLoad.Add(vehicleMaker.iconGraphic.blobName); itemInfo.Add(vehicleMaker); break; case "8": MultiUse multiUse = MultiUse.Load(values); BlobsToLoad.Add(multiUse.prefireGraphic.blobName); BlobsToLoad.Add(multiUse.firingSound.blobName); BlobsToLoad.Add(multiUse.prefireSound.blobName); BlobsToLoad.Add(multiUse.iconGraphic.blobName); itemInfo.Add(multiUse); break; case "11": RepairItem repair = RepairItem.Load(values); BlobsToLoad.Add(repair.iconGraphic.blobName); BlobsToLoad.Add(repair.prefireGraphic.blobName); BlobsToLoad.Add(repair.repairGraphic.blobName); BlobsToLoad.Add(repair.prefireSound.blobName); BlobsToLoad.Add(repair.repairSound.blobName); itemInfo.Add(repair); break; case "15": UpgradeItem upgrade = UpgradeItem.Load(values); BlobsToLoad.Add(upgrade.iconGraphic.blobName); itemInfo.Add(upgrade); break; case "12": ControlItem control = ControlItem.Load(values); BlobsToLoad.Add(control.iconGraphic.blobName); BlobsToLoad.Add(control.prefireGraphic.blobName); BlobsToLoad.Add(control.effectGraphic.blobName); BlobsToLoad.Add(control.prefireSound.blobName); BlobsToLoad.Add(control.firingSound.blobName); itemInfo.Add(control); break; case "13": UtilityItem utility = UtilityItem.Load(values); BlobsToLoad.Add(utility.iconGraphic.blobName); BlobsToLoad.Add(utility.activateSound.blobName); itemInfo.Add(utility); break; case "17": WarpItem warp = WarpItem.Load(values); BlobsToLoad.Add(warp.iconGraphic.blobName); BlobsToLoad.Add(warp.prefireGraphic.blobName); BlobsToLoad.Add(warp.warpGraphic.blobName); BlobsToLoad.Add(warp.prefireSound.blobName); BlobsToLoad.Add(warp.warpSound.blobName); itemInfo.Add(warp); break; case "16": SkillItem skill = SkillItem.Load(values); BlobsToLoad.Add(skill.iconGraphic.blobName); itemInfo.Add(skill); break; case "14": ItemMaker item = ItemMaker.Load(values); BlobsToLoad.Add(item.prefireGraphic.blobName); BlobsToLoad.Add(item.prefireSound.blobName); BlobsToLoad.Add(item.iconGraphic.blobName); itemInfo.Add(item); break; case "18": NestedItem nested = NestedItem.Load(values); FilesToLoad.Add(nested.location); itemInfo.Add(nested); break; case "default": //F**k you, you idiot. use Log.write //Console.WriteLine("If you see this Toriad f****d up"); break; } } return(itemInfo); }
} // open sack of flour public SackFlourOpen() : base(UtilityItem.RandomChoice(0x1046, 0x103a)) { Weight = 1.0; }
public UseItemAction(UtilityItem item) : base("Use") { this.item = item; }