#Combat Overhaul

1 messages · Page 31 of 1

hollow tulip
#

sure it does save u from getting one shooted but that 5 seconds of invincibility is a bit too much

#

just sayin

#

oooh

lyric marsh
#

gotta do your own patches

hollow tulip
#

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

#

🐁

lyric marsh
#

siimer has made a whole page of mods just to balance co for pvp

hollow tulip
#

huh where

#

ooh mod db

#

ig i could look thx

hollow tulip
#

thx

hollow tulip
#

this shit is good

#

cuz ive seen people use gliders to skip jump and be faster

#

also wow nice

pine aurora
#

@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:

finite ember
#

@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)

split verge
#

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)

split verge
#

"front above below" refers to the position of the enemy?

fallow surge
#

yes

split verge
#

ah i see

#

any plans to add locational hp pools for each limb?

lyric marsh
#

why?

brave canyon
#

I think something like that is better off as it's own mod, like a medical overhaul mod.

wispy rapids
#

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 🤔 ?

fallow surge
#

it adds 100% of the base factor value to the factor itself

wispy rapids
#

ah wait mb

#

"playerLegsDamageFactor": -1.0

#

i meant it like this with a -

fallow surge
#

Then it will reduce it to 0

wispy rapids
#

ohhh

#

so in this case "playerTorsoDamageFactor": -0.5

still wave
#

guys, is the armor kit a consumable? or is it reusable?

wispy rapids
#

if the dmg to the torso was 100. it would just be 50?

fallow surge
#

YEs

fallow surge
#

it is cheap though

gleaming drift
#

genuine suggestion, making stats disableable. i only wanted this mod for the armor stuff to begin with and now have to deal with that

lyric marsh
#

what do you mean?

gleaming drift
#

the entire stats portion of the mod, gone

#

id do it myself if i could

gentle bane
#

the combat overhaul part being disabled in combat overhaul?

gleaming drift
#

i was only here for armor, not some annoying proficiency stats and whatever the other two are

lyric marsh
#

how do you expect to do that

#

oh stats as in profs?

gleaming drift
#

well the mod page lists 3 kinds

gentle bane
#

how do you expect to eat a sandwich without the bread?

gleaming drift
#

by shoving the ham and cheese in my mouth

lyric marsh
#

easiest way

#

or make a patch

gleaming drift
#

cant make a patch, not doing commands cus i dont understand them

lyric marsh
#

/gm c

#

/player yourname acso

#

/gm s

#

.charsel

gleaming drift
#

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

fallow surge
gleaming drift
#

i assume they are the ones added to classes

lyric marsh
#

those are profs

gleaming drift
#

anything that changes reload speed or attack speed from what is default i simply dont want

fallow surge
#

Bad for you, cant please everyone

gentle bane
#

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

gleaming drift
#

i cant play as commoner because i dont play as a human to begin with

#

dont even have that option with that mod

gentle bane
#

what mod and what option?

gleaming drift
#

being a commoner and a kobold

#

either it isnt an option or another mod replaced it

#

but i dont have the option

gentle bane
#

well umm you could ask mod creator for it if there isn't option in mod's config

#

but there is option for it

gleaming drift
#

is combat overhaul safe to remove mid save at least?

lyric marsh
#

take off the armor and yes

steady chasm
#

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

lyric marsh
#

far from all weapons have them

fallow surge
#

They haven't it properly installed

steady chasm
lyric marsh
#

then reinstall yeah

steady chasm
fallow surge
#

No, just regular stuff: duplicates, dependencies, versions, cache, game restart e.t.c.

#

I need a bot that will handle these reports...

steady chasm
#

Sorry mate:/

fallow surge
#

Or need vanilla that can handle mods properly

hollow pasture
#

The rest only have "Combo" attacks

steady chasm
#

Yeah spawned one in and I cant swing even in single player I've reinstalled dependencies deleted cache still no luck

lyric marsh
#

greatsword..

#

also no idea what's up

steady chasm
#

Nothing shows up in the log....

#

I've got it to work in singleplayer but it just dont work on the server

glossy oracle
fallow pagoda
#

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

solar crest
#

@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.

lyric marsh
#

it stutters from the amount of equipment slots

fallow surge
#

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.

vale moat
#

@fallow surge by that do you mean just some GUI elements (dialogs) or even the custom per-frame stuff done using IRenderer?

fallow surge
fallow pagoda
fallow surge
#

Rn I'm more focused on PML, I will return to CO and related mods a bit later.

