#HORSEY TIME ZEEHAW
1 messages · Page 6 of 1
Unless you mean just for the player animations
Which here would basically be the whole point of the framework part
a barebones example gets me, for the fallout animals most of the way there,
for other animals just as quick too,
as i lack the... mental accuity to make things from scratch
XML work is hell. having something to live tune that worked for a horse, when making a Dog or cat mod, is immensely helpful
It would require a bit of manual work to adjust for other animals, but at least most of the tricky parts about when to use pathfinding vs Walk/Run, and how to set up different turns and stuff like that would be done.
You'd pretty much just have to change the animations to use and some blend times
Yea so just share example files on how to add your own riding animations
And the framework handles the mounting part
the day I can tame cats will be the best day ever https://tenor.com/view/chainsaw-man-csm-chainsaw-man-wallpaper-power-chainsaw-man-power-gif-10385735249153601310
Also a lot of animals can already be added without riding animations technically
(also cow riding added when ?)
Yeah exactly, I guess I meant more of a template rather than a full plug and play framework
Haha cow riding would honestly be easy to do
template is the idea yeah 🙂
How important is being dragged off by zombies for first release? Currently you can get attacked by them while on the horse, is that enough for initial release or should I make it so the player can be dragged off with animations and everything?
I don't think anyone would be fussed not having that right away. if you couldn't take any damage while on one that would be the problem
If a horde gets on you, they will actually drag you down with the death animation you know
Yeah true, it will probably look a bit wonky though
Yea
A bit of wonk is expected for a first release anyway!
Its already looking far more professional than most mods anyway
Whos ready for MP to shadow drop when we launch the horse mod just so it breaks immediately
the game itself is an animal modding framework, it's literally just nobody else has actually tried that hard to add one
the whole design of animals is catered towards modders
i think the horse mod will be a poor example since we're already starting to do quite strange things with it
it mostly serves as proof that you can... just make animal mods, before this everyone was sitting about making up reasons why it was probably impossible
Pass me the animation rig, im stocked to do that for practice
Here's the blend file @astral rover
Yeah but I need the exact file that Alex has, to animat the player, not the horse
Yeah we need to standardize this again 💀
Yeah Im sorry I fell off the face of the earth, im gonna update the rig soon and see if we can tackle this rotation issue
Rotation issue?
Oh yeah give me one sec I'll upload one where it has a mounted start position too
I'm using Paddle's yeah
Seems to be a weird interpolation issue where the player rotates 90 degrees on the y axis when switching animations
Never seen that happen
I just noticed it happened when he mounted from the opposite side
Yeah it only happens when blending a vanilla animation with a custom one.
The reason it happens on the second horse and not the first is because the second I approach from a different angle so it seems to quickly throw in another turn rotation between the walk and mount action
If I approach from the center it doesn't happen
What weird trigonometry nonsense is happening here lol
Could alex theoretically solve this? can you use player or horse angles on lua? or even calculate distances?
To be blunt, I dont know much about the programming side of the modding part
Maybe we could look into the files and see if theres some sort of equation being used when the game is deciding what the character needs to do to get to an action?
You can see it more clear here, approaching from dead center, no issue. Approach from diagonally behind, rotation issue.
I think it's because I override the 90 degree turn but not the 45 degree, so the 45 turn node gets thrown in between the idle and mount
I can use both yeah, even distances and everything. But it's not related to the horse even. I get this same error on every animation with that rig
Hey, I noticed the rig is using quaternions, are u sure zomboid can take that? or when exporting automatically turns into xyz?
Then it might be the quaterions or some
Beats me dude, I've just been using it as it was created 😄 If it's an easy thing to switch and test I can do it
i would be shocked if the game actually uses xyz rotation
4d math would be more shocking tbh
well, if fbx supports it, pz does, they use assimp for parsing so there isn't much room for error from tis
at worst it's converted automatically
Also to note is that the animation works perfectly fine once it finishes blending, it's only during the blending of a vanilla and custom animation that there's an issue
So if it didn't support what the animation uses then it shouldn't work at all I feel
It's certainly worth a shot
Although I do doubt thats the issue as Alex is right, if it didnt support Quaternions the animations shouldnt work at all I think
Yeah, same conclusion here
Ok I'm gonna see if I can do a test mod and look at the animation data during the glitch with -imgui
We can slow down the game with it and see the specific variables as it's happening
If it's any help, the issue also triggers if I try to use deferred rotation in custom animations:
<m_DeferredBoneName>Bip01</m_DeferredBoneName>
<m_deferredBoneAxis>Z</m_deferredBoneAxis>
<m_useDeferedRotation>true</m_useDeferedRotation>
The vanilla turn animations use this setup, but if I try to use it with custom animations it does the same rotation glitch where it lies down. On vanilla animations it makes the player turn normally
Good idea
I have a very basic test mod setup that I uploaded last time
Yeah that would be useful, I think I have it downloaded
Changing deferredBoneAxis doesn't fix anything btw
Should be this one https://steamcommunity.com/sharedfiles/filedetails/?id=3492635963
Oh I've never heard of -imgui
wait that looks super useful wtf
we don't really use it since it tends to crash the game constantly
but the tools in there are theoretically quite useful
Oh lol, well damn
Its working fairly well for me
It has to have something to do with the animangle value
That is so damn cool man
Ill make it go slower lol
Does that also have to do with b42 animations being broken?
Why is the float so big aswell??
Wonky is fine!
But also we don't need to release super soon, I know lots of people are super excited. Like I said before, if we need to take more time to polish this it's fine. 🙂 But if you think we should release asap and then push updates, I trust you
I guess we are all trying to avoid development hell, at least the main people
Here's one that I got as slow as possible
Its when almost nothig is weighted??
Why are there duplicate Bob_TPose weights?
thats ur video 💀 no idea man
IMGUI can show that ? Interesting
That is likely due to the 2dblends system. It keeps all animations active and then just switches the weight between them depending on movement/aim direction
I can definitely see how it would be annoying to leave a project open, I'm just saying I am not demanding for it to be finished asap, or be kept open until it's fully finished and reminding there's plenty of time so no need to feel rushed! ☺️
Thanks for jumping back in to help
Or it could be that the same animation is used for several xmls
I feel you! I think getting something out where there's a very solid and nice foundation is what I'd like to aim for. Where all the basic animations and mechanics are working to an acceptable level (no insane janky movement or broken stuff), and then more stuff can just be added on as we go
Yeah No EA slop please
so the 'angle' variable is the player input direction, and the 'animangle' variable is interpolating towards 'angle' until it reaches it
But that mostly seems to pertain to the z axis
i always go for 'don't release until the core features are (close to) perfect'
Yeah exactly, that's the vibe
Isn't the solution to force the player to look in the right 90deg angle before triggering the animation ?
Like simply at the end of the path finding force the player to look at the right direction, or at the start of the mounting timed action ?
Well dang looks like I need a different sound system than the in-built one.
There's no volume control and changing volume on the sound clip in the script does fuck all. It also plays the sounds longer than it should and doesn't blend well at all when going from walk to trot to gallop for example.
Luckily I can re-use the system I have for my skateboard
either way the bug with the rig really needs to be fixed
For sure
But the player wouldn't notice that any way
That's what I do currently, but it seems there's like one tick when doing 45 degree turns where it sneaks in a quick vanilla animation. But I think I know how to fix it easily, probably just need to allow one tick between the turn and the action animation starting
Ah wait I know what it is actually. When I was setting up the mounting stuff I had an intermediary animation between idle and mounting, but it's no longer necessary. Removing that fixed it
Yeah, im sorry its taken this long, had a lot of life happen
Is there a way to limit the zombie attacks to just your legs. Would be weird getting a neck laceration when up on the horse
Technically yeah I'm pretty sure, I haven't done super much with the attack/damage systems yet, but I think you can basically "hook" into the hits you take, negate the damage and then apply your own instead. But it requires quite a bit of code to do I think, so maybe that will be one of the early patches unless I can solve it quickly
Do you have zombies attacking the player while on the horse animations?
You mean like a hit reaction animation while on the horse?
If you have the sound emitter object you can't adjust volume?
yeah
I haven't actually looked, but I'm 99% sure the sounds played from the animals via the xml events don't come from the sound emitter, but I will double check
That's so weird
But I wouldn't be too surprised if they devised a new system for animal sounds
i'm a little surprised it can ignore the sound script's volume
Yeah this one stumped me, did not think it was possible
Although, I didn't actually do a full game restart between changing volumes
I'll try that just in case
Nope full restart did nothing. Maybe if I remove the animal category
It is actually using the emitter, let me see if I can figure out how to change the volume using setVolume but for a sound that was started using an event. I've only done it with sounds I stary myself using playSound
That didn't do anything either
I don't have any no, I was just gonna use the vanilla ones and disable the legs from animating basically
You'd need to have the sound ref number somehow
Yeah exactly, I have no idea how to get that from a sound played outside of my own code
Changing the general volume may not do anything to actively played sounds?
You can also check if a sound is playing using string
That may return the ref id?
Doesn't seem like it :/ The isPlaying(string) only returns a bool
Seems footstep sounds are hard coded to some specific sound volume
Oh yeah footsteps are notoriously hardcoded for players
I guess I can just lower it in the sound files themselves, and to interrupt sounds so they don't overlap I can use emitter:stopOrTriggerSoundByName(string)
Actually no I'll just play the sounds myself, I will probably want to have more control later on anyways. I can keep some stuff with the base system like the idle/stressed/death sounds and stuff like that
It'll also be nicer because then I can use longer sound loops which will make it much nicer to listen to during long rides
Will it also randomly neigh and do that sound where it sort of blows raspberries?
Sure will! I'm gonna just use the regular system for that though because it's already tied in with certain idle animations that play at random.
I will only play my own sounds for the walk/gallop/trot, and maybe some combat stuff
Awesome
Tell me if these are any good
Also I just noticed these I missed them it looks so good !
Nice I'll check em out in a sec!
Hell yeah these are awesome!
I'm guessing this one isn't done? 😂
Wtf 😂
Got the different walk/trot/gallop sounds in and working
I can add a slider in mod options for volume
Hell yea
Even with different sounds based on the material too
You could add it to the sound page directly
Oh yeah smart
I know in B41 it required DOME to access the sound menu
Idk for B42
But DOME should be easy to reimplement in B42 I think
dome is pretty simple
I only have different sounds for concrete and "dirt" surfaces (sand, gravel, dirt and grass all count for that sound)
But adding more would be easy
What is DOME?
Yea, now that I understand way more how the Lua works I finally understood what DOME was actually doing
it's a b41 mod that just caches every call to ISBaseObject:derive()
which sometimes gives you access to otherwise file local objects
Used to access any object made with derive, even ones that aren't accessible in global
Ooooh
So the sound option panel wasn't accessible globally
I think I'll fork his mod and reimplement it in B42
Bcs I'm sure that'll be useful to some people
you probably won't even need to change the code
Yea that's likely 😄
Did the hotkey menu require DOME for b41? Because it doesn't in B42 so maybe the sound menu doesn't either
Hmmm mod options would provide the tools for that
i think the hotkey menu is just a weird global table
Oh yeah true
I always do sandbox/mod options for all my stuff instead of putting them in vanilla menus
OH MH GODDDDD
Looking phenomenal
I've got maybe a stupid question but would it be possible to randomly pick sounds?
Yea
No reasons for not being able to do that since I believe Alex here triggers the sounds from Lua ?
Yeah definitely possible, it's indeed triggered from Lua using the emitter
But right now I'm only doing the movement sounds with Lua, the idle/eat/death sounds use the vanilla system instead
Now also works on nearby non-ridden horses
btw how did you layer this? did you do it in blender or another program? i'm like finally sitting down at my pc and gonna see how this looks on the other textures 🙂
oh jk there we go
i think they look pretty nice on all of em
i can't upload to the github so they're on the trello - "GBASHADEDNEW" "aqhpSHADED" "APHSHADEDNEW"
looks great!!
Awesome! I'll put in em and try them out today!
Also I for sure thought you named them by just slamming your fists on the keyboard lol, but I see now they have words
what breed is the GBA? I think AQHP is american quarter and AP is american paint, but not sure about GBA
Ah is it appaloosa? The coat looks like it for sure
They look great!
Although I noticed a weird thing with the lighting on it (not related to the texture, seems like something else), look at this video.
When facing directly left/right it's darker than other angles
I can ask in the modeling channel if they know what's up with that
I think that's the shader being poo poo
It also ups the contrast and lowers the saturation for colors iirc
Random critique but if it's not too late you should consider increasing the thickness and length of the tail. It's really the only part of the model that looks off to me. Totally not saying this because I started watching 1923
Also the lack of a Maine
oooh yeah, that's true they don't have any manes
Ehm...i know I'm not a modder but i have horses, and if i can give an hint, the anterior legs they should be thinner at the area of the hoof
Sorry if i disturb
do that
Input is always welcome!
I think in the case of the legs, we want to keep the base horse pretty close in visuals to vanilla stuff. If we make it too detailed it will look out of place with the rest of the game.
But I'm sure there will be a lot of reskins and different models made for it after we release, so maybe someone will make a more realistic version 😄
Action and idle sounds are in (eating, idle snort, stressed, pain, death) Need to just test the stressed one
I've been lurking here and checking this every now and then, you guys have been making insane progress. Literally coolest PZ project I've seen. This could be caused by a normals issue, at least to me it looks like something like that, but idk to which degree PZ gets broken by weird normals. Could be worth checking if they are set proper in Blender
Thanks for the input! I definitely see inverted normals get mentioned often when looking in the modeling channel, but I have no idea about that stuff so not sure how to check. Maybe @astral rover would know?
If you send me the blend file or tell me where to find it, I can give it a check
Oh sick, thanks! This is the one I'm using now
Doesn't look like they were that wrong, still, I tweaked them a bit, so may be worth checking if it did anything. If it didn't, it may be what chuck says
Awesome I'll test and see if it changes anything, thank you 🙌
Yeah! A grullo dun appaloosa 🙂 You've got the rest right!
@thin crescent @brisk iris Maybe the tail can be changed in the future, I think it fits fine for now. 🙂 as for the hair, I think we decided we wanted the hair to be modeled separately so that it can be customized by the player. (So it'll go on like a hat, accessory item)
We were having that issue for a while!
Aaah I see! That makes sense
Hell yeah dude that fixed it! Thank you so much!
Awesome to hear 🙂 looking forward to see more of this mod
Yay!! Thanks kyne!!!
So what was the problem ?
thank god, that was really annoying me 😅
it does make sense for it to be normals now that i think about it
@stoic lily can say what he did to fix it, but from the looks of it, the normals were inverted? Facing left/right made it darker, facing up/down made it lighter, which is the opposite of what it should do
I tend to always set to face, then recalculate the normals, and then apply the weighted normals modifier on any models I do to ensure the normals will work fine, that's what I did here aswell
Re manes; I think to make them clothing we'd have to have 3 separate meshes for one mane. One that follows DEF_Head, one for DEF_Neck1 and one for DEF_Neck2.
If we keep it as one mesh we'd either have to figure out how to weight paint it like human clothing is done, or it will just track one bone which will make it look weird when the horse turns their head/moves their neck.
hmmm, we'd have to look into if weight painting is possible, from what i know the vanilla examples of animal clothing wouldn't use it, but since everything's built on top of players it might still be possible
These are good feedbacks tbf
And we can still improve the model
Just move a bit the faces to improve it I guess and still keep existing textures
Manes being customizable is ideal, however not totally necessary 🙂
We could try a base mane that all the horses have(?) but I'm not sure
@eternal briar can possibly assist with clothing and weight painting questions since they do clothing mod packs
Ill look into improving the tail
correct.
Yeah things can definitely be improved and changed, and yeah it's a valid critique for realism.
I think I'm gonna go with what Alex said, I'm sure someone else will make an update if not us in the future.
Making a model change this far down the line might make a lot more work for us, specifically Alex and Paddle(?) I'm assuming, unsure if it's true though
we don't actually go through the clothing system
the fact that they're called 'attachments' worries me that we probably can't weight them
Ahhh
I could make the tails model more volumous without it affecting textures (maybe)
It could be nice but it's not totally necessary! It fits in with the rest of the game aesthetic, honestly.
When I look up base game animals or other modded animals, everyone seems to have a straight stick situation.
And if textures need to be updated then so be it 🙂 not stressing
This is from when I was talking to Nik about it, not sure if that's relevant to you at all
I'll see if there's a way to equip stuff like clothing to the body locations I made instead of attaching
there is a way to force clothing, but if its not weighted its bad news
otherwise. when the mods out ill overhaul the horse model with proper stuff.
You have access to the model now 🙂 feel free to try something out an show us how it ends up or wait if you'd like no rush
Actual worn clothing is a no go :/ Looking at the decompiled code, clothing items are equipped using setWornItem but IsoAnimal never calls initWornItems, only initAttachedItems
So unless attachments can be weight painted we might have to go with solid static meshes and just be smart with bone usage
initWornItems is public, could we just call it?
Hmm, interesting idea
What about ItemVisuals
Could you add an ItemVisual which is the clothing piece ?
I have no idea, I'll do some digging but this is not an area I'm familiar with at all
This article is about ArrayLists of ItemVisual. For the unique class, see ItemVisual.
ItemVisuals is an ArrayList of ItemVisual objects. It can be used to modify the current visuals of clothings of IsoZombies but also IsoPlayers.
Check this
I've seen one or two applications for IsoPlayer clothing, mostly was that mod which allowed you to swap your clothing to other clothing visuals
For zombies it's basically the only method to properly change zombie clothings
And since IsoAnimal inherits IsoPlayer ...
Maybe there's something to fuck around with on that part
I think it might be a no-go unfortunately, it seems to require a HumanVisual but the horse only has AnimalVisual which doesn't seem to be wired up to accept clothing at all (unless I'm reading things wrong)
public ItemVisual addBodyVisualFromItemType(String string) {
IHumanVisual iHumanVisual = Type.tryCastTo(this, IHumanVisual.class);
if (iHumanVisual == null) {
return null;
} else {
Item item = ScriptManager.instance.getItem(string);
if (item == null) {
return null;
} else {
ClothingItem clothingItem = item.getClothingItemAsset();
if (clothingItem == null) {
return null;
} else {
ClothingItemReference clothingItemReference = new ClothingItemReference();
clothingItemReference.itemGUID = clothingItem.m_GUID;
clothingItemReference.randomize();
ItemVisual itemVisual = new ItemVisual();
itemVisual.setItemType(string);
itemVisual.synchWithOutfit(clothingItemReference);
if (!this.isDuplicateBodyVisual(itemVisual)) {
ItemVisuals itemVisuals = iHumanVisual.getHumanVisual().getBodyVisuals();
itemVisuals.add(itemVisual);
return itemVisual;
} else {
return null;
}
}
}
}
}
Hmm
declaration: package: zombie.characters, class: IsoPlayer
getItemVisuals on an animal
This gives you their ItemVisual array
idk what this is
But I've never ever used this
TIS have very little respect for the liskov principle 😅
Maybe I should read more into it, this is what seemed like the function to use when setting an itemvisual
To modify ItemVisuals you just get the ItemVisuals array, add, remove or modify clothing then update the model
All this are available for IsoPlayer and IsoZombie
No, just read the wiki page I sent
It explains everything
Okay I'll give it a shot and see if it pulls anything
What's that ?
basically: any operation that is valid for type X must also be valid for every subtype of type X
Was GameEntity a thing in B41 ?
https://demiurgequantified.github.io/ProjectZomboidJavaDocs/zombie/entity/GameEntity.html
I don't remember it, IsoMovingObject inherits it
declaration: package: zombie.entity, class: GameEntity
no
Shit I'm not crazy then
This seems to be networking stuff ?
Lol what the actual fuck
https://demiurgequantified.github.io/ProjectZomboidJavaDocs/zombie/entity/GameEntity.html#getFluidContainer()
declaration: package: zombie.entity, class: GameEntity
not really
You can getFluidContainer of an entity ?
this is the game's implementation of ECS
yes
WAIT
You can set an animal with a freaking fluid container lol ?
That's incredible
sorry to interrupt - uploaded two more updated textures with the same shading layer 🙂
american quarter horse blue roan is "aqhbrSHADEDNEW" as well as a leopard appaloosa "LPASHADEDNEW"
❤️
Curious about this too
https://demiurgequantified.github.io/ProjectZomboidJavaDocs/zombie/entity/GameEntity.html#getEntityNetID()
declaration: package: zombie.entity, class: GameEntity
all components are (or should be) valid for all entities
TIS have even invented a new problem i've never heard of before, where operations in type X are *only* valid in a subtype (isogamecharacter has code that literally crashes if it isn't run by isoplayer, other subclasses have to override that method to prevent it)
declaration: package: zombie.scripting.entity, class: GameEntityScript
An entity can be associated to a mod ID and module
this will throw an exception yeah, you shouldn't have to use this function though, it's fine to interact with itemvisuals directly
The component system being modded via Leaf is even more interesting since entities can have those actually
well they're script objects
Zombies and players are defined in scripts ?
no, those probably aren't associated with them
everything is an entity, but not everything has an entity script
entity scripts seem to just be for tile objects
it's sort of awkward but more or less the natural result of switching to ECS so late
in a standard ECS implementation you would not have entity subclasses, components would provide all functionality for an entity
but it would be pretty insane for them to separate everything out like that now
Yea that's what Vintage Story does I think
Yea gl with that whole code rewrite lmao
don't worry there's several armchair devs who say they can rewrite the whole game in a different language in a week, i'm sure we can get them to do it 😅
Wdym lol
Are you talking about aoqia ? 😂
not really aoqia, just a general pattern i've noticed of new people joining the server, saying something like 'wow this game's code sucks, i could do it way better, they should've done it in <my favourite language>' and then vanishing
So I can add to the list, just not sure how to make it render
LMAO
that
reset lua like in the wiki page
i don't think this is going to work
i looked a bit more into it and it looks like we are dependent on a humanvisual to actually render something
Yeaaa idk
darn alright - it would've been cool to have a customizable mane but it's really not something we need to sweat about, if someone really needs it they can do it on their own time and energy.
i'm not really sure why isoplayer has itemvisuals, it doesn't look like they do anything with it, the humanvisual itemvisuals are used
Bcs the game code makes sense, did you forget albion ? 
declaration: package: zombie.core.skinnedmodel.visual, class: AnimalVisual
I suppose you guys tested it ?
does nothing
Fucking hell
it only exists because the base visual class requires it, but it's not really clear why there is a base visual class or why it requires something that only one of two subclasses implements
don't judge this is very very unfinished
but i've been straying away from doing these darker coats because i just don't know how to go about the shading/highlighting. anyone have ideas?
i'm also not using a straight black, i'ts a really dark brown
i tried it a few times before, but i just don't know how to make it look good.
Maybe a super dark blue or purple instead of brown?
maybe i need to fiddle with the values but i feel like when i've tried dark blue/purple it's very noticable or it needs to be set really dark
Oh yea I remember y'all talking about that.
we'll see how it pans out!!
like a blue grey!
Dang, yeah that's what it seemed like when I was poking around
I think that might be the way to go for a black if you don't want it going full void
We could kind of cheat it by just adding a bunch of bones that relate to each other, and then add meshes to each bone. So for example instead of one mesh that deforms with the bones based on weighting, we have 10 meshes that just follows 10 bones that go up the entire neck and head and curves with the movement of the neck/head.
So each mane is made up of 10 identical meshes that gets added in a row from the bottom of the neck to the top of the head as attachments. If we make them overlap and clip into each other a bit and make them all the same color with minimal added texture/shading to it, it should blend pretty seamlessly right?
That looks good as a black imo!
@restive steppe i'll definitely try it out - i'm probably just being too picky for my own good lol
Totally fair though, honestly black is such a funky color, especially when getting it to match other colors well
gosh yeah, it can be silly. especially when color matching black! like the blue roan (grey horse) is very much like a cool blue undertone, whereas the overo (Black/white horse) is a warm brown undertone
Hm, really it just comes down to tricking the eye into thinking it's black on the colors it's being compared against, so if you're going for a warm undertone, maybe one of these?
do you happen to have the hex codes for these? o: if not, i can probably just eyeball it
thank you ❤️ i'll see how this goes! and they look warm/light enough that maybe the shading layer we already have might just work 🙂
Its the normals. they werent reset when making the horse thing, at least that happens on blender
They werent, whoever made the model probably reccalculated them, I just learned about resetting normals like a week ago 😅
Yeah its ez bro
Im pretty sure I did the normals correctly but ill take another look
Gray one is my favorite reshade till now
Chuck did a great job with the shading layer, I was skeptical at first but it really breathes life into my textures 🙂
The normals seem good on both sides, so I don't think that's what's causing the shading issue
i don't really know what they did to them but it did fix it
What did?
Apparently they inverted the normals
Whatever that means
#1345522089720942665 message
i don't think he inverted them
I'll have to look at what he did, sounds useful
Thanks for helping us!! Would you mind walking us through the process you did for future reference?
something happened idk lol
It wasn’t inverted normals. Just woke up so I don’t have blender in front of me, I can do with screenshots in a bit, but basically- I first “set to face”, an option in the Mesh menu, I think it’s also under Shading or Normals, can’t remember the name of the menu. It also could be “Set From Face”, can’t remember which name blender uses. This I normally (haha) use to fix lots of normal issues
Then I “recalculate from outside”, in the same menu. Just in case there was any flipped, to help just reset it all
And then in the modifiers tab of the model, I added a “weighted normals” modifier and applied it.
The weighted normals modifier gives you very nice shading, and also keeps sharp bits. So if you were to right click on an edge and say “set as sharp”, and in weighted normals modifier click on “keep sharp” it also keeps that as sharp. Just remember to apply the modifier when you’re done with it just in case it isn’t applied on export
Basically just this
This should be cross-posted and pinned in the modeling channel tbh, I feel like normals is one of the main things I see people troubleshoot over there
Oh sweet, the vanilla pet animation works perfectly
Amazing !
@silver holly You put that heart on the butt there on purpose didn't you? 😄
For sure 
😊 ❤️
YEESSSS PET THE HORSEE
Added some mod options for sound volume, walk and gallop speed
HMMMMMMMMMMM
Is there a limit to project zomboid's tile scrolling or whatever its called? like how fast you can move across the screen?
Yea there's most likely a limit if I had to guess
At some point even if it manages to load stuff, your PC will die if you end up going too fast I guess lol ?
What do y'all think?
just wanted to pop in and say~ y’all are doing some amazing work here with this mod! Custom animals are a huge step
especially as a newer pz dev, this project is super inspirational. I cant wait to see how it continues to evolve! 
i forgor the texture
It's incredible how perfectly the animation matches.
Flash horse
As for my opinion on sewerrabbit's textures, I don't think they're bad. I like the colors, and they add variety to the horses. However, I see a slight shading (I don't know if I'm explaining myself well). Maybe it's because I'm used to Chuck's style and it's just my personal preference to see the horse's muscles well defined. It's just an opinion, I hope you don't take it the wrong way, I know there's a lot of work to be done and all this may be subject to change.
Haha that's okay, I appreciate you being so kind about your feedback and I also appreciate your feedback. But I have done all of the textures so far 🙂 Chuck has only done the shading layer.
Unless chuck did other textures for the model? I haven't seen them if he did!
I could probably darken the shaded layer on this one and make it stand out more
Seems we don't have to worry about TIS dropping their own horse anytime soon, so that's nice to hear 😄
@agile shoal I need to ask for your help with adding some bones to the rig one more time 😅
Seems the dead body uses some different shadow calculation function that requires Bip01_Head, Bip01_L_Foot, and Bip01_R_Foot bones to exist
Not sure if the vanilla animals use front or back for left/right foot, but either should be fine to relate to I think
Awesome, thank you! 🙌 I've got some other stuff to work on meanwhile so no rush
That's kind of sad actually ? I would have expected TIS to go straight to dev of horses. Especially as RJ mentioned that the only thing stopping them was zed grab
It's probably a lot lower on the priority list
I'm a bit curious what is on the agenda - the road map iirc was "crafting"
The crafting overhaul was finished although not fully fleshed out as they showed it will be.
The render engine change was a huge thing - maybe cars are closer to the to-do? I'm curious how they'll behave on ramps
i've been assuming the main thing is the missing crafting skills
Ah yeah
Man, it would be great to have control over that more lol
I have so many ideas bouncing around 😅
Having sat with the XP system for so long
They recently added category collapse in the skill window right?
oh yeah, isn't the whole trait and skill revamp still supposed to be happening?
I didn't know there was one
something about breaking up skills more, and experience in related skills would help you gain xp faster
i think traits and skills are a massive mess so it was one of the things i was most looking forward to 😅
I didn't realize this was the horsey thread lmao
oops 😅
#general message
copy transforms or child of?
ykw let me check later on
Both, which might be uneccesary but it works
It's nothing crazy, just dummy bones
I put them in the 'MISC' collection
get rid of child of, in my opinion it causes problems most of the time, tho youd use it to change pivot but keep the rot, I guess Alex could use it for making clothes or something
Oh I should specify its not using a 'Child Of' constraint, its literally just a child of the bone it's a dummy copy of
ah
also Could you standardize the visual transforms of the ik legs and arms of both the character and horse? making them go all the way to the bottom of the mesh?
I just find posing arms a bit annoying tbh
Let me take a look
also why does it have a roll? Im geniunely curious
It probably shouldn't but that number is so absurdly small it doesnt really matter
Also can you describe what exactly you mean by this? I'm not seeing this issue on my end
I mean the control bone, the red circle is at the upper part of the hoof, I'd (personally) move it at the bottom, where the mesh touches the y axis
Oh, I see
its annoying because when it rotates the mesh doesn't pull or stretch so I kinda loose track, But my opinion doesnt really matter, ask alex, he probably should have the final say
I do think it's more personal preference, if you want to fix it you can change it yourself in your own file by tweaking the custom shape settings
I haven't done a quadraped rig before but I suppose that makes more sense
Thank you, I will try it now! 🙏
I think I like how the legs are now, but I can also see why someone would prefer it to go all the way down
It could be because it's the only way I've tried, if it's an easy change to do locally I might play around with it a bit, unless it means I have to change existing animations because then I'll just leave it 😄
Yeah I could see them doing it pretty quick and easy with their internal tools and knowledge, but it's nice to know we at least get to have people play with ours for a bit before theirs is implemented 😄
or they can end up using ours 😎
I think we've got something so special here that people will check it out, even if TIS did release horses the same day we did 🙂
My ex-girlfriend use to say you can never have too many horses
Cleaning up the attachment system so equipping/unequipping goes through the animal menu and has timed actions.
Also set it up so it's easy to add new items, just add any item that has a StaticModel to global HorseMod.HorseAttachments along with the target attachment slot:
HorseMod.HorseAttachments["Base.SpiffoBig"] = { slot = "Back" }
@agile shoal Your fix works! Just remembered to test
There's another issue though, it seems to want to ragdoll on death, and it looks like it needs the Dummy01 bone to do that. But I would rather use death animations I think, since ragdoll is likely to get glitchy.
Trying to figure out if I can disable it just for the horse
Actually wait I don't think it uses ragdoll, something else is going on
did that death animation ever get applied? o: unsure if that's a thing
is this dark enough on the shading layer
yeah, it seems like TIS devs inspire themselves with already made mods
I'm using the idle animation as placeholder for now.
It seems to be that even if you have ragdoll disabled, which animals have by default from what I can tell, it still calls some ragdoll related stuff which I'm pretty sure needs a Dummy01 bone. It's the only bone I can think of that is missing and would be at the top of the bone hierarchy. The other would be Bip01 but we have that already
@agile shoal Would it be easy to have the Dummy01 included in the export without breaking stuff? If it's annoying to change, could you instead try adding a Dummy01 bone like you did with the others?
I don't think the bone will actually be used for anything, but it makes some important stuff fail without it
From everything we've tried, including the Dummy01 parent object seems to break everything but lets give it another shot
Ill also try including a dummy bone
Here's the rig with the Dummy01
Here's the rig that just has a random bone named 'Dummy01' in it
@brisk iris
If that doesnt work there are a few other avenues I could try
Awesome thanks, testing now!
This one works!
Ah nice, time to butcher my horse ball
Hmm
@agile shoal I think we have a bit of a doozy on our hands with the dead horses.
When they die they properly play the death animation and then stays in the deadbody animation and looks fine.
But on restart it seems to clear the animation on the horse and reinits their pose using ragdoll logic or something else that sets a pose, which probably relies heavily on the bones being weighted/related in a specific way.
I think it's happening for the same reason the horse meatballs in the attachment editor view
Hmm, but vanilla animals get put in the exact same pose after reloading a save, so they have a static death pose
I wonder if we can just cheat it by detecting dead horses, removing their bodies and just adding a new dead horse back in
Hmm, I think it's gotta be something with IsoDeadBody:getDiedBoneTransforms() and then reapplying it to corpses
wait I think I'm on to something, but I might need some more bones lol
@agile shoal I'm gonna have to do some more digging, but I think the issue is that Bip01_Head, Bip01_L_Foot and Bip01_L_Foot are not included in the skinning data, which from googling around seems to do with vertex weights? Does that sound right?
I see none of those are in the vertex groups list when clicking on the horse mesh, but importing a vanilla player mesh shows those bones there.
I think if we could have those 3 (head, feet) bones showing in that vertex groups list we might be in the clear
I see, I can add some skinning data for those bones to the mesh
@brisk iris Lemme know if this works for you
I just put empty vertex groups on the mesh with those bone names, let me know if you need the mesh to be weighted with some dummy values as well
Thanks! It's still not working unfortunately, could you try giving it some weighted dummy values just to rule it out?
Lmao
@limber plinth I've been staring at the shading layer you did for a while - It's perfect and I've only just noticed because I had to double layer it but I think the shading on the eyes is uneven.
@brisk iris
Also I should specify this FBX and the last one I posted include the Dummy01 object as a parent, you said that worked, correct?
Yeah everything else is working, all the old animations and everything is all good. It's literally just when a horse tries to set the death pose when loading back in to a game. It seems to need to save some bone data, and for that it needs to go through some ragdoll logic, which gets messed up if it can't find certain bones that I assume are critical to the ragdoll system working. Even though the horse doesn't actually use the ragdoll pose at all...
I'll test with the latest version right now 🙌
That shading might be mismatched to the latest texture - not sure
Hmm still not working. I might have to try the route where I remove and re-add the body, or remove and spawn a new horse that is instantly killed.
Am I crazy but doesnt the game just cache the image of the dead animal and use that to render rather than using 3D models?
Is that what is saved between sessions?
Basically yeah, it becomes a sprite instead, but it seems to re-do that on game load for some reason, or I'm misreading something
The texture hasn't been changed 🙂 It just looks like one of the eye shading is a littleee but taller. Is there anyway you could fix that for me? 🥺 When/if you get time
I see...
Do we know the file that has the logic that does that?
yeah, basically every static 3d object is really a pre-rendered sprite
they aren't saved, it'd bloat saves immensely and wouldn't really improve performance much
It seems to be done by zombie\core\skinnedmodel\DeadBodyAtlas.java from my best understanding of reading through IsoDeadBody it basically saves the bone transforms on death, builds a DeadBodyAtlas, sets that as sprite. On game load it does not reload the old DeadBodyAtlas as mentioned by albion since it's not saved, instead it takes the bone transform data and rebuilds the DeadBodyAtlas with it
Problem seems to be that for the bone transform data to be saved, ragdollFall has to be enabled on the animal, but if I do, I get error:
ERROR: General f:2911, t:1756988056218> ExceptionLogger.logException> Exception thrown
java.lang.ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 38 at AnimationPlayer.getModelTransformAt(AnimationPlayer.java:2088).
Stack trace:
zombie.core.skinnedmodel.animation.AnimationPlayer.getModelTransformAt(AnimationPlayer.java:2088)
zombie.core.skinnedmodel.model.Model.BoneToWorldCoords(Model.java:157)
zombie.characters.IsoGameCharacter.calculateShadowParams(IsoGameCharacter.java:8155)
zombie.core.skinnedmodel.advancedanimation.AnimatedModel.calculateShadowParams(AnimatedModel.java:1885)
Which when I got it last time I traced it to the head and feet bones, but I'm not sure if it actually needs all of the bones to have bip01 version that are weighted or something
Seems to be done in the functions calcModelBounds and calcModelOffset
It's getting way above my knowledge level 😅
That's why I'm thinking maybe it's just easier to re-kill the horse on game load. It saves all the dead body data to modData so it's easy to recreate it at the same death age and state
It's certainly a workaround until we can figure it out better
Seems like this is the function thats at the end of the trace? (in AnimatedModel.java, but this is from 42.4 so maybe it changed)
public boolean renderMain() {
if (!this.animatedModel.isReadyToRender()) {
return false;
} else {
this.animatedModel.renderMain();
this.m_animPlayerAngle = this.animatedModel.getAnimationPlayer().getRenderedAngle();
boolean _boolean = this.body.ragdollFall && !PZArrayUtil.isNullOrEmpty(this.body.diedBoneTransforms);
this.animatedModel.calculateShadowParams(this.entry.shadowParams, _boolean);
return true;
}
}
Yeah this ragdollFall seems to keep popping up everywhere I look, but from what I can tell the vanilla animals don't have this set to true by default.
It's all very confusing
I need to decompile the newest version
For now, probably look into doing that loophole while we try to figure it out
Yeah gonna give that a go now.
Seems easy to use horse:becomeCorpse() but it doesn't go through the death animation so probably gotta do something that kills it differently
Oh it's literally just horse:setHealth(0)
Seems we have another problem.
When putting the horse on a butcher hook it seems to use the animation that is made for the "onhook" state, and uses that transform data to make a deadbodyatlas for the horse on the hook.
So it will look like a meatball on the hook :/
Goddamn red herrings...
The issue was so simple all along lmao
The DeadBodyAtlas is reconstructed using the animation set for deadbody, which I had set and everything, but it specifically looks for the m_Name to be "deadbody", and I had it set as "Horse_deadbody" lmao
It works absolutely fine now
The hook is probably the exact same thing
Hey progress is progress!
Only here are we excited about butchering horses
Hahaha
i love too horse meat
I had to turn the volume off after hearing the stressed out neighing for the 600th time
You're going to turn vegan like how meat packing plant factory workers do
My supervisor is useless, he just sits there, no code reviews or nothing
cute !
Very cute cat
Also, has anyone else's project zomboid been running especially laggy recently?
Not more than usual, but I've pretty much only been playing with the horse for the past month so not the best sample
If I want to run some code when exiting the save, which event is best to use? Or better to hook into some method?
Can't find a clean like OnExit or something
there isn't anything like that
you can hook the exit game button but there is no guaranteed way to run any code if the game crashes
Which is kind of surprising we don't have an event for that tbf
Yeah that's kinda ass 😬
I wonder if I should use that container teleport method I was gonna implement for my bike instead then for functional containers attached to the horse?
It'll be easy to lose all your loot if the game crashes and we can't drop the container from the horse, causing it to get purged
So basically you attach a dummy bag that looks like a container but actually isn't, it's just a visual representation on the horse. The real container is invisible and gets spawned in when the dummy one is attached to the horse. Then the invisible container teleports with the horse and player when they move
Would make it so I don't have to fuck around with the inventory UI which would be nice to skip
My PC is pretty crap and I run like 500 mods. Booting the game and loading a save takes me forever but performance is usually pretty good right up until I enter a car and then it's a slideshow
Wish I could manage to fix those 2 things but I think only an upgrade will do it
as far i know...many people are reporting a lag problem...mostly from when they use cars
I would get it on build 41 as well so it's nothing new.
The problem is related to loading, which I believe is what causes lag. Cars are a trigger that leads to more loading and therefore more lag, although cars are having some problems with lighting.
There are very few things that can cause lag for me, unless I'm moving very quickly around the map (areas not previously loaded), there are hundreds of zombies, or I'm having the chicken apocalypse problem in the chicken coops.
I used a mod to use the processor more and increase the RAM used by the game, which practically fixed the lag
Yes, I know you're the one who did all the textures, and I forgot to mention Chuck (my fault), but I just think that shading effect really adds a lot to the horse's appearance, which is why I commented.
Ahh I see, I was really confused - I read it as you had thought the previous textures were Chuck's work.
Yeah it really adds another layer of depth
Thing is my game has been absolutely unplayable since about 3 days, not sure if it was a mod that caused it because I already checked file integrity, tried disabling all mods as well and it persists, the game is taking an enormous amount of ram suddenly and runnning very poorly on max zoom
I find it strange, is that in the same save, or does it persist in any of them?
Any of them, im restarting the game now to check
Next mod: Kitty Time ZeeHaw!
Could you in theory, scale up the racoon model, slap a saddle on it and make it ridable 😂
I have a question....we gonna be able, while on the horse, to attach to a rope another animal and move it?
It's gonna be funky like in a rp server being a cowboy moving cattlea to another settlement in a world without cars
I think so
@brisk iris based on how it works it seems likely ?
Interesting, I will test it, but from what I've seen the rope stuff is pretty flexible
That'll be nice for the inevitable mule mod, just bind a bunch together and form a mule train to carry all your shit 😄
Also can be possible to make a special saddle for the horse to use it as amule
The player ride an horse and lead another one as transport
Yup, already works, just don't run too far or the rope snaps lol
In that clip the player is holding both ropes, but it can easily be attached between animals from what I can tell
With this u have basically unlocked the possibility to be a cowboy a real one!!!!
Oh that's nice, didn't know there was a global table for contextual action handlers 😮 Could have used that for my rideables lol, but looks like I can easily add the mount/dismount to it
I think in the 42 we can move with max of three animals on ropes... i should try
Here's the new death animation and onhook btw
Nice!!!!
Even better than the cow one
But i remember there is actually a problem with the meat
Thank you 😄 I tried having it hanging straight but it's too long
Man that is perfect
What kind of problem? I have fixed a lot of butchering stuff in my local version. It needed a parts definition file
There is a problem that animals not on the hook give more meat than the ones on the hook
Yes
And tis don't really want to touch it
For now
Is relate to a different size of the animal
Ah that makes sense
Unhooked animals are bigger
There is a mod and a loooong thread on bug's report
O. The tis website
Seems mine don't have that same problem, right now I have disabled varying sizes for them, maybe that's why
Ok i just wanted to say so un don't have to patch it later
And again guys u are making an amazing job.....
I butchered on hook and it gave 12 pieces of beef and 6 steaks, butchering on ground gave 2 beef and 3 steaks
I appreciate the heads up!
Animations are great but damn that a big horse!
Contextual action ?
Basically when you press E (or your bound interact button) it goes through a table of handler functions and does an action based on the criteria met.
lua\client\TimedActions\ISContextualActions.lua
So when you go to an animal and press E, it calls ContextualActionHandlers.AnimalsInteraction and you will try to milk or shear first, and if it can't it will try to pet the animal.
Using that I can just hook into the AnimalsInteraction and add a check for mountable/dismountable horse before the pet action.
So now when facing the horse and pressing E it will try to mount from closest position. When mounted it will dismount
But you can also just add a function to the table and it will get called when pressing E.
So for my skateboard/bicycle I could use that instead of wiring up my own custom key handler and key bind
Now it does the action based on which attachment location you're closest to.
If you're close to the head you will pet, close to the sides and you will mount.
Also added the dismount action and animation
It could be a bit smaller for sure, it's like 15-20 cm (6-8") too tall it seems when looking at average horse next to average human
Actually maybe not
Yea idk if it's the model or the scale of certain tiles when side by side with the horse
oh wait yeah the model I use in blender for animation reference is scaled slightly smaller than the in-game one
The horse is a bit big
Glad I'm not crazy
The hook really put it in perspective because not even the cow is that big in comparison
How does it look riding into a garage at that height. Will probably end up using those as makeshift Paddocks when on the road
I shrunk the horse a little bit, but your head clips through the door a little bit, but it's not very noticeable due to it getting lowered opacity when getting close
Oh sick, someone posted a full guide a few days ago on how to add animals to the map over in the mapping discord #1361696212277006570 message
I think we're getting real damn close now
That looks great anyways, I had this image of the head poking out the roof haha
Oh haha no no it was never that big 😄
This is at 0.6 size, it was 0.62 before I shrunk it
I see, that's something I had learnt about some time ago but forgot about it. I need to use it for my mod too instead of checking pressed keybinds
Wait how do you check which is closer ?
Oh yea you can get the attachment points right ?
Big horse
Some Clifford The Big Red Dog looking horse 😂
Exactly yeah
He needs a steam account so he can be co credited for the mod
He's been more of a hindrance lol, always yelling at me for food and stealing my chair
@brisk iris by the by @agile shoal Unsure if it's already on yalls to do list but was the model warping ever solved?
Oh, do you mean the two front feet of the horse?
I think I just need to roll back to an earlier version before those bones were weighted and stuff
Or do you mean the character rotation in the animation?
Yeah the front feet - They were always funky like that when idling
Oh really? I must have never really paid attention
Let me go back and check some footage
At least I remember this always being a thing, it gets fixed in animations but then goes back when idling
Huh, yeah you're right, it's in very early versions too
Only the front legs too
I wonder if I should just add some slight movement to the bones to the idle animation
as a quick fix
I added just one frame where they were moved just a tiny tiny little bit and it fixed it
Is this more how a horse would stand while idle?
I believe so
I cant find much reference online about how horses are posed when idling
Yeah that's perfect 🙂 Only other thing you could do is put the back foot up, it's just a sign of relaxation
Gotcha! That's an easy fix, I can do that
Would that be something they would do rather quickly after moving, or more of a thing they do after fully relaxing?
If I add it as the default Idle then basically anytime the horse stops it will lower its neck like that.
But I could also trigger it less often, and have the animation itself be long, so it would stay in that position for a while, but not immediately after stopping every time.
Kinda like this?
Definitely something they do after standing for a bit, figured it would just make a nice idle 🙂 it would be awesome to trigger less often!!
Perfect 
Hell yeah, figured out how to add new objects as hitching posts just using sprite names 😄
Basically have to first add CanAttachAnimal on the sprite property, and then hook the ISAttachAnimalToTree and add the object to the square´s special objects list before it calls the setAttachedTree(object)
Wait we couldn't do that ?
Might as well make it a patch mod to allow players to attach any animals that way
Yeah I thought it would be a bit easier, but the IsoAnimal.java has this block:
for (int int0 = 0; int0 < square.getSpecialObjects().size(); int0++) {
IsoObject object = (IsoObject)square.getSpecialObjects().get(int0);
if (object.getProperties().Is("CanAttachAnimal")) {
this.getData().setAttachedTree(object);
this.attachBackToTreeX = 0;
this.attachBackToTreeY = 0;
return;
}
}
So strictly looks for a special object with CanAttachAnimal property
This is the reattach of the rope that needs to happen. You can attach them to non-special objects, but they won't re-attach on the next tick so it does virtually nothing
If anyone has the energy/patience to go through the sprites and pick the ones that could be nice to add as hitchable objects, that would be a huge time saver so I can work on other stuff
I can definitely sit down and do this 🙂 How do you think I should pick sprites/look at them?
And should I just make a list in a google doc or on the Trello?
Thank you! I think the easiest way would probably be to open the .pack files
You can open the pack files by downloading the "Project Zomboid Modding Tools" which can be found by enabling the tools in your steam library. (Image 1)
After downloading do this:
- Open the modding tools and select the Tile Zed option.
- Select from the top menu Tools > .pack files > Pack Viewer (Image 2)
- In the pack viewer, in the top corner, select file > Open .pack (Image 3)
- Navigate to
...\Steam\steamapps\common\ProjectZomboid\media\texturepacks - Select a pack to open (I think only the Tiles2x.pack is relevant tbh)
- Hover over an image to see the sprite name
Then I think google doc would be easiest for me to copy in a nice format after, just a list of the sprite names would be absolutely amazing
Thank you!!! I'll get started in a few minutes 🙂
Awesome, thanks again! It's no rush so don't go crazy staring at a bunch of fence posts 😄
We can easily add more later as well
i'm assuming this one wouldn't get added since it's just leaves?
or like these ones?
🤔
Yeah exactly that one wouldn't make sense, only stuff that would realistically be able to have a horse tied to it. So like different lamp posts, fences, construction beams, stuff like that
And you can skip all trees because they work by default
ops
Sorry I should have led with that
lmao all good
So to "pause" XP gain, do I basically just listen for the AddXP event, and then remove the XP that was gained using player:getXp():setTotalXP()?
Id say that horse is average size
If you want, I can collaborate on this, I’m quite familiar with sprites. @silver holly
I made a list of nearly 100 last night 🙂 I can share the google doc with you if you wanna add
Ok, you definitely included them all. Great job!
Maybe you can add something I didn't see 🙂 I dm you the google doc
Ok, I’ll check it out.
Horses can now mate and have foals (which are just scaled down horses 😄 )
now how far out of the realm of possibilites would it be to expect some in depth horse breeding in the future? maybe something like minecraft where every horse has different stats for speed and such so if you breed 2 fast ones you get a realy fast one
can the game even do something like that?
That's all implemented already, the vanilla animal system has everything set up for that to be handled, including mutations that can produce defects (sterile, slower, less health etc.)
I think we should provide genetic info based on animal care level. So at level 1 if you check the animal info you just see the basic fed/thirsty/pregnant status, but if say you reach level 10 then you can see the full genetic breakdown of every horse, so you can selectively breed for certain traits
If I made foal skins, how easy/hard would it be to try and set the foals go spawn with that texture only?
I'm not trying to pile more onto your plate BUT if it's ez then I'll make some foal textures
Super easy! Each breed has texture, textureMale and textureBaby to set
YESSSSSSS I'll get on that ASAP 😊
Also! @narrow lynx had an interesting idea? He was thinking about adding rocks as something horses can tie off on?
Personally, I think it's a fun idea and I'm sure useful in game but it doesn't make sense in my brain
Hmm, like you would tie a loop around the bottom of a big rock (like boulder sized) or something? I could see it working for some rock shapes, but not sure if it logically works for the rock shapes that exist in game
I could make a new tile that just looks like the wooden stake sticking out of the ground, and we could allow people to build that on dirt/grass if they have a wooden mallet with them, and then tie the horse off of that.
Like a portable hitching post you drive into the ground with a mallet
But I feel a scared horse would tear that shit out with 0 effort
Logically and realistically, it doesn't really make sense especially since most of the rocks in game are like flat, round boulders.
BUT I know it's a video game, so I didn't wanna just shoot down the idea because it's not realistic enough lol
A portable post is a good idea, I do like that!
And yeah you're right, in real life a horse would tear that out of the ground BUT also I tie my horse to bailing twine so that if she pulls it will break instead of breaking her neck - A lot of people use twine that can snap easy if the horse spooks
The stones I added are SolidTransparent stones, medium or large. I added some sprites to the list—feel free to take a quick look at the ones I added and remove any you don’t want.
That makes a lot of sense actually, the rope that restrains the horse is set to snap if the horse gets far enough away, so I guess hitching is more about keeping the horse there while it's calm, which a wooden stake would accomplish. If it gets spooked it would run away and snap the rope
@silver holly I'm building a stamina system for the horse so that after galloping for a while it runs out and needs to trot/walk/idle to recover before it can run again.
What would a reasonable stamina drain be? Right now the stamina is from 0-100 and drains at 1 stamina point per running second.
So the horse can run for about a minute and a half before needing a bit of rest.
Can they gallop for long periods at a time?
A minute and a half is great I think o:
I mean really it's gonna depend on the horse but in general horse races are only like 2 maybe 3 minutes long
If anything maybe if you can do a point for every 1/2 second or vice versa(?)
Yeah sure can! Maybe for gameplay purposes we let the default values allow for 3 minutes of run time, and then you can find horses with better/worse cardio that affects maximum stamina and regen rates
whatever plays best imo, no point trying to be realistic because in default game time a horse should only be able to run for a couple real seconds 😅
The goal is playable and realistic
Very true!
I feel like 3 minutes at max speed is very forgiving considering horses don't need gasoline 🙂
I will make most of these as sandbox options as well, so it can be tweaked to peoples liking. But we should have a nice default that we all think feels good as a base
Did we have a horse skeleton model btw? I see one in trello but it's not rigged or anything
We have one but I haven't looked at it
@karmic vortex made it if I remember right!
🙂
I found this one, but it needs to be rigged the same as the regular horse so that I can apply the death pose to it
Nope
Oooh okay yeah
There are a few things needed for the dead horse stuff that I need help with as it has to do with modeling and texturing.
- Skeleton mesh that is rigged with the same rig as the regular horse so I can apply dead pose animation
- Texture for when the horse has been skinned
- Textures for the skeleton, bloody and non-bloody
- Separate the head into its own mesh so it can be made into a "Horse head" item (will be fun to see how long it takes before the first The Godfather reference)
- Make the headless horse into its own mesh
- Repeat step 4 and 5 for the skeleton
- Make a "carcass" model, gonna look at some vanilla versions of that to see what they look like
I can do the texture work for skinned and bloody 🙂
Also we don't have to use that model if it is gonna be a pain to rig and mesh
I can do that but I might be busy tomorrow, I can do everything you asked for there
That would be amazing, thank you so much! No rush, I've still got stuff that needs sorting
But we're definitely getting somewhere!
I've got the stamina system working and I tested mating which works well.
I think today I might try to get shooting from horseback to work
idk. thoughts?
at first i was thinking about doing it like how red dead did it with the major muscle groups being visible
'
but that seems hard to do with my mouse and pz's way is much simpler
this is bugging me
This would be a sick Metal album cover art
Maybe a bit less blood to match the vanilla carcasses?
Looks good nontheless
Are you telling me you've been drawing with your mouse this whole time
Holy shit you're a madwoman 😆
less blood like paddle said and I think some more gaunt detail on the face like you can see on the sheep and it would look on par with vanilla
and yea drawing all that with a mouse is insane good stuff!
gaunt detail - like sunken eyes, shriveled lips? o:
yea the dark shading on the eyes and it looks like they tried to make them have visible teeth
since it's meant to be a skinned corpse there wouldn't be any lips
they just made little zig zags haha
So I think combat is gonna be a bit tricky and might have to wait.
The aim state is not very friendly to work with. I basically can't find a way to nicely limit the direction the player can aim in while mounted so they don't spin on the horse.
I have some ideas on how it could be done, like for example I can fully disable the turn delta, so I could theoretically set it up so that if I aim past a certain angle relative to the direction the horse is facing, then it disables the turn delta so they player doesn't turn.
Then when moving on the horse it re-enables it but only while aiming in allowed ranges.
It'll be pretty messy though.
My other idea is to make basically 4 different aim animations. I can control the twist angle of the torso before it starts turning, so I should be able to have one animation where I aim forward (relative to the horse facing direction), two animations for aiming left/right and one for aiming behind and then rotate the player in the animation to face the correct way, letting the torso twist handle the angles in between the animations.
I think the second option will be cleaner, but it will take a lot of tinkering to get the animations lined up nicely.
What I could do is add a kick that replaces the shove, so you can kick nearby zombies with your feet while on the horse
that would be amazing
and yeah that sounds like a pain - if you're willing to tinker with that, sounds like our best option o: maybe some other folks will have suggestions for animations
https://tenor.com/view/shingeki-no-kyojin-levi-aot-anime-gif-17386875 Just got the AOT route and have then full stand on top of the horse lmao
make the player really tall
Riding lvl 10 move
more transparent blood
as in additional blood or the blood that is there shold be transparent?
the existing blood
this looks pretty much perfect. Maybe add some like red scratch lines to make the white look less pristine
the horse there still looks kinda clean and not so "skinned" I think it mostly has to do with the texture res being higher than the sheep so it looks more crisp
I could put noise on it too see how that looks
Buy a drawing tablet, its really worth it!
Im also not very sure of the main horse being white, unless its a new mask that just adds the blood? otherwise it would be weird to see a bunch of white dead horses I think
it's the skinned texture
noise might help it for sure
I don't doubt it but I just don't have that kind of disposable income unfortunately - Plus this is the only project I've ever worked on that I could've used something like that so I couldn't justify the cost either haha
This is the skinned version and it's based off of the other pz skinned animals
I will be going through and making injured versions of the other horse textures, though 🙂
I'll see how noise and scratch lines look - I'd really like to see the version I most recently did in game, because it might end up looking differently
random question, if custom animals can be given a health ui like the player - would it be feasible to do something like this?:
if “X” bodypart is injured; trigger texture “injured bodypart”
Say for example the leg gets injured, it’d use an “injured leg” texture. applying this even further, maybe “bandaged” textures could be used once the wound is treated, idk.
though i imagine this would need code for each bodypart. plus overlaying the textures on top of each other might be tricky (transparent blood decals maybe?)
overall not a crazy important idea for development, but it’d boost realism
a health ui is possible but it'd basically be entirely from scratch if we decided to do something like that, the vanilla health system isn't moddable at all
i doubt it would be possible to show injures visually on the horse unfortunately
for players and zombies injuries are technically just hidden clothing, but animals can't wear any
ohh, that makes sense
Awhh glad to know now before I had made all those textures haha
yeah, stacking multiple “injured” textures might be impossible
My idea was make one or two additional textures per horse coat/breed, like a scratch on the back leg or scratch on the chest/shoulder. Unsure if maybe a new texture could be inserted when put into an injured state(?)
it seems like it should be possible to swap their textures but how any rendering stuff actually works is a little hard to decipher
animal code has pleasantly surprised us a few times already so i'm staying optimistic about it
Me too! But not to worry if it's not possible 🙂 I am so impressed with everything that has been possible so far
I can dig around a bit and see how easy/hard it would be to swap textures
animalvisual has a method for it, i'm just hoping it actually works, because similar things on humanvisual don't

