Skip to main content

On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Soulash

Soulash is a fantasy roguelike where you play as a forgotten god set on destroying the world. · By Artur Smiarowski

Lorelei, Leader NPC for Mansfield (0.2.6)

A topic by Rebelbeta created Jul 14, 2019 Views: 728 Replies: 8
Viewing posts 1 to 4
(8 edits) (+1)

So I made a thing! It's a very simple thing, it adds a leader to Mansfield: Lorelei who has a guaranteed chance to spawn with scissors ;) Can verify she works in 0.2.5 :D Here's the instructions. Please back up these files before editing them!

1)go to Soulash Directory, Data folder open entities.json with text editor. Add a comma to the last "}" bracket at the bottom of the file and add the following lines

    {
        "ability_user": [
            11
        ],
        "artificial_intelligence": {
            "allies": [
                1,
                2,
                7
            ],
            "enemies": [
                5
            ]
        },
        "components": [
            "actor",
            "ability_user",
            "artificial_intelligence",
            "collidable",
            "equipment",
            "experience_gainer",
            "fighter",
            "glyph",
            "health",
            "humanoid",
            "moveable",
            "name",
            "position_2d",
            "sight",
            "stamina",
            "statistics",
            "tags"
        ],
        "corpse": "Elven corpse",
        "description": "Lorelei is a younger elf than would be commonly encountered. She issues orders to the tradesfolk with a resolute calm that betrays any prior impression of her age and experience.",
        "equipment": {
            "backpack": [
                {
                    "chance": 1.0,
                    "name": "Scissors"
                }
            ],
            "cape": [
                {
                    "chance": 1.0,
                    "name": "Cloak"
                }
            ],
            "head_cloth": [
                {
                    "chance": 1.0,
                    "name": "Hood"
                }
            ],
            "right_hand": [
                {
                    "chance": 1.0,
                    "name": "Dagger"
                }
            ],
            "torso_cloth": [
                {
                    "chance": 1.0,
                    "name": "Dress"
                }
            ]
        },
        "experience_gainer": {
            "exp": 10,
            "level": 1
        },
        "glyph": {
            "color": [
                95,
                105,
                15
            ],
            "id": 188,
            "tile_type": 0,
            "tiles": [
                0
            ]
        },
        "health": 90,
        "id": 587,
        "moveable": {
            "speed": 1.0
        },
        "name": "Lorelei Ertoris",
        "sight": {
            "infravision": false,
            "range": 10
        },
        "statistics": {
            "dexterity": [
                12,
                15
            ],
            "endurance": [
                10,
                12
            ],
            "intelligence": [
                11,
                15
            ],
            "strength": [
                10,
                13
            ],
            "willpower": [
                10,
                14
            ]
        },
        "tags": [
            7,
            9
        ]
    }

Make sure the "]" end bracket is at the very end of the file still.

2)Go to "Data>Organizations.json", ctrl+f for Mansfield and change the "Leader" value to 587, by default it is -1

You will need to start a new game for the character to spawn in. Lorelei should now be wandering somewhere east of the starting area. If you take your time be aware she could wander to the neighboring zones. If you're not sure you did it correctly, check the Json linting tool Artur linked in the devblog, selecting the entire file and ctrl pasting it in.

I haven't verified yet that she will use her ability of bless weapon, if someone could I'd appreciate it!

*Changes: Buffed to 90 health, glyph changed to "L"

moved this topic to Modding
(+1)

Added Modding section and moved the topic. I'm gonna check her out tomorrow. Any relation to Silvyra? :)

(+1)

:D Indeed, I figured it'd be fitting considering I lifted Silvyra as the template :P Stats and health probably need careful tweaking, she was an easy kill for the orc fallen knight that I rushed straight to Mansfield to confirm everything was working lol.

(+1)

You could probably spawn her in the starting zone to meet her sooner and check how she plays out. :)
She looks fun, and well 100% chance for scissors MUST KILL!!!

(+1)

I figured that's how you're debugging and testing critters :P

The intention is to make it a high priority and not let the fight drag out, else those scissors will likely get used as a backup weapon and rendered less useful ;)

(+1)

I have access to a map editor so I have the power to spawn myself where needed, or spawn someone exactly at my location. ;)

Makes sense with the scissors.

I keep forgetting you've teased that :P I must say I'm most excited about mapping eventually, but probably least capable of it under current circumstances/understanding. Think I've gotten a slightly clearer picture now though :)

Curious as to what's the upper limit of unique object id's?  As more mods from more people are added can the id sequence be skipped without an issue? e.g. if next I added some demon with "id: 666" skipping 588-665 would it cause a problem? Just thinking ahead (perhaps needlessly) for compatibility if other people join in.

(+1)

Skipping is not an issue and limit probably around 2,147,483,647 so it should suffice, we will hit another problem of file being too big to edit sooner. In v0.4 there will have to be some kind of system that will allow loading mods from different files and dynamic identifiers applied on top of the main data files.