lyric marsh
#

casually made the only two race mods that caught my interest while at it

fallow surge
#

I haven't update CO compat for humans after splitting it into separate nations

past hare
#

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 😄

fallow surge
quartz basin
vale moat
#

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

past hare
past hare
prisma basin
prisma basin
#

Aren't these called holsters?

astral rapids
#

@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

astral rapids
#

Yes, it’s the most recent version

astral rapids
fallow surge
#

It also prints in client-debug each 10 minutes how much stuff was cleaned up from cache

pine aurora
fallow surge
final garden
rigid mortar
gentle bane
#

holsters are for guns, sheaths are a broader term that's also correct

pine aurora
fallow surge
#

It will look into one more thing where I expect can have a leak

pine aurora
#

So someone else is leaking ElementPose types (that are replaced by your type)?

fallow surge
fallow surge
pine aurora
#

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).

fallow surge
#

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?

pine aurora
fallow surge
#

Do you play as a seraph?

pine aurora
#

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?

fallow surge
#

I mean PML allows you to add other models, like humans or skeletons

pine aurora
#

Wait a second, that applies to other players within render distance, too, right?

fallow surge
#

Yes

pine aurora
#

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).

fallow surge
#

Wait...

pine aurora
#

maybe not every 2 seconds

fallow surge
#

I dont do harmony prefix patches, I have transpiler path, will it still rename method with _patch prefix?

fallow surge
pine aurora
fallow surge
#

I dont retain any data here though

pine aurora
#

So we now have a suspect on who is creating so many ElementPose objects, but don't know why they are still in-memory.

fallow surge
#

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.

pine aurora
# pine aurora

According to this the vanilla ClientAnimator seems to still have a reference to them (or at least to some of them).

fallow surge
#

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

pine aurora
#

Thanks for pointing me toward PML. I had no idea who was causing those 7ms frame time spikes every 2s.

fallow surge
pine aurora
#

The json that is decoded here doesn't come from PML?

fallow surge
pine aurora
#

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)

fallow surge
#

PML injects additional json decoding here, if it needs to replace wearable shape, not relevant for seraphs

pine aurora
#

or do you mean to say OnTesselate shouldn't be called that often?

fallow surge
pine aurora
#

Good to know. So it should only be called once in the beginning or something like that?

fallow surge
#

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

pine aurora
# fallow surge 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.
fallow surge
pine aurora
#

