Exemple #1
0
        public static bool IsDisabled(MyMwcObjectBuilder_InventoryItem inventoryItem)
        {
            int?builderId = inventoryItem.ItemObjectBuilder.GetObjectBuilderId();
            MyMwcObjectBuilderTypeEnum builderType = inventoryItem.ItemObjectBuilder.GetObjectBuilderType();

            return(IsDisabled(builderType, builderId));
        }
 private int CreateInventoryItemAddToRepository(MyMwcObjectBuilder_InventoryItem inventoryItem, MyMwcObjectBuilder_Inventory owner) 
 {
     MyInventoryItem item = MyInventory.CreateInventoryItemFromInventoryItemObjectBuilder(inventoryItem);
     item.Owner = owner;
     return m_itemsRepository.AddItem(item);
 }
 public static bool IsDisabled(MyMwcObjectBuilder_InventoryItem inventoryItem) 
 {
     int? builderId = inventoryItem.ItemObjectBuilder.GetObjectBuilderId();
     MyMwcObjectBuilderTypeEnum builderType = inventoryItem.ItemObjectBuilder.GetObjectBuilderType();
     return IsDisabled(builderType, builderId);
 }
        /// <summary>
        /// All weapons cheat implementation
        /// </summary>
        static void AllWeaponsEnabled(MyGameplayCheat cheat)
        {
            if (MySession.PlayerShip == null)
                return;

            List<MyMwcObjectBuilder_SmallShip_Weapon> weapons = new List<MyMwcObjectBuilder_SmallShip_Weapon>();
            List<MyMwcObjectBuilder_AssignmentOfAmmo> ammoAssignment = new List<MyMwcObjectBuilder_AssignmentOfAmmo>();
            List<MyMwcObjectBuilder_InventoryItem> inventoryItems = new List<MyMwcObjectBuilder_InventoryItem>();

            // weapons
            foreach (MyMwcObjectBuilder_SmallShip_Weapon_TypesEnum weapon in Enum.GetValues(typeof(MyMwcObjectBuilder_SmallShip_Weapon_TypesEnum)))
            {
                weapons.Add(new MyMwcObjectBuilder_SmallShip_Weapon(weapon));
                // we want have 2x autocanon
                if (weapon == MyMwcObjectBuilder_SmallShip_Weapon_TypesEnum.Autocanon)
                {
                    weapons.Add(new MyMwcObjectBuilder_SmallShip_Weapon(weapon));
                }
            }

            // ammo assignment
            ammoAssignment.Add(new MyMwcObjectBuilder_AssignmentOfAmmo(MyMwcObjectBuilder_FireKeyEnum.Primary, MyMwcObjectBuilder_AmmoGroupEnum.Bullet, MyMwcObjectBuilder_SmallShip_Ammo_TypesEnum.Autocannon_Basic));
            ammoAssignment.Add(new MyMwcObjectBuilder_AssignmentOfAmmo(MyMwcObjectBuilder_FireKeyEnum.Secondary, MyMwcObjectBuilder_AmmoGroupEnum.Missile, MyMwcObjectBuilder_SmallShip_Ammo_TypesEnum.Missile_Basic));
            ammoAssignment.Add(new MyMwcObjectBuilder_AssignmentOfAmmo(MyMwcObjectBuilder_FireKeyEnum.Third, MyMwcObjectBuilder_AmmoGroupEnum.UniversalLauncherFront, MyMwcObjectBuilder_SmallShip_Ammo_TypesEnum.Universal_Launcher_Mine_Basic));
            ammoAssignment.Add(new MyMwcObjectBuilder_AssignmentOfAmmo(MyMwcObjectBuilder_FireKeyEnum.Fourth, MyMwcObjectBuilder_AmmoGroupEnum.UniversalLauncherBack, MyMwcObjectBuilder_SmallShip_Ammo_TypesEnum.Universal_Launcher_Mine_Smart));
            ammoAssignment.Add(new MyMwcObjectBuilder_AssignmentOfAmmo(MyMwcObjectBuilder_FireKeyEnum.Fifth, MyMwcObjectBuilder_AmmoGroupEnum.Bullet, MyMwcObjectBuilder_SmallShip_Ammo_TypesEnum.Autocannon_Basic));



            MySession.PlayerShip.Weapons.Init(weapons, ammoAssignment);
            
            foreach (MyMwcObjectBuilder_SmallShip_Ammo_TypesEnum ammo in Enum.GetValues(typeof(MyMwcObjectBuilder_SmallShip_Ammo_TypesEnum)))
            {
                MyMwcObjectBuilder_InventoryItem item = new MyMwcObjectBuilder_InventoryItem(new MyMwcObjectBuilder_SmallShip_Ammo(ammo), MyGameplayConstants.GetGameplayProperties(MyMwcObjectBuilderTypeEnum.SmallShip_Ammo, (int)ammo, MySession.PlayerShip.Faction).MaxAmount);
                if(!MySession.PlayerShip.Inventory.IsFull)
                    MySession.PlayerShip.Inventory.AddInventoryItem(MyInventory.CreateInventoryItemFromInventoryItemObjectBuilder(item));
            }

        }
 bool ItemPredicateRemove(MyMwcObjectBuilder_InventoryItem item)
 {
     bool isJammer = item.ItemObjectBuilder.GetObjectBuilderType() == MyMwcObjectBuilderTypeEnum.SmallShip_Tool && item.ItemObjectBuilder.GetObjectBuilderId() == (int)MyMwcObjectBuilder_SmallShip_Tool_TypesEnum.RADAR_JAMMER;
     return !isJammer;
 }
 bool ItemPredicateRemoveShips(MyMwcObjectBuilder_InventoryItem item)
 {
     return item.ItemObjectBuilder != null && item.ItemObjectBuilder is MyMwcObjectBuilder_Ship;
 }
 public MyMwcObjectBuilder_InventoryItem GetObjectBuilder() 
 {
     MyMwcObjectBuilder_InventoryItem builder = new MyMwcObjectBuilder_InventoryItem(ObjectBuilder, Amount);
     builder.TemporaryFlags = TemporaryFlags;
     return builder;
 }
Exemple #8
0
        //  Read this object from message-in
        internal override bool Read(BinaryReader binaryReader, EndPoint senderEndPoint, int gameVersion)
        {
            if (base.Read(binaryReader, senderEndPoint, gameVersion) == false)
            {
                return(NetworkError());
            }

            //  Inventory items
            int?countInventoryItems = MyMwcMessageIn.ReadInt32Ex(binaryReader, senderEndPoint);

            if (countInventoryItems == null)
            {
                return(NetworkError());
            }
            MyMwcLog.IfNetVerbose_AddToLog("countInventoryItems: " + countInventoryItems);
            InventoryItems = new List <MyMwcObjectBuilder_InventoryItem>(countInventoryItems.Value);
            for (int i = 0; i < countInventoryItems; i++)
            {
                MyMwcObjectBuilder_InventoryItem inventoryItem = MyMwcObjectBuilder_Base.ReadAndCreateNewObject(binaryReader, senderEndPoint) as MyMwcObjectBuilder_InventoryItem;
                if (inventoryItem == null)
                {
                    return(NetworkError());
                }
                if (inventoryItem.Read(binaryReader, senderEndPoint, gameVersion) == false)
                {
                    return(NetworkError());
                }

                if (!MyMwcObjectBuilder_InventoryItem.IsDisabled(inventoryItem))
                {
                    InventoryItems.Add(inventoryItem);
                }
            }

            // Max items
            int?maxItems = MyMwcMessageIn.ReadInt32Ex(binaryReader, senderEndPoint);

            if (maxItems == null)
            {
                return(NetworkError());
            }
            MaxItems = maxItems.Value;
            MyMwcLog.IfNetVerbose_AddToLog("MaxItems: " + MaxItems);

            // Price coeficient
            bool?hasPriceCoeficient = MyMwcMessageIn.ReadBoolEx(binaryReader, senderEndPoint);

            if (!hasPriceCoeficient.HasValue)
            {
                return(NetworkError());
            }
            if (hasPriceCoeficient.Value)
            {
                float?priceCoeficient = MyMwcMessageIn.ReadFloat(binaryReader);
                if (priceCoeficient == null)
                {
                    return(NetworkError());
                }
                PriceCoeficient = priceCoeficient.Value;
                MyMwcLog.IfNetVerbose_AddToLog("PriceCoeficient: " + PriceCoeficient.Value);
            }
            else
            {
                MyMwcLog.IfNetVerbose_AddToLog("PriceCoeficient is: null");
                PriceCoeficient = null;
            }

            // Inventory template type
            bool?hasInventoryTemplateType = MyMwcMessageIn.ReadBoolEx(binaryReader, senderEndPoint);

            if (!hasInventoryTemplateType.HasValue)
            {
                return(NetworkError());
            }
            if (hasInventoryTemplateType.Value)
            {
                MyMwcInventoryTemplateTypeEnum?inventoryTemplateType = MyMwcMessageIn.ReadObjectBuilderInventoryTemplateTypesEnumEx(binaryReader, senderEndPoint);
                if (inventoryTemplateType == null)
                {
                    return(NetworkError());
                }
                TemplateType = inventoryTemplateType.Value;
                MyMwcLog.IfNetVerbose_AddToLog("TemplateType: " + TemplateType.Value);
            }
            else
            {
                MyMwcLog.IfNetVerbose_AddToLog("TemplateType is: null");
                TemplateType = null;
            }

            // Unlimited capacity
            bool?unlimitedCapacity = MyMwcMessageIn.ReadBoolEx(binaryReader, senderEndPoint);

            if (unlimitedCapacity == null)
            {
                return(NetworkError());
            }
            UnlimitedCapacity = unlimitedCapacity.Value;
            MyMwcLog.IfNetVerbose_AddToLog("UnlimitedCapacity: " + UnlimitedCapacity);

            return(true);
        }