The Custom E.G.O Guide!

  • Be warned before you read the rest of this page, custom E.G.O and E.G.O skills are VERY unstable, not very explored, and are prone to things like crashes and debug screens. You have been warned!
  • In order to properly understand this guide, it is reccommended to have read all previous guides on making custom personalities before this one. If not, please go do so.

So, how do I make custom E.G.Os?

  • First, you need to make the actual E.G.O data. Create a JSON in the following file path: \custom_limbus_data\ego inside of your mod folder.

What does that mean, and what does it do?

  • The E.G.O data dictates what rank your E.G.O is (ALEPH, WAW, HE, TETH, ZAYIN), the season it was released, the E.G.O passive, and the resistances it has upon usage.

  • I've attached an E.G.O JSON example for you below. (Feel free to use it as a template!)

{
    "list": [
        {
            "id": 20125243,
            "characterId": 1,
            "egoType": "ALEPH",
            "egoClass": 3,
            "season": 0,
            "skillTier": 3,
            "attributeResistList": [
                {
                    "type": "CRIMSON",
                    "value": 1.5
                },
                {
                    "type": "SCARLET",
                    "value": 2
                },
                {
                    "type": "AMBER",
                    "value": 1
                },
                {
                    "type": "SHAMROCK",
                    "value": 1
                },
                {
                    "type": "AZURE",
                    "value": 0.5
                },
                {
                    "type": "INDIGO",
                    "value": 0.5
                },
                {
                    "type": "VIOLET",
                    "value": 1
                },
                {
                    "type": "WHITE",
                    "value": 2
                },
                {
                    "type": "BLACK",
                    "value": 2
                }
            ],
            "requirementList": [
                {
                    "attributeType": "AZURE",
                    "num": 8
                },
                {
                    "attributeType": "INDIGO",
                    "num": 8
                },
                {
                    "attributeType": "VIOLET",
                    "num": 8
                }
            ],
            "corrosionSectionList": [
                {
                    "section": 0.5,
                    "probability": 0.25
                },
                {
                    "section": 0.25,
                    "probability": 0.75
                },
                {
                    "section": 0,
                    "probability": 1
                }
            ],
            "awakeningPassiveList": [
                10601224
            ],
            "awakeningSkillId": 10139435,
            "corrosionSkillId": 10139464
        }
    ]
}

So, what am I looking at?

It may look like a lot of information at first, but it ends up being very simple. I'll go over it for you though, just in case you need some help.

  • "id" is the E.G.O id. This will be used for your E.G.O locale, and it is preferrable to not have it overlap with any vanilla E.G.O id's. (It has not been tested what happens if they do, but we would rather not find out.)

  • "characterId" dictates what "character" (or sinner) that the E.G.O is for.

  • "egoType" dictates what tier your E.G.O is

  • It is currently unknown what "egoClass" does, however, I would not reccomend removing it from your E.G.O data.

  • "season" dictates what season your E.G.O released in. Mostly useless, but it's there!

  • "skillTier" is what tier your E.G.O skill is. It is not reccomended changing this, as all E.G.O are meant to stay at tier 3. (Again, very uncharted waters with what happens if you change any of these. Feel free to try, and let us know!)

Section 2: attributeResistList and requirementList

  • "attributeResistList" determines the resistances for the E.G.O upon usage. In the E.G.O above, it makes the Personality that used it weak to Wrath, fatal to Lust, and resist Gloom and Pride.

What are white and black?

  • White and Black damage are remnants from older versions of Limbus Company, that are now unused. It is HEAVILY reccomended that you do NOT touch these, as they are very prone to crashes/oddities. (Fun fact, White was called "Madness", and Black was called "Angst". Feel free to check dumpedData in "attributeList.json" to find these remnants!)

  • "requirementList" dictates the amount of E.G.O resources to be consumed when using the E.G.O. In the above example, it costs 8 Pride, Gloom, and Envy to use the E.G.O