(which is why I'm really thankful that you had an idea on what might cause the player tesselation one.

fallow surge
#

Someone recommended it to me here

pine aurora
# fallow surge What does this list means exactly?

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.

pine aurora
#

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.

fallow surge
#

Hm, there is vanilla AnimationCache, I can try clear it time to time

#

It is not cleared in vanilla

fallow surge
pine aurora
#

yeah, 1sec

fallow surge
#

And number of Vintagestory.API.Common.ClientAnimator

pine aurora
#

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.

fallow surge
#

ok

pine aurora
#
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.

fallow surge
#
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

lean quest
#

i cant attack or change grip strength is there some way to fix it

gentle dock
foggy carbon
#

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

lyric marsh
#

should be easy to mod in

prisma basin
#

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?

prisma basin
#

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.

naive sedge
#

Cuz these arent entry level armor

prisma basin
#

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.

naive sedge
#

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

prisma basin
#

The "lack of penalties" thing is pure community mind virus.

surreal token
#

light armor is lighter, actually
this means it NEEDS to be sewn using MAGIC METEOR IRON

prisma basin
#

People see negatives and piss their britches,not pausing to consider the benefits.

naive sedge
#

Alright... could you argue better why gambeson would not be prefered for movement users over a full steel heavy plate

prisma basin
#

Not helping matters in the slightest is that gambeson is the only available armour that is worn on the skin layer.

surreal token
#

"if all you care about is movement why would you not use the light armor" brother who asked

tranquil onyx
prisma basin
surreal token
#

i just want to know why linen suddenly needs meteoric iron to sew

tranquil onyx
surreal token
#

nothing else in the game is balanced that way

wary terrace
#

hello harry du bois

naive sedge
prisma basin
prisma basin
naive sedge
prisma basin
#

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.

naive sedge
#

And people will prefer what they prefer

wary terrace
#

to add my own opinion, armor's usefulness is kinda contextual

surreal token
#

the merits of the armor doesn't matter when it's literally just layered linen cloth that suddenly requires magic sky metal to tailor

prisma basin
#

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.

wary terrace
#

if you want to cave, go for heavier armor

tranquil onyx
wary terrace
#

i will admit i haven't played tailor very much so i haven't tried out tailored gambeson

tranquil onyx
#

It’s padding, is all

prisma basin
#

Regularly foiling blunt weapons and one-handed blades.

wary terrace
#

but considering it's one of the best skin layer items out there in this mod? i don't mind it using meteoric

prisma basin
#

Meanwhile,leather gets no historical mention as anything more than a mounting layer.

#

Or a shield liner.

wary terrace
#

though imo meteoric is crazy common once you know how to look for it

tranquil onyx
#

Touche

prisma basin
#

Gambeson is entry level armour. It's cheap,it provides basic armour protection worn on the skin layer. And it has historical backing.

naive sedge
#

And game mechanically its easy armor...

prisma basin
#

The community mind virus needs to be cured,or you can lean into it and rebalance the armour directly.

naive sedge
#

Maybe too easy if not gated behind alot of flax

prisma basin
# naive sedge And game mechanically its easy armor...

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.

wary terrace
#

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

prisma basin
#

And that process for armour grade leather makes it more expensive than maille... for less effective protection.

wary terrace
#

better as a solo armor, but maybe it. idk, is less nimble than gambeson

naive sedge
prisma basin
#

Because it's not preference.

#

It's clinically diagnosable psychosis.

#

You see a negative number and instantly recoil.

#

Loss aversion to the extreme.

naive sedge
#

I literally use plate armor and gambeson

#

Whenever i want

#

I prefer one over the other if i feel like it

prisma basin
#

The point I'm making is that the current iron+ availability of gambesons is absolute stupidity. It makes no sense.

wary terrace
prisma basin
#

Mesoamerican societies made gambesons. They didn't have iron or steel.

naive sedge
#

Not from a historical stand point no

#

Its on iron level for the sake of equipment progression

prisma basin
#

Then perhaps nerf gambeson.

naive sedge
#

Besides... copper and bronze are easily skipped within the year

lyric marsh
#

are people trying to heckin realism again

#

or what is it this time

prisma basin
#

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.

lyric marsh
#

so i was right

naive sedge
#

Yep

#

And a pinch of mobility-is-bad

lyric marsh
wary terrace
#

does not the leather jerkin have the same protection as a gambeson or am i mistaken

naive sedge
#

For me no XD

lyric marsh
#

and t gamb is +1 point in each

prisma basin
lyric marsh
#

t gamb is EXTREMELY strong

#

put chain over it and you already have a noticeable armor setup

wary terrace
prisma basin
lyric marsh
#

well he already did

#

by making it require steel (or meteoric as tailor)

wary terrace
#

or am i not reading you right

prisma basin
#

That's not a direct nerf. That's a progression change.

#

Like making Chlorophyte post-Moon Lord in Terraria.

wary terrace
#

mmm green

prisma basin
#

A direct nerf is keeping it where it is in progression,and making it less effective.

lyric marsh
#

not possible

prisma basin
#

Are the numbers greater than one? Yes or no.

lyric marsh
#

without redesigning all armor just for this one change, not possible

wary terrace
#

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

naive sedge
#

As opposed to finding in ruins/traders

prisma basin
#

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.

lyric marsh
#

yes it also solves the problem of requiring a tailor

#

traders never sold t gamb

#

and vanilla ruins don't have it

lyric marsh
prisma basin
#

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.

lyric marsh
#

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

prisma basin
#

Bears.

lyric marsh
#

you have a very bad case of tunnel vision

prisma basin
#

If you're using FotSA,rhinos and elephants.

lyric marsh
#

bears penetrate one point of flashing

#

they penetrate several points in fact

prisma basin
#

Most big cats.

lyric marsh
#

that one point from gamb by itself does absolutely nothing

#

it only matters with extra armor

#

look at the spreadsheet before making such claims

naive sedge
#

I think im starting to see the point that it was cheap quality armor locked behind later progression

prisma basin
#

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.

lyric marsh
#

and you're acting like someone who doesn't in fact know what that is

prisma basin
#

I rushed tailored gambeson specifically because I was able to dye it.

lyric marsh
#

you haven't made any point past "this thing is bad because it's bad"

prisma basin
#

Entry level armour being gated behind endgame metallurgy.
Bass ackwards.

lyric marsh
#

entry level armor is wood lamellar and bear armor (if you can get it)

prisma basin
#

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.

lyric marsh
#

they are perfectly functional and can be made on the second day

gentle bane
#

well umm you can mod it to your liking without any coding

lyric marsh
#

yes

#

very easily

#

just json

prisma basin
#

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.

gentle bane
#

there is no need to appeal to someone for something to change if you can change it yourself or make your own mod

final garden
lyric marsh
#

you have not answered the simple question of why

prisma basin
#

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.

lyric marsh
#

so it should be changed because muh realism

prisma basin
#

Especially when you're able to make much more advanced armour the moment you get copper.

prisma basin
naive sedge
#

So is the issue just cheap low tier armor being locked on higher tier materials?

prisma basin
#

It's telling the player, "Oh,you want basic protection? Fuck you."

#

Swamp man armour isn't even animal rated.

lyric marsh
lyric marsh
prisma basin
#

The experience of playing the game.

lyric marsh
#

solved

gentle bane
lyric marsh
#

and that means..

gentle bane
#

as long as you are playing for your own sake you can just give it to yourself from creative

prisma basin
# lyric marsh and that means..

...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?

lyric marsh
#

how you feel = how everyone should feel

#

because the gambeson in the videogame is not hecking realistic

prisma basin
#

Because it's locked behind endgame metallurgy.

#

Despite being LINEN CLOTH.

lyric marsh
#

and that is an issue because..

prisma basin
#

It makes no sense.

#

It's not genuine.

lyric marsh
#

we're not getting anywhere here

#

good day

naive sedge
final garden
#

Everyone knows what the 'issue' is, it's just a disagreement about how to fix it

gentle bane
naive sedge
#

Can it not actually be fixed in the code or a whole rebalancing hassle?

prisma basin
gentle bane
gentle bane
#

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...

final garden
#

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

prisma basin
#

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.

naive sedge
#

Nothing a few more mods cant fix XD

gentle bane
prisma basin
gentle bane
#

it's it like a outerlayer garment?

prisma basin
#

It was their only armour,because the Aztecs didn't have much metal at all,besides gold.

gentle bane
#

and natural 99% pure copper veins on surface

prisma basin
#

It's gambeson with a different name.

gentle bane
#

and different function, made from different materials

final garden
#

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 cowskull

gentle bane
#

made by different ppl for different reason

prisma basin
#

Same function. Soft body armour.
Same performance. Foiling blunt weapons and one-handed blades.

wary terrace
#

i think all armor should cause you to collapse into a puddle under the weight

#

this is the only way to make it balanced

gentle bane
#

add body mass and muscle-fat ratio

#

cdda kind of thing

naive sedge
#

Stamina too cuz why not

prisma basin
#

Stamina is already modeled in VS. Hunger rate.

gentle bane
#

stamina drains on health regen

wary terrace
naive sedge
wary terrace
#

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

gentle bane
#

wearing armor is kind of lame, only ppl who fear death wear it

wary terrace
#

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

prisma basin
#

I know this,because I saw this happen in real time.

wary terrace
#

my point is moreso that this is subjective

#

so i would caution you against using your own experience as the Definitive Experience

prisma basin
#

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.

gentle bane
#

make your own

lyric marsh
#

just shows how little you understand game design

#

yeah literally just make a mod that makes gambeson your way

#

it's easy to do

wary terrace
gentle bane
#

look into how combat overhaul is made on github and modify it to your liking, everthing is there

lyric marsh
#

the code is already done

wary terrace
#

just not the ones in vintage story

gentle bane
lyric marsh
#

just json

wary terrace
#

..yeah that's a cat

gentle bane
#

idk what it is tho

wary terrace
#

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

oblique bramble
gentle bane
#

you are afraid of drifters, are you

oblique bramble
#

not really

#

bro just, spawned. behind me. hit me in the back of the head

#

from full HP to 0.1

wary terrace
#

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

oblique bramble
#

only lived because of the death save mechanic

gentle bane
naive sedge
#

Speaking of balancing... are all bronze equipment the same now or just javelin? Cuz they have disparity in vanilla

oblique bramble
#

i was unarmored at the time

prisma basin
#

"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.

wary terrace
#

eh

lyric marsh
wary terrace
#

i don't think their point is "do it yourself nerd"

lyric marsh
#

it's why gambeson got changed

oblique bramble
wary terrace
#

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

lyric marsh
wary terrace
prisma basin
#

I have been. You've been disregarding them.
Gamefeel is important. Hell,it's vital.

lyric marsh
#

you just haven't

#

and i am not continuing this conversation

gentle bane
wary terrace
#

if anyone knows what could be rebalanced in regards to a PvP environment, do let me know

oblique bramble
#

gambeson is very strong

wary terrace
#

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

prisma basin
#

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!

lyric marsh
#

(stop responding to this guy please)

wary terrace
#

arming doublets? that sounds like a very poor idea

gentle bane
wary terrace
#

what are all those doublets gonna use those arms for, anyways?

naive sedge
gentle bane
wary terrace
#

presumably id want to make the swings slightly slower for those weapons then, right?

prisma basin
gentle bane
#

and there is nothing that they can do if they have >100ms ping as they will be constantly repositioned after taking damage

wary terrace
#

calm down and relaaaaaaaax

#

it's not a big deal in the end

prisma basin
#

He's telling everyone to not engage with me.

#

He can disengage all he likes.

prisma basin
#

He can fuck off with trying to tell everyone else to.

wary terrace
#

there are many joys in life and you can simply indulge them by not caring

#

so back to my original point

fallow surge
#

Too many messages, whats going on here?

gentle bane
#

nothing really

wary terrace
#

argument over gambeson balance

prisma basin
#

Gambeson being iron+ is nonsensical.

gentle bane
#

in short, some want your mods to be one way and not the other

prisma basin
#

Makes them feel like genuine ass.

wary terrace
#

not really substantial since it just devolved into mud slinging

fallow surge
#

There is a good reason for gambeson being iron tier

wary terrace
#

im just here to ask if clockmaker and quarterstaff combo is still something i need to worry about for a PvP event

prisma basin
#

Other options exist for balancing. Adding penalties. Reducing protection. More extremely,adding something for the iron+ bracket,such as an arming doublet.

fallow surge
gentle bane
#

can you add blunt damage reduction to furry race 🥺, so that he could have more blunt resistance

wary terrace
#

im hoping to implement CO in bigger events (up to 300 players hopefully !) but im keenly aware it needs manual balance for PvP

lyric marsh
fallow surge
prisma basin
#

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.

gentle bane
#

at least a hour ago

wary terrace
fallow surge
fallow surge
gentle bane
#

mr Maltiez I'm starving over here for your high quality and quanity of code 🥵

fallow surge
#

there is no way around it

wary terrace
#

oh, that i wasn't aware of!

gentle bane
#

can you add option to disable animation for players ~>10 m away?

wary terrace
#

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

lyric marsh
#

even vanilla breaks down with 100+ players

#

with co you should probably stick to small double digits

prisma basin
#

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.

fallow surge
#

You cant use any CO weapons without animations though

#

CO was made with orientation on Solo and small group COOP

wary terrace
gentle bane
#

also there is still exploit with swapping between weapons to reset their animation for faster attacks

wary terrace
#

performance was actually fine, there were just crashes from unrelated things

gentle bane
#

with short swords

wary terrace
#

(apparently RP-VC and the instrument mods don't like each other)

gentle bane
#

gonna try rn

wary terrace
#

you just need a monster rig and ethernet

#

(for the server)

lyric marsh
#

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

wary terrace
#

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?

fallow surge
fallow surge
wary terrace
#

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

fallow surge
#

If players are spread out, it will be ok, when they bunched up - nope

#

Test it

#

There were some optimisations recently

wary terrace
#

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"

fallow surge
#

Ideally as screenshots of fps plot

wary terrace
#

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

fallow surge
wary terrace
#

i would tentatively argue that meteoric is kind of the end game, just because you can easily survive off of that with no issues

naive sedge
#

Speaking of bronze... saw bronze javelin having all the same stats... is this true for all CO bronze?

fallow surge
#

Yes

#

Durability might differ...

lyric marsh
#

bronze spears all have different durability

#

and for some reason iron spear has lower durability than all of them

naive sedge
#

Ah it was intentional

fallow surge
#

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

lyric marsh
#

is that gonna be a thing for other weapons?

fallow surge
#

may be, some day, may be not

lyric marsh
#

i'm not against the idea of iron being stronger but less durable due to being easy to massproduce

wary terrace
#

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

prisma basin
wary terrace
#

though ultimately iron is easier to use when you find it due to the massive veins

prisma basin
#

Iron,meanwhile,is both common and spawns in gargantuan deposits.

wary terrace
#

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

prisma basin
#

In my experience? Tin,bismuth,and zinc deposits are tiny.

#

Barely enough for a pick and an anvil across two deposits,sort of tiny.

wary terrace
#

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

naive sedge
#

Less but you compensate by hitting max copper ratio

#

And copper is notorious for being common

gentle bane
naive sedge
#

Imo stick with vanilla progression of tin for performance / bismuth for durability / black for superiority then iron

gentle bane
#

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

prisma basin
gentle bane
prisma basin
#

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.

wary terrace
#

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?

gentle bane
#

it seems to be all based on very small sliver of experience

prisma basin
# gentle bane these resources aren't that rare

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.

gentle bane
#

I have been playing vs for 6 years and never had any issues

wary terrace
#

you listen here whippersnapper, I've been playing vintage story from since it was a design document! respect your elders!

gentle bane
#

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

prisma basin
gentle bane
#

irrc after typing , you are supposed to add a space

oblique bramble
#

its just a typo, no need to focus on it

prisma basin
#

Even when it's not a typo,you have infinitely better things to do than focus on it.

gentle bane
prisma basin
#

It isn't a typo.

#

It never was.

gentle bane
oblique bramble
gentle bane
#

he's right

prisma basin
#

Because it doesn't matter either way.

gentle bane
#

it's not incorrect, it's a subjective thing

fallow surge
#

Dont go too offtopic

prisma basin
#

Best as I can manage,it was something devised for either extremely primitive spellcheckers,or block printing.

wary terrace
#

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

gentle bane
#

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

prisma basin
#

Except the alloy components don't drop via panning,last I checked.

#

You gotta pull it from the ground.

#

Further,panning is mind-numbing.

gentle bane
#

if tin is harder to get than iron that's game's issue and not mod's that adds combat overhaul

lyric marsh
#

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

wary terrace
#

i mean it's more copper 7 parts to 3 parts tin

wary terrace
#

which doesn't require any alloy parts

final garden
wary terrace
#

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)

final garden
#

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

fallow surge
#

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

wary terrace
#

i suppose without armory mods, there's not even many good offensive options

fallow surge
#

There are three: weapon you hit with only in melee, and weapon that you hit with in melee and can throw, and a bow

vale moat
glossy oracle
#

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

lyric marsh
#

vanilla weapons are enough, it's just that vanilla combat is trash

wary terrace
#

honestly I've gotten by fine in vanilla with just chasing things with a spear, so not even bows are good

lyric marsh
#

bows in vanilla are trash

fallow surge
lyric marsh
#

co adequately redesigns all vanilla options

wary terrace
#

i don't think I've ever played CO without armory

lyric marsh
#

me neither, but it can be done

wary terrace
#

so i can't observe it as well

lyric marsh
#

still the best sandbox building game by a long shot

vale moat
#

oh i know, but in terms of its contemporaries in the genre i still think its above in many areas

lyric marsh
#

minecraft in comparison has flaws on flaws on flaws

vale moat
#

combat is a big flaw obv but tooling / resources and how modable (moldable) it is are pluses imho

fallow surge
lyric marsh
gentle bane
#

there is no modding api? it's just how in game content is made

vale moat
#

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

brave canyon
#

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

warm garden
#

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.

near valve
#

is there a reason for the shield bash of an iron greatsword being a tier higher than the regular attacks

brave canyon
#

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

warm garden
final garden
#

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

coarse prism
#

It also looks broken in my game as well, without the kobold model

vale sleet
#

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

fallow surge
#

Hm...

#

Ok, will look

fallow surge
#

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},
lyric marsh
#

