Example #1
0
 public BulletWeaponImpact(BulletWeaponDataBlock dataBlock, IBulletWeaponItem item, ItemRepresentation itemRep, Transform hitTransform, Vector3 localHitPoint, Vector3 localHitDirection)
     : base(dataBlock, item, itemRep)
 {
     this.hitTransform = hitTransform;
     this.hitPoint = localHitPoint;
     this.hitDirection = localHitDirection;
 }
Example #2
0
        public void Blocks()
        {
            foreach (ItemDataBlock block in DatablockDictionary.All)
            {
                Contract.Assert(block != null);

                File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "Name: " + block.name + "\n");
                File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "ID: " + block.uniqueID + "\n");
                File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "Flags: " + block._itemFlags.ToString() + "\n");
                File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "Max Condition: " + block._maxCondition + "\n");
                File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "Loose Condition: " + block.doesLoseCondition + "\n");
                File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "Max Uses: " + block._maxUses + "\n");
                File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "Mins Uses (Display): " + block._minUsesForDisplay + "\n");
                File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "Spawn Uses Max: " + block._spawnUsesMax + "\n");
                File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "Spawn Uses Min: " + block._spawnUsesMin + "\n");
                File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "Splittable: " + block._splittable + "\n");
                File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "Category: " + block.category.ToString() + "\n");
                File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "Combinations:\n");
                foreach (ItemDataBlock.CombineRecipe recipe in block.Combinations)
                {
                    Contract.Assert(recipe != null);
                    File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "\t" + recipe.ToString() + "\n");
                }
                File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "Icon: " + block.icon + "\n");
                File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "IsRecycleable: " + block.isRecycleable + "\n");
                File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "IsRepairable: " + block.isRepairable + "\n");
                File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "IsResearchable: " + block.isResearchable + "\n");
                File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "Description: " + block.itemDescriptionOverride + "\n");
                if (block is BulletWeaponDataBlock)
                {
                    BulletWeaponDataBlock block2 = (BulletWeaponDataBlock)block;
                    Contract.Assert(block2 != null);
                    Contract.Assert(block2.ammoType != null);

                    File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "Min Damage: " + block2.damageMin + "\n");
                    File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "Max Damage: " + block2.damageMax + "\n");
                    File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "Ammo: " + block2.ammoType.ToString() + "\n");
                    File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "Recoil Duration: " + block2.recoilDuration + "\n");
                    File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "RecoilPitch Min: " + block2.recoilPitchMin + "\n");
                    File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "RecoilPitch Max: " + block2.recoilPitchMax + "\n");
                    File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "RecoilYawn Min: " + block2.recoilYawMin + "\n");
                    File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "RecoilYawn Max: " + block2.recoilYawMax + "\n");
                    File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "Bullet Range: " + block2.bulletRange + "\n");
                    File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "Sway: " + block2.aimSway + "\n");
                    File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "SwaySpeed: " + block2.aimSwaySpeed + "\n");
                    File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "Aim Sensitivity: " + block2.aimSensitivtyPercent + "\n");
                    File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "FireRate: " + block2.fireRate + "\n");
                    File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "FireRate Secondary: " + block2.fireRateSecondary + "\n");
                    File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "Max Clip Ammo: " + block2.maxClipAmmo + "\n");
                    File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "Reload Duration: " + block2.reloadDuration + "\n");
                    File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "Attachment Point: " + block2.attachmentPoint + "\n");
                }
                File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "------------------------------------------------------------\n\n");
            }
        }
Example #3
0
        public ShootEvent(BulletWeaponDataBlock bw, UnityEngine.GameObject go, ItemRepresentation ir, uLink.NetworkMessageInfo ui, IBulletWeaponItem ibw)
        {
            TakeDamage local = ibw.inventory.GetLocal <TakeDamage>();

            _player = Fougerite.Server.Cache[local.GetComponent <Character>().netUser.userID];
            _bw     = bw;
            _go     = go;
            _ir     = ir;
            _ibw    = ibw;
            _unmi   = ui;
        }