Would be fun to have a full health UI for it with treatment options and health status etc. but as Albion said we'd have to make it from scratch so it will take quite a while to do it as fleshed out as the vanilla one.
What we could do is make it so there's just a general "Bandage Horse" action that heals it
I need to look into how animals actually bleed, because when you shoot an animal and it runs away and eventually dies, there's a timer set in the animal definition that triggers death after X seconds:
AnimalDefinitions.animals["fawn"].wildFleeTimeUntilDeadTimer = 300; -- this will be used as a random timer to make the animal drop dead once you shot him, he'll flee and drop lots of blood before dropping dead, it's lowered by the aiming skill
Yeah I don't think animals actively bleed at all
Seems to just drop health when directly hit, if the animal is wild the timer kicks in and kills them unless the player does it first
So I guess the bandage horse would just heal max health
Ugh the sound system is so annoying. The stressed/death/hurt etc. sounds are on full volume and aren't affected by the volume param either. So I can't use the vanilla system for those, gotta build my own system for idle sounds, eating, hurt etc.
Need some help brainstorming solutions for camera panning.
The situation is that right now I'm not gonna do combat because it will require a lot of time and attention to get it right.
So what I was gonna do was disable aiming fully because when aiming it overrides all my direction stuff and makes it so the player and horse can face completely different directions.
Note that everything mentioned below will be a non-issue when I implement combat as I will be able to use the same aim system with weapons for bare hands.
The problem I'm currently facing is that aim and camera pan seem to be coupled, so if I disable aiming you won't be able to pan the camera (you can zoom in/out still).
So our options seem to be:
- We just disable the aim and camera pan and leave it as an unfortunate limitation.
- I make it so that if you hold down the aim button the horse and the player both face the direction of the cursor. Basically making it so you can steer the horse using the aim button. Could be bad if people get used to it and then we change it when implementing the combat system. However, we could make it so you can steer using mouse if you have no weapon equipped, making the aiming combat stuff only kick in if you hold a weapon.
- We let the player spin around on the horse which will look bad but keeps the camera panning.
We could also implement all 3 and let people choose in mod options
How about tank driving ?
That would fix the issue
Since the horse wouldn't be dependent on the aiming direction
I don't think it would fix it unfortunately, because even with tank driving if you hold down aim and aim anywhere that is not in the direction the horse is facing, then the character will turn their body.
The player and horse has to face the same direction or the animation doesn't line up anymore
There's maxTorsoTwist that let's me change how far a player can twist their upper body before the lower body follows, but it caps out at 90 degrees
If it had 360 support it would be easy
I was playing around a bit with IsoCamera to see if I could jerryrig something, but I have no idea how it works and couldn't get it to move around.
But I'm definitely open to that if anyone knows how to work with it
@silver holly Thank you for the list of sprites, I just put them in and tested and it's working perfectly! Been walking up to random stuff that makes sense to tie it to, and they've all been possible 💯
I've been using the bicycle mod a fair bit recently on B41 and that acts similar to option 3. The character just takes a standing pose but you can look around. And TBH I'm usually concerned with the road ahead when moving so if looking around it's very brief, so a level of jank is totally fine considering 95% of the time I'm facing forward watching the road
Is there a way to lock the aiming into a certain cone in front of the rider/horse? That way it gives a range of motion but you still have to turn the horse at a certain point
I'd say yes
In a way yes, I was experimenting with it. The only way to really do it though is to set the turn delta of the player to 0, then when they're supposed to turn they just don't, but it still allows for torso twisting which is what we want.
So it sounds perfect in theory, but it's unfortunately too good to be true. When you aim outside of the 180 degree cone in front of you, the aim glitches out and resets to the middle and gets stuck in a like 10 degree cone until you slowly rest the aim in the smaller cone which then "unlocks" the larger cone again.
Super janky, and it also keeps the direction locked when you turn the horse, so we'd need a system that dynamically locks and unlocks the turn delta based on aim direction, movement direction etc. etc.
It might be worth having a chat with papachad if they're willing, since they've set up that whole shooting system on their vehicles, dunno if it'll be any help with animals though
It's different tho, bcs the horse doesn't act as a vehicle
Hm, what about separating the upper body and lower body? It would still look a bit goofy twisting 360, but it wouldn't be as much as the whole body
You can do that with animations, but here it's not going to work because the horse uses the player orientation and that's going to be the head orientation anyway
Yeah I have an idea on how to make it work when I do the combat.
Basically I negate the body twisting by making an animation that twist it the same amount in the opposite direction. Since I can make the torso twist 90 degrees before turning, I only need 4 animations to cover all directions.
It's just gonna be a lot of tinkering to make sure it's all set up well, so I'm trying to figure out the best workaround/compromise for now.
I found some discussion about camera stuff in a different channel so I'm gonna play with that a bit tomorrow and see if I can make my own camera panning system, that would solve it for now if it works well
So is it safe to assume this will be a b42 mod only? Or is it possible for a b41 (lite) version?
Yea of course, it's using the animal system
Gotcha
So B41 is out of the question
We've been working on a wild west event on a multiplayer server so didn't know if we should push it off until this wonderful mod is completed. Sounds good though
yeah unfortunately literally nothing we've made could be ported to b41 at all
Amazing work nonetheless
Eeeh technically the player animations could be...
if you want to fly in the air 😅
I mean, Alex could replace his bike by a horse in a mod
And since he uses his bike systems, they should work in B42 for the most part
the horse won't be animated 😅
This is the current bar for b41 lol
Iconic for sure but needs some cooking
if you haven't seen it already, there's one or two mods which add unfunctional horse props. they're really good models though!
there's a certain kind of railing you can use that looks great as a hitching post
and, if you're interested i can tell you about the travel system i made up with the horses!
i too had a western rp event a while ago on my server which what eventually lead to me wanting real horses lol
Yes of course not
Sounds awesome honestly
I feel like theres not much need to invest time into making B41 stuff anymore, B42 MP feels around the corner to me at least
Hoping we can get an official timeline on that.
Would screw alot of servers over if they dont give a proper heads up on that
I like this a lot! looks very much in line with the vanilla textures
@karmic vortex Hey do you mind if I steal some camera stuff from https://github.com/asledgehammer/ShadeHammer/blob/main/Contents/mods/ShadeHammer/ so I can wire up my own camera panning system? (will credit you for it of course)
The main issue is that the vision cone won't move
Oh yeah, dang, that's true
If I get it working well, maybe we have two options for players to choose from:
- The player model spins on the horse when aiming around, but the vision cone and camera pan behavior is exactly as vanilla
- The player model stays facing the direction of the horse, but the camera pan is custom (will try to make it as close to vanilla as possible) and the vision cone doesn't move unless you change direction with movement input.
Kinda got it to work, but it's pretty jittery.
Not sure if there's an easy fix for that, I'll play around a bit more but might just have to leave it for now
Is that realtime regular speed or is it slowed down? because if its realtime its looking like my pz lol
It's realtime speed. It just does some micro stuttering
Hmm
Which event do you run this on ?
OnTick
Do it OnRender
Or PreRender, PostRender, try these
OnRenderTick I think it is ?
I don't remember, but yea one of these instead I'd say
Sweet tip, I'll give it a try when I get home!
Still pretty jittery unfortunately, especially when moving so on the horse it's super jittery
@karmic vortex probably had the problem, and can probably give some insight on it
I think he had the same problem yea
You know what fuck it I'm gonna just dive into the 2dblends system and see if I can figure out exactly how it works because I think it could be the solution here
and it's also needed for combat to work
So if I can spend a day getting that to work it will be worth it