what changed?

fallow surge
#

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
    },
lyric marsh
#

some iron weapons differ

#

some are 850, others 1100

fallow surge
lyric marsh
#

just checked, yeah i misremembered

fallow surge
#

Hm...

"durabilitybytype": {"*-copper": 300, "*-tinbronze": 600, "*-bismuthbronze": 550, "*-blackbronze": 650, "*-iron": 500, "*-meteoriciron": 750, "*-steel": 1250},
#

Ppl will hate me for reducing durabilities...

lyric marsh
#

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

fallow surge
#

extra damage tier can

#

if it is 550?

lyric marsh
#

600 seems right

#

also bismuth bronze should have more durability than tin

fallow surge
#

needs to be lower then tinbronze

lyric marsh
#

it's more bothersome to make

#

two extra metals, awkward ratios

#

but black bronze def should be better than iron

fallow surge
#

tin bronze should be better than iron in durability, this is the goal

lyric marsh
#

this is hard to calculate theoretically

#

would need to play with it

fallow surge
lyric marsh
#

i think it's just more noticeable in co because armor is so much cheaper

#

so you feel the effects of steel sooner

fallow surge
#

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

lyric marsh
#

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

fallow surge
#

Thats a lot of work though...

fallow surge
#

Updated javelins animations, or rather polished them without changing the grip type