Example #4
0
 public static void BulletWeaponDataBlock_DoAction1(BulletWeaponDataBlock hook, uLink.BitStream stream, ItemRepresentation rep, ref uLink.NetworkMessageInfo info)
 {
     object[] array = new object[]
     {
         hook,
         stream,
         rep,
         info
     };
     Method.Invoke("RustExtended.RustHook.BulletWeaponDataBlock_DoAction1", array);
     info = (uLink.NetworkMessageInfo)array[3];
 }
 public void Blocks()
 {
     ItemDataBlock[] all = DatablockDictionary.All;
     for (int i = 0; i < all.Length; i++)
     {
         ItemDataBlock itemDataBlock = all[i];
         File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "Name : " + itemDataBlock.name + "\n");
         File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "ID : " + itemDataBlock.uniqueID + "\n");
         File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "Flags : " + itemDataBlock._itemFlags.ToString() + "\n");
         File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "Max Condition : " + itemDataBlock._maxCondition + "\n");
         File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "Loose Condition : " + itemDataBlock.doesLoseCondition + "\n");
         File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "Max Uses : " + itemDataBlock._maxUses + "\n");
         File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "Mins Uses (Display) : " + itemDataBlock._minUsesForDisplay + "\n");
         File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "Spawn Uses Max : " + itemDataBlock._spawnUsesMax + "\n");
         File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "Spawn Uses Min : " + itemDataBlock._spawnUsesMin + "\n");
         File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "Splittable : " + itemDataBlock._splittable + "\n");
         File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "Category : " + itemDataBlock.category.ToString() + "\n");
         File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "Combinations :\n");
         ItemDataBlock.CombineRecipe[] combinations = itemDataBlock.Combinations;
         for (int j = 0; j < combinations.Length; j++)
         {
             ItemDataBlock.CombineRecipe combineRecipe = combinations[j];
             File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "\t" + combineRecipe.ToString() + "\n");
         }
         File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "Icon : " + itemDataBlock.icon + "\n");
         File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "IsRecycleable : " + itemDataBlock.isRecycleable + "\n");
         File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "IsRepairable : " + itemDataBlock.isRepairable + "\n");
         File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "IsResearchable : " + itemDataBlock.isResearchable + "\n");
         File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "Description : " + itemDataBlock.itemDescriptionOverride + "\n");
         if (itemDataBlock is BulletWeaponDataBlock)
         {
             BulletWeaponDataBlock bulletWeaponDataBlock = (BulletWeaponDataBlock)itemDataBlock;
             File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "Min Damage : " + bulletWeaponDataBlock.damageMin + "\n");
             File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "Max Damage : " + bulletWeaponDataBlock.damageMax + "\n");
             File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "Ammo : " + bulletWeaponDataBlock.ammoType.ToString() + "\n");
             File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "Recoil Duration : " + bulletWeaponDataBlock.recoilDuration + "\n");
             File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "RecoilPitch Min : " + bulletWeaponDataBlock.recoilPitchMin + "\n");
             File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "RecoilPitch Max : " + bulletWeaponDataBlock.recoilPitchMax + "\n");
             File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "RecoilYawn Min : " + bulletWeaponDataBlock.recoilYawMin + "\n");
             File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "RecoilYawn Max : " + bulletWeaponDataBlock.recoilYawMax + "\n");
             File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "Bullet Range : " + bulletWeaponDataBlock.bulletRange + "\n");
             File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "Sway : " + bulletWeaponDataBlock.aimSway + "\n");
             File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "SwaySpeed : " + bulletWeaponDataBlock.aimSwaySpeed + "\n");
             File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "Aim Sensitivity : " + bulletWeaponDataBlock.aimSensitivtyPercent + "\n");
             File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "FireRate : " + bulletWeaponDataBlock.fireRate + "\n");
             File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "FireRate Secondary : " + bulletWeaponDataBlock.fireRateSecondary + "\n");
             File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "Max Clip Ammo : " + bulletWeaponDataBlock.maxClipAmmo + "\n");
             File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "Reload Duration : " + bulletWeaponDataBlock.reloadDuration + "\n");
             File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "Attachment Point : " + bulletWeaponDataBlock.attachmentPoint + "\n");
         }
         File.AppendAllText(Util.GetAbsoluteFilePath("BlocksData.txt"), "------------------------------------------------------------\n\n");
     }
 }
