Modding Help Unconventional species sizes and issues

Discussion in 'Starbound Modding' started by red3dred, Jan 27, 2019.

Tags:
  1. red3dred

    red3dred Scruffy Nerf-Herder

    So, i've been trying to expand and improve upon the Poptop race mod, by the creator of the chicken, egg, leggle, fridge, cars.... you get it... And i've run into many odd issues;

    At first, the species was at the same floor-height as normal species, and that was okay-- until i noticed that their smaller hitbox of 2x2, which allows them to fit into smaller tunnels, caused them to suffocate when doing so. This had other side-effects like not being visible in the species portrait, and also being unable to get even close to wearing vanilla clothing.

    After some fiddling, i've moved the whole sprite up by 16 pixels, and moved their 2x2 hitbox/boundary up, causing them to actually be at the same head-height as normal species, giving them a portrait, some vanilla clothing fits, and no more land-drowning. Alas, this caused more issues to arise...

    With the new height, i've noticed that the landing and jumping particles of dust spawn 2 blocks below them, along with other contact-based detections often triggering 2 blocks below them, like FU mud. Along with them always spawning 2 blocks inside the ground when beaming down or reloading the game (From a save & quit).

    I would assume the "feetPosition" variable would solve that, but i've fiddled with it to no avail. Anyone happens to have any suggestions or solutions that come to mind?
     
  2. red3dred

    red3dred Scruffy Nerf-Herder

    Welp, despite getting no response, i've come up a solution that is convenient enough for now.

    Should anyone come up with a good one, do post.

    Mine was pretty simple; Add special species effect that moves the player up from the ground when spawning. It has a counter so it won't trigger again until respawned in some way.
     
  3. JT`

    JT` Phantasmal Quasar

    If you're adding a species effect, you don't need to jink around with dinking around the hitbox or anything, at least as far as breathing is concerned.

    Point of breathing can be changed in Lua by setting the status property status.setStatusProperty("mouthPosition", vec2) called from the player/effect scope. (Default is {0, 0.75} from player.config.)

    See player_primary.lua, where it is used, although you won't have to override it there. =)

    I've always just seen unconventional outfits refitted to the new model spritesheet with species-specific clothing rather than trying to attain any vanilla semblance, so I can't help you there. I seem to recall someone was offering a mod that would automatically hot-swap clothing articles with species-specific clothing whenever they were equipped, though the community response was lukewarm.
     
    Last edited: Feb 26, 2019
  4. red3dred

    red3dred Scruffy Nerf-Herder

    That's pretty good, but hey, lemme assure you that i've messed with the value of "Mouth position" in the species .config many a time, and it only seems to change the position of chat messages when talking. Fiddling with yielded no results in helping a Poptop not drown on land, though, if the species effect is the only way that works, i've got some questions as to why...

    On another note, however, the changes are not only for the breating effect, but also helps with other things greatly.

    Ah, thanks for the script pointer aswell. That's going to be very much helpful.

    I know of the ACWHCWHA or however that is spelled out... Its a neat mod idea, the "species-specific clothing sprites", albeit, would be a insurmountable amount of work to make all vanilla clothing compatible, only to have users wear modded clothing and instantly message the mod creator saying "mod don't work"
     
    Last edited: Feb 27, 2019
  5. JT`

    JT` Phantasmal Quasar

    You evidently got it already, but confirming that the mouth position in the species config is different than the mouthPosition stat that's checked by script. That stat is actually what controls breathing, by definition. =)
     

Share This Page