Item editor/creator throwing error when certain modifiers have a float as their value
Check version
- [X] I'm running the latest version of Path of Building and I've verified this by checking the changelog
Check for duplicates
- [X] I've checked for duplicate issues by using the search function of the issue tracker
What is the expected behaviour/value?
When creating or editing an item in the Items menu, if you add the modifier "Regenerate #X Life per second" AND X is a float such as 6.1, then the stat should be displayed on the item as "Regenerate 6.1 Life per second".
What is the actual behaviour/value?
When attempting the above and mousing over the ", the POB application throws an error window up with the top-most error being
In 'OnFrame': Classes/ModDB.lua:111: attempt to perform arithmetic on field 'value' (a string value)
Looking in the file Classes/ModDB.lua in the source code, line 111 is in the function ModDBClass:SumInternal(context, modType, cfg, flags, keywordFlags, source, ...), and the offending line is simply:
result = result + mod.value
Based on the error message and the behavior of the program, it would seem that Lua correctly handles adding result and mod.value when mod.value is an integer, but throwing an error when mod.value is a float, or rather is supposed to be interpreted as a float.
How to reproduce the issue
- Go to the Items menu.
- Either "Create custom..." or edit a currently exist item.
- Add the modifier effect "Regenerate #X Life per second", but make the value of X a float, such as 6.1, 12.5, 44.7, etc.
- Mouse over the "Create"/"Save" button at the bottom of the "Create Custom Item from Text"/"Edit Item Text" window.
See below gif for demonstration of steps 3 and 4.

Character build code
eNrVW2tv2sga_lx-hYW0ElWBeGY8vkTJHkGu9ISUQtLLfqkcM4AbY1NfkrBV__t5Z2yCAQODuzo6pyu1Bj_vZd77zLAn_3qZesoTCyM38E-rqKlWFeY7wdD1x6fV-7vLhln915-Vk54dTz6M2onr8Td_Vt6ciGfFY0_MO61qelWJ7XDM4k8LVuQbsJrZfjxhgd-1vwfhVTA8rd4GPqsqD7Y_dOPFJ8ezo-jWnrLT6mBiD4PnqmJHDvOHZ8sXKXJqu_4gcB5ZfBUGyQwUripPLnvuBkPAdLq9D_27nFTXz0sFrd-c9Dx7zsJBbMdKBH-dVluweHvMrt0YWNleAnzU6lExdjBjbLiENVXL0k2kYtUgRKd4G1kvZBejEXNi94mdhW58NrF9h-0Xdyi2m3ixO_NcFr7iUZNuo7gLYts77w32806RgYSBPrvxpO2BkaT4cnRn7Lsxk4b3AjcK_IO0lgKfJZ4HgS2HDaYPri-5xrMg8CCi_aVHIGzI1lDp2r59FkQSpr5xR0wOeTGQw_UhDeSQXMseCyFFY3llDyLIJAyYE0AZOETGISS5dZQTVoLyYlCGoISgQbwsA6a21ensxwqQbAOes5dXlK6qZAfDPNRC24AdP84lxS5-eaSBtyv4FMTQeiQrw8V17xVJkaWhJkLEQAZGxlaLCutDV3Gntte1X9xpMoW-cWc_sqVUSpCpNjXTMFX-164AeqXBKtG0HU3HOebwju_kPLCL8b0fsoiFT7lmtVPEKk0Wbjnn7BTWZ-Pc8hE2jCbehb9hzJlcQSPv2zGTy9FXFNHRTjNxcN5MO7kWWGkH_1WKA2zECVdtpDfJLvCBBvpsh0OJKuKzcDwfTFzmLdFI09Wd9sxT5e2KpOSsrlqK5MC1XzzZUT7liWWZBt29pJQkvxqyNUu7DIYZoBiytTnMotuHveA7H_W8A-la4TRIQqkZ1DlOwVKR3pvMI9eBScieQn_vs2HiyFXJ15G1GzyxKQS7mH5h0s4Nl2hrSWl7MKavLX67nYG15xWRbNWuFce283geDMdMlkQIOZxikMxmkPY8aNbotvry0g3B0pGba9OGBPgDbEXO7NnSXpig7XMlzy9JEUvwughE0Y7iPp7EPkzFa3KoJUmxLmz7kDyxg0h-NUv0xnI0dWuMXcKILzWy94Jn4Drh29noMDTMBEvnbdUjZP7fc2n-K3ApARf-MAl5oErLWKcoEsPHnsDf3DindeUVrmnEamIEcUVg_NG3Ea_upJe71PLAje2srlOzacJAZ6iQR9puuoLN7QaycHMrKaV4q3sA8ebG98D1FYX-BrhoayspZ2WgpZa6C1c8GBRCdw8EGyTFY44UXFIp2Wnl5EickPGnznQWhLH48sz2nEgw7vizJFZ8cbg1dSPn20MyGvFzrCoICsXx28Xl5cXZXefTRaZLniR6dD3vm59MH_hpT_ovPw5LkQMmmrziBJ5nzyI2PK36rldVXHgYcMoBDDZOLIGG_U2W4fuxMIk6oQsFZz-UJ5yEqiL59-P44ZcEDPxge0zWRHfzGeN-j-SslM0G-7GihEjg0oyXWZaoKzJGZ449l8C9hrUE9sJjLdfj46GMnboQ6OlcKYOGGS90H5JYKqJE_ZHQgG8nJZaVryNSkS8Dy2Z8CfHZvmY_MpuaZMIOpmtJF52zEYNglkpkURzSI5C07C1K3InIokiJoPZdsWnUnkNXueQGXeszUzuGcGPTG36XcBfwGcR2YhbepHcLI9uLeFHMszmtxmECXw7ZyE48_v3HxPbceJ5ptvw-YyK-jSbBM5_mU048vyPwyc1N-qblxRkTLmYhNzUAX4m4fGiJHZH4LNYpbiBc3_GSIev42YiZifPsBy66qoz5XcVZkPjxQhGIAodfWMRsekyPP_iRZycwOivXtj-sK7fJQ-I8KlcebLwifh9jP3jc6OmaIy8APouXa0pxfbjKb05gERklQB9sDy9kc1jW1VaXkXuTfXnmiVuX7JIHVVcYoleFOF1HJI0DRTDmxeDDqM9GXho3nyfMF9cr66IFyx8Lx6kbK3VyJuNdj299uT1zfBY6poF6JNiKKEyDjz_ehYwpdmoiwQBlToUP-XsmvgKVGzSC2JtnVeq0-hNh0yB1ZGkY_6r_RFRTrTo1iWrBJ37zo9eRaiIKn3RKsVnXkaGhX6Ax9HKgp6aK6xrSTauuY5Oguq4iU61rQIjrlCCk1TV4YdVTXgRRk9aJiTCXgkndMg2jjgzDUuuwu4FXGtbqxDJ1BFwtoEMaPBKVEBCNNYBhwzDNOsUGsEYqRahOLV3V66l6iJggwLQArlFqEfgbGxgk6EYdU5UCApsqMLcsFdRUgZxYMNXXqY4N0I9wmRahlCMMYKLyhWCVanpd03QTTEWpBsobBnwDrIEIIUK0empIovMvNESNOkUYg7qIgDh4RsAGmQSWSE0L4MLSmg5bOmCmalpVicGVuQtGZGZ3h9x1ehb3F0NohsNbbvyj9Jv7_o14eDOJ41l0fHT0_PzcnNnxJBixF9djTSeYHs2ADURIQ8RWgws6asGf9vhr60Pb_hHEPnpoRPfJx5seC-_69x_bxte_7l4uQ3Pq3X9qtL-ot1_fJ2jWur-Mv9hnVnsWfe-SH__--C1AT9-02--qq4edv6Lb8RXF1253fH1mtBrhdNJ7QJ27y_edp_MPM_zj_qJjPrGrgR08R_3v79-fe8_kzhnf3__9pXN--enm-_lXs_vwqUPij632WfDt_uP5y83omzawtPmA9S575xenYtFHi1WfpPel0SJDIOpFgvC04A-3AfRX_o5_ufggkuaTy56ViMFQNxnEIU-8v4Ng-hUsr6pNDMGU_UnL5zWz4649y9KVI7PSa2SFF0apcxeyKhStZZHjHPjltNpAqqE1IWRMYqgkPYE_4eUxylKXPw9YLEpGErH0KP4zs2dQS1hWJNIhGYCiM2WFsG_DcDg_Vrqtq85ZZcDCEGb1oQLT1diHrq0EIyWeMAXKSDKsCGKh97GioUrWD44VrFYyMx4rV41-o10RoD77IXAwWHqu4_K3qELUP3hHCJkNnVJJa6XCJ1R-CqeAJd1HECemxcq5PR6zsFL89ljRm0j9o5IedUXKjIVKum4Q06RqJV2-0rf9MYCRWvkZike1SX9RUqNqQ9fe5pVZnAUqadfO49-ZNb2BEMDjQHk9x1HS8ULoymMJ9idCmiII-RU4TceAbKO_A7G4VTniNl71FF71VL_Vv6h8gibNXpSrBHxUgfFKaUNL9MBW2WgEdjcxXXxqw_KyI3lI6GNFXfWkus2T4MucJ7G16kkrb7vFKagiNiWV1EXcWGKwAmLjD6UGXZxj2PDtQjPwTgyGhPdEW3mfsz02athoaHjFV6v0K67StJqmNjTrLRc_Te-hFD7_5lFZ_40UrYYa2tt133NScbqtpOEFVbXyc8QHryRkw1_5SKrRhrGiWkqRGSKvGNJrCDeQkUYRP3XMB9AKEpQiAFsz4-4Q0vYGGd2LkA7UHQhzL8LaHuykINi7Lhjeg7xPwhjmucog8SF2oUPl4123ID5_K977ULlWI57gfMSvFJB3VKsRvaETEWW7olGXiMZ3yKwhs4FJGhr8zHtraJAaIjyIOPCcvcA0BivZbW-01yN4L4LsRWjbvaoVeHUQhGHwDGnw7FUybyrXQTBcuhRmHjmPYmN7BYP_8jVM3eHRGmnscxPNZ_AON4nTMsZ7KayiZjZRA-lvBT_RpyLRpzaKw_-dX2mBX1e3a5WV3drSt1QnqpxzCd2Wru015xKy2qB-OqE9gm7y6y50-SChfA7SiWa5-VKeYfelwPYr74tKaziMFFLDjTS7aU1r0MIWkc0eK90KQoQ2sC7ZrQCOkTwcqTWkpoPIEj6IoSCCrdMmAatzwNbh_LfD6x8Mnn-iKRUFoF40xba9JIQuvTgoaAcB9Hlwe9v23WjCJ4x8jSG6LhmIO6pMfuIl2vYag1RUM8EPKtrXN3ipgapBs2GBX-pJj5vSdaHIpEZBTvc8e5wwpc3sYVS54oNLa5p4LF6twmbOCEhfy8VcDJu8iGJ1JYZTcdxL6bZmFCRrBRJbNaw28O4KnaZuOpNxHELCipDHoljvzNx3ALYaCK8ISE86lfSoc0uF12sYCry5p74X9-1V-TCMqpDeOhWoluMkMPnMF-Hxv9ML_jszZi46B16wuNrJtnX8YBHedoa5a50laHH-t4DQTcg186YsXkK0TUgmCi9BeBPUDoZzZfHzlAWOFOGgDC0R-iYizaklZGGGbHO_dWOf388XWWrwbM-U1sM8ivgeWpQthS7FqAt_FJCuk2E5sg3fbFqipEJFa9mjVJt58YEkl54dPSpESiVcpBIpZ145I-B_iEwrp6ReTppe3ppoj4OL4mmPB9LsP1RQQSTpZeTsCb8t1UuCMSmfRajMQrRysYDKRZ623z0yhj2UbVF4lVy4VN2hJfQpUQPJPjGvfe1A9xVbuVR80TJEUim50fgLHFFqnbS0WXEJv-vlMomUC19yeJRp5ct-iZhGpY1PZDJTkwGVUPs3hh9JT26MsNJe0EtEZXk3_Ea4yJZkTiuZNfLQEpbr8xskXKbE4NLmLVku5P25sQWSWA6RsBMq7wattLVoGefI5MvGNlA6yPeotG0LeZTtIcXdtjhhET-3DPyRO9748STz2XQujnKWP53UaMGvLMPX86ge820vni_xDbL4nedCyMnR-v8l_R8VCcEZ
Screenshots

https://github.com/PathOfBuildingCommunity/PathOfBuilding/blob/7381cb6fb9039d721c48a377cd4415d991140261/src/Classes/ModDB.lua#L110-L112 I think the problem is, that mod.value is a string when you enter a float number in the editor. Hence the error: attempt to perform an arithmetic on field "value" (a string value)

In this example mod value will be:
