Esempio n. 1
0
    static void CreateEntityJson()
    {
        EntityDefines entityDefines =
            new EntityDefines()
        {
            Attributes = new Attributes()
            {
                Strength  = 1,
                MaxHP     = 10,
                Speed     = 2,
                Dexterity = 1,
                Intellect = 1
            },
            EntityLayers = new List <EntityLayer>()
            {
                new EntityLayer()
                {
                    DrawLayer = 1, Layername = "male_skeleton", Color = Color.white
                },
            },
            SpawnLocation = new Vector3Int(0, 0, 0),
            OnDeath       = new OnDeath()
            {
                ChangeTiles = new List <TileData>()
                {
                    new TileData()
                    {
                        Layer = "Background", Postion = new Vector3Int(1, 1, 0), TileName = "Assorted Terrain 1_256_352"
                    },
                    new TileData()
                    {
                        Layer = "Background", Postion = new Vector3Int(1, 2, 0), TileName = "Assorted Terrain 1_256_352"
                    },
                    new TileData()
                    {
                        Layer = "Background", Postion = new Vector3Int(1, 3, 0), TileName = "Assorted Terrain 1_256_352"
                    },
                    new TileData()
                    {
                        Layer = "Background", Postion = new Vector3Int(1, 4, 0), TileName = "Assorted Terrain 1_256_352"
                    },
                    new TileData()
                    {
                        Layer = "Background", Postion = new Vector3Int(1, 5, 0), TileName = "Assorted Terrain 1_256_352"
                    },
                    new TileData()
                    {
                        Layer = "Background", Postion = new Vector3Int(1, 6, 0), TileName = "Assorted Terrain 1_256_352"
                    },
                },

                ChangePlayerAttributes = new Attributes()
            }
        };

        FileLoader.SaveAsJson($"{FileLoader.ModPath}/Maps/entity.json", entityDefines);
    }
Esempio n. 2
0
    static EntityDefines GetClosestEntity(Vector3Int location, Map map)
    {
        float         distance      = float.MaxValue;
        EntityDefines entityDefines = null;

        foreach (var entity in map.Entities)
        {
            var dist = Vector3Int.Distance(location, entity.SpawnLocation);
            if (dist < distance)
            {
                distance      = dist;
                entityDefines = entity;
            }
        }
        return(entityDefines);
    }
Esempio n. 3
0
    static EntityDefines CreateEntity()
    {
        var entity = new EntityDefines();
        var chance = Random.value;

        if (chance < 0.5f)
        {
            entity.Attributes = new Attributes()
            {
                Dexterity = 1,
                Intellect = 1,
                MaxHP     = 5,
                Speed     = 2,
                Strength  = 1
            };
            entity.EntityLayers = new List <EntityLayer>()
            {
                new EntityLayer()
                {
                    DrawLayer = 1, Layername = "male_skeleton", Color = Color.white
                }
            };
            entity.OnDeath = new OnDeath()
            {
                ChangePlayerAttributes = new Attributes()
                {
                    Strength  = 0,
                    Speed     = 0,
                    MaxHP     = 0,
                    Intellect = 0,
                    Dexterity = 0
                },
                ChangeTiles = new List <TileData>()
            };
            return(entity);
        }
        if (chance < 0.7f)
        {
            entity.Attributes = new Attributes()
            {
                Dexterity = 1,
                Intellect = 1,
                MaxHP     = 10,
                Speed     = 1,
                Strength  = 2
            };
            entity.EntityLayers = new List <EntityLayer>()
            {
                new EntityLayer()
                {
                    DrawLayer = 1, Layername = "male_orc", Color = Color.white
                },
                new EntityLayer()
                {
                    DrawLayer = 2, Layername = "male_pants", Color = Color.white
                }
            };
            entity.OnDeath = new OnDeath()
            {
                ChangeTiles            = new List <TileData>(),
                ChangePlayerAttributes = new Attributes()
                {
                    Strength  = 1,
                    Speed     = 0,
                    MaxHP     = 0,
                    Intellect = 0,
                    Dexterity = 0
                }
            };
            return(entity);
        }
        else if (chance < 0.95f)
        {
            entity.Attributes = new Attributes()
            {
                Dexterity = 1,
                Intellect = 1,
                MaxHP     = 20,
                Speed     = 3,
                Strength  = 2
            };
            entity.EntityLayers = new List <EntityLayer>()
            {
                new EntityLayer()
                {
                    DrawLayer = 1, Layername = "female_darkelf", Color = Color.white
                },
                new EntityLayer()
                {
                    DrawLayer = 2, Layername = "female_mohawk", Color = Color.white
                },
                new EntityLayer()
                {
                    DrawLayer = 3, Layername = "female_pants", Color = Color.white
                },
                new EntityLayer()
                {
                    DrawLayer = 4, Layername = "female_corset", Color = Color.white
                }
            };
            entity.OnDeath = new OnDeath()
            {
                ChangeTiles            = new List <TileData>(),
                ChangePlayerAttributes = new Attributes()
                {
                    Strength  = 0,
                    Speed     = 0,
                    MaxHP     = 5,
                    Intellect = 0,
                    Dexterity = 0
                }
            };
            return(entity);
        }
        else
        {
            entity.Attributes = new Attributes()
            {
                Dexterity = 1,
                Intellect = 1,
                MaxHP     = 50,
                Speed     = 3,
                Strength  = 5
            };
            entity.EntityLayers = new List <EntityLayer>()
            {
                new EntityLayer()
                {
                    DrawLayer = 1, Layername = "female_orc", Color = Color.white
                },
                new EntityLayer()
                {
                    DrawLayer = 2, Layername = "female_mohawk", Color = Color.magenta
                },
                new EntityLayer()
                {
                    DrawLayer = 3, Layername = "female_pants", Color = Color.white
                },
                new EntityLayer()
                {
                    DrawLayer = 4, Layername = "female_chainmail", Color = Color.white
                }
            };
            entity.OnDeath = new OnDeath()
            {
                ChangeTiles            = new List <TileData>(),
                ChangePlayerAttributes = new Attributes()
                {
                    Strength  = 1,
                    Speed     = 0,
                    MaxHP     = 5,
                    Intellect = 0,
                    Dexterity = 0
                }
            };
            return(entity);
        }
    }