simple portal
#

do I need the bow mod

#

or just combat overhaul

gentle dock
simple portal
#

olay ill uninstsll itå

lyric marsh
#

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

gentle bane
split verge
#

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

lyric marsh
#

not obsolete at all

#

especially now

#

and if you don't wanna make the commitment of plate there's brig which is super cheap

lyric marsh
brave canyon
#

Nah, you can mass produce it (unless it's a realistic cast)

lyric marsh
#

needing to make the molds, fire them, melt metal, pour metal, break molds

brave canyon
#

But until 21 even the anvil cast wasn't realistic :P

lyric marsh
#

anvil has now solidified there will be no more magical molds

#

even if casting was an option smithing would still be better

brave canyon
#

Eh, with magic casts, it comes down to if you gotta mass produce or not really

lyric marsh
#

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

brave canyon
#

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

lyric marsh
#

in a settlement that could work, for personal use it's too much planning ahead

brave canyon
#

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

fallow surge
#

Hm, thse all are black bronze

#

Vanilla textures are weird

lyric marsh
#

i'd say the middle one is the most recognizable

lyric marsh
fallow surge
glossy oracle
fallow surge
#

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"...

lyric marsh
#

no pissnuggets on weapons..

pine aurora
#

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.

long sleet
#

@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)

hollow tulip
#

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

