Modding Help Unknown Monster Error

Discussion in 'Starbound Modding' started by RexTheFox, May 27, 2017.

  1. RexTheFox

    RexTheFox Phantasmal Quasar

    When the monster walks into a wall, the world crashes, how do i fix this?

    MonsterType
    Code:
    {
      "type" : "goomba",
      "shortdescription" : "Fennix",
      "description" : "Sometimes when chasing its own tail it can accidentally set itself on fire.",
    
      "categories" : [ "goomba" ],
      "parts" : [ "body" ],
    
      "animation" : "goomba.animation",
    
      "dropPools" : [ { "default" : "fennixTreasure", "bow" : "fennixHunting" } ],
    
      "baseParameters" : {
        "scripts" : [
          "/monsters/monster.lua"
        ],
    
        "behavior" : "monster",
    
        "behaviorConfig" : {
          "damageOnTouch" : true,
    
          "targetQueryRange" : 20,
          "targetOnDamage" : true,
          "keepTargetInSight" : true,
          "keepTargetInRange" : 50,
          "targetOutOfSightTime" : 2.5,
    
          "foundTargetActions" : [],
    
          "fleeActions" : [],
    
          "hostileActions" : [
            {
              "name" : "action-leap",
              "cooldown" : 0.5,
              "parameters" : {
                "minimumRange" : 0,
                "maximumRange" : 20,
                "maxXRange" : 4,
                "windupTime" : 0.3,
                "windupState" : "idle",
    
                "leapVelocity" : 25,
                "collisionCheck" : true,
                "highArc" : false,
                "leapState" : "idle",
                "fallState" : "idle",
    
                "winddownState" : "",
                "winddownTime" : 0.2
              }
            }
          ],
    
          "periodicActions" : [],
    
          "approachActions" : [
            {
              "name" : "approach-walk",
              "parameters" : {
                "canJump" : true,
                "maxJumps" : 6,
                "jumpXVelocity" : 12,
                "jumpYVelocity" : 30,
                "jumpXControlForce" : 50,
                "minXRange" : 10,
                "run" : true
              }
            }
          ],
    
          "followActions" : [
            {
              "name" : "approach-teleport",
              "parameters" : {
              }
            },
            {
              "name" : "approach-walk",
              "parameters" : {
                "canJump" : true,
                "maxJumps" : 6,
                "jumpXVelocity" : 12,
                "jumpYVelocity" : 30,
                "jumpXControlForce" : 50,
                "minXRange" : 10
              }
            }
          ],
    
          "wanderActions" : [
            {
              "name" : "wander-walk",
              "cooldown" : 6.0,
              "parameters" : {
                "wanderTime" : [5, 15]
              }
            }
          ]
        },
    
        "touchDamage" : {
          "poly" : [ [0.3125, 1.25], [0.8125, 0.75],  [0.8125, -0.1], [0.3125, -0.6],  [-0.3125, -0.6], [-0.8125, -0.1],  [-0.8125, 0.75], [-0.3125, 1.25] ],
          "damage" : 8,
    
          "teamType" : "enemy",
          "damageSourceKind" : "slash",
          "knockback" : 20,
          "statusEffects" : [ ]
        },
    
        "metaBoundBox" : [-4, -4, 4, 4],
        "scale" : 1.0,
    
        "movementSettings" : {
          "collisionPoly" : [ [0.3125, 1.25], [0.8125, 0.75],  [0.8125, -0.1], [0.3125, -0.6],  [-0.3125, -0.6], [-0.8125, -0.1],  [-0.8125, 0.75], [-0.3125, 1.25] ],
    
          "mass" : 1.0,
          "walkSpeed" : 5,
          "runSpeed" : 8,
    
          "airFriction" : 0,
    
          "airJumpProfile" : {
            "jumpSpeed" : 45.0,
            "jumpInitialPercentage" : 1.0,
            "jumpHoldTime" : 0.0
          }
        },
    
        "bodyMaterialKind" : "organic",
    
        "knockoutTime" : 0.3,
        "knockoutAnimationStates" : {
          "damage" : "stunned"
        },
        "deathParticles" : "deathPoof",
        "knockoutEffect" : "",
    
        "statusSettings" : {
          "statusProperties" : {
            "targetMaterialKind" : "organic"
          },
    
          "appliesEnvironmentStatusEffects" : false,
          "appliesWeatherStatusEffects" : true,
          "minimumLiquidStatusEffectPercentage" : 0.1,
    
          "primaryScriptSources" : [
            "/stats/monster_primary.lua"
          ],
          "primaryScriptDelta" : 5,
    
          "stats" : {
            "knockbackStunTime" : {
              "baseValue" : 0.25
            },
            "knockbackThreshold" : {
              "baseValue" : 9
            },
            "maxHealth" : {
              "baseValue" : 50
            },
            "protection" : {
              "baseValue" : 0.0
            },
            "healthRegen" : {
              "baseValue" : 0.0
            },
            "powerMultiplier" : {
              "baseValue" : 1.0
            },
            "physicalResistance" : {
              "baseValue" : 0.0
            }
          },
    
          "resources" : {
            "stunned" : {
              "deltaValue" : -1.0,
              "initialValue" : 0.0
            },
            "health" : {
              "maxStat" : "maxHealth",
              "deltaStat" : "healthRegen",
              "defaultPercentage" : 100
            }
          }
        },
    
        "mouthOffset" : [0, 0],
        "feetOffset" : [0, -8],
        "capturable" : true,
    
        "captureHealthFraction" : 0.5,
        "nametagColor" : [64, 200, 255],
        "captureCollectables" : { "monsters" : "fennix" }
      }
    }
    
    
    Animation
    Code:
    {
      "animatedParts" : {
        "stateTypes" : {
          "body" : {
            "priority" : 0,
            "default" : "idle",
            "states" : {
              "idle" : {
                "frames" : 1,
                "cycle" : 0.5,
                "mode" : "loop"
              },
              "walk" : {
                "frames" : 3,
                "cycle" : 0.5,
                "mode" : "loop"
              }
            }
          },
          "damage" : {
            "priority" : 3,
            "default" : "none",
            "states" : {
              "none" : {
                "frames" : 1
              },
              "stunned" : {
                "frames" : 1
              }
            }
          },
          "releaseParticles" : {
            "default" : "off",
            "states" : {
              "off" : {
                "frames" : 1,
                "properties" : {
                  "particleEmittersOff" : [ "releaseParticles" ]
                }
              },
              "on" : {
                "frames" : 1,
                "cycle" : 0.1,
                "mode" : "transition",
                "transition" : "off",
                "properties" : {
                  "particleEmittersOn" : [ "releaseParticles" ]
                }
              }
            }
          }
        },
    
        "parts" : {
          "body" : {
            "properties" : {
              "transformationGroups" : [ "body" ],
              "offset" : [-0.0625, 0.6875]
            },
            "partStates" : {
              "body" : {
                "idle" : {
                  "properties" : {
                    "image" : "<partImage>:idle.<frame>"
                  }
                },
                "walk" : {
                  "properties" : {
                    "image" : "<partImage>:walk.<frame>"
                  }
                },
                "jump" : {
                  "properties" : {
                    "image" : "<partImage>:jump.<frame>"
                  }
                },
                "fall" : {
                  "properties" : {
                    "image" : "<partImage>:fall.<frame>"
                  }
                },
                "fire" : {
                  "properties" : {
                    "image" : "<partImage>:fire.<frame>"
                  }
                },
                "firewindup" : {
                  "properties" : {
                    "image" : "<partImage>:firewindup.<frame>"
                  }
                }
              },
              "damage" : {
                "stunned" : {
                  "properties" : {
                    "image" : "<partImage>:hurt.<frame>"
                  }
                }
              }
            }
          }
        }
      },
    
      "transformationGroups" : {
        "body" : { "interpolated" : true }
      },
    
      "effects" : {
        "blink" : {
          "type" : "flash",
          "time" : 0,
          "directives" : "fade=ffffff;0.5"
        }
      },
    
      "particleEmitters" : {
        "captureParticles" : {
          "particles" : [
            { "particle" : "monstercapture" }
          ]
        },
        "releaseParticles" : {
          "particles" : [
            { "particle" : "monsterrelease" }
          ]
        },
        "teleportOut" : {
          "particles" : [
            { "particle" : "monstercapture" }
          ]
        },
        "teleportIn" : {
          "particles" : [
            { "particle" : "monsterrelease" }
          ]
        },
    
        "levelUp" : {
          "particles" : [
            { "particle" : "monsterlevelup" }
          ]
        },
    
        "deathPoof" : {
          "particles" : [
            { "particle" : "monstersplosion" },
            { "particle" : "deathember" },
            { "particle" : "deathember" },
            { "particle" : "deathember" },
            { "particle" : "deathember" },
            { "particle" : "deathember" },
            { "particle" : "deathember" },
            { "particle" : "deathember" },
            { "particle" : "deathember" },
            { "particle" : "deathfizz1left" },
            { "particle" : "deathfizz1right" },
            { "particle" : "deathfizz2left" },
            { "particle" : "deathfizz2right" },
            { "particle" : "deathfizz3left" },
            { "particle" : "deathfizz3right" },
            { "particle" : "deathfizz4left" },
            { "particle" : "deathfizz4right" }
          ]
        }
      },
    
      "sounds" : {
        "aggroHop" : [ "/sfx/npc/monsters/monster_surprise.ogg" ],
        "deathPuff" : [ "/sfx/npc/enemydeathpuff.ogg" ],
        "fire" : [ "/sfx/projectiles/spit1.ogg", "/sfx/projectiles/spit2.ogg" ]
      }
    }
    
    
    Frames
    Code:
    {
      "frameGrid" : {
        "size" : [24, 16],
        "dimensions" : [7, 2],
    
        "names" : [
          [ null, "idle.1", null, "walk.1", "walk.2", "walk.3", null ],
          [ "hurt.1" ]
        ]
      }
    }
    
    Body
    Code:
    {
      "name" : "goomba",
      "category" : "goomba",
      "type" : "body",
    
      "frames" : {
        "body" : "goomba.png"
      }
    }
    
     
  2. Nemasys

    Nemasys Cosmic Narwhal

    I don't have a lot of experience with monsters, but I did notice that your animation file only has two body states in the animatedParts section whereas you have all six in the parts secion. I don't know if it matters or not, but not having the jump, fall, fire, and firewindup states in the animatedParts section may be causing the problem. I could be wrong though.
     
  3. RexTheFox

    RexTheFox Phantasmal Quasar

    i'm trying to not have those in, but it works fine until it touches a wall
     
  4. RexTheFox

    RexTheFox Phantasmal Quasar

    ok, it can jump over walls but it still crashes
    Fix: Had to add falling sprite even though i had fall state set to idle
     
    Last edited: May 27, 2017
  5. RexTheFox

    RexTheFox Phantasmal Quasar

    the problem is solved now
     
  6. Nemasys

    Nemasys Cosmic Narwhal

    Oh, cool. What was the problem?
     
  7. RexTheFox

    RexTheFox Phantasmal Quasar

    missing animations
     
  8. Nemasys

    Nemasys Cosmic Narwhal

    Glad you found it and got it working.
     

Share This Page