#Combat Overhaul
1 messages · Page 31 of 1
gotta do your own patches
how do i turn it off?
then again
i kinda dont want to cuz
GUNS N CROSSBOWS
and getting one shooted just isnt fun
but eh it is wat it is
🐁
siimer has made a whole page of mods just to balance co for pvp
siimer?
huh where
ooh mod db
ig i could look thx
thx
this shit is good
cuz ive seen people use gliders to skip jump and be faster
also wow nice
@fallow surge Sorry for the ping, but I believe your Combat Overhaul mod is leaking memory somewhere.
After ~1.5 hours of playtime the memory use of vintage story has increased to 20GB, and dotnet-dump with dumpheap -stat shows a type from your mod as the top memory consumer. Maybe you have an idea what would cause this.
7fd86f8fd3c8 6,458,175 206,661,600 Vintagestory.API.Common.ShapeElementWeights
7fd87236c220 2,873,241 216,802,872 Vintagestory.API.Common.AnimationKeyFrameElement[]
7fd86c08fc00 1,174,903 225,581,376 Vintagestory.API.Common.ShapeElement
7fd871e52ae8 2,948,444 235,875,520 System.Collections.Generic.Dictionary<System.String, Vintagestory.API.Common.AnimationKeyFrameElement>
7fd87121ba00 3,324,412 237,160,928 Vintagestory.API.Common.ShapeElement[]
7fd87121ad80 1,862,984 283,173,568 Vintagestory.API.Common.ShapeElementWeights[][]
7fd86f8fd9d8 5,403,214 345,805,696 Vintagestory.API.Common.ShapeElementFace
7fd86815d7c8 7,294,559 423,202,562 System.String
7fd86c0f1ed8 8,621,951 547,471,440 Vintagestory.API.Common.ElementPose[]
7fd87121af28 3,725,968 566,347,136 System.Collections.Generic.List<Vintagestory.API.Common.ElementPose>[]
7fd868379fc8 157,969 590,373,639 System.Byte[]
7fd871e55b88 2,941,239 666,510,672 System.Collections.Generic.Dictionary<System.String, Vintagestory.API.Common.AnimationKeyFrameElement>+Entry[]
7fd86a8b9430 8,539,794 670,052,468 System.Single[]
7fd86c0f1990 23,344,849 747,035,168 System.Collections.Generic.List<Vintagestory.API.Common.ElementPose>
7fd8681589e0 3,667,457 766,877,456 System.Int32[]
55eb424c6fe0 27,629 1,571,270,240 Free
7fd86c925d00 23,282,842 2,607,678,304 CombatOverhaul.Integration.Transpilers.ExtendedElementPose
Total 152,285,833 objects, 13,531,307,225 bytes
I doubt there should be 23 million ExtendedElementPose (likely causes some of these other types to stay around, too).
Trying to dig deeper into why they stay around, will post updates.
(I should mention that this happens client-side)
If it helps: Here is a reference trace for a random ExtendedElementPose:
@fallow surge
hi!, wanted to ask you some help for this patch in particular I'm making, in theory it shouldn't be a big ideal as I've already patched out my other armor mod which was way bigger than this.
But oddly enough, it doesn't work, I'm not sure why thought, file "works" as a json and it follows exaclty the same formula I've used for the other one, could you lend me a hand and point out where I did wrong?
(or well, anyone that had experience patching with this mod could also help if possible)
(this is a test file I've made to try and make it work, with no avail. Once I can make it work I should be able to add the rest of the armor sets)
hi all, does anyone know how CO handles where damage is distributed to the player?
I made full chain armor with a coif and a helmet and got taken to 0.1 hp by a bear when he attacked my face 😅
literally the tarkov (head,eyes) meme
(not a complaint, just curious how it works)
"front above below" refers to the position of the enemy?
yes
why?
I think something like that is better off as it's own mod, like a medical overhaul mod.
nope
Halu, can i ask question about some trait attributes?
"playerLegsDamageFactor": -1.0 does this mean like it reduces dmg to legs by 100%?
like you take 0 dmg to the legs 🤔 ?
it adds 100% of the base factor value to the factor itself
Then it will reduce it to 0
guys, is the armor kit a consumable? or is it reusable?
if the dmg to the torso was 100. it would just be 50?
YEs
consumable
it is cheap though
genuine suggestion, making stats disableable. i only wanted this mod for the armor stuff to begin with and now have to deal with that
what do you mean?
the combat overhaul part being disabled in combat overhaul?
i was only here for armor, not some annoying proficiency stats and whatever the other two are
that's a fundamental misunderstanding
how do you expect to do that
oh stats as in profs?
well the mod page lists 3 kinds
how do you expect to eat a sandwich without the bread?
by shoving the ham and cheese in my mouth
disable co, charsel the class, reenable co
easiest way
or make a patch
cant make a patch, not doing commands cus i dont understand them
didnt say i didnt know how to do it, said i dont understand them. ive broken far too many games to use commands i dont understand
CO goes as whole package, it is not separable
What stats?
i assume they are the ones added to classes
those are profs
anything that changes reload speed or attack speed from what is default i simply dont want
Bad for you, cant please everyone
well umm you can just play as commoner or make your own classes, you can do it just with json by looking up how mods are made
you can go really far by being delusional enough
i cant play as commoner because i dont play as a human to begin with
dont even have that option with that mod
what mod and what option?
being a commoner and a kobold
either it isnt an option or another mod replaced it
but i dont have the option
well umm you could ask mod creator for it if there isn't option in mod's config
but there is option for it
is combat overhaul safe to remove mid save at least?
take off the armor and yes
Anyone had an issue where Combat Overhaul is like in the server I can make javellin and spawn in CO items but directional combat does not work? I dont think I have any mods that would break it
directional attacks are specific to certain weapons
far from all weapons have them
They haven't it properly installed
Yeah so I have spawned in swords from the armory mods and it doesnt work
then reinstall yeah
Could it be a load order issue? I've downloaded straight from the ModDB and uploaded it into my server
No, just regular stuff: duplicates, dependencies, versions, cache, game restart e.t.c.
I need a bot that will handle these reports...
Sorry mate:/
Or need vanilla that can handle mods properly
The only swords with directional attacks are the longsword
The rest only have "Combo" attacks
Yeah spawned one in and I cant swing even in single player I've reinstalled dependencies deleted cache still no luck
Nothing shows up in the log....
I've got it to work in singleplayer but it just dont work on the server
Did you change your hand position? In one of the options? One guy did it and in sp it worked but on mp not really
i got the same problem. when i open the character menu the game stutters for a split second. everything else is fine. i also tested it with only CO and overhaullib on a fresh singleplayer world, exact same stutter every single time i open the character menu
got 32gb ram and 4070ti super, cpu is 3900x
@fallow surge Hello! I really appreciate your work. I’d like to report an issue: when using only your mod, there are micro-freezes whenever health changes occur — for example, when using healing items or taking periodic damage such as from hunger. I’ve tried adjusting various configuration settings, but nothing helped. I’m not completely sure, but it seems like these small freezes also happen while eating. My game version is 1.21.5, and the mod versions are shown in the screenshot. I’d also like to mention that I previously played on version 1.20.12, and there were no problems at all there. I believe the issue might be related to the new periodic damage system and the delayed health update mechanics introduced in 1.21.
that's just how the game works
it stutters from the amount of equipment slots
Vanilla GUI is not very performant (or rather not peformant at all), and require recomposing for any small change that is not hardcoded to not require it. Not sure if I can fix this.
@fallow surge by that do you mean just some GUI elements (dialogs) or even the custom per-frame stuff done using IRenderer?
Text rendering is bad, and composing is very slow, and you need to recompose gui for a lot of dynamic stuff.
i see, thank you for the hard work you put into this. do you accept donations?
I have patreon
There are possible solutions, if I can hide armor inventory, it should statter less. But generally its better to not have character dialog open all the time.
Rn I'm more focused on PML, I will return to CO and related mods a bit later.
casually made the only two race mods that caught my interest while at it
I haven't update CO compat for humans after splitting it into separate nations
Hi @fallow surge, got an issue report for you. Not sure if this is my installation but the flint sling bullets do not show up as knappable with the flint in my installation. Is that an issue in your end? My handbook shows the flint sling bullets exist but their only crafting method is through casting in the mold (which doesn't seem right).
Picture 1 is the flint sling bullet handbook entry, Picture 2 is the flint knappables menu that doesn't include the sling bullets.
Thanks for the mod btw, haven't played VS in awhile and the sling overhaul was a very pleasant surprise I'm absolutely in love with it 😄
I haven't released the fixed version already? Hm...
whats the mod to get the search bar in the recipe window? that looks super useful
I think smithing plus adds it to anvil recipes but it's definitely needed on clay and knapping too, if not already there, I'm curious too
Just double checked my configuration, yeah this is happening on the latest CO version (v0.10.9)
I couldn't tell ya haha, I didn't actually realize there was a search bar until you pointed out 💀
https://mods.vintagestory.at/show/mod/27605
Think this would look good on a crossbow Hunter?
Aren't these called holsters?
@fallow surge hello, I am trying to make my weapons mod compatible with CO, but the dev version of overhaullib just crashes my game when I open a world. I mainly just need to edit weapon colliders
Have you installed ImGui?
Yes, it’s the most recent version
try this one
That one works! Thank you
I rewrote animators cache, that I suspected to be the cause of memory leak. Can you please test it and confirm if leak is solved?
It also prints in client-debug each 10 minutes how much stuff was cleaned up from cache
Sure 👍 Will take a bit though (as usual with memory leaks).
Thank you. Your initial report was also very helpful.
I noticed on mine using ctrl + F10 that the anim calls constantly increase over time
yes
holsters are for guns, sheaths are a broader term that's also correct
Haven't let the game run long enough yet to know for sure (50 minutes), but it doesn't look promising (unless you need 13 million ExtendedElementPose objects.
7f686a109188 13,255,520 1,484,618,240 CombatOverhaul.Integration.Transpilers.ExtendedElementPose
7f68654989e0 2,670,562 3,841,221,052 System.Int32[]
Total 106,313,274 objects, 12,120,198,394 bytes
It is not me, every ElementPose in game is replaced with ExtendedElementPose on shape creation
It will look into one more thing where I expect can have a leak
So someone else is leaking ElementPose types (that are replaced by your type)?
Keep in mind, that game creates new ElementPoses for first person vanilla animations each frame
It can be me, it can be someone else
Could this be related? For some reason (sometimes) I have this happen every 2 seconds. Seems like someone is parsing json EntityBehaviorPlayerInventory.OnTesselation (not sure which mod may cause it though).
Yeah, tesselation will result in creating whole new set of ElementPoses
If someone updates whole player attribute tree (or just update it too often) it trigger full tree update sent to clients, that triggers retesselation
Do you have player model lib installed?
Yes
Do you play as a seraph?
Mage from Rustbound (I think yes?)
I didn't change anything in that regards, so unless it's a server-wide setting it should be a seraph.
it trigger full tree update sent to clients
How big is that (roughly) that it takes 7ms to decode?
I mean PML allows you to add other models, like humans or skeletons
Wait a second, that applies to other players within render distance, too, right?
Yes
I suspect another player that was nearby was a non-seraph then (those every 2 second spikes have stopped after he left, but I don't know if that was the cause or if it was unrelated).
Vanilla method also calls Shape.TryGet though
Wait...
maybe not every 2 seconds
I dont do harmony prefix patches, I have transpiler path, will it still rename method with _patch prefix?
Same
I don't know how harmony patches show up in dotnet-trace. I assume everything containing patch is comming from a harmony patch though.
I dont retain any data here though
So we now have a suspect on who is creating so many ElementPose objects, but don't know why they are still in-memory.
Some mod does too many updates to player attributes, that triggers constant retesselation, and vanilla method + my injected code both call creating new shape from asset.
According to this the vanilla ClientAnimator seems to still have a reference to them (or at least to some of them).
I'm sure, removing PML wont fix the leak at all
Ovh lib retains animators, but they are freed if not accessed in 10 minutes
Thanks for pointing me toward PML. I had no idea who was causing those 7ms frame time spikes every 2s.
It is not PML, though PML makes retesselation harder, but not for seraphs
The json that is decoded here doesn't come from PML?
Here is vanilla method
makes retesselation harder, but not for seraphs
But wouldn't that be an argument for it being PML? Especially since it stopped after a player left (or at least within 5min of the player leaving)
PML injects additional json decoding here, if it needs to replace wearable shape, not relevant for seraphs
or do you mean to say OnTesselate shouldn't be called that often?
Retesselation is hard even without PML, and more armor and clothes you wear and more complex chapes they are, the harder it is
Good to know. So it should only be called once in the beginning or something like that?
It should be called only when there is a reason for it, but it is called every time character inventory is updated, or full entity packet is received. Full entity packet is received when whole attribute tree marked dirty or number of updates to this tree reached some threshold (there is mod that raises it). Or you have too many mods that update player entity triggereing full entity update, or some mod constantly updates items in character inventory (armor and clothes)
It does not explain the leak though
Yeah, I'm currently looking for multiple performance issues:
- memory leak of ElementPose
- player tesselation every 2 seconds (pretty much exactly)
esr-tesseleateshape(too often/too slow), might be related to the second one.
What does this list means exactly?
(which is why I'm really thankful that you had an idea on what might cause the player tesselation one.
Ask in mods channel about mod that rises this threshold
Someone recommended it to me here
It's the output of gcroot <address> (in dotnet-dump analyze).
As far as I understand it is the list/tree of objects between the object itself (bottom, ElemetPose) and the root/upper most object that has a reference to it.
Each line should be one reference/pointer to the line below.
For a single ElementPose object/instance.
What this list means?
Ah, you mean that one. That's the output of dumpheap -stat:
- First column: Not 100% sure, I think that's the start address of the heap region containing this type.
- Second column: How many instances of this type are on the heap.
- Third column: Total amount of bytes taken up by thist ype
- Forth column: Name of the type
At least that's how I understood it.
Hm, there is vanilla AnimationCache, I can try clear it time to time
It is not cleared in vanilla
Is there a way to see number of Vintagestory.API.Common.AnimCacheEntry instances?
yeah, 1sec
And number of Vintagestory.API.Common.ClientAnimator
Vintagestory.API.Common.AnimCacheEntry:
Statistics:
MT Count TotalSize Class Name
7f68708efbd0 1 64 Vintagestory.API.Util.CreateCachableObjectDelegate<System.Collections.Generic.Dictionary<System.String, Vintagestory.API.Common.AnimCacheEntry>>
7f68703b7c70 3 240 System.Collections.Generic.Dictionary<System.String, Vintagestory.API.Common.AnimCacheEntry>
7f686cb9f400 169 6,760 Vintagestory.API.Common.AnimCacheEntry
7f68703be1d0 3 7,008 System.Collections.Generic.Dictionary<System.String, Vintagestory.API.Common.AnimCacheEntry>+Entry[]
Total 176 objects, 14,072 bytes
I think the list contains all types that reference it, too. So 169 AnimCacheEntry objects.
ok
Statistics:
MT Count TotalSize Class Name
7f686e79c540 1 24 System.Collections.Generic.ObjectEqualityComparer<Vintagestory.API.Common.ClientAnimator>
7f686d7b9768 1 24 Vintagestory.API.Common.ClientAnimator+<>c
7f686e795008 1 80 System.Collections.Generic.Dictionary<Vintagestory.API.Common.ClientAnimator, Vintagestory.API.Common.EntityPlayer>
7f686e795690 1 80 System.Collections.Generic.Dictionary<Vintagestory.API.Common.ClientAnimator, System.Int64>
7f686d7b9840 427 10,248 Vintagestory.API.Common.ClientAnimator+<>c__DisplayClass10_0
7f686d7b9908 2,284 54,816 Vintagestory.API.Common.ClientAnimator+<>c__DisplayClass11_0
7f687048d308 1 97,200 System.Collections.Generic.Dictionary<Vintagestory.API.Common.ClientAnimator, Vintagestory.API.Common.EntityPlayer>+Entry[]
7f687048d618 1 97,200 System.Collections.Generic.Dictionary<Vintagestory.API.Common.ClientAnimator, System.Int64>+Entry[]
7f686a13d960 3,254 754,928 Vintagestory.API.Common.ClientAnimator
Total 5,971 objects, 1,014,600 bytes
Not sure what exactly the difference between those is.
There seems to be 3254 ClientAnimator types (no idea what the +<>c suffix is for).
FYI: I'm away for about an hour, so won't be able to respond for a bit.
5. Vintagestory.API.Common.ClientAnimator+<>c__DisplayClass10_0
Count: 427
Size: 10,248 bytes total (~24 bytes each)
Description: Another compiler-generated class.
A display class captures local variables used inside lambdas or anonymous functions in method 10 of ClientAnimator.
The pattern <>c__DisplayClass10_0 means this corresponds to method #10 (zero-based numbering) in the compiled ClientAnimator source file.
6. Vintagestory.API.Common.ClientAnimator+<>c__DisplayClass11_0
Count: 2,284
Size: 54,816 bytes total (~24 bytes each)
Description: Same as above, but for method #11 in ClientAnimator.
Indicates heavy use of lambdas or closures in that method.
Large count suggests method 11 runs frequently, creating many short-lived objects.
Some lambdas retain animators, it seems.
I has some remnant of elementpose cache, but it should be used...
Try ovhlib 1.12.13
I removed it
i cant attack or change grip strength is there some way to fix it
do you have kemono?
anyone else think it would be neat to be able to make the various metal shield types in any metal? so that by the time you have steel you end up with a variety of options that have the same stats
should be easy to mod in
I wonder if it'd be possible to use the F menu while wielding a longsword to use it in mordshlag fashion? Giving the weapon a blunt damage option?
So... you need iron to make gambeson. Meteoric iron to make tailored gambesons.
You can make literally every other craftable armour in the game the moment you get copper.
So why do we need miracle metals to get entry-level armour?
Make it make sense.
I have seen this single change repel three people from the mod,at the same time.
And I'm also sorely considering it.
Cuz these arent entry level armor
Leather isn't armour.
The swamp man armour isn't even animal rated.
And,historically,gambeson was what you wore if you had nothing else.
Tailored gambeson has been sought over due to the lack of debuffs in comparison to regular armor and regular gambeson is soo and aling the lines of iron
The "lack of penalties" thing is pure community mind virus.
light armor is lighter, actually
this means it NEEDS to be sewn using MAGIC METEOR IRON
People see negatives and piss their britches,not pausing to consider the benefits.
Alright... could you argue better why gambeson would not be prefered for movement users over a full steel heavy plate
Not helping matters in the slightest is that gambeson is the only available armour that is worn on the skin layer.
"if all you care about is movement why would you not use the light armor" brother who asked
Jerkin is also worn on the skin layer 
Because armour does its job,and people who hyperfixate on mobility is missing the damn point.
i just want to know why linen suddenly needs meteoric iron to sew
It’s like entry level inner layer, though; gambeson follows that, then tailored gambeson
nothing else in the game is balanced that way
hello harry du bois
Same can be said on people who hyper fixate on protection...
As noted,leather isn't armour. Any leather armour with any legitimate armour value is so heavy and expensive to make,you'd be getting a better deal with maille.
You don't need to be fast if you're borderline invulnerable.
And you dont need protection if you're borderline intangible
By hyperfixating on mobility,you cannot take hits for love nor money. And hits will happen,even if you have the theoretical infinite space to kite that mobility folks seem to always argue having.
Tunnels exist. Rooms exist. Holes exist. Trees exist.
And people will prefer what they prefer
to add my own opinion, armor's usefulness is kinda contextual
the merits of the armor doesn't matter when it's literally just layered linen cloth that suddenly requires magic sky metal to tailor
You're getting hit,somewhere and some time,and there's not a damn thing you'll be able to do about it.
And by focusing on mobility,that hit will kill you.
if you want to cave, go for heavier armor
What I’m suggesting is that jerkin still provides protection - for realistic purposes gambeson probably is not an armour, either.
i will admit i haven't played tailor very much so i haven't tried out tailored gambeson
It’s padding, is all
We have piles of historical record proving that gambeson is actually excellent armour.
Regularly foiling blunt weapons and one-handed blades.
but considering it's one of the best skin layer items out there in this mod? i don't mind it using meteoric
Meanwhile,leather gets no historical mention as anything more than a mounting layer.
Or a shield liner.
though imo meteoric is crazy common once you know how to look for it
Touche
Gambeson is entry level armour. It's cheap,it provides basic armour protection worn on the skin layer. And it has historical backing.
And game mechanically its easy armor...
The community mind virus needs to be cured,or you can lean into it and rebalance the armour directly.
Maybe too easy if not gated behind alot of flax
Which is why it has historical backing. It was cheap enough for common levies to purchase,precisely because it was so cheap and easy to make.
Leather worth any armour protection demands a long,sensitive,and resource intensive process to treat and assemble.
honestly the jerkin could use some better protection overall, since the main reason it wasn't used under armor was due to the flexibility (and you'd already have some leather for protections sake)
as a sidegrade to gambeson
And that process for armour grade leather makes it more expensive than maille... for less effective protection.
better as a solo armor, but maybe it. idk, is less nimble than gambeson
Why must you forbid peoples preference
Because it's not preference.
It's clinically diagnosable psychosis.
You see a negative number and instantly recoil.
Loss aversion to the extreme.
I literally use plate armor and gambeson
Whenever i want
I prefer one over the other if i feel like it
The point I'm making is that the current iron+ availability of gambesons is absolute stupidity. It makes no sense.
lil hyperbolic, don't you think?
Mesoamerican societies made gambesons. They didn't have iron or steel.
Not from a historical stand point no
Its on iron level for the sake of equipment progression
Then perhaps nerf gambeson.
Besides... copper and bronze are easily skipped within the year
So.
1) Leather as most of us know it isn't armour.
2) Mesoamerican societies,such as the Aztecs and Incans,had no iron or steel. They still developed gambesons.
3) Gambesons were cheap to produce,and therefore cheap to purchase for conscript levies.
4) Armour grade leather was produced via a long,sensitive,and complicated process that required educated specialists to perform,producing a heavier,inflexible product that provided less effective protection than maille.
Gambeson is entry level. If it's "too good" then perhaps you can nerf it.
so i was right
ok if mobility bad wear heavy armor?
does not the leather jerkin have the same protection as a gambeson or am i mistaken
For me no XD
one point less in each
and t gamb is +1 point in each
It's basic untreated leather. It shouldn't exist as armour to begin with.
t gamb is EXTREMELY strong
put chain over it and you already have a noticeable armor setup
jerkins did exist irl, so im sure they should be fine existing
Thus my mentioning of nerfing it directly several times already.
or am i not reading you right
That's not a direct nerf. That's a progression change.
Like making Chlorophyte post-Moon Lord in Terraria.
mmm green
A direct nerf is keeping it where it is in progression,and making it less effective.
not possible
Are the numbers greater than one? Yes or no.
without redesigning all armor just for this one change, not possible
i figure it might just be a meta problem that armor tends to be more all or nothing?
you either want heavy armor or light armor
there's not as much incentive to only have a mediumish armor
so, say, a slightly more realistic loadout of a jerkin, metal helmet, and cloth pants wouldn't be as viable as just spending the time for full chain or full gambeson
Didnt it just made the set more obtainable being craftable?
As opposed to finding in ruins/traders
Moving gambeson to quite literally endgame is insane,stupid,and nonsensical.
It's your sole source of reliable blunt protection. It's your only genuine skin layer protection option.
Historically,borderline neolithic societies mass produced gambeson,and bronze age,perhaps even copper age,societies used gambeson as entry level armour precisely because it was so inexpensive.
And it feels like absolute horseshit for the player.
yes it also solves the problem of requiring a tailor
traders never sold t gamb
and vanilla ruins don't have it
you willingly ignoring jerkin because muh realism doesn't make it not exist
It's also notably worse than gambeson,while taking more difficult to obtain materials to produce over a long and involved process. Materials and time infinitely better spent on making bags.
Very handily imitating life.
Just nerf gambeson. Make it drain hunger more,provide jerkin-tier protection if you must.
But requiring endgame metallurgy to make it is absolutely asinine.
That isn't game design.
you literally said blunt protection
jerkin solves exactly that
4 points
only one less than gamb
and i invite you to show me the case in which that one point is a gamechanger
Bears.
you have a very bad case of tunnel vision
If you're using FotSA,rhinos and elephants.
Most big cats.
that one point from gamb by itself does absolutely nothing
it only matters with extra armor
look at the spreadsheet before making such claims
https://docs.google.com/spreadsheets/d/1DJzwPXaMZL3HfAC2N7zUcmRRIUSrGTB7oO7Q5fszqz8/edit?usp=sharing
I think im starting to see the point that it was cheap quality armor locked behind later progression
I'm starting to see that nobody here knows what game experience is.
Just... data.
Beep-boop,Grok.
And that nerfing something that has numbers above one is "impossible."
All to appease the people who can't stand seeing a negative value.
Yes,armour does its job.
This should not be revelatory.
Yes,gambeson does its job and it's cheap.
This should not be revelatory.
People bum-rushing tailored gambeson specifically because it has no negative values?
That's a *community problem,*not yours.
i've been researching game design for most of my life
and you're acting like someone who doesn't in fact know what that is
I rushed tailored gambeson specifically because I was able to dye it.
you haven't made any point past "this thing is bad because it's bad"
Entry level armour being gated behind endgame metallurgy.
Bass ackwards.
entry level armor is wood lamellar and bear armor (if you can get it)
Entry level armour having comparable performance to endgame armour,by dint of it being the only meaningful protection for its damage type and layer.
Bass ackwards.
they are perfectly functional and can be made on the second day
well umm you can mod it to your liking without any coding
The issue can be solved by directly nerfing gambeson by saddling more negatives onto it or simply reducing its proection values,or providing more viable sources of blunt and/or skin layer protection than just gambeson and jerkin.
there is no need to appeal to someone for something to change if you can change it yourself or make your own mod
why?
I never used t. Gambeson, because I couldn't make it. Now I can, with some effort
you have not answered the simple question of why
By making gambeson,literally the most basic armour to ever exist across the entire globe,require endgame metallurgy,you are telling the player to not even bother with protection.
so it should be changed because muh realism
Especially when you're able to make much more advanced armour the moment you get copper.
Because game experience.
So is the issue just cheap low tier armor being locked on higher tier materials?
It's telling the player, "Oh,you want basic protection? Fuck you."
Swamp man armour isn't even animal rated.
define game experience
oh you want basic protection? get a pelt and some resin
The experience of playing the game.
solved
le stimulation with high stimulation output without much input
and that means..
as long as you are playing for your own sake you can just give it to yourself from creative
...How it feels for an end user to play and experience the game. How it makes them feel. The moment to moment of playing the game. The whole fucking point of playing the game.
Is that overdefined enough for you,my glorious Doctor?
how you feel = how everyone should feel
because the gambeson in the videogame is not hecking realistic
and that is an issue because..
Pretty sure this is the issue but no1 is responding to it XD
Everyone knows what the 'issue' is, it's just a disagreement about how to fix it
you kind of need really sharp pair of scissors to cut fabric and really thin needle to sew it you know, only possible with steel
Can it not actually be fixed in the code or a whole rebalancing hassle?
I point you back to the Aztecs,who lacked iron and steel,who mass-produced gambeson.
make a 3kb mod with 1 recipie
it's a different thing
The ichcahuīpīlli, known in Spanish as escaupil, was a Mesoamerican military soft body armor similar to the European gambeson that was commonly used by the Aztecs and the Tlaxcaltecs. It was constructed of densely packed, unspun cotton stitched between two layers of fabric. The name is derived from the Nahuatl words ichcatl "cotton" and huīp...
I don't mind the change, thought it was creative. And in my current save, have next to no linen, but could make leather jherkin just fine. Normally I would always skip that armour, so this felt good
But even then. The root problem is that there's nothing else for blunt protection,and nothing else for the skin layer,besides objectively inferior,and more difficult to manufacture,and diverts resources away from bags,jerkin.
There aren't enough levers.
Nothing a few more mods cant fix XD
imagine if a game had resources that you could spend on 2 different things
"It isn't gambeson. Except in the way that it was directly comparable to gambeson and performed just like gambeson."
it's it like a outerlayer garment?
It was their only armour,because the Aztecs didn't have much metal at all,besides gold.
and natural 99% pure copper veins on surface
It's gambeson with a different name.
and different function, made from different materials
I don't think it's this serious. Clearly the balance genie doesn't agree, so just tweak your json files or make a mod to change it 
made by different ppl for different reason
Same function. Soft body armour.
Same performance. Foiling blunt weapons and one-handed blades.
i think all armor should cause you to collapse into a puddle under the weight
this is the only way to make it balanced
Stamina too cuz why not
Stamina is already modeled in VS. Hunger rate.
stamina drains on health regen
to address this though, i think the issue is that game experience is inherently subjective
Too slow imo.. atleast in comparison to vigor
and data is pretty much the only way you can objectively measure some outcomes (though to be clear not all)
some people explore only using gambeson + chain for the mobility
wearing armor is kind of lame, only ppl who fear death wear it
i do not mind bringing an entire cooking pot on my forest escapades if it means my iron armor chain and gambeson will prevent me from getting oneshot from a bear while picking mushrooms
And then they pitch a fit when they die in a hurry.
I know this,because I saw this happen in real time.
my point is moreso that this is subjective
so i would caution you against using your own experience as the Definitive Experience
so you are afraid of furries
Yes. All gameplay experiences are subjective. It's what makes them games. Focusing exclusively on data means you're no longer making a game or a mod,you're making something fundamentally noninteractive.
make your own
just shows how little you understand game design
yeah literally just make a mod that makes gambeson your way
it's easy to do
as somebody deeply in the queer community, i love bears!
look into how combat overhaul is made on github and modify it to your liking, everthing is there
the code is already done
just not the ones in vintage story
no need to modify code
just json
..yeah that's a cat
idk what it is tho
hopefully somebody got my bear joke though. maybe it's just the wrong audience
regaaaardless, i do think the mod could use a balance pass from vanilla
but undoubtedly you can just modify it to your liking if need be
look man, getting one shot by a drifter that snuck up on you while you were managing your inventory is preventable
you are afraid of drifters, are you
not really
bro just, spawned. behind me. hit me in the back of the head
from full HP to 0.1
im gonna be running a siege event thing as an experiment with CO, and im gonna keep watch around here to see if there's any balance problems with the mod i can manually balance
only lived because of the death save mechanic
you love second wind mechanic, do you
i like ya cut g
Speaking of balancing... are all bronze equipment the same now or just javelin? Cuz they have disparity in vanilla
i was unarmored at the time
"Let's see you make your own."
Uh huh. So the only people with valid opinions are the people who can match you in your field? That's not an argument. That's credentialism.
eh
co just recently got a major rebalance
i don't think their point is "do it yourself nerd"
it's why gambeson got changed
while i agree that one does not need to be a chef to criticise the food, there are limits to certain things
their point is "you can do it yourself without needing to be a nerd"
correct me if im wrong though im not paying a lot of attention here
i would LOVE for you to make a point
oh good!
I have been. You've been disregarding them.
Gamefeel is important. Hell,it's vital.
you are supposed to put space after ,
if anyone knows what could be rebalanced in regards to a PvP environment, do let me know
i agree
but how the gamefeel is balanced is also vital
gambeson is very strong
im gonna be doing a small test today with what mods i have, but im sure there's some meta pick that im unaware of
or at least i hope today
Then nerf the gambeson. Don't make gambeson feel like shit by locking it behind endgame metallurgy! Or perhaps add some manner of fortified gambeson to fit into the iron+ bracket!
Like,Iunno... an arming doublet!
(stop responding to this guy please)
arming doublets? that sounds like a very poor idea
2 swords with stab animation (blackguard or steel), swap between them when attacking, allows for ~20 attacks per second
what are all those doublets gonna use those arms for, anyways?
Could be worse... could be a legging doublet
okay very good to know
blackguard swords are quite cheep so I suggest those as you can waste ~4 on one full steel plate player
presumably id want to make the swings slightly slower for those weapons then, right?
"Critical thinking is forbidden. Do not interact with the man who's currently calling recent changes into question."
and there is nothing that they can do if they have >100ms ping as they will be constantly repositioned after taking damage
i think if he wants to intentionally disengage from conversation it may be a problem on your end
calm down and relaaaaaaaax
it's not a big deal in the end
He can fuck off with trying to tell everyone else to.
there are many joys in life and you can simply indulge them by not caring
so back to my original point
Too many messages, whats going on here?
nothing really
argument over gambeson balance
Gambeson being iron+ is nonsensical.
in short, some want your mods to be one way and not the other
Makes them feel like genuine ass.
not really substantial since it just devolved into mud slinging
Ah, usual stuff
There is a good reason for gambeson being iron tier
im just here to ask if clockmaker and quarterstaff combo is still something i need to worry about for a PvP event
Other options exist for balancing. Adding penalties. Reducing protection. More extremely,adding something for the iron+ bracket,such as an arming doublet.
low damage
CO does not add new armor pieces or weapons (except for two exceptions that have to be added)
can you add blunt damage reduction to furry race 🥺, so that he could have more blunt resistance
im hoping to implement CO in bigger events (up to 300 players hopefully !) but im keenly aware it needs manual balance for PvP
where on earth are you gonna get the hardware to run that
I would not recommend it, but you can look into PML tread and look into some screenshots of pieces of code
Gambeson being locked behind endgame metallurgy makes gambesons feel incredibly awful. They're just linen cloth,after all. It's both unrealistic and not genuine in the slightest to require iron+ to make what is presented as entry level armour otherwise.
Heh, no, you cant
I did, but there is no new lib version
at least a hour ago
as in you don't think it's possible or am i getting Courtcases Overhauled here
Yes, it is in development. If I publish releases too often and fast sometimes, does not mean I'm obligated to do it
CO animations will tank client side performance
mr Maltiez I'm starving over here for your high quality and quanity of code 🥵
there is no way around it
oh, that i wasn't aware of!
can you add option to disable animation for players ~>10 m away?
is that an estimation or is there somewhere i can go to ask about who else has tried CO at a large scale
sorry i realize i ask a lot of questions but hopefully ill be out of your hair after them
even vanilla breaks down with 100+ players
with co you should probably stick to small double digits
Even MMOs quietly instance users away in major hubs once populations start to go up.
Netcode is a complicated thing that very few manage to do well.
FromSoft is NOT one of them.
There is manual hotkey for that
You cant use any CO weapons without animations though
CO was made with orientation on Solo and small group COOP
surprisingly no! we've ran a server at 170, modded, with surprisingly few hitches
also there is still exploit with swapping between weapons to reset their animation for faster attacks
Is there still?
performance was actually fine, there were just crashes from unrelated things
with short swords
it got fixed
(apparently RP-VC and the instrument mods don't like each other)
gonna try rn
tops is still at 60 max i believe
and the rig is the current strongest consumer hardware
i wonder if a threadripper would be better
it's situational
id have to see if CO is going to be laggy, but hopefully you'd all be fine with me and coming back with my results?
it is not presented as entry level armour
CO is client heavy, not server heavy, afaik
yeah, i realized i phrased poorly
it was less a thing about the server being good and more about seeing if a bunch of players together are gonna lag still
If players are spread out, it will be ok, when they bunched up - nope
Test it
There were some optimisations recently
spread out is probably good since ehhh
whenever we do another civilization event (last one got quite a few people, but there weren't a ton of people clustered in one place) i want to try CO too
but ill definitely get back to you with results on the siege event im doing, which is hopefully 25v25 or more
is there anything you'd want to hear about when i do come back in order to help with further optimization? just so i come back with more useful observations than "it ran well" or "it ran like shit"
Average FPS count with armor and clothes on all players, without. With animations turned on and without. From several players in same place and time.
Ideally as screenshots of fps plot
okay, heard! ill make sure to keep notes on that
im running on a kinda meh gaming laptop so if it gets super laggy, ill probably end up as the canary in the coalmine if client side lag is too bad
Also bronze, iron and meteoric iron is not end game, steel is.
i would tentatively argue that meteoric is kind of the end game, just because you can easily survive off of that with no issues
Speaking of bronze... saw bronze javelin having all the same stats... is this true for all CO bronze?
bronze spears all have different durability
and for some reason iron spear has lower durability than all of them
Ah it was intentional
There were some considerations about iron being less durable than bronze, and considering that you get iron usually the moment you cast bronze anvil, it adds a bit of choice: more stats or more durability
is that gonna be a thing for other weapons?
may be, some day, may be not
i'm not against the idea of iron being stronger but less durable due to being easy to massproduce
ehhh, with VS i feel like bronze is easier to mass produce than iron
the fact that you can do mass batches of it without need for processing (bloomeries + removing slag for iron) means ignots are easier to mass together for a forging session
and for certain items means you don't even need to forge them, removing another step
The issue with bronze is finding the non-copper parts for the alloy. Tin's rarity is infamous. Black bronze is seen as a luxury flex because of the gold and silver requirements. And zinc and bismuth are also fairly rare.
though ultimately iron is easier to use when you find it due to the massive veins
Iron,meanwhile,is both common and spawns in gargantuan deposits.
yeah, was just gonna say
but you need to find tin or other alloy parts before the iron age anyways, and in my experience you can find enough to make a lot more than just the basics needed for iron
In my experience? Tin,bismuth,and zinc deposits are tiny.
Barely enough for a pick and an anvil across two deposits,sort of tiny.
though this comes from the perspective of a guy who typically bumps up tin surface deposits a bit to make the find-grind for them less tedious
Less but you compensate by hitting max copper ratio
And copper is notorious for being common
idea, make it so damage dealt to duraility is based on how much damage is reduced per hit
Imo stick with vanilla progression of tin for performance / bismuth for durability / black for superiority then iron
the thing is that black bronze doesn't require much processing and can be cast, is also easy to get in mass quantities once you get bombs
Unlike everything you alloy with it. As I've already outlined.
these resources aren't that rare
I goddamned go on journeys for enough bronze to make a suit of armour for the Resonance Archive,because I like the idea of going there in bronze. Since you're expected to give up a bronze pick for the location,it's reasonable to expect the place to be balanced around bronze.
i would suggest to keep the inaccuracy of iron being stronger due to the quirks of VS
though I can agree with certain forged items being slightly more durable - or, hm
i don't know if this is metallurgically accurate, but more durability on bronze in exchange for lower stats could work?
it seems to be all based on very small sliver of experience
Except they are. Tin's rarity is infamous both in reality and in the community. Gold and silver literally need bronze to harvest with a pick,and are rare within quartz deposits regardless. And zinc and bismuth,while more common than tin and gold,are still much rarer than copper and spawn in small deposits.
I have been playing vs for 6 years and never had any issues
you listen here whippersnapper, I've been playing vintage story from since it was a design document! respect your elders!

if you are scared of caving you can go around with pro pick, find ~0.1% of ore that you want, get y/3 ladders and dig streight down doing spirall or one sided ladder pattern
Which is the efficient way of getting ores,because caving is more or less just throwing a rock and praying.
just yankin your chain
irrc after typing , you are supposed to add a space
its just a typo, no need to focus on it
Even when it's not a typo,you have infinitely better things to do than focus on it.
in every message
you are my source of entertaiment
Then why do you do something incorrect?
he's right
Because it doesn't matter either way.
it's not incorrect, it's a subjective thing
Dont go too offtopic
Best as I can manage,it was something devised for either extremely primitive spellcheckers,or block printing.
Grammar Overhauled
honestly i think bronze being more durable but being less strong might be a fair compromise
since it is technically harder to acquire and thus would do well to last longer
but is easier to make than iron when you have the right materials
bronze isn't harder, it can be accuired by panning and isn't that hard to get (considering all 4 ways with 3 variants giving 12 options)
balacing can be done with json file if you so choose to tailor your experience
Except the alloy components don't drop via panning,last I checked.
You gotta pull it from the ground.
Further,panning is mind-numbing.
zinc, tin, gold and from bony soil silver
if tin is harder to get than iron that's game's issue and not mod's that adds combat overhaul
this change would be controversial yes
but i like me more reasons to use bronze
especially since bronze is hardly its own thing
it's more of a copper part 2
i mean it isn't too hard to get, but it is certainly harder than iron
which doesn't require any alloy parts
Maybe someone should make a mod, just for you. It replaces every bear with a large hairy man that behaves exactly the same
sure, why not
probably would make me stop jumping out of my seat whenever one decides to slap me on the back of my neck (and consequently dealing half of my health)
Iron is easier to get in high-quantities. It makes me sad, but I often skip most of bronze-tier in favour of finding iron and no longer needing to search for multiple metals
I do wish there were more alloys, though. I really loved that about Tinkers' Construct
Vintage Story is very shallow in ~~items ~~ tools and weapons, and clothes and armor mechanics, and food and medeicine most items mechanics, so there is just no room for interesting stuff
i suppose without armory mods, there's not even many good offensive options
There are three: weapon you hit with only in melee, and weapon that you hit with in melee and can throw, and a bow
Maltiez, what other games do you play and do you like any of them? xd
you could ofc make a mod to decrease iron deposits and increase tin or use the underground mines to force ore progression inside the mines
vanilla weapons are enough, it's just that vanilla combat is trash
honestly I've gotten by fine in vanilla with just chasing things with a spear, so not even bows are good
bows in vanilla are trash
I play HighFleet currently, I like it
co adequately redesigns all vanilla options
i don't think I've ever played CO without armory
me neither, but it can be done
so i can't observe it as well
vintory is just a game that has some major flaws and they start to show as you sink your teeth into it and analyze it
still the best sandbox building game by a long shot
oh i know, but in terms of its contemporaries in the genre i still think its above in many areas
minecraft in comparison has flaws on flaws on flaws
combat is a big flaw obv but tooling / resources and how modable (moldable) it is are pluses imho
I haven't modded other games, but after diving deep into VS codebase and game-design, I can say that it is deeply flawed in areas that I worked in.
the game has a centralized built in modding api, but that doesn't mean said api is good
there is no modding api? it's just how in game content is made
i've modded PZ and its beautiful what kinds of stuff you can do with lua there, but then again their core code is much harder to access than VS and it's java. the gameplay in general is also much more rigid and you can do less with it than here, its more of a blank canvas
ive yet to see a perfect software project everyone is happy with lol
maybe we'd be happier with unity and bepinex, seems to work fine for vh
It's better than most
Yeah, the Vintage API is honestly incredible compared to almost any other game
It’s built from the ground up to be extendable, and the devs even encourage and teach harmony patching (through the wiki tutorials) for things that are not yet exposed.
And with most of the source visible, it’s incredibly convenient to reference the raw code
Not sure if this is the correct place for bug reports, but I have one for the CO Armory Long axe. when doing things like cutting trees down or splitting firewood with a normal "tool" axe, the game will automatically switch to another valid axe in your inventory if your current axe breaks. This also seems to apply to the CO Long axe, if you start chopping a tree with a tool axe, said tool axe breaks, but the tree still has more logs to chop down, the game will just use your long axe to chop the rest of the tree down, I assume this is unintentional as it cant normally break blocks. If this is the wrong channel please let me know.
is there a reason for the shield bash of an iron greatsword being a tier higher than the regular attacks
OH Yeah! I absolutely can second this.
I entirely forgot about the issue, so I apologize for not mentioning it sooner :P
But I believe it's because the Long Axes are marked as Tool: Axe?
(Last I checked I think that was the case)
I will re-check it now though
Ah, yes, my current local version is Armory 1.1.1, so a bit out of date I believe, but it does have
"tool": "axe"
in the file, line 52.
And from looking at the Treecutting code a while back, that is what the game uses to pull a like-tool-type
I figure just removing that will fix this though easy :P
Yea, still there as of 1.4.1, noticed my long axe just broke while chopping trees, figured it was unintended
Head Leather Jerkin isn't supposed to look like this, is it? I'm using Kobold player model, by the way
It looks just fine on my person, though
It also looks broken in my game as well, without the kobold model
are these anything to worry about we are setting up a new map completely fresh and/ server and this is being spammed quite a lot
note again this is new world and all the combat overhaul mods should be updated
talking about these errors
Texture atlas issue?
Hm...
Ok, will look
Yeah, VSMC removed texture last time I updated shape it seems, and it borked
Ok, current durabilities for all weapons:
"durabilitybytype": {"*-copper": 250, "*-tinbronze": 450, "*-bismuthbronze": 530, "*-blackbronze": 600, "*-iron": 850, "*-meteoriciron": 1100, "*-steel": 2125, "*": 150},
what changed?
It is taken form falx
nothing
these are current values
durabilitybytype: {
"*-ruined": 15,
"blade-scrap-scrap": 90,
"blade-falx-copper": 250,
"blade-falx-tinbronze": 450,
"blade-falx-bismuthbronze": 530,
"blade-falx-blackbronze": 600,
"blade-falx-iron": 850,
"blade-falx-meteoriciron": 1100,
"blade-falx-steel": 2125,
"blade-falx-gold": 2125,
"blade-falx-silver": 2125,
"blade-blackguard-iron": 1100,
"blade-forlorn-iron": 650,
"blade-longsword-admin": 9999
},
nope, 1100 only meteoirc iron
just checked, yeah i misremembered
Hm...
"durabilitybytype": {"*-copper": 300, "*-tinbronze": 600, "*-bismuthbronze": 550, "*-blackbronze": 650, "*-iron": 500, "*-meteoriciron": 750, "*-steel": 1250},
Ppl will hate me for reducing durabilities...
people will hate you even more for the steel
gotta say i would probably skip base iron* with durability like that
i don't think the extra damage matters much
needs to be lower then tinbronze
why?
it's more bothersome to make
two extra metals, awkward ratios
but black bronze def should be better than iron
tin bronze should be better than iron in durability, this is the goal
There were complains about steel tools and weapons being indestructible, leading to less demand for steel
i think it's just more noticeable in co because armor is so much cheaper
so you feel the effects of steel sooner
Armor needs more consideration, cause durability damage is based on damage received, which makes it harder... On one hand, on the other: you get durability per damage point received naturally
huge improvement over vanilla, but it ends up swinging too far in the opposite direction
there's also the variable of separate pieces having divided durability
now THOSE break pretty fast compared to the combined piece
May be need to redistribute durability based on hit probability for specific zone
Thats a lot of work though...
Updated javelins animations, or rather polished them without changing the grip type
bullseye? dont install it with CO
like the new javelin animation
the problem i see immediately with the new durability is it's indiscriminate
for example greatsword is a crowd control weapon
500 durability is too low for that
could make durability higher for weapons that cost 2 ingots
I will never understand this
i feel like bronze armor would be more alluring if you could cast it
imo the main reason i don't like making it is because making armor takes so long and you know it's gonna be obsolete soon as you have iron
not obsolete at all
especially now
and if you don't wanna make the commitment of plate there's brig which is super cheap
also wouldn't casting take MORE time and effort?
Nah, you can mass produce it (unless it's a realistic cast)
needing to make the molds, fire them, melt metal, pour metal, break molds
But until 21 even the anvil cast wasn't realistic :P
anvil has now solidified there will be no more magical molds
even if casting was an option smithing would still be better
Eh, with magic casts, it comes down to if you gotta mass produce or not really
i really tried to make mass casting work for tools, it doesn't work
but anvil molds were a great way to lazily and wastefully produce ingots
It does! You just kinda need like, an array of like, lets say you make starter kits of copper pick, propick, shovel and axe
Line up 4 molds, then melt down 4 ingots and pour, go do some other smithing like hammering out a sword or something while they cool
It's mainly just the accessability to go do something else in the meantime
in a settlement that could work, for personal use it's too much planning ahead
And if you gotta get like, 5 sets of these made, it's kinda just stop back every now and again
Well yeah, that's why it's mass production :P
i'd say the middle one is the most recognizable
thoughts on this?
Maybe
I think the middle one is the one you smelt into a ingot mold. With a bright light added to them.
Any news on memeory leaks?
Oh, I hope it is not this situation, when you help once, and then ppl start to exploit you...
With ingot textures meteoric iron weapons will have these "pissdrops"...
I guess I will just post a link to https://mods.vintagestory.at/purpleblackbronze
no pissnuggets on weapons..
Not yet, sorry. I haven't had much time to play, and forgot to capture a memory dump afterwards.
Removing the player lib mod did massively improve the situation. Unfortunately that also means it doesn't show immediately by how much memory VS consumes (followed by Mr forgetting to capture the memory dump). While playing I did not notice anything bad/unusual.
@fallow surge There's a memory leak or just a ton of allocations when people are fighting, my best bet is the hit handling; when an hit happen, the game freezes a little bit (less than a sec, but noticeable), and sometimes the freeze is longer than a sec. (it might also be the swing animation, but it's just a guess without much evidence) It does not happen when people are standing still doing nothing.
This causes game freezes for a few seconds at worse (likely the GC doing a collection), and there were occasions that linux had to kill the vintage story process because the system ran out of memory. (I have 16GB of Ram)
apparently someone told me the only reason CO is unstable or idk unoptimized? as a mod is cuz of the hitboxes he added
idk I can just screen shot the complaint but its more like venting
Vintage Story players seem quite opinionated, yet nobody agrees on one thing. At the end of the day, if the mod developer makes a mod in a way you don't like but they do, then I guess that's unfortunate for you :/
They have no idea what they are talking about
Also, why are you posting it here?
Also it is stable and performant. The only thing that has problems are animations, and only because of that CO tries to hook into vanilla animation system in a not invesive way, instead of fully replacing it.
I added caching to Player Model lib, can you test with it please?
how do i attack with the blunt side of the poleaxe? because every attack is either done with the axe side or with the pointy side
you're not supposed to attack with it
...
oh :(
Bottom attack
but that uses the spear end?
since when do tools have directional attacks?
OH POLEXE
i read pickaxe
for poleaxe it's the overhead
Then top
oh okie thank you so much
It rotates poleaxe before attack
for top attack
ah i might not have noticed that, thank you so much
Hm... Need to adjust animation, not smooth enough...
i didn't even notice it was a different animation, made sense regardless
i noticed that the pole hammer lacks a pointy spear like end. what version of the pole hammer is that?
It should not have spike from gameplay reasons, it is steel age club
ah okie thank you
Hm, will buff its 2h damage by one to be on par with poleaxe
Need to rebalance melee weapons damage later
oh i would love it to be stronger
For some reason I find this comment hilarious
Also, it probably was 12 damage, not 14
Do you play with Player Model lib installed?
Can you please update it to latest, and then send client-main logs after some time (and hour or more) of playing the game?
Want to see how new caching works
sure
Guy got sucker punched
Will try this evening (if I have time to play).
current pml throws errors with current humans ver
oh it's co patches
well regardless
You can duplicate any ingot that has a chain smithing recipe below steel.
Smith 2 ingots into 4 chains
Smelt 4 chains in a bloomery
???
4 ingots
Profit
@fallow surge I know you tried to account for this by making chains only give 10 bits when broken down but the bloomery doesn't seem to care.
I have a mental image of a 8 foot Seraph squatting down looking at the drifter before it punches him in the face
client-debug logs please too
Wait
I meant after some playing, cache drops statistics and clears unused data each 10 minutes
yeah but i noticed this instantly upon launching the game
Can you please send client-main logs for this 2h period (should be in archive if you entered wolrd afterwards)
So there is still a leak and ExtendedElementPose count got to 4m at 2h from 300k at 1h...
Can't send it to you via DM.
I assume you're after these lines (haven't seen any that are non-0.
29.10.2025 14:29:41 [Notification] [Player Model Lib] [ObjectCache<String,Shape>] (rescaled shapes) Starting clean up. Current world time: 00:37:25.9160000
Size: 0
'Get' count: 0
'Add' count: 0
29.10.2025 14:29:41 [Notification] [Player Model Lib] [ObjectCache<String,Shape>] (rescaled shapes) Cleaned up '0' keys for '0' values.
29.10.2025 15:46:27 [Notification] [Player Model Lib] [ObjectCache<String,Shape>] (rescaled shapes) Cleaned up '0' keys for '0' values.
29.10.2025 15:48:38 [Notification] [Player Model Lib] [ObjectCache<String,Shape>] (replaced shapes) Cleaned up '0' keys for '0' values.
29.10.2025 15:51:34 [Notification] [Player Model Lib] [ObjectCache<String,Shape>] (rescaled shapes) Cleaned up '0' keys for '0' values.
29.10.2025 15:53:56 [Notification] [Player Model Lib] [ObjectCache<String,Shape>] (replaced shapes) Cleaned up '0' keys for '0' values.
from 300k at 1h...
That was just after the game started, not at the 1h mark.
Any non seraph players?
I was the only player on the server during those 2h, don't have a different model and I don't think anyone else on the server has a different model either.
Okay, then 0 keys makes sense.
playing solo currently
So there is still a leak and I have no idea what can cuase it
I can give you a few more examples on what references them, not sure if that helps though
i mean i can hop on the server and afk as a different race
Give all information you can, may be I'll notice something
I need actual gameplay with you taking damage, changing clothes and armor, and so on
time to ask the furries..
Were there freezes/lag spikes in previous tests?
Not sure if there where when I was alone, but there have been those Player OnTesselation freezes/spikes every 2s we talked about recently.
didn't notice those since we'd removed player model lib, but that could be totally unrelated.
Here are 10 instances picked randomly.
Here is the list of reasons why it is still in-memory (choosen one at random, not from the list above).
I can try to see if I can get the value behind one of those pointers, but I'm not sure which ones are most relevant.
I think this line means there is an EntityPlayer field somewhere, but it is set to null.
00007f72cb4135b0 40000dd 58 ...mmon.EntityPlayer 0 instance 0000000000000000 <Player>k__BackingField
The problem is that there should be records in AnimatorCache
Can you send client-debug logs from this run?
Haven't gotten around to reporting the berry bush bug, yet, so sorry for the spam.
contains both log files.
So, cache does cleaning up...
Doesn't this indicate that it is indirectly referenced by AnimatorCache?
Just took a random ExtendedElementPose and looked at the System.Collections.Generic.Dictionary<System.String, Vintagestory.API.Common.AnimCacheEntry> that is holding it. It has only 97 entries.
7f33aa546648
-> 7f32ba0c6af8 Vintagestory.Client.NoObf.ClientCoreAPI
-> 7f32ba0c6bc8 System.Collections.Generic.Dictionary<System.String, System.Object>
-> 7f337f2200b8 System.Collections.Generic.Dictionary<System.String, System.Object>+Entry[]
-> 7f33cfc40778 System.Collections.Generic.Dictionary<System.String, Vintagestory.API.Common.AnimCacheEntry>
-> 7f342f8633b0 System.Collections.Generic.Dictionary<System.String, Vintagestory.API.Common.AnimCacheEntry>+Entry[]
-> 7f33a655a740 Vintagestory.API.Common.AnimCacheEntry
-> 7f330a0ae848 Vintagestory.API.Common.Animation[]
-> 7f33098d5e48 Vintagestory.API.Common.Animation
-> 7f33aa723978 Vintagestory.API.Common.AnimationFrame[][]
-> 7f33aa73f1a8 Vintagestory.API.Common.AnimationFrame[]
-> 7f33a655acb8 Vintagestory.API.Common.AnimationFrame
-> 7f33a655acd8 System.Collections.Generic.List<Vintagestory.API.Common.ElementPose>
-> 7f33aa43b690 Vintagestory.API.Common.ElementPose[]
-> 7f33aa43b600 CombatOverhaul.Integration.Transpilers.ExtendedElementPose
-> 7f33aa43b670 System.Collections.Generic.List<Vintagestory.API.Common.ElementPose>
Looks like not all are referrenced by Vintagestory.API.Common.RunningAnimation though.
This one (again: picked at random) has a Animation.Name "Idle" and Animation.Code == "idle", in case that helps.
The one I sent gcroot for ealier had Idle1-fp and idle1-fp
With that I mean the animation the Extend3edElementPose belongs to
-fp, hm, ok
fp animation element poses are created each frame by vanilla
unlike tp
Could also be random luck that it's this one, but at 4 million elements that's somewhat unlikely.
another one choosen at random: KnifeCut and knifeCut (7f338d398ff8)
I will try fixing one potential candiate in a few minutes, will you be able to test it?
Not really. Mishka usually updates mods once a day (in the morning).
and I'm not sure if it also happens in singleplayer (or with fewer mods)
hm, ok
This one doesn't seem to be in an Animation, is that normal?
-> 7f32ba0547d8 Vintagestory.Client.NoObf.ClientMain
-> 7f32ba06cba8 Vintagestory.Client.NoObf.ClientEventManager
-> 7f32ba06d018 System.Collections.Generic.List<Vintagestory.Common.GameTickListener>
-> 7f335bb8abd8 Vintagestory.Common.GameTickListener[]
-> 7f32b9a36f30 Vintagestory.Common.GameTickListener
-> 7f32b9a36ef0 System.Action<System.Single>
-> 7f32b9a36dc8 CombatOverhaul.Integration.AnimatorCache
-> 7f32b9a36e00 System.Collections.Generic.Dictionary<Vintagestory.API.Common.ClientAnimator, Vintagestory.API.Common.EntityPlayer>
-> 7f344528a520 System.Collections.Generic.Dictionary<Vintagestory.API.Common.ClientAnimator, Vintagestory.API.Common.EntityPlayer>+Entry[]
-> 7f3450f394e0 Vintagestory.API.Common.ClientAnimator
-> 7f33cb552c90 System.Collections.Generic.List<Vintagestory.API.Common.ElementPose>[][]
-> 7f3450a55088 System.Collections.Generic.List<Vintagestory.API.Common.ElementPose>[]
-> 7f3417699318 System.Collections.Generic.List<Vintagestory.API.Common.ElementPose>
-> 7f33dc9b6150 Vintagestory.API.Common.ElementPose[]
-> 7f33dc9b60c0 CombatOverhaul.Integration.Transpilers.ExtendedElementPose
-> 7f33dc9b6130 System.Collections.Generic.List<Vintagestory.API.Common.ElementPose>
Just an Animator, which seems to hold the poses directly.
animators do that
Are you getting this type leaked, too?
you said some of those are generated every tick. How often does the cleanup run?
and how many ExtendedElementPose elements are normally generated per tick?
because assuming that the majority of the ExtendedElementPose objects created after the world was loaded are cleaned up every 10 minutes, it would have to produce at least 6299 per second
One for each shape element on player including armor and clothes
What is your avg fps?
depends. Usually around 50 average, sometimes down to 30 and basically never more than 70.
(from memory)
~120 per frame
don't know exactly. Maybe 10-12
If we assume 100/frame are created, that'd be 6k/second or 3.600 Million/10 Minutes.
That is high, but it would match the amount we see and the expected amount of objects created after 10 minutes.
I can reduce clean up period, and later make it configurable
If we assume 200/frame those 3.6 million would be the expected amount of you query at a random time between clearing.
Before I reported this leak, was there this 10min cleanup?
What I don't quite get is why there is a need to generate hundreds of objects for animations on every frame. Without reusing them in the next frame or after 10 frames.
no, or rather animators were removed for dead entities each 5 minutes
Which obviously didn't work
for players
New cache removes all entries that were not accessed between cleanups
7f72cc124d48 2,689,038 301,172,256 CombatOverhaul.Integration.Transpilers.ExtendedElementPose
Scrap that idea of 4 million being generated per tick. This is in the same play session after 1h and the amount is approx. half that of what I had at 2h. The probability that this happens to match up with the 10min cleanup timer is low.
4 million in 10 minutes
We might not have to find the cause for this though: It's about 300MB/hour now.
Hm...
There is another cache, that can be the cause, but it does not hold animators
Fixing it rn
But shouldn't that show up in at least some of those random entries we've looked at?
Hm... Seems the one
I moved it into simillar cache with more robust code
in 1.12.14
So, will be waiting for more tests from you
It should not hold element poses, just ShapeElements though
I'm tired...
Hm, these are static memebers of ExtendedElementPose
Not relevant...
yeah.
I have no idea then
00007f72c7a06910 400211e 8 System.__Canon[] 0 instance 00007f33f6d18a48 _array
00007f72c7450980 400211f 10 System.Int32 1 instance 15132 _head
00007f72c7450980 4002120 14 System.Int32 1 instance 7307 _tail
00007f72c7450980 4002121 18 System.Int32 1 instance 8559 _size
00007f72c7450980 4002122 1c System.Int32 1 instance 923572 _version
It does seem to change often, but only has ~9k entries (seems to be a System.Collections.Generic.Queue1[[Vintagestory.API.Common.ShapeElement, VintagestoryAPI]]`)
1,338 310,416 Vintagestory.API.Common.ClientAnimator - not that many animators...
same
Yeah
I reduced cleanup period for animators to 5 minutes
So, we'll see if it changes anything
I play on a server with a couple kobold players and some seraphim. Leaks seem to add up relatively fast, but I'm not certain from what exactly. I suspect playerlib because it says there are a lot of anim-related calls and they only increase over time
For lack of a better place to report this, I'm here. I am encountering crashes that seem caused by OverhaulLib --
I just installed the latest version, and started getting absolute storms of this error message:
29.10.2025 19:07:17 [Error] Exception: Could not load file or assembly 'PlayerModelLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.
The log reports that it comes from
at CombatOverhaul.Integration.ObjectCache`2.Clean()
at CombatOverhaul.Integration.ObjectCache`2.<.ctor>b__11_0(Single _) in D:\Projects\VintageStory\Overhaullib\source\Utils\ObjectCache.cs:line 29```
Is anyone else seeing this? It manifests by the world ceasing to update from actions I take, and then shortly after, VS freezes and crashes.
OverhaulLib is v1.12.14.
I do not have PlayerModelLib installed, but that was not a problem before.
I'm getting this as well
totally paralyzed my server with console spam
@nimble zodiac
specifically OverhaulLib 1.12.14
For the time being I've downgraded to 1.12.13, which seems to fix it.
With latest versions?
No, likely not. I can try updating the server and seeing if that improves anything, though
Hey Maltiez I'm on the balance team for the CoT server and I wanted to ask how the Armor Piercing stat factors into the damage formulas.
We've just updated to 1.21 and we're working off your base balance to start so I just want to understand all the levers we have available =]
It is added to damage tier when used against player armor
Understood. Thanks!
Does the table you've created take into account tiers above 9 yet?
Or would we have to create a new array that takes into account higher tiers of damage etc?
That would be up to you, I'm sure that we can work within the framework given no problem =]
Thanks for the quick response
Why do you need them anyway?
power creep
It is not necessary but...!
It would allow us, on roleplay servers, to create unique weapons that are singularly powerful. So, for example, creating an "Excalibur" that can carve through steel plate twice as well as a regular sword. Of course this could already be achieved through just raising the damage value very high, but that would also mean it kills unarmored individuals instantly instead of having the intended effect of "metal that's sharper than steel".
But, because of the way your protection curves work, it gives us a better way to fine tune damage numbers in general without having to do so much custom work on our end. We have talented modders like Siimer who can adjust the array no problem, but by having it officially supported it gives not only us, but other servers more freedom within your framework =]
I hope that makes sense.
"There can't possibly be a use case for this, so I won't bother."
15 min later...
"Hey... Happen to have something for this exact use case?"
almost sisyphean
Hence why it makes sense to always follow modular design if possible
A lot of stuff in CO and related mods is taken from assets, so it can be easily modified with just json patches, it is a general pattern I use everywhere
I wish vanilla used this pattern too, instead of hardcoded magic numbers
In case of CO table that determines how players' armor protects against damage is handcrafted, instead of using some formula, so it takes effort to expand it.
Is armor piercing attack agnostic?
So for example, the poleaxe has slashing, piercing, and blunt damage types as well as armor piercing 2
does that apply to all the attacks?
What you set in json
In case of poleaxe only top and bottom have bonus
Gotcha, so you can set it per attack? That's good to know thank you Maltiez =]
Hm, need to get rid of this "MaxReach" parameter and somehow determine if programmatically
👍
Having a similar issue but couldn't definitively find a cause
There is a whole discussion about fixing the leak in this channel, you can read it
It is better than "CO players are not humans" though, clear sign of progress
never understood the hostility that CO gets
I only found CO because so many people considered it mandatory to really enjoy Vintage Story
i saw this mod and didnt see why choose it over vanilla
Yeah same Khaydar. I don't understand why people can't just be like... If they don't like it... don't use it then and leave it at that?
