Twofour2 / IteratorKit

Rainworld framework for creating custom iterators adding events for existing iterators.
GNU General Public License v3.0
7 stars 2 forks source link

Sample mod issues and mod editing issues #4

Closed Gray8Black closed 5 months ago

Gray8Black commented 6 months ago

The action givemark and event aftergivemark play every time the slugcat enters the room, which negates the "playerenter" event, which confuses me because I've tried a lot of things to get it to work properly. Something I've also noticed is that if you throw an item to the iterator it does not read the item, despite having text for the item.

This is my code so far(Still in the works and haven't done any cosmetic changes to the iterator, just messing around rn):

[ { "id": "SRS", "roomId": "SU_ai", "airFriction": 0.99, "annoyedScore": 5, "angryScore": 0, "talkHeight": 0, "pearlFallback": "pebbles", "startPos": { "x": 9, "y": 32 }, "cornerPositions": [ { "x": 9, "y": 32 }, { "x": 38, "y": 32 }, { "x": 38, "y": 3 }, { "x": 10, "y": 3 } ], "body": { "oracleColor": { "r": 239, "g": 209, "b": 74 }, "halo": { "innerRing": {"r": 255, "g": 0, "b": 0}, "outerRing": {"r": 0, "g": 255, "b": 0}, }, "arm": { "armColor": { "r": 255, "g": 0, "b": 0 }, "armHighlight": { "r": 255, "g": 0, "b": 0 } }, "sigil": null, "gown": { "color": { "type": "solid", "r": 255, "g": 0, "b": 0 } }, "eyes": { "r": 0, "g": 0, "b": 0 } }, "events": { "generic": [ { "event": "playerEnter", "random": true, "gravity": 1, "sound": "SS_AI_Exit_Work_Mode", "moveTo": { "x": 241, "y": 244 }, "texts": [ "Hello ", ". . .Welcome", "Well well well.. it has returned", "Hm..?" ], "color": { "r": 255, "g": 0, "b": 255, "a": 255 }, "action": "giveMark", }, { "event": "afterGiveMark", "for": [ "Red" ], "texts": [ "This is only avalible for red!" ], "action": "giveKarma", "actionParam": 9 }, { "event": "afterGiveMark", "for": [ "Red" ], "texts": [ "This is only avalible for red!" ] }, { "event": "afterGiveMark", "action": "startPlayerConversation" }, { "event": "playerConversation", "hold": 4, "movement": "talk", "texts": [ "This is the main dialog informing the player what to do.", "This occurs first if they player already has the mark." ] }, { "event": "playerConversation", "gravity": 0 }, { "event": "noeventy", "action": "kickPlayerOut", "gravity": 0, "actionParam": "SU_A63" }, { "event": "playerAttack", "random": true, "texts": [ "Stop that!", "STOP.", "DONT." ], "gravity": 1, "score": { "action": "subtract", "amount": 10 } }, { "event": "oracleAnnoyed", "random": true, "movement": "keepDistance", "texts": [ "This shows when the oracle is mad at the player!", "LEAVE.", "GET OUT." ], "action": "kickPlayerOut", "actionParam": "SU_A63" }, { "event": "oracleAngry", "texts": [ "GET OUT!" ], "movement": "keepDistance", "action": "killPlayer" }, { "event": "customCodeEvent", "texts": [ "This event can be triggered by custom code" ] } ], "pearls": [ { "item": "CC", "text": "this is a pearl dialog! for CC" }, { "item": "Misc", "texts": [ "This is where the white pearl dialogs go." ] } ], "items": [ { "item": "KarmaFlower", "text": "Be careful!" } ] }, "overseers": { "color": { "r": 255, "g": 0, "b": 0 }, "regions": [ "SU" ], "guideToRoom": "SU_ai", "genMin": 0, "genMax": 100 }

},
{
    "id": "TEST",
    "roomId": "SU_nowhere",
    "gravity": 0.9,
    "airFriction": 0.99,
    "swarmers": 0,
    "cornerPositions": [
        {
            "x": 10,
            "y": 33
        },
        {
            "x": 38,
            "y": 33
        },
        {
            "x": 38,
            "y": 3
        },
        {
            "x": 10,
            "y": 3
        }
    ],
    "body": {
        "oracleColor": {
            "color": {
                "r": 255,
                "g": 0,
                "b": 0,
                "a": 255
            }
        },
        "eyes": {
            "r": 255,
            "g": 0,
            "b": 0
        },
        "head": {
            "r": 0,
            "g": 0,
            "b": 255
        },
        "chin": {
            "r": 0,
            "g": 0,
            "b": 255
        },
        "neck": {
            "r": 255,
            "g": 255,
            "b": 255
        },
        "torso": {
            "r": 255,
            "g": 127,
            "b": 127
        },
        "arms": {
            "r": 127,
            "g": 127,
            "b": 127
        },
        "hands": {
            "r": 255,
            "g": 0,
            "b": 255
        },
        "legs": {
            "r": 0,
            "g": 0,
            "b": 255
        },
        "feet": {
            "r": 0,
            "g": 0,
            "b": 255
        },
        "_comment": "gown can also be null",
        "gown": null,
        "sigil": null
    },
    "dialogs": {
        "generic": [
            {
                "event": "playerEnter",
                "random": true,
                "hold": 5,
                "gravity": 0.8,
                "sound": "SS_AI_Exit_Work_Mode",
                "moveTo": {
                    "x": 241,
                    "y": 244
                },
                "texts": [ "Oh, hello!", "Welcome back <PlayerName>", "Hello <PlayerName>!" ],
                "action": "kickPlayerOut",
                "actionParam": "SU_test"
            }
        ]

    }
},
{
    "id": "SL",
    "override": "moon",
    "for": [ "Yellow", "Rivulet" ],
    "events": {
        "generic": [
            {
                "event": "moonYellowFirstConversation",
                "texts": [ "This is custom text!" ]
            },
            {
                "event": "customSlug",
                "random": true,
                "texts": [ "This shows only for modded slugcats!", "Oh hello <PLAYERNAME>! This is dialog for modded slugs." ]
            }
        ],
        "pearls": [
            {
                "item": "SLchimney",
                "texts": [ "This is custom pearl text!" ]
            }
        ],
        "items": [
            {
                "item": "rock",
                "texts": [ "This is rock <PLAYERNAME>" ]
            }
        ]
    }

},
{
    "id": "SS",
    "for": [ "sparkcat" ],
    "events": {
        "generic": [
            {
                "event": "playerEnter",
                "texts": [ "This is custom text for custom slugcats like you <PLAYERNAME>!" ],
                "action": "kickPlayerOut"
            }
        ]
    }
}

]

Gray8Black commented 6 months ago

Another issue I've come across is that whenever I attempt to change the "arms" part, they are a layer above the iterator gown. image And when I attempt to use the hands part it doesn't seem to work image

Twofour2 commented 6 months ago

Another issue I've come across is that whenever I attempt to change the "arms" part, they are a layer above the iterator gown. image And when I attempt to use the hands part it doesn't seem to work image

They are supposed to be above the gown, that's how it works with 5p and LTTM. Their arms are the same color. The hands part works fine, apparently it does the whole arms anyways. image

Twofour2 commented 6 months ago

The action givemark and event aftergivemark play every time the slugcat enters the room, which negates the "playerenter" event, which confuses me because I've tried a lot of things to get it to work properly. Something I've also noticed is that if you throw an item to the iterator it does not read the item, despite having text for the item.

I've fixed a bug stopping the items from being detected in the room, I couldn't replicate the givemark, aftergivemark issue. Try it with the latest version from the workshop as it might fix your problem. https://github.com/Twofour2/IteratorKit/commit/ff8414fdd548a3a1983b03cd4ee177df34b231a7

You should probably also try using the latest sample mod file: https://github.com/Twofour2/IteratorKit/blob/main/docs/sampleMod/oracle.json

Gray8Black commented 6 months ago

Alright, thanks! I've been experimenting with the outdated version for a while now without knowing!

Gray8Black commented 6 months ago

I've been having an issue with the most recent sample mod. It seems like whenever I go into the test room, the game freezes after a few seconds. This also happens with going into the actual iterator chamber. I'm unsure of the root cause of the issue however

Gray8Black commented 6 months ago

I believe it might be due to rainworld's most recent updates

Twofour2 commented 6 months ago

The sample works fine on my copy, can you send through a crash log (Rainworld > BepInEx > LogOutput.log)?

Gray8Black commented 6 months ago

Ok. I'll try and figure that out

Gray8Black commented 6 months ago

image I don't see any issues, so maybe it's another mod causing the screen to freeze? This only happens when I go into ai or test

Gray8Black commented 6 months ago

Something I failed to mention that would likely be very helpful is the fact that I'm on v1.9.07b.

Gray8Black commented 6 months ago

That was indeed the issue. Sorry for wasting your time if you were looking into this

Something I failed to mention that would likely be very helpful is the fact that I'm on v1.9.07b.