final garden
#

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 :/

fallow surge
#

Also, why are you posting it here?

fallow surge
fallow surge
cedar void
#

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

lyric marsh
fallow surge
cedar void
#

oh :(

fallow surge
#

Bottom attack

cedar void
#

but that uses the spear end?

lyric marsh
#

since when do tools have directional attacks?

#

OH POLEXE

#

i read pickaxe

#

for poleaxe it's the overhead

fallow surge
#

Then top

cedar void
#

oh okie thank you so much

fallow surge
#

for top attack

cedar void
#

ah i might not have noticed that, thank you so much

fallow surge
#

Hm... Need to adjust animation, not smooth enough...

lyric marsh
#

i didn't even notice it was a different animation, made sense regardless

cedar void
#

i noticed that the pole hammer lacks a pointy spear like end. what version of the pole hammer is that?

fallow surge
#

It should not have spike from gameplay reasons, it is steel age club

cedar void
#

ah okie thank you

fallow surge
#

Hm, will buff its 2h damage by one to be on par with poleaxe

#

Need to rebalance melee weapons damage later

lyric marsh
#

oh i would love it to be stronger

fallow surge
#

For some reason I find this comment hilarious

#

Also, it probably was 12 damage, not 14

lyric marsh
#

proly clockmaker

#

also (supplementing my hp A LITTLE), gourmand makes you immortal

fallow surge
lyric marsh
#

yes

#

though likely a weeks old version

fallow surge
#

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

lyric marsh
#

sure

true nexus
pine aurora
lyric marsh
#

current pml throws errors with current humans ver

#

oh it's co patches

#

well regardless

gentle dock
#

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.

gentle dock
fallow surge
#

Wait

fallow surge
lyric marsh
#

yeah but i noticed this instantly upon launching the game

fallow surge
# pine aurora

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...

pine aurora
#

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.

fallow surge
#

Any non seraph players?

pine aurora
#

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.

fallow surge
#

This cache is only for non-seraph players

#

So yeah

pine aurora
#

Okay, then 0 keys makes sense.

lyric marsh
#

oh i also play seraph

#

does that not count?

fallow surge
#

Yes

#

If you encounter non-seraph players though, it counts

lyric marsh
#

playing solo currently

fallow surge
# pine aurora

So there is still a leak and I have no idea what can cuase it

pine aurora
#

I can give you a few more examples on what references them, not sure if that helps though

lyric marsh
#

i mean i can hop on the server and afk as a different race

fallow surge
fallow surge
lyric marsh
#

time to ask the furries..

fallow surge
pine aurora
#

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.

pine aurora
pine aurora
#

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

fallow surge
#

The problem is that there should be records in AnimatorCache

#

Can you send client-debug logs from this run?

pine aurora
#

Haven't gotten around to reporting the berry bush bug, yet, so sorry for the spam.

#

contains both log files.

fallow surge
#

So, cache does cleaning up...

pine aurora
#

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.

pine aurora
#

The one I sent gcroot for ealier had Idle1-fp and idle1-fp

#

With that I mean the animation the Extend3edElementPose belongs to

fallow surge
#

-fp, hm, ok

#

fp animation element poses are created each frame by vanilla

#

unlike tp

pine aurora
#

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)

