Ejemplo n.º 1
0
            public static MultiUse Load(List <string> values)
            {
                MultiUse multiUse = new MultiUse();

                multiUse.prefireGraphic = new Graphics(ref values, 71);
                multiUse.prefireSound   = new Sound(ref values, 79);
                multiUse.firingSound    = new Sound(ref values, 93);
                multiUse.iconGraphic    = new Graphics(ref values, 23);
                ItemInfo.LoadGeneralSettings1((ItemInfo)multiUse, values);

                multiUse.useAmmoID                      = CSVReader.GetInt(values[31]);
                multiUse.ammoUsedPerShot                = CSVReader.GetInt(values[32]);
                multiUse.ammoCapacity                   = CSVReader.GetInt(values[33]);
                multiUse.requiredItem                   = CSVReader.GetInt(values[34]);
                multiUse.requiredAmmoAmount             = CSVReader.GetInt(values[35]);
                multiUse.energyCostTerrain0             = CSVReader.GetInt(values[36]);
                multiUse.energyCostTerrain1             = CSVReader.GetInt(values[37]);
                multiUse.energyCostTerrain2             = CSVReader.GetInt(values[38]);
                multiUse.energyCostTerrain3             = CSVReader.GetInt(values[39]);
                multiUse.energyCostTerrain4             = CSVReader.GetInt(values[40]);
                multiUse.energyCostTerrain5             = CSVReader.GetInt(values[41]);
                multiUse.energyCostTerrainTerrain6      = CSVReader.GetInt(values[42]);
                multiUse.energyCostTerrain7             = CSVReader.GetInt(values[43]);
                multiUse.energyCostTerrain8             = CSVReader.GetInt(values[44]);
                multiUse.energyCostTerrain9             = CSVReader.GetInt(values[45]);
                multiUse.energyCostTerrain10            = CSVReader.GetInt(values[46]);
                multiUse.energyCostTerrain11            = CSVReader.GetInt(values[47]);
                multiUse.energyCostTerrain12            = CSVReader.GetInt(values[48]);
                multiUse.energyCostTerrain13            = CSVReader.GetInt(values[49]);
                multiUse.energyCostTerrain14            = CSVReader.GetInt(values[50]);
                multiUse.energyCostTerrain15            = CSVReader.GetInt(values[51]);
                multiUse.secondShotEnergy               = CSVReader.GetInt(values[52]);
                multiUse.secondShotTimeout              = CSVReader.GetInt(values[53]);
                multiUse.fireDelay                      = CSVReader.GetInt(values[54]);
                multiUse.fireDelayOther                 = CSVReader.GetInt(values[55]);
                multiUse.maxFireDelay                   = CSVReader.GetInt(values[56]);
                multiUse.entryFireDelay                 = CSVReader.GetInt(values[57]);
                multiUse.reloadDelayNormal              = CSVReader.GetInt(values[58]);
                multiUse.reloadDelayPartial             = CSVReader.GetInt(values[59]);
                multiUse.reloadDelayAsynchronous        = CSVReader.GetInt(values[60]);
                multiUse.reloadDelayAsynchronousPartial = CSVReader.GetInt(values[61]);
                multiUse.routeRange                     = CSVReader.GetInt(values[62]);
                multiUse.routeRotationalRange           = CSVReader.GetInt(values[63]);
                multiUse.routeFriendly                  = CSVReader.GetBool(values[65]);
                multiUse.recoil                 = CSVReader.GetInt(values[66]);
                multiUse.verticalRecoil         = CSVReader.GetInt(values[67]);
                multiUse.prefireDelay           = CSVReader.GetInt(values[68]);
                multiUse.reliability            = CSVReader.GetInt(values[69]);
                multiUse.reliabilityFireDelay   = CSVReader.GetInt(values[70]);
                multiUse.movementCancelsPrefire = CSVReader.GetBool(values[83]);
                multiUse.notifyOthersOfPrefire  = CSVReader.GetBool(values[84]);
                multiUse.cashCost               = CSVReader.GetInt(values[85]);
                multiUse.useWhileCarryingBall   = CSVReader.GetBool(values[86]);
                multiUse.useWhileCarryingFlag   = CSVReader.GetBool(values[87]);
                multiUse.soccerThrow            = CSVReader.GetInt(values[88]);
                multiUse.soccerBallFriction     = CSVReader.GetInt(values[89]);
                multiUse.soccerBallSpeed        = CSVReader.GetInt(values[90]);
                multiUse.soccerLowFireAngle     = CSVReader.GetInt(values[91]);
                multiUse.soccerHighFireAngle    = CSVReader.GetInt(values[92]);

                int currentPlace = 97;

                multiUse.childItems = new List <ChildItem>();

                for (int i = 0; i < 32; i++)
                {
                    if (currentPlace < values.Count)
                    {
                        ChildItem child = new ChildItem();
                        child.id               = CSVReader.GetInt(values[currentPlace + 0]);
                        child.deltaX           = CSVReader.GetInt(values[currentPlace + 1]);
                        child.deltaY           = CSVReader.GetInt(values[currentPlace + 2]);
                        child.deltaZ           = CSVReader.GetInt(values[currentPlace + 3]);
                        child.deltaAngle       = CSVReader.GetInt(values[currentPlace + 4]);
                        child.theMultiLinkMode = (ChildItem.MultiLinkModes)CSVReader.GetInt(values[currentPlace + 5]);
                        multiUse.childItems.Add(child);
                        currentPlace += 6;
                    }
                    else
                    {
                        break;
                    }
                }
                return(multiUse);
            }
Ejemplo n.º 2
0
        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);
        }