Goddamn the aim is stubborn lmao
I wonder if I can wrestle this thing into submission by now also twisting the torso the wrong way in the animation
nope
Damn, that might be a dealbreaker for ranged combat that doesn't look super janky
Could still do melee combat pretty clean though
This is what it looks like if I just let the player spin on the horse
idk if it’s feasible, but here’s an idea for melee combat…
(the Mount & Blade games implemented this mechanic very well)
pretty much, the game calculates momentum based on how fast the horse is moving. that momentum then gets added to a melee attack and boosts its damage
It should be possible yeah, at least for a basic system since there's basically only 3 speeds, walk, trot, gallop. Then the gallop has 2 different types of turns that reduces movement speed depending on how tight you turn. There's a bit of acceleration and deceleration but not enough that it would have a big impact on a system like that
fascinating
That's a start !
Actually hmm, I think it can be done
It's tricky as hell to work with but there kinda seems to be a way to animate it so it looks good
But yeah this is what I was planning for the combat system and I knew it was gonna be hell to get working nicely lol.
Maybe let's just leave it as spin around on the horse to pan camera, no ranged combat for now, and then I make some simple melee combat
I think that looks fine considering your limitations!!!!!
Perfect perfect
Is there a way to add an animation that triggers at a certain point to flip it so you're riding backwards? Could be a work around
Just add a higher chance of falling off lol
You mean to basically have transitions between facing forward and facing backwards?
Because I can have the player sitting backwards yeah.
I could have the player spin around on the horse and have them throw their legs over it as they do. That could look better than just spinning and clipping through it like in the clip above the previous one
Yeah basically
Its fine to not have combat be complete ar first
What you have is already looking great
I just did the retopology to reduce vertices, the OG model was around 225000, the one I made is around 2600 verts... But yeah If we use that one we'll have to attribute it, I could make a new one completely by myself if that's what the project needs
Can we all pour one out for this great loss
Not sure if it would make the job easier but you should go fore all one handed aiming where the arm does most of the moving. Might be pretty unrealistic for things like shotguns but it would look cool.
I agree! For the point of view of software development, release as simple as you can and add more features later. People will be using it a lot (pretty sure this will be top 1 for a long time haha) and with that they can provide feedback on errors, stuff to improve and even good ideas.
Just the fact that we will have a freaking ridable horse, it's crazy already! Have been waiting for this mod for years 😂
RIP Haru ❤️ Another legendary Japanese animal passed yesterday too, Maru the cat 😔
We can attribute imo
I was thinking that too, but realized it won't really change how the body turns, so it will need to be handled the same as two hand aiming. But I might make handguns one handed
Even a transition animation while on the horse will be hard to pull off it seems. I have to juggle idle, turn, walk, and run states and make sure it transitions correctly based on the angles and stuff.
It's not impossible, just going to be a lot of work right now.
I'm gonna just make the player spin on the horse for now, it seems any other solution will probably take me at least a week of tinkering to make it look nice
I can make the skeleton model
I appreciate you grabbing the model but I dont think it will be difficult to make a skeleton version of the one we have
Kick was surprisingly simple to implement
Whoaaaa
How do you differentiate the input for a right kick vs a left click or does it just change based on aim?
I use the same attachment locations on the horse that I use for mounting. So basically just check if zombie is closer to leftMount location or rightMount location
Smart
It's technically not even an attack. I basically first fully disable the player from attacking, then when pressing shove key it checks if there's a zombie nearby, and which attachment side it's closest to.
Then it grabs the zombie HP, lowers it by 1% and sets knockDown(true)
I can do the same for weapons, so it's no aim, just hit the attack button and if a zombie is close enough it'll get hit.
Gonna add so it prioritizes the closest zombie if there are several, and prioritize standing over knocked down zombies
Sounds like a good idea
We can flesh out the combat system later to be more in depth if need be but this is a good start
Also, have we checked if its possible to put a blood mask on the horse so it gets covered in blood like the player does? Certainly not high priority but im curious
We can't add a mask it seems, but we can change texture on the fly, so we could just have one extra texture per breed for when it's "hurt"
I guess we could technically make clothing that way too, just paint on as textures and apply when "equipped"
I know you teased it, but so you intend on adding cow riding or was that more of a mess around/ proof of concept?
Does anyone know where the animal skeleton models are stored?
Or if it uses a different system entirely?
Something I forgot to test is if zombies attack you (the player) while you are on horseback, can they?
That does raise an interesting question, would the zombies try to attack the horse or just go straight for the player
In my eyes, they would probably just go straight for the player as they are exposed
But they should only be able to attack the legs and lower body
They do yeah, you're basically treated as if you were standing on the ground
But I agree with Paddle that they should only be able to hurt the legs and lower body, until you're pulled off which will make you fall flat on the ground
I have a few animations from JBG for being pulled off
And yes, the groin would be the highest point that could attack you.
This is the texture I got now
Bloody Version
Use a curve with array modifier to make the spine, thats how I made mine, also I would prob blockout it first and then add detail
I got the rig working but it wont have clean deforms, Unless I manually weight paint, but that would take about 2-3 days at the speed im doing things...
I don't think it's absolutely necessary for it to have clean deforms tbh, it's just supposed to look like a pile of bones anyways
Want the blend?
Yeah that would be awesome 🙌 I can try the dead animation and see what it looks like
The textures are Sheep_White and Sheep_Skinned
I'm sorry but I don't think this is the right way to go about it
The ribs are just a simple shape on the vanilla ones
Well yeah, its gonna have a lot of issues with it
Well, Alex can choose which version to use, hes the one with the final say, its nice to have both choices on it
This is my version, you can check the anims on zomboid and give paddle feedback
Thats looking a lot better man
Also if we would like to animate this mesh (no idea why honestly) we would need new bones on the rig you made for the knees, neck (each vertebrae which would be insane) and we could basically set weights 100
IF we would want to animate it, which again why would we do that 💀
Yeah we do need to be able to put the animation on it
It won't be hard
Oh also man, When you model it do it in reference to the rig shape we already have or you could face very annoying issues
gl
Yup
Wow!!!!
It'll take some trial and error but its not so bad
Oh my GOSH
I'm mostly just taking bits and pieces from the deer skeleton and adjusting them haha
does the indie stone copyright their models 💀💀, it would be insane if they do
No?
This is for modding PZ anyway
They seem on board with the mod anyway from what Ive heard
Yeah, you guys are getting recognition with them, maybe the mod will even appear on some poster or something
the modding policy basically says we can use their stuff as long it's just for modding pz and not enabling piracy or something
Well it's looking great
I can texture them to look bloody or worn as well 🙂
Yup I'm entrusting you with the texturing after I'm done 😎
We might have to do something new with alpha painting to make the ribcage look right
If I'm right about how the games works, you essentially will paint the negative space between the ribs
@short cloak Does the game support alpha textures?
yes, in some cases the vanilla shaders won't support it but this can usually be fixed by mods
when i was working on a vehicle parts mod we had to use a different vehicle part shader that supported alpha, but all it really came down to was 'actually use the alpha channel that's already there'
If worst comes down to it, it shouldn't be too difficult to just shade the inside of the bones(?) it's presumably, only gonna be laying on its side
I can fiddle around with it
Can I ask what you mean by that? Sorry Im not sure I understand lol
All good I could be confused - trying to read fast and eat on my lunch aha
If we can't get alpha painting to work, I'm sure I can just add shading on the inside of the bones to make it look good?
Not quite, the way that textures generally work is that they are one-sided, meaning you can't paint the other side of a texture
But with alpha you can see through the texture which should work for us
Oh
Does zomboid dither alpha or just mask it_
Im not sure
Am I blind or is there no event for when player gets hit by zombie?
There's OnPlayerGetDamage but for some odd reason it doesn't count getting hurt by a zombie as getting damage, only the bleeding after getting attacked will trigger the event
Nop