fallow surge
#

I will try fixing one potential candiate in a few minutes, will you be able to test it?

pine aurora
#

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)

fallow surge
#

hm, ok

pine aurora
#

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.

fallow surge
#

animators do that

pine aurora
#

Are you getting this type leaked, too?

fallow surge
#

Only player animators are kept, and they are cleaned up, it seems

#

From your dumps

pine aurora
#

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?

fallow surge
#

once every 10 minutes

#

Around hundred at a time

#

From debug logs

pine aurora
#

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

fallow surge
#

One for each shape element on player including armor and clothes

#

What is your avg fps?

pine aurora
#

depends. Usually around 50 average, sometimes down to 30 and basically never more than 70.

#

(from memory)

fallow surge
#

~120 per frame

pine aurora
#

Wait, 6k/s would mean around 100/tick at 60fps.

#

are those 100 at a time per tick?

fallow surge
#

How many clothes and armor you wear?

#

Per frame

pine aurora
#

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.

fallow surge
#

I can reduce clean up period, and later make it configurable

pine aurora
#

If we assume 200/frame those 3.6 million would be the expected amount of you query at a random time between clearing.

pine aurora
#

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.

fallow surge
#

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

pine aurora
#

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.

fallow surge
#

4 million in 10 minutes

pine aurora
#