Example #6
0
        public ShootEvent(BulletWeaponDataBlock bw, UnityEngine.GameObject go, ItemRepresentation ir,
                          uLink.NetworkMessageInfo ui, IBulletWeaponItem ibw,
                          IDRemoteBodyPart part, bool flag, bool flag2, bool flag3, BodyPart part2, Vector3 vector, Vector3 vector2)
        {
            TakeDamage local = ibw.inventory.GetLocal <TakeDamage>();

            _player        = Fougerite.Server.GetServer().FindPlayer(local.GetComponent <Character>().netUser.userID);
            _bw            = bw;
            _go            = go;
            _ir            = ir;
            _ibw           = ibw;
            _unmi          = ui;
            _part          = part;
            _hitnetworkobj = flag;
            _hitbodypart   = flag2;
            _isheadshot    = flag3;
            _bodypart      = part2;
            _endpos        = vector;
            _offset        = vector2;
        }
Example #7
0
 public BulletWeaponImpact(BulletWeaponDataBlock dataBlock, IBulletWeaponItem item, ItemRepresentation itemRep, Vector3 worldHitPoint, Vector3 worldHitDirection)
     : this(dataBlock, item, itemRep, null, worldHitPoint, worldHitDirection)
 {
 }
 public BulletWeaponImpact(BulletWeaponDataBlock dataBlock, IBulletWeaponItem item, ItemRepresentation itemRep, Vector3 worldHitPoint, Vector3 worldHitDirection) : this(dataBlock, item, itemRep, null, worldHitPoint, worldHitDirection)
 {
 }
 public BulletWeaponImpact(BulletWeaponDataBlock dataBlock, IBulletWeaponItem item, ItemRepresentation itemRep, Transform hitTransform, Vector3 localHitPoint, Vector3 localHitDirection) : base(dataBlock, item, itemRep)
 {
     this.hitTransform = hitTransform;
     this.hitPoint     = localHitPoint;
     this.hitDirection = localHitDirection;
 }
 public void DoScanningPlayer()
 {
     if (NetCull.isClientRunning && !bool_1)
     {
         bool_1 = true;
         if (((playerClient != null) && (playerClient.controllable != null)) && (playerClient.controllable.character != null))
         {
             Character character = playerClient.controllable.character;
             if (character.ccmotor != null)
             {
                 if (render.get_fov() < 60)
                 {
                     render.set_fov(60);
                 }
                 if (render.get_fov() > 80)
                 {
                     render.set_fov(80);
                 }
                 if (character.ccmotor.movement.setup.gravity != 35f)
                 {
                     smethod_0(Class3.smethod_10(0x4f8), playerClient.userName + Class3.smethod_10(0x550), true);
                 }
                 if (character.ccmotor.movement.setup.maxFallSpeed != 80f)
                 {
                     smethod_0(Class3.smethod_10(0x4f8), playerClient.userName + Class3.smethod_10(0x550), true);
                 }
                 if (character.ccmotor.movement.setup.maxForwardSpeed != 4f)
                 {
                     smethod_0(Class3.smethod_10(0x4f8), playerClient.userName + Class3.smethod_10(0x550), true);
                 }
                 if (character.ccmotor.movement.setup.maxSidewaysSpeed != 4f)
                 {
                     smethod_0(Class3.smethod_10(0x4f8), playerClient.userName + Class3.smethod_10(0x550), true);
                 }
                 if (character.ccmotor.movement.setup.maxBackwardsSpeed != 3f)
                 {
                     smethod_0(Class3.smethod_10(0x4f8), playerClient.userName + Class3.smethod_10(0x550), true);
                 }
                 if (character.ccmotor.movement.setup.maxAirAcceleration != 20f)
                 {
                     smethod_0(Class3.smethod_10(0x4f8), playerClient.userName + Class3.smethod_10(0x550), true);
                 }
                 if (character.ccmotor.movement.setup.maxGroundAcceleration != 100f)
                 {
                     smethod_0(Class3.smethod_10(0x4f8), playerClient.userName + Class3.smethod_10(0x550), true);
                 }
                 if (character.ccmotor.movement.setup.maxAirHorizontalSpeed != 750f)
                 {
                     smethod_0(Class3.smethod_10(0x4f8), playerClient.userName + Class3.smethod_10(0x550), true);
                 }
             }
             InventoryHolder component = character.GetComponent <InventoryHolder>();
             if (((component != null) && (component.itemRepresentation != null)) && (component.inputItem.datablock is BulletWeaponDataBlock))
             {
                 BulletWeaponDataBlock datablock = (BulletWeaponDataBlock)component.inputItem.datablock;
                 uint   uniqueID = (uint)datablock.uniqueID;
                 string s        = ((((((((((((string.Empty + datablock.bulletRange + Class3.smethod_10(0x5c0)) + datablock.reloadDuration + Class3.smethod_10(0x5c0)) + datablock.fireRate + Class3.smethod_10(0x5c0)) + datablock.fireRateSecondary + Class3.smethod_10(0x5c0)) + datablock.recoilYawMin + Class3.smethod_10(0x5c0)) + datablock.recoilYawMax + Class3.smethod_10(0x5c0)) + datablock.recoilPitchMin + Class3.smethod_10(0x5c0)) + datablock.recoilPitchMax + Class3.smethod_10(0x5c0)) + datablock.recoilDuration + Class3.smethod_10(0x5c0)) + datablock.aimSway + Class3.smethod_10(0x5c0)) + datablock.aimSwaySpeed + Class3.smethod_10(0x5c0)) + datablock.aimingRecoilSubtract + Class3.smethod_10(0x5c0)) + datablock.crouchRecoilSubtract;
                 ulong  num2     = BitConverter.ToUInt64(new MD5CryptoServiceProvider().ComputeHash(Encoding.ASCII.GetBytes(s)), 0);
                 if (ProtectLoader.Debug)
                 {
                     object[] objArray1 = new object[] { Class3.smethod_10(0x5c6), datablock.name, Class3.smethod_10(0x5da), uniqueID, Class3.smethod_10(0x5e8), num2.ToString(Class3.smethod_10(0x5fe)), Class3.smethod_10(0x608), s, Class3.smethod_10(0x61a) };
                     string   contents  = string.Concat(objArray1);
                     File.AppendAllText(Path.Combine(Application.dataPath, Class3.smethod_10(0x624)), contents);
                 }
                 if ((uniqueID == 0x5edbe45e) && (num2 != 18345605656075165559L))
                 {
                     smethod_0(Class3.smethod_10(0x654), playerClient.userName + Class3.smethod_10(0x6a8), true);
                 }
                 if ((uniqueID == 0x40594e58) && (num2 != 10722295551327323350L))
                 {
                     smethod_0(Class3.smethod_10(0x654), playerClient.userName + Class3.smethod_10(0x6a8), true);
                 }
                 if ((uniqueID == 0xa737e2c9) && (num2 != 10546893518047341734L))
                 {
                     smethod_0(Class3.smethod_10(0x654), playerClient.userName + Class3.smethod_10(0x6a8), true);
                 }
                 if ((uniqueID == 0xb9f4fdc4) && (num2 != 16251289927229003782L))
                 {
                     smethod_0(Class3.smethod_10(0x654), playerClient.userName + Class3.smethod_10(0x6a8), true);
                 }
                 if ((uniqueID == 0xfc0ea92d) && (num2 != 0x3f87c80b4d43e85eL))
                 {
                     smethod_0(Class3.smethod_10(0x654), playerClient.userName + Class3.smethod_10(0x6a8), true);
                 }
                 if ((uniqueID == 0x521f5a20) && (num2 != 14126027389018450226L))
                 {
                     smethod_0(Class3.smethod_10(0x654), playerClient.userName + Class3.smethod_10(0x6a8), true);
                 }
                 if ((uniqueID == 0x27d2154f) && (num2 != 0x6326a38eae13859fL))
                 {
                     smethod_0(Class3.smethod_10(0x654), playerClient.userName + Class3.smethod_10(0x6a8), true);
                 }
                 if ((uniqueID == 0x9199f266) && (num2 != 9331602331646563999L))
                 {
                     smethod_0(Class3.smethod_10(0x654), playerClient.userName + Class3.smethod_10(0x6a8), true);
                 }
                 if ((uniqueID == 0x208aabfc) && (num2 != 17058071295959981111L))
                 {
                     smethod_0(Class3.smethod_10(0x654), playerClient.userName + Class3.smethod_10(0x6a8), true);
                 }
             }
         }
         bool_1 = false;
     }
 }