Section 3: corrosionSectionList, awakeningPassiveList, and the E.G.O skills

  • As of the writing of this guide, it is not fully known what "corrosionSectionList" does.

  • "awakeningPassiveList" dictates what the E.G.O passive for the E.G.O is. This can be set to any passive in the game, including custom passives. (However, it may not always work. Again, custom E.G.Os are very prone to oddities.)

So you may be wondering, how do I make my E.G.O actually do something? Well, that's what "awakeningSkillId" and "corrosionSkillId" are for!

How do I make my E.G.O Skill?

In order to make an E.G.O Skill, a few requirements must be fulfilled on the actual skill. Here, I have attached a template of what an E.G.O Skill looks like.

   {
    "list": [
        {
            "id": 10139435,
            "skillType": "EGO_AWAKEN",
            "skillTier": 3,
            "skillTagList": ["BloodDinner"],
            "skillData": [
                {
                    "attributeType": "AZURE",
                    "atkType": "PENETRATE",
                    "defType": "ATTACK",
                    "skillTargetType": "FRONT",
                    "targetNum": 3,
                    "skillLevelCorrection": 3,
                    "defaultValue": 12,
                    "canTeamKill": false,
                    "canDuel": true,
                    "canChangeTarget": true,
                    "skillMotion": "Default",
                    "range": 6.5,
                    "viewType": "SKILL",
                    "parryingCloseType": "NEAR",
                    "abilityScriptList": [],
                    "coinList": [
                        {
                            "operatorType": "ADD",
                            "scale": 15,
                            "abilityScriptList": [
                                {
                                    "scriptName": "GiveBuffOnSucceedAttack",
                                    "buffData": {
                                        "buffKeyword": "Combustion",
                                        "target": "Target",
                                        "buffOwner": "",
                                        "stack": 2,
                                        "turn": 0,
                                        "activeRound": 0
                                    }
                                }
                            ]
                        }
                    ]
                }
            ]
        }
    ]
}

So what makes this Skill different from any other normal Skill? Well, there are a few key differences.

  • The "skillType" of the Skill becomes the tag for if it is an awakening Skill (the normal Skill of your E.G.O) or the corrosion Skill. In this example, it is set to "EGO_AWAKEN". To make it a corrosion, enter instead "EGO_EROSION".

  • The "skillTagList" determines what "tags" the E.G.O skill has. In the above example, the skill can consume and use bloodfeast if I added bloodfeast effects to the skill.

  • The "skillMotion" of the Skill also becomes Default instead of the usual S1, S2, and S3.

  • There is also a new line called "actionScript". This is the animation that the E.G.O will use when carrying out its attack. (These are EXCEPTIONALLY unstable, and should be left blank. If left blank, the character will not have any animation, but the skill will still carry out.)

  • To add E.G.O Corrosion skills, you can use the exact same template but change "EGO_AWAKEN" into "EGO_EROSION"

How do I add custom E.G.O passives?

  • In order to add custom E.G.O passives, you would first create them (or steal them from any vanilla ID) the same way you would. Then, you put the ID of the passive into the "awakeningPassiveList"

How do I give my E.G.O a custom name?

  • In order to name your E.G.O, you must create a JSON in the "egoList" folder in "custom_limbus_locale". I've attached a template naming for your E.G.O below this message.
{
    "20125243": {
        "a": 0,
        "id": "20125243",
        "name": "Remnants of Torn Pages",
        "desc": "hello"
    }
}
  • These work the same way as you would expect it when naming other things (such as Personalities and Skills)

  • In order for the E.G.O Skill to be named in game, it must have an entry in "skillList" alongside your other skills. (It is recommended to make a seperate JSON in the folder dedicated to E.G.O Skills.)

  • Another thing to mention is that you need 2 entries, one for the awakening Skill and one for the corrosion. Making locale for E.G.O Skills functions identically to normal Skills.

Conclusion

Feel free to tinker around with E.G.O Skills and see what discoveries you make! They have not been used by the majority of the community, and we hope that with this guide, you can sucessfully make a custom E.G.O.