A tool to allow New World players to calculate the best place to put their Attribute Points for their build and level

Overview

New World Damage Simulator

A tool designed to take a characters base stats including armor and weapons, level, and base damage of their items (slash damage, blunt damage, etc) to simulate every combination of Attribute point assignments and report back the one with the highest combined weapon damage.

Example Output: Example Output in a terminal

Usage

open up your config and modify the "base_stats" object to match your character after clicking respec in your attribute points menu. Modify the "character" object to match your level and weapon selection/base damage, example of base damage below:

Screenshot of character's item with base damage circled

Lastly, if you would like to offset the simulations by a certain amount of points to increase your constitution, update the app_settings > desired_ap_to_constitution variable.

now simply (with Python 3.9 installed):

git clone https://github.com/Misterguruman/new-world-damage-simulator.git 
cd new-world-damage-simulator/
python3 -m pip install -r requirements.txt
python3 ./main.py
Comments
  • Multi attribute weapons must have at least 1 attribute point

    Multi attribute weapons must have at least 1 attribute point

    Equipping a weapon with multiple attributes wastes 1 point in final calculations. Consider the following.

        "base_stats": {
            "Strength": 108,
            "Dexterity": 22,
            "Intelligence": 5,
            "Focus": 11,
            "Constitution": 49
        },
        "character": {
            "level": 45,
            "primary_weapon": "Great Axe",
            "primary_base_dmg": 158,
            "secondary_weapon": "Hatchet",
            "secondary_base_dmg": 128
        },
        "app_settings": {
            "desired_ap_to_constitution": 0
        }
    

    Results in

    image

    When it should be

    image

    Solution Change line 159, range should start at 0. image

    opened by GuzziBlues 2
  • base_stats are not used in damage calculation

    base_stats are not used in damage calculation

    I ran two tests with the default config.json changing only strength between the two. This should result in weapon damage changing between the two results but it did not. This issue exists for all base_stats.

    image

    opened by GuzziBlues 2
  • Using the primary base damage to calculate damage for secondary weapon

    Using the primary base damage to calculate damage for secondary weapon

    https://github.com/Misterguruman/new-world-damage-simulator/blob/adf70d03536cf9abb347f1d97f65fb53e12cb8c1/main.py#L145

    Variable secondary_dmg is unused in the code

    opened by Magzter 1
  • desired_ap_to_constitution can be set beyond possible attribute points

    desired_ap_to_constitution can be set beyond possible attribute points

    The validity of desired_ap_to_constitution is not checked before use leading to an edge case as a result of user input error. Consider the following:

    At level 47 you have 133 attribute points to distribute. New World does not separate the native 5 points from the 133 allottable points. Leading to a case where if someone wants all their points in con they could mistakenly put 138 as seen below.

    image

        "base_stats": {
            "Strength": 109,
            "Dexterity": 15,
            "Intelligence": 5,
            "Focus": 11,
            "Constitution": 26
        },
        "character": {
            "level": 47,
            "primary_weapon": "Hatchet",
            "primary_base_dmg": 135,
            "secondary_weapon": "Hatchet",
            "secondary_base_dmg": 135
        },
        "app_settings": {
            "desired_ap_to_constitution": 138
        }
    

    desired_ap_to_constitution above possible allottable attribute points results in image

    When it should be image

    Solution A check should be added validating desired_ap_to_constitution (const_offset) before use. image

    enhancement good first issue 
    opened by GuzziBlues 0
  • Make this tool account for attribute changing gems

    Make this tool account for attribute changing gems

    First - Great work this is very useful, but it looks like this is one step away from having all the bells and whistles. In New World there are a few types of gems that modify how weapon damage scales. Some starting at 20% and I believe going up to 50% basically switching which stat the weapon support for A PERCENTAGE of its scaling. For example:

    image

    You should update your calculations to allow each of the weapons to have the possibility of one of these gems, and run those calculations again. Please and thanks!


    Also please do me a solid and reach out, I'd be happy to buy you a beer or whatever. I'm no python wiz, but I would love to chew your ear off regarding the math underneath your code.

    Thanks!

    enhancement 
    opened by josephjaniga 2
Owner
Joseph P Langford
Joseph P Langford
World's best free and open source ERP.

World's best free and open source ERP.

Frappe 12.5k Jan 7, 2023
Simple Python-based web application to allow UGM students to fill their QR presence list without having another device in hand.

Praesentia Praesentia is a simple Python-based web application to allow UGM students to fill their QR presence list without having another device in h

