Beispiel #1
0
        public static bool SetHeight(ItemBagAsset asset, byte height)
        {
            if (Fields.Height == null)
            {
                LogError("Setting height of Item ID {0}", asset.id);
                return(false);
            }

            Fields.Height.SetValue(asset, height);
            return(true);
        }
Beispiel #2
0
        public static bool SetWidth(ItemBagAsset asset, byte width)
        {
            if (Fields.Width == null)
            {
                LogError("Setting width of Item ID {0}", asset.id);
                return(false);
            }

            Fields.Width.SetValue(asset, width);
            return(true);
        }
Beispiel #3
0
        internal static void Modify(ItemModification modification)
        {
            ItemAsset asset = (ItemAsset)Assets.find(EAssetType.ITEM, modification.ID);

            if (asset == null)
            {
                LogError("Item ID {0} is invalid.", modification.ID);
                return;
            }

            if (asset.isPro)
            {
                LogError("Item ID {0} is a cosmetic.", modification.ID);
                return;
            }

            if (modification.Height.HasValue || modification.Width.HasValue)
            {
                if (asset is ItemBagAsset)
                {
                    ItemBagAsset bagAsset = asset as ItemBagAsset;
                    if (modification.Width.HasValue)
                    {
                        SetWidth(bagAsset, modification.Width.Value);
                    }
                    if (modification.Height.HasValue)
                    {
                        SetHeight(bagAsset, modification.Height.Value);
                    }
                }
                else
                {
                    LogError("Item ID {0} isn't a clothing item with storage.", modification.ID);
                }
            }

            if (modification.Health.HasValue)
            {
                if (asset is ItemBarricadeAsset)
                {
                    SetHealth(asset as ItemBarricadeAsset, modification.Health.Value);
                }
                else if (asset is ItemStructureAsset)
                {
                    SetHealth(asset as ItemStructureAsset, modification.Health.Value);
                }
                else
                {
                    LogError("Item ID {0} isn't a structure or barricade.", modification.ID);
                }
            }

            if (modification.PlayerDamage.HasValue ||
                modification.PlayerLegMultiplier.HasValue ||
                modification.PlayerArmMultiplier.HasValue ||
                modification.PlayerSpineMultiplier.HasValue ||
                modification.PlayerSkullMultiplier.HasValue ||
                modification.ZombieDamage.HasValue ||
                modification.ZombieLegMultiplier.HasValue ||
                modification.ZombieArmMultiplier.HasValue ||
                modification.ZombieSpineMultiplier.HasValue ||
                modification.ZombieSkullMultiplier.HasValue ||
                modification.AnimalDamage.HasValue ||
                modification.AnimalLegMultiplier.HasValue ||
                modification.AnimalSpineMultiplier.HasValue ||
                modification.AnimalSkullMultiplier.HasValue ||
                modification.BarricadeDamage.HasValue ||
                modification.StructureDamage.HasValue ||
                modification.VehicleDamage.HasValue ||
                modification.ResourceDamage.HasValue ||
                modification.ObjectDamage.HasValue ||
                modification.Invulnerable.HasValue) // Isn't this pretty?
            {
                if (asset is ItemWeaponAsset)
                {
                    ItemWeaponAsset weaponAsset = asset as ItemWeaponAsset;
                    if (modification.PlayerDamage.HasValue)
                    {
                        SetPlayerDamage(weaponAsset, modification.PlayerDamage.Value);
                    }
                    if (modification.PlayerLegMultiplier.HasValue)
                    {
                        SetPlayerLegMultiplier(weaponAsset, modification.PlayerLegMultiplier.Value);
                    }
                    if (modification.PlayerArmMultiplier.HasValue)
                    {
                        SetPlayerArmMultiplier(weaponAsset, modification.PlayerArmMultiplier.Value);
                    }
                    if (modification.PlayerSpineMultiplier.HasValue)
                    {
                        SetPlayerSpineMultiplier(weaponAsset, modification.PlayerSpineMultiplier.Value);
                    }
                    if (modification.PlayerSkullMultiplier.HasValue)
                    {
                        SetPlayerSkullMultiplier(weaponAsset, modification.PlayerSkullMultiplier.Value);
                    }
                    if (modification.ZombieDamage.HasValue)
                    {
                        SetZombieDamage(weaponAsset, modification.ZombieDamage.Value);
                    }
                    if (modification.ZombieLegMultiplier.HasValue)
                    {
                        SetZombieLegMultiplier(weaponAsset, modification.ZombieLegMultiplier.Value);
                    }
                    if (modification.ZombieArmMultiplier.HasValue)
                    {
                        SetZombieArmMultiplier(weaponAsset, modification.ZombieArmMultiplier.Value);
                    }
                    if (modification.ZombieSpineMultiplier.HasValue)
                    {
                        SetZombieSpineMultiplier(weaponAsset, modification.ZombieSpineMultiplier.Value);
                    }
                    if (modification.ZombieSkullMultiplier.HasValue)
                    {
                        SetZombieSkullMultiplier(weaponAsset, modification.ZombieSkullMultiplier.Value);
                    }
                    if (modification.AnimalDamage.HasValue)
                    {
                        SetAnimalDamage(weaponAsset, modification.AnimalDamage.Value);
                    }
                    if (modification.AnimalLegMultiplier.HasValue)
                    {
                        SetAnimalLegMultiplier(weaponAsset, modification.AnimalLegMultiplier.Value);
                    }
                    if (modification.AnimalSpineMultiplier.HasValue)
                    {
                        SetAnimalSpineMultiplier(weaponAsset, modification.AnimalSpineMultiplier.Value);
                    }
                    if (modification.AnimalSkullMultiplier.HasValue)
                    {
                        SetAnimalSkullMultiplier(weaponAsset, modification.AnimalSkullMultiplier.Value);
                    }
                    if (modification.BarricadeDamage.HasValue)
                    {
                        SetBarricadeDamage(weaponAsset, modification.BarricadeDamage.Value);
                    }
                    if (modification.StructureDamage.HasValue)
                    {
                        SetStructureDamage(weaponAsset, modification.StructureDamage.Value);
                    }
                    if (modification.VehicleDamage.HasValue)
                    {
                        SetVehicleDamage(weaponAsset, modification.VehicleDamage.Value);
                    }
                    if (modification.ResourceDamage.HasValue)
                    {
                        SetResourceDamage(weaponAsset, modification.ResourceDamage.Value);
                    }
                    if (modification.ObjectDamage.HasValue)
                    {
                        SetObjectDamage(weaponAsset, modification.ObjectDamage.Value);
                    }
                    if (modification.Invulnerable.HasValue)
                    {
                        SetIsInvulnerable(weaponAsset, modification.Invulnerable.Value);
                    }
                }
                else
                {
                    LogError("Item ID {0} isn't a weapon.", modification.ID);
                }
            }

            if (modification.Caliber.HasValue ||
                modification.Range.HasValue ||
                modification.SpreadAim.HasValue ||
                modification.SpreadHip.HasValue ||
                modification.Muzzle.HasValue)
            {
                if (asset is ItemWeaponAsset)
                {
                    ItemGunAsset gunAsset = asset as ItemGunAsset;
                    if (modification.Caliber.HasValue)
                    {
                        SetCaliber(gunAsset, modification.Caliber.Value);
                    }
                    if (modification.Range.HasValue)
                    {
                        SetRange(gunAsset, modification.Range.Value);
                    }
                    if (modification.SpreadAim.HasValue)
                    {
                        SetSpreadAim(gunAsset, modification.SpreadAim.Value);
                    }
                    if (modification.SpreadHip.HasValue)
                    {
                        SetSpreadHip(gunAsset, modification.SpreadHip.Value);
                    }
                    if (modification.Muzzle.HasValue)
                    {
                        SetMuzzle(gunAsset, modification.Muzzle.Value);
                    }
                }
                else
                {
                    LogError("Item ID {0} isn't a gun.", modification.ID);
                }
            }

            if (modification.Explosion.HasValue)
            {
                if (asset is ItemStructureAsset)
                {
                    SetExplosion(asset as ItemStructureAsset, modification.Explosion.Value);
                }
                else if (asset is ItemBarricadeAsset)
                {
                    SetExplosion(asset as ItemBarricadeAsset, modification.Explosion.Value);
                }
                else if (asset is ItemGunAsset)
                {
                    SetExplosion(asset as ItemGunAsset, modification.Explosion.Value);
                }
                else
                {
                    LogError("Item ID {0} doesn't have an explosion tag.");
                }
            }

            if (modification.BallisticDrop.HasValue ||
                modification.Braked.HasValue ||
                modification.Silenced.HasValue ||
                modification.Volume.HasValue)
            {
                if (asset is ItemBarrelAsset)
                {
                    ItemBarrelAsset barrelAsset = asset as ItemBarrelAsset;
                    if (modification.BallisticDrop.HasValue)
                    {
                        SetBallisticDrop(barrelAsset, modification.BallisticDrop.Value);
                    }
                    if (modification.Braked.HasValue)
                    {
                        SetIsBraked(barrelAsset, modification.Braked.Value);
                    }
                    if (modification.Silenced.HasValue)
                    {
                        SetIsSilenced(barrelAsset, modification.Silenced.Value);
                    }
                    if (modification.Volume.HasValue)
                    {
                        SetVolume(barrelAsset, modification.Volume.Value);
                    }
                }
                else
                {
                    LogError("Item ID {0} isn't a barrel.");
                }
            }
        }