Pokemon Skyblock: Ghosts

Pokemon Skyblock: Ghosts

488 Downloads

Shedinja, Castform, and Masquerain can't fly

Closed this issue ยท 4 comments

commented

Despite me having set it so that both the Shedinja and Castform species can fly, both just flop to the ground and give up, even though they are supposedly spawned with AIR PERSISTANT.

I need to further investigate this. It's not catastrophic that the two are failing to behave normally, but these are Pokemon who are supposed to spawn and fly away, adding complexity to fighting and capturing them.

commented

When I updated the species to Generation 9 for the new version of Pixelmon, I forgot to transplant across some information. I only changed 'canFly' to true, and forgot to transfer across the actual flight parameters. Rather than looking back and grabbing the old parameters, I've given both the same flight parameters as Drifloon, which work well enough. These flight speeds are quite slow and should help the player initiate fights.

commented

These are still not flying.

commented

Much to my surprise, it appears that Pokemon who fly cannot be told to sit on the ground, and Pokemon who sit on the ground cannot be told to fly. Regardless of whether you're spawning them as 'air-persistant' or 'land', if it's a flying Pokemon its's going to take off.

This has implications for Shedinja, as some Shedinja are meant to spawn in trees and just hand out up there. There is of course one way around this: One could have two Shedinja 'forms', one that flies and one that does not. I'm not sure what the minimum amount of data necessary for defining the second form is.

commented

Turns out that any data you don't supply for the second form is automatically copy+pasted from the base form. This means that its possible to create a shedinja form that consists of nothing more than this:

{
      "name": "Flying",
      "movement": {
        "rideable": false,
        "canFly": true,
        "canSurf": false,
        "canRideShoulder": false,
        "flyingParameters": {
          "flyHeightMin": 5,
          "flyHeightMax": 15,
          "flySpeedModifier": 0.2,
          "flyRefreshRateY": 80,
          "flyRefreshRateXZ": 400,
          "flyRefreshRateSpeed": 400,
          "flightTimeMin": 0,
          "flightTimeMax": 20,
          "flapRate": 5,
          "landingMaterials": "LEAVES_AND_GRASS"
        }
      }
    }

Tested and works.