I need to create a custom event, it should be useful to modders
Check how I do it here
oh sick okay
So basically use OnZombieUpdate to check if the zombie has a target, and then check for the attackoutcome? That's smart, I can do that for sure
Yup
That's the only way to properly detect a zombie attack to my knowledge
It lacks what damage the player takes tho
Yeah true, I'll see if I can find which values they use to determine which type of wound should be applied and see if I can mimic it
Gl with that lmao
Why do you need to predict it tho ?
I guess I should look into what type of info is included first haha
I was thinking that if I can't see if the player is getting scratched vs bit, then I'd have to set up my own logic so the player gets scratched or bit but only on the legs/groin
And I want to keep that close to vanilla so it doesn't feel like you're getting hurt more/less while on the horse
I highly doubt you can control anything about the damage system sadly ...
You'd have to remove the new wound, heal player if needed, remove infected if needed then roll again to your new conditions and roll infection
I was thinking if I could find how they apply damage in vanilla I could intercept the attack and cancel/interrupt it so it never actually finished the attack, and then I just mimic the vanilla damage application but make it only target the body parts I want
Hmm I'm pretty sure it's all in AddRandomDamageFromZombie from BodyDamage.java
You couldn't make zombies use the attack target that crawlers use (attacking the legs or feet), although I'm also speaking from a position of ignorance as to whether that can be used and whether it would also lead to other problems.
Oh yeah good call, thanks! There could be something there, I will look into it
If I'm reading this correctly it basically first just rolls for the body part, then based on if zombie is behind, rear vulnerability etc. it then basically rolls to see if it's above 15 + getMeleeCombatMod() at which point it's a wound that starts as a scratch, after that it rolls again to see if it's above 65, where it becomes a laceration instead of a scratch, it then rolls again to see if it's above 85 when it becomes a bite instead. These rolls are all affected by the number of surrounding zombies.
Then there's some clothing defense and stuff in there
But overall doesn't seem like a super crazy system and it's all there for me to duplicate basically
I thought about it but I doubt it 😅