loncat 20 Sep 29, 2022
A redesign of our previous Python World Cup, aiming to simulate the 2022 World Cup all the way from the qualifiers

A redesign of our previous Python World Cup, aiming to simulate the 2022 World Cup all the way from the qualifiers. This new version is designed to be more compact and more efficient and will reflect the improvements in our programming ability.

Sam Counsell 1 Jan 7, 2022
MDAnalysis tool to calculate membrane curvature.

The MDAkit for membrane curvature analysis is part of the Google Summer of Code program and it is linked to a Code of Conduct.

MDAnalysis 19 Oct 20, 2022
A tool to help calculate how to split conveyors in Satisfactory into specific ratios.

Satisfactory Splitter Calculator A tool to help calculate how to split conveyors in Satisfactory into specific ratios. Dependencies Python 3.9 PyYAML

RobotiCat 5 Dec 22, 2022
Monitor the New World login queue and notify when it is about to finish

nwwatch - Monitor the New World queue and notify when it is about to finish Getting Started install python 3.7+ navigate to the directory where you un

null 14 Jan 10, 2022
Arcpy Tool developed for ArcMap 10.x that checks DVOF points against TDS data and creates an output feature class as well as a check database.

DVOF_check_tool Arcpy Tool developed for ArcMap 10.x that checks DVOF points against TDS data and creates an output feature class as well as a check d

null 3 Apr 18, 2022
This is the key combo trainer for League of Legends and Dota 2 players.

This is the key combo trainer for League of Legends and Dota 2 players. Place the mouse cursor on the blue point and press the key combo from the upper-left side of the screen.

Ilya Shpigor 1 Jan 31, 2022
A site that went kinda viral that lets you put Bernie Sanders in places

Bernie In Places An app that accidentally went viral! Read the story in WIRED here Install First, create a python virtual environment, and install all

null 310 Aug 22, 2022
Time tracking program that will format output to be easily put into Gitlab

time_tracker Time tracking program that will format output to be easily put into Gitlab. Feel free to branch and use it yourself! Getting Started Clon

Jake Strasler 2 Oct 13, 2022
List of Linux Tools I put on almost every linux / Debian host

Linux-Tools List of Linux Tools I put on almost every Linux / Debian host Installed: geany --> GUI editor/ notepad++ like chkservice --> TUI Linux ser

Stew Alexander 20 Jan 2, 2023
Shows VRML team stats of all players in your pubs

VRML Team Stat Searcher Displays Team Name, Team Rank (Worldwide), and tier of all the players in your pubs. GUI WIP: Only username search works (for

Hamish Burke 2 Dec 22, 2022
Two predictive attributes (Speed and Angle) and one attribute target (Power)

Two predictive attributes (Speed and Angle) and one attribute target (Power). A container crane has the function of transporting containers from one point to another point. The difficulty of this task lies in the fact that the container is connected to the bridge crane by cables causing an opening angle while the container is being transported, interfering with the operation at high speeds due to oscillation that occurs at the end point, which could cause accidents.

Astitva Veer Garg 1 Jan 11, 2022
This program goes thru reddit, finds the most mentioned tickers and uses Vader SentimentIntensityAnalyzer to calculate the ticker compound value.

This program goes thru reddit, finds the most mentioned tickers and uses Vader SentimentIntensityAnalyzer to calculate the ticker compound value.

null 195 Dec 13, 2022
Custom component to calculate estimated power consumption of lights and other appliances

Custom component to calculate estimated power consumption of lights and other appliances. Provides easy configuration to get virtual power consumption sensors in Home Assistant for all your devices which don't have a build in power meter.

Bram Gerritsen 552 Dec 28, 2022
Given an array of integers, calculate the ratios of its elements that are positive, negative, and zero.

Given an array of integers, calculate the ratios of its elements that are positive, negative, and zero. Print the decimal value of each fraction on a new line with places after the decimal.

Shruti Dhave 2 Nov 29, 2021
Custom Weapons 3 attribute support for Custom Weapons X

CW3toX Allows use of Custom Weapons 3 attributes in Custom Weapons X. Requiremen

null 2 Mar 1, 2022
A script that will warn you, by opening a new browser tab, when there are new content in your favourite websites.

web check A script that will warn you, by opening a new browser tab, when there are new content in your favourite websites. What it does The script wi

Jaime Álvarez 52 Mar 15, 2022
Calculate the efficient frontier

关于 代码主要参考Fábio Neves的文章,你可以在他的文章中找到一些细节性的解释

Wyman Lin 104 Nov 11, 2022