We might not have to find the cause for this though: It's about 300MB/hour now.

fallow surge
#

There is another cache, that can be the cause, but it does not hold animators

#

Fixing it rn

pine aurora
#

But shouldn't that show up in at least some of those random entries we've looked at?

fallow surge
#

It should

#

it didnt

#

it should be dict from shape element to int

fallow surge
#

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...

pine aurora
#

yeah.

fallow surge
#

I have no idea then

pine aurora
#
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]]`)

fallow surge
#

1,338 310,416 Vintagestory.API.Common.ClientAnimator - not that many animators...

pine aurora
fallow surge
#

I reduced cleanup period for animators to 5 minutes

#

So, we'll see if it changes anything

final garden
#

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

nimble zodiac
#

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.

hexed dune
#

I'm getting this as well

#

totally paralyzed my server with console spam

#

@nimble zodiac

#

specifically OverhaulLib 1.12.14

nimble zodiac
#

For the time being I've downgraded to 1.12.13, which seems to fix it.

hexed dune
#

likewise

#

probably worth a @fallow surge ping, this seems to be a serious issue

fallow surge
#

fuck... C# and namespaces...

#

fixed

hidden thicket
#

i have problem with co

#

i know its this mod

final garden
rotund vault
#

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 =]

fallow surge
rotund vault
#

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?

fallow surge
#

Nope

#

I can add more tiers to take into account...

rotund vault
#

That would be up to you, I'm sure that we can work within the framework given no problem =]

#

Thanks for the quick response

fallow surge
gentle bane
#

power creep

rotund vault
#

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.

oblique bramble
#

"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

final garden
fallow surge
#

I wish vanilla used this pattern too, instead of hardcoded magic numbers

fallow surge
rotund vault
#

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?

fallow surge
#

In case of poleaxe only top and bottom have bonus

rotund vault
#

Gotcha, so you can set it per attack? That's good to know thank you Maltiez =]

fallow surge
#

Hm, need to get rid of this "MaxReach" parameter and somehow determine if programmatically

rotund vault
#

👍

rigid mortar
fallow surge
#

There is a whole discussion about fixing the leak in this channel, you can read it

wary terrace
#

i mean, i have a cork here

#

will that help?

rigid mortar
#

thanks

fallow surge
#

Btw, fyi, may be you should not use CO...

#

Why I even unblocked them...

fallow surge
#

It is better than "CO players are not humans" though, clear sign of progress

hexed musk
#

never understood the hostility that CO gets

final garden
#

I only found CO because so many people considered it mandatory to really enjoy Vintage Story

safe lily
#

i saw this mod and didnt see why choose it over vanilla

brave canyon
#

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?