Jump to content

Teh Pizza Lady

Vintarian
  • Posts

    1068
  • Joined

  • Last visited

  • Days Won

    10

Everything posted by Teh Pizza Lady

  1. Taken as single events, sure, but for each event to happen on a single tool, you're looking at about a 30% chance of getting a tool with 6 quenches. That lowers to about 24% chance if you want to temper it after. That is the probability of all 6 quenches and 1 temper on a SINGLE tool, despite the individual chances of each even succeeding. You have to multiply them together to get the probability of all 7 events happening in succession. That's just how the math works. I'm not sure what math OP was doing but it doesn't look right. I shared the game's code and provided some real data if you quench a tool and then temper it. Your math was off because it was based on OP's numbers. Re-work your numbers with the formulas given in the code, please.
  2. I think your math is off, too. the break chance per quench is 5% additive. so on the first quench it's 5% then 10, then 15%, etc. From the code, we can see that it's tied to the item, specifically so the chance of it breaking varies from item to item. After 6 quenches, your chance of breaking is 30%. Tempering messes with this math a bit. Tempering multiplies the chance of breaking by some number and LOWERS the chances of it breaking again by about 80-ish percent. So if you quench a blade 6 times and then temper it, you get a roughly 24% chance of it breaking. The data looks like this just using the formulas presented in the code: Hope that clears things up for you.
  3. Not a dev... well I am a dev, but I don't work for Anego. Anyway I found the code you were asking for. public float BreakChancePerQuench = 0.05f; public float TemperShatterMultiplier = 0.8f; public float TemperPowerMultiplier = 0.92f; public float GetShatterChance(IWorldAccessor world, ItemStack itemstack) { return itemstack.Attributes.GetFloat("shatterchance", BreakChancePerQuench); } // some extra code here not related to quenching private void applyTemperedStats(IWorldAccessor world, ItemStack itemstack) { int temperIteration = itemstack.Attributes.GetInt("temperIteration"); //starts at zero? float effectiveness = 1f / (1f + (float)temperIteration * 0.05f); float newShatterChance = GetShatterChance(world, itemstack) * GameMath.Mix(1f, TemperShatterMultiplier, effectiveness); float newPowerValue = GetPowerValue(world, itemstack) * GameMath.Mix(1f, TemperPowerMultiplier, effectiveness); SetShatterChance(world, itemstack, newShatterChance); SetPowerValue(world, itemstack, newPowerValue); itemstack.Attributes.SetInt("temperIteration", temperIteration + 1); applyBuffs(itemstack); } private void applyQuenchedStats(IWorldAccessor world, ItemStack itemstack) { bool num = itemstack.Attributes.GetBool("clayCovered"); int quenchIteration = itemstack.Attributes.GetInt("quenchIteration"); float shatterChance = GetShatterChance(world, itemstack); SetShatterChance(world, itemstack, shatterChance + BreakChancePerQuench); if (num) { float dbonus = GetDurationBonus(world, itemstack); SetDurationBonus(world, itemstack, dbonus + 0.2f / (1f + (float)quenchIteration * 0.2f)); } else { float powervalue = GetPowerValue(world, itemstack); SetPowerValue(world, itemstack, powervalue + 0.1f / (1f + (float)quenchIteration * 0.2f)); } itemstack.Attributes.SetInt("quenchIteration", quenchIteration + 1); itemstack.Attributes.SetBool("clayCovered", value: false); applyBuffs(itemstack); } If you need help reading the C# code, just let me know. I am an expert.
  4. We still don't know what Prima Materia is. Given what cupronickel is... I would imagine it's probably highly corrosive.
  5. unfortunately, you are correct LOL. Which means the alloys I mentioned are probably better suited to a mod.
  6. Computer nerd here and defacto IT person for my family. Make sure your firewall ports are open at your router and aren't in a list of blocked ports by your ISP. I had that issue with a map mod for the other block game and had to set up port forwarding to something my ISP would allow.
  7. Perhaps not, but I would like to see some iron-nickel-chromium alloys because those would be great in steam applications, having high durability even in high heat, resisting corrosion, and generally just robust enough to withstand the pressures of steam technology which reached up to 300 PSI in some of the boilers out there.
  8. I didn't think you were, I was just trying to clear up any confusion since prior to looking it up, I thought that high carbon steel was somehow different than tool steel, so I went down a material sciences rabbit hole to make sure they weren't two different things and then came back and summarized my findings.
  9. Never actually completed Harlech Castle but we did start it yes.
  10. Maybe. I would have to build it on a naturally occurring cave system that could be made into a bat cave, but for the most part, I would just enjoy the manor/hall itself.
  11. Please share in the comments your working VS linux configuration in the following way: Distro / Kernel release : Ubuntu Server 24.04 Mono / .NET package version : aspnetcore-runtime-10.0 Graphics driver version : None. Server runs headless Works for client, mp server or both : multiplayer server Installation method used : download tarball and run tar -zxf Hacks (if needed) : curl is needed to run a few scripts to help manage the server Additional scripts: update.sh #!/bin/bash if [ -z "$1" ]; then echo "Usage: $0 <URL>" exit 1 fi URL="$1" OUTPUT_FILE="vs.tar.gz" ASSETS_DIR="assets" mv server.sh server.sh.old curl -o "$OUTPUT_FILE" "$URL" if [ $? -ne 0 ]; then echo "Error: Failed to download $URL" exit 1 fi if [ -d "$ASSETS_DIR" ]; then rm -rf "$ASSETS_DIR" echo "Deleted existing $ASSETS_DIR folder." fi tar -xzf "$OUTPUT_FILE" --overwrite if [ $? -ne 0 ]; then echo "Error: Failed to extract $OUTPUT_FILE" exit 1 fi # Restore server.sh file rm server.sh mv server.sh.old server.sh echo "Successfully downloaded and updated Vintage Story." installMod.sh #!/bin/bash function download_file() { read -p "Enter the URL of the mod to install: " url filename=$(curl -sI "$url" | grep -o -E 'filename="?([^";]+)"?' | sed 's/filename=\"\?//' | sed 's/\"$//') if [ -z "$filename" ]; then filename=$(basename "$url") fi mkdir -p ./Mods echo "Downloading $filename . . ." curl -L -o "./Mods/$filename" "$url" if [ $? -eq 0 ]; then echo "Download of $filename is complete!" else echo "Download failed. Please check the URL and try again." fi } while true; do download_file echo "What would you like to do next?" echo "1. Restart the process" echo "2. Download another file" echo "3. Exit" read -p "Enter your choice (1/2/3): " choice case $choice in 1) echo "Restarting the Vintage Story server..." ./server.sh restart echo "Server successfully restarted! Exiting the script. Goodbye!" break ;; 2) echo "Preparing to download another file..." ;; 3) echo "Exiting the script. Goodbye!" break ;; *) echo "Invalid choice. Please enter 1, 2, or 3." ;; esac done modManager.sh #!/bin/bash MODS_DIR="$(dirname "$0")/Mods" SERVER_SCRIPT="./server.sh" function display_menu { clear echo "Vintage Story Mod Manager" echo "===========================" IFS=$'\n' MOD_FILES=($(find "$MODS_DIR" -maxdepth 1 -type f -name "*.zip" 2>/dev/null | sort)) unset IFS if [ ${#MOD_FILES[@]} -eq 0 ]; then echo "No .zip files found in $MODS_DIR." echo "Press Q to quit or B to reboot the server." else echo "Available Mods:" for i in "${!MOD_FILES[@]}"; do FILE_NAME=$(basename "${MOD_FILES[$i]}") echo "$((i+1)). $FILE_NAME" done echo "" echo "Options:" echo " [number] - Delete mod" echo " R - Replace mod" echo " B - Reboot server" echo " Q - Quit" fi } while true; do display_menu read -p "Your choice: " CHOICE if [[ "$CHOICE" =~ ^[qQ]$ ]]; then echo "Exiting..." exit 0 elif [[ "$CHOICE" =~ ^[bB]$ ]]; then echo "Rebooting the server..." $SERVER_SCRIPT restart exit 0 elif [[ "$CHOICE" =~ ^[rR]$ ]]; then if [ ${#MOD_FILES[@]} -eq 0 ]; then echo "No mods to replace." else read -p "Enter the number of the mod you want to replace: " REPLACE_NUM INDEX=$((REPLACE_NUM-1)) if [ $INDEX -ge 0 ] && [ $INDEX -lt ${#MOD_FILES[@]} ]; then FILE_TO_REPLACE="${MOD_FILES[$INDEX]}" FILE_NAME=$(basename "$FILE_TO_REPLACE") echo "Selected mod: $FILE_NAME" read -p "Enter the URL of the replacement mod: " URL if [[ -z "$URL" ]]; then echo "No URL entered. Replacement canceled." else echo "Downloading replacement..." NEW_FILE_PATH="$MODS_DIR/$(basename "$URL")" if wget -q -O "$NEW_FILE_PATH" "$URL"; then echo "Download successful. Replacing $FILE_NAME..." rm -f "$FILE_TO_REPLACE" echo "$FILE_NAME has been replaced with $(basename "$NEW_FILE_PATH")." else echo "Failed to download replacement file." rm -f "$NEW_FILE_PATH" fi fi else echo "Invalid selection. Please try again." fi fi elif [[ "$CHOICE" =~ ^[0-9]+$ ]]; then INDEX=$((CHOICE-1)) if [ $INDEX -ge 0 ] && [ $INDEX -lt ${#MOD_FILES[@]} ]; then FILE_TO_DELETE="${MOD_FILES[$INDEX]}" read -p "Are you sure you want to remove $(basename "$FILE_TO_DELETE")? (y-n): " CONFIRM if [[ "$CONFIRM" =~ ^[yY]$ ]]; then rm "$FILE_TO_DELETE" echo "$(basename "$FILE_TO_DELETE") has been removed." else echo "Deletion canceled." fi else echo "Invalid selection. Please try again." fi else echo "Invalid input. Please try again." fi echo "Press Enter to continue..." read done I have spent a fair bit of time working on these scripts. hope you can use them, too.
  12. my dream build? Given enough time, resources, and mods to make certain things function the way I want... It's a tossup between Harlech Castle and Wollaton Hall. Macbeth (1971) was filmed at Harlech Castle and Wollaton Hall was used as Wayne Manor in the Dark Knight Batman trilogy. If I could fit both of them into the same build, I would be happy.
  13. Wind does have a direction! I wouldn't put it past Tyron to eventually get around to making that wind change directions...
  14. That... is tool steel which I mentioned: ------ I didn't mention the weight, but yes... corrosion resistance was also mentioned. Try machining Inconel, WC, or even Titanium with tool steel. It's nearly impossible because tool steel, while having a hardness of about 700HV, loses it's cutting edge at around 200-300 degrees Celsius. Titanium is a much softer metal, especially Ti-6Al-4V (Grade 5 Titanium) having about half the hardness (HV). However tool steel is HIGHLY inadequate for machining it because titanium wants to heat up to about 600-900 degrees when cutting. That is far beyond the temperature at which carbon tool steel holds its hardness. It will destroy the cutting tool almost instantly. Inconel is designed to resist cutting and maintain hardness under heat and pressure and has to be machined using cermet cutting tools. WC requires diamond abrasives to machine. Both Inconel and WC hold their hardness at temperatures up to 1000 degrees C. So if you want to talk about being stronger than steel, then put tools made of all 4 materials up against each other and see which ones last the longest. WC and Inconel will be your clear winners with Titanium striking a clear victory over steel the instant any sort of meaningful work is required at any temperature over 300 C. If you're looking for durability at lower temperatures, tool steel will win over titanium, but will eventually succumb to rust in a sufficiently humid environment. For vintage story, you might not need the other alloys, but the question wasn't if they were viable or if they were practical, but where we might go from here given the abundance of different types of machinery that stood the test of time without falling apart. Your nickel alloys are going to reign supreme here with cupronickel being the chief alloy. Perhaps with time Inconel could be introduced, but it is very much a modern super alloy that would not be achievable by any means in medieval times. Stainless steel might see some use, and we might find a way to chrome-plate things to increase durability/weather resistance, but for now, the only real feasible step up from steel would be a high carbon steel or nickel alloy. Likely what we see in the RA are Fe-Ni and Cu-Ni alloys with both having high strength, temperature and corrosion resistance, and a wide variety of uses thanks to their different properties. Likely what we see in the RA is actually Cupronickel and some sort of Chromium Permalloy which is a mixture of iron, nickel, and chromium due to chromium's natural oxidation resistance that it lends to the alloy when mixed. Now look... you've gone and made me look a bunch of stuff up and ramble about material sciences on a saturday when there are cartoons to watch while consuming copious amounts of pizza. Shame on you... or me... not sure which at this point.
  15. the tradeoff for waterwheels is that they're always available. They give you a choice. Windmills make up for the sometimes-not-windy days by allowing you to get more work done when they are operating.
  16. SHE STOLE MY STICK!! So there I am struggling to remember how to start a Vintage Story server when my friend, the ever helpful (not) Blackguard logs in and gets to work gathering flint and sticks and even makes herself a knife before I even make it through the character creation window! Thanks slow computer... So of course there are no sticks in my immediate vicinity................ I poke around and finally find a branchy maple bush and begin the arduous task of beginning the game. Now, I am a picky hunter and when I make a knife, I need the perfect stick for the knife handle. I'm nearly done selecting the branch I want to use when I hear the sounds of fighting behind me. What has she gotten up to already? I feel a slight breeze as a drifter sails past my head, no doubt taking the Blackguard Boot Express on a one-way ticket to Out Of Here-ville. Then what comes charging after the poor drifter but the blackguard in question? Of course it was her. And as she runs past, she sees me holding the perfect knife handle in my hand, mutters, "oh thanks" and runs off beating the poor drifter over the head with the handle of the knife! THE HANDLE OF MY KNIFE! I'm shocked. Shooked. My flabber has been ghasted. MY STICK! SHE STOLE MY STICK!! Of course the drifter didn't last long after and sailed through the air again and landed SPLAT at my feet. I stood there holding the knife blade in my hand with no handle, mind you, and this cretin has the gall to ask me, "So uh... *burp* You gonna harvest the drifter or what?" All I could say was, "I can't...... You stole my knife handle before I could even MAKE A KNIFE!!!!" And yes I'm still mad.
  17. Update: Added support for 1.22.0-pre.3 Download 1.3.0 today!
  18. That's why I said *mostly* tied to seed.
  19. Steel is so universally used even today that it really is the end-tier material for a lot of things. HOWEVER There are alloys that are harder/better than steel for certain tasks. Tungsten alloys Tungsten Carbide (WC) - extremely hard and is used for cutting tools and drill bits. Very brittle and can break under stress. Tungsten heavy alloys - Mixture of tungsten with nickel/cobalt/iron. Very dense and strong, but hard to machine Titanium alloys Ti-6Al-4V is stronger than steel and resists corrosion very well Softer than WC but very high strength to weight ratio Can be flexible without breaking Useful in aerospace and medicine Nickel-based superalloys: Inconel and Hastelloy Extremely heat-resistant and strong. Maintains strength even at high temperatures Used where precision is necessary under high heat conditions such as jet engines and steam turbines High performance tool steels - A2, D2, M2 Harder than standard steel Can be alloyed with Tungsten to increase wear resistance Ceramic-Metal composites, aka Cermets Basically metal powder mixed with ceramic Much harder than steel and extremely wear resistant Used for cutting and machining tools made of other metals (like WC, Titanium, Inconel, and tool steel) and as bearing material in industrial machinery. If you want my honest opinion, cermets are the next step to create machines that can handle Nickel alloys, especially Inconel which is almost viable with the metals we have in the game now. See https://wiki.vintagestory.at/index.php?title=Metal for a full list of current and planned metals.
  20. I mentioned this a long time ago and got a lot of pushback... *le sigh*
  21. Search box that you can type in would be more enjoyable imo. They make them so they are a sort of combo box that you can type in them to narrow the drop down list and then the list (which is sorted alphabetically) filters itself to entries that contain what you typed. Autocorrect not included.
  22. probably... but where's the fun in reusing assets when you can bloat the player's inventory with useless junk that will never be used again!
  23. The previous traders were mostly tied to seed as well. I regenerated a world after I had found a few traders and they were in the same general areas, just moved around slightly. probably not more than 20-30 blocks away from where they had previously generated.
  24. I believe that mushrooms actually do regrow if you don't pick them all, but I also seem to remember that they just regrow anyway. They're definitely something that I mark on my map in my single player worlds. Having them regrow after rainfall would definitely be more interesting. Heat not affecting the player is one of those things that players have griped about and tried to fix as long as I've played the game. Hydrate or Diedrate does a pretty good job and I think the mod even makes your thirst go down faster in hotter climates, but I mostly play in temperate areas so I cannot attest to this. If you get cold enough and the snowfall is thick enough, you can actually find that visibility is reduced quite a bit as your vision narrows and you're unable to stop shivering. Fire is a must for these types of weather events for sure. ditto I feel like there is a mod for this and I've played with it before, but I cannot remember the name for it. Anything that adds atmosphere to the game is a win in my book. Try looking into this Wind Chimes mod that I've used and enjoyed.
  25. like the thunder that signals a coming storm IRL?
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.