Ejemplo n.º 1
0
        public void IncludesEntityGroup()
        {
            var         component    = UsableComponent.Create(false);
            JsonElement deserialized = JsonSerializer.Deserialize <JsonElement>(component.Save());

            Assert.Equal(UsableComponent.ENTITY_GROUP, deserialized.GetProperty("EntityGroup").GetString());
        }
Ejemplo n.º 2
0
        public void SerializesAndDeserializesCorrectly()
        {
            var    component = UsableComponent.Create(true);
            string saved     = component.Save();

            var newComponent = UsableComponent.Create(saved);

            Assert.Equal(component.UseOnGet, newComponent.UseOnGet);
        }
Ejemplo n.º 3
0
        public static Entity CreateIntelEntity(int targetDungeonLevel)
        {
            var e = CreateEntity(Guid.NewGuid().ToString(), "intel for sector " + targetDungeonLevel);

            e.AddComponent(DisplayComponent.Create(_texIntelPath, "Intel! Gives you zone information for the next sector. You want this.", true, ITEM_Z_INDEX));
            e.AddComponent(StorableComponent.Create());
            e.AddComponent(UsableComponent.Create(useOnGet: true));
            e.AddComponent(UseEffectAddIntelComponent.Create(targetDungeonLevel));

            return(e);
        }
Ejemplo n.º 4
0
        private static Entity CreateRedPaintEntity()
        {
            var e = CreateEntity(Guid.NewGuid().ToString(), "red paint");

            e.AddComponent(DisplayComponent.Create(_texRedPaintPath, "Reduces turn time by 75 for 300 ticks (minimum time is 1).", true, ITEM_Z_INDEX));
            e.AddComponent(StorableComponent.Create());
            e.AddComponent(UsableComponent.Create(useOnGet: false));
            e.AddComponent(UseEffectBoostSpeedComponent.Create(boostPower: 75, duration: 300));

            return(e);
        }
Ejemplo n.º 5
0
        private static Entity CreateDuctTapeEntity()
        {
            var e = CreateEntity(Guid.NewGuid().ToString(), "duct tape");

            e.AddComponent(DisplayComponent.Create(_texDuctTapePath, "Some duct tape. Heals 10 HP.", true, ITEM_Z_INDEX));
            e.AddComponent(StorableComponent.Create());
            e.AddComponent(UsableComponent.Create(useOnGet: false));
            e.AddComponent(UseEffectHealComponent.Create(healpower: 10));

            return(e);
        }
Ejemplo n.º 6
0
        private static Entity CreateExtraBatteryEntity()
        {
            var e = CreateEntity(Guid.NewGuid().ToString(), "extra battery");

            e.AddComponent(DisplayComponent.Create(_texBatteryPath, "An extra battery for your weapons. Gives 20 power for 450 ticks.", true, ITEM_Z_INDEX));
            e.AddComponent(StorableComponent.Create());
            e.AddComponent(UsableComponent.Create(useOnGet: false));
            e.AddComponent(UseEffectBoostPowerComponent.Create(boostPower: 20, duration: 450));

            return(e);
        }
Ejemplo n.º 7
0
        private static Entity CreateEMPEntity()
        {
            var e = CreateEntity(Guid.NewGuid().ToString(), "EMP");

            e.AddComponent(DisplayComponent.Create(_texEMPPath, "An EMP burst. Disables enemies for 10 turns in radius 20.", true, ITEM_Z_INDEX));
            e.AddComponent(StorableComponent.Create());
            e.AddComponent(UsableComponent.Create(useOnGet: false));
            // I seriously put 20 radius 10 turns? That's enough time to mop up an entire encounter!
            e.AddComponent(UseEffectEMPComponent.Create(radius: 20, disableTurns: 10));

            return(e);
        }