Skip to content

Conversation

@Edvinas-Smita
Copy link
Contributor

Added the basic seismic trap mechanics and also added some average shotgunning against configurable enemy size.

Fixes #3150.

Description of the problem being solved:

Seismic trap mechanics were not being calculated

Steps taken to verify a working solution:

  • DPS numbers match ones calculated by hand

Link to a build that showcases this PR:

eNrtfVtz2ziy8PPqV7Bctd9LFIe4EsxJ9pTv9iROPL4ks_OSAknQYkKRCknZ0Wztfz8NkJIomZQoS5kzteebqXIksbsB9A3djQvf_PePYWw9qCyP0uTtHtq39yyV-GkQJfdv9-5uT1-Kvf_-R-_NlSwGH8PDcRTrJ__o_e2N-WzF6kHFgGcDXiGze1V8mtIiX-C3kUyKgUqTS_k1zc7S4O3ehzRRe5YnkyAqpt_8WOb5BzlUb_duBjJIH_csmfsqCY5qD6SXFmqc7VlDGSU3qf9NFWdZOh693WN71kOkHi_TAOAuLq8-Xt_WWo6SesvQ9b-9uYrlRGU3hSysHP683TsADsh7dR4VQErGY6CDqaB0HyFuE1vYfO9VM-bNSKlghkT2KW6DBOKLwHgfizbg20yObgdZ-gjcvo2GaoZk72MXE9fh3BZIOGgVgaM0jYGZSa1FYbM2jKtMnYSh8ovoQR1lUXE0kIk_b7gVb1PYy3FcRKM4UtkMHu07rWy7TQsZH1_dzIGR7TrOPqIMU7SCgwYvnQvUboP8HBWDwxgk84xWNO7FfRIV6hnIV2mUp0kdURAbMTBCwblYhyaHoLFzzeMEuQhQbYr5qt4-bRRxQiiz0T7oFVkniLRYRMWYwCD3bZci0qqMR-M4BkVewBSIumBgTGDEcLvCpEMvSpZEU6Ky_dWoB5mSH8NSpa9lEI3zuR209vRSJvIozedaI1pB30ehWgBtVbCTm25w1yDQbpC6m1cqAxdZdEPQnd0IoWrhRvkpuOFN2tgEpTaO5zX2DMyTm-cgPKOhm6Lm4XirHl2r7wuQzG2DPFY_5ipMxAqCdUjEWk3kIpkPA1GyguAipN3ew4e0gNl_PXOMNzk5v5pBuoLbrdBXg0ke-TK-lD-i4XgIU-mt_KbmzSA9I9J9x2ZCgENqV5r7QZGAJ2qj4xLk8H26js5plKktSRzB1LwtiYFM8zYa3AXcffDN4JiB2iozmuuU69gr4hz_tYa-SPw5221nFeG7JFO5yh7qMc-KJjTKNdiXjsW8WHXGmTdT2Wmtf2sau1dJ1eKkm8t5r5Q_OIMA9FoWqpt_m0E5lK_krgauc3cl1QbeItENYZlLeF8HKVxwgh3bWUmkmWOI7K-cUDdk2meZBR28cqKy-8nNIFLxHJpz1gV-OoIjOeqCaqRTx69LCXdscSNVq6NuyL2TB5nXPTBljK4eWImwYNfts9WlgkgZUAK1FPO3TwpXWfpVpxXxhngH2TAdzydGcGXt7saMpESoD8R1180oZRh9rYKxvzBxua3dOowh91waxCq3GccbYRwUhfS_HafBvdqokc0xbsajEfgELfwlPGGvmvmuVR7V4h-HrQf-CGpfN7Z2V6Xnxc4NzIGXGyDO2higcytLGMtNcbpygl5qpp21Neju7Jpl7JfgWYbg1U2J4TIN6rl167RzCnlZPbOiNuaIUmefIIwEWYm2mAgS5rgQhE1ZURG--RbFsZXrv1cyA8w9KwcL9ZX5NKNllTmptTuCVcJpNQxu31kYXBvhqiJkPcoHlVuDqCg0PQj-w-h-nKnAyqM_lKUSNZw87QP9Yd2oKB9GvqXrMPMuUOLaAnJe2-UMkfYE_xHkP9DltHy9LdehIRqcc7BVfJlK_ph0pr8AXm9gxcQXjDPtUJbbIF0xmsahy2AxuKtjWUgrVzLzB-_BVgzXZ99OZRx74D_hV4315pUpU-pPF8NRmhXmxyMZ-7mheZGMxoWVmALjMMr9L944DHUdUUsyMzXQk9PTk6Pbi08nVTfqKEZfviTjoaeLWeW_c77cKDOlWPnYy8uPb_c-RerR6NqxKmQUA2v8NI7lKFfB271Qxjm0HMFHA3MD4_WLFdQMFIT-01pQM605QDulkx8q0xoOsZefRaq1X7PnazpVNqijnbJ62UxNl-faCZUz4ZHMizLyaeGUqam2U9Elx9bh6IcrcEFnZNzacvV0DSeKyUjlEJ1EYeRrjV8t8luALqFW8MX3wVj8yQp5V_N5Ow1T72wjUD5sRy7ddRt29XQFV029tJWr5dN29GPly9axlw_bkWfBdJqYYn8zlRnUCkofqhIsGM1BFOupt1WyJ7GagbQT_FgMVFbO562ULsFHTUFWGk4WeeOi3YxrECt4ZWoDLRzSz9pRy7y3ZQz62QpPtJDXtTC0DtNOqkwkWx3ZKtRp7tHCvvLpikFMk7CW_leP2wmUcWCr_KqgcpV9Q8rRbt_6YTtyaR9PSRTZuCMFo8vHKlTghVYq8wxmhRctxskxOLxiBUM7kipnpYOHNArKfGcramaQzcTmnNqIVukkGvm2MUWTD27L-qU0cSfsr-qULf67BrKGEDje8xVTezdKs_zpXMlYL46l8XYEn9RjtxpnWuQyCY518ajzQN-8msa3b0xIkUN6khVnapgfTiDTOdVOc2lhTRoWVDEnRNRobxFnqn6BCuU41r__OpZxVEx02lD79X25GyBJs-GsVg-kBumjVqKSoo5wcnCh79-XTw7ioiKmm5uOrGRJ1SEzTGR-q340ewAO5r02Izb9jhI_HgfqIqkSuxmrVKKLyjNLyuNU13LSVGvQErVZY397A32qMM_i1JMxnuJXGx8w2lt4jmb0NaELHdaVIy_zwO_lSC9MpGK4tmfdq6H-fgkJQQCpzauLAvjwSjPjVY1rdXRo1n4yID8dJ6XodG6i62HlJoBSvXY5lKN4nBcQ2G83oiYqnQdWIZvsOv8JIxzo2G-LsS3gdx_VYBZy7mQ0Jz_Ae9yPo8SkT5uORlOBT41EjN13GNECcjmwNyXln2DMn5UcgQNFz7Jnw7TLKAG_u9SJKbvtdew-V5mMg4_hwX2aTJ5SNMRqQgDHpzLNGLxSDktUN9WpEt1KQ-tpt5a6fDOKApVdxdCloLMWrlXCT1LGh7EuoTarYK3mhjopZAPBruqoUa0Kd3dmBkOJdAR4KJNE14GeaWgtZDpLeopvVQR2N8DLFFQ1uRlAMNiswd0E10Sm8-hKZKvE7qycoqPDP5V6OtGlpmcNcOb4G-h0HmGJa2lkCG27j9FZN8bTGNo4lvng2ar5lEL3UWlUy-D-bP8P439QW0VzXeODA0hH5ynp5j59rjDH0QNE4Ye6rq2FvrnRG3xrRqCz0dsdh2pWRlVQFnS2GWkToc7DvEjyUVTxe3dDLDOnj1WRWgv1WUOc-u92at29nITOp7GaFW93I0row2BpZtrQd382FEDDbgr1jHh9hm4Z_J_tCc5VPFTFT4oD1zuJb1EBzPVMarkuCtzEDd-Mh0NDZk5-wwCopGC19bDed7223lkHSVfHGQSRNmIZ_3a1RX7VSKZzTpKYAFAlOw0BgWlDneYszwibRYBNVLqOaxF7d2O7GmfQi2cPagm962hKNJ23nMSqtnSypdcoG2ypBQUTa1r3_5MqQvMTGttMrY2UOvvmg-BBpw3BhsUU1nGYx0oG8WS6_nUVj_MtDH8Fse7jfdSlUhhvScxaXJrb4cg_pZEOd6LRODY2ueXYV5LbfPSanFWnt_Px3yUedCDYkehXUdt89BW1zYXfwV8OJjkkcb4MVHuJtFb16BZdtlFtHPqMeuUK8YwbdCEaqO9R2nnmoKkeJAFEFmq6P2Wr8nczrY1q4ZYEkWsiVn1DzG4C0Vh6mj3zzWB6IK_563NoM9fzGETA1jlEHtatGo5imfWto2ycgzwza5q57i6tnXaqY16ru5RmMjYV6BYr3XACn5K0KppPWF19vFGFWbQq16r0x9tMqemSlCGFquUg-FI_F6p7RzRfdN1kUm2LeLv3L-y6LukjRzD87_6_KGXU7gvsCvjCbYzsPqeYU_jGGHVRn-vDevANuxieEIHgs2BOH7tMcP27cG3S5_CPhqKYcNRntkuIIU4Q71MHKGp68Ij1seBE_BtYkQZ6oQtxKvrIhg70y9ahbcr7xBWI9glxBOlT6gqAQdR1gDISfSJc-Ku7yfoE29BJ7DgAoncPsj5FgvM-54LoXwR0h8A_bh9-JqyPMKKkX_Kg7DpCrqD9suMutjkAOtztV6O3KbCHQgf1ZyTsPnM5wFBmyBOHQf-4Cx3h2KG0jwkhtK8PG1Loq9BsAgab3mBAwg7uY2Yz0Re6CZcx3mccAZM4ExgG7HBO4C-zAV3YgGNYDRzggOc4dt9lRPNQMLdPKAXuEI4xcNzwlnGQiv4FGuYEM9RHVMutFDJHHHqLGeYwIsaAAQQ70Bx1XdvuIxdB_xkjMEbuAKsBWJhuAUdcwcxnorvlcgHt2RT3CSLQD-5qpUH6IZByhGYg9BSaBA5xg-m4mv8YG0boHgIE0HNgWKAhMAr9GQbLNbNthPrChca1SLgGBuaXqkTgGXSVuwCHHeTauiOIwF-k1YXq4egBIyxskCZhoA4gPABgzAE1ATHCQwFdASKIO_oX2wFu2BqHwkMsNIMRwIDeMAaoGNREK6HuJqi_bhOMB5hCQWEwpqB4FITvaA0wGuMAAQcRkCkVwCQGKgd09XgoBfkzQkHqVG_XhzFwxvesAky6djAcudWZb23CvFrYvbt-X_qzQVGM8tevXj0-Pu6PZDFIQ_UjitW-nw5fjQAJ_MJL47learKvDuC_w_t_HqvH3x_ffSPZ5TD4OKTy2OUvxfuP326Ho_uzl4-x-xlPLofv8FcIeNDg8u7BI3cj_6M_tt99Yhdffv_lLvh67BxG90rld_yD_OM4vfq9IL-hs9N86BbpLSGXH_MPgwG9_xDzd7feh18uw2_pcZQffPj9N-fw2_fo7ov_fnyWU2Dh5y8eo_iL--OSoHdEiA-fouz9xe_hl4cj5yS7wKe_yq_Xw3e3v78ffr4UE5UI-eXh7N3jH6Nf7gZ391-_pPLro6--HSDncXJ-cMzziMc_Dr4dnhXn55_Vr9GP7x9y8ekP8v188njy7fL-5FvEf5zj6w_Xtyf-2dUkuL7-cfb58vzHQzChX6Pv7u_e73fjybf0tPgU_rO4_A1dv7S_nL08dm_y-8uDjywcfjj-dcSK_Ojg_vT0_u7Xg5uDw4v7k--H15eHhwcnB0cP-QX_45fTh_O7keudPjLhodFvyfg78M1nF8efP39R9mdxL78TMR58L86vCvfg5te3pdufSvdNeXI_r6au8pvxlUYXtJHBJFuUQcH0nO5TQOMaaoCkFVB7sDkgclsBtauoATrtFMHZ1gBFK6A2_Fof7TZAY1E1irwVEBxRjSCeT6pzpsIXmCfNlKonUv3hQ1oo80z_OP1iplm9HbnaPX1TZDp6-SNNh__UO9X3sQ2-g5T_lVs1zpUsLuVoFl1o2GrLB662eRSyOI5gJs7MXqBpfKABf3u795Jhto_B_cHEAzNQuU_6jQn4qvlef57uQBnnqjxtW67rmp9rm0M0aH1jyLXUBYPX1vXB9UnvMs08k97AwHo3kBlHEGWZzR69MsN_bcGsWH0-lPn0KDG4GXjSK_cXWuUGw9cWpr36jsOn8HdJ9H2srIvj1xahinl-6IYMKT_gWCLF4R_t4n3CFChP4PsuCR1fEQWRQOjRkElwvq7LlBMGPTMuw9XXlmC9am8MdMLuVVJ-bZ291P9f9wzYtfr-2nJw7wKiysiP9HPS-5efybBQwb-R-LuVlaV3ne1JS59d1uFotTcoCq1JOv5_wOH8vx6U5SmVQJRaWNdKjy-e9PRmQIv9XaNMz0xV0TPEYtbJjyKTljm6Uv3ae6GbLFJrdmzGKncr6iJD7wXD-hkom0rui0HvhXD092G5V8jS20p7Lyiq_6Z7Db-VRPWRogV6lLc3NmeC-3cduGcKJAdsqI7KWGbreA0K_d3yzcZpTfFej_tjksdyDKStMM0sCqaiFRLC-cR6B-wzxneZBtcyAXZk-q--oYPtVYpZmWcrBF4LQdZC0LUQbC0EXwvhrIUQayHctRBoegjFZIGLZo4bzPxcPqS-dZMm92Dxuq5dyDCsW6ODQxHiEEkaQtTEEBOIUd9hvm97NLC5Q5RDOATC3PcwJSpkofRsWwXCpWCi3qI1OjVrpHVrPHx5Df8fvjxstUg2V7OKhhWkKgfPXsw0c9m-appZV9_yWESpvNYI_BpYRkWzR0Qdssz2npB9QWxjM3WrtfRRDUsvXFnz-1l6LzA2kBUhfVrCEALzjb4tQN5M9G07YHnGvmaieMFY56aMGWv2aVcjIQc3u09LP2XpegB0_AnMbGxPgGfMO5KJNZDg28YjjU5gGOYB9DOIQmi7BuvwOv9MyWBZFpolSyDTi3oqh_If4hT-JJNfzxCE270CWfQKdx8ufr2D6R-EUU5puQVBS1b0DoaqAFWBeQ0e1T2ELR2kYJYOqYspZISuZ0tMJBWMBb4XmGReBEEgOedS2g51IUnk3FMUU-Uxd9FDkJoDIHbdASDQcFKzhdo0NXUkPczmc_V09lsIRRohqjkTNxM307eDN5i_t1TfP3XGalIJ2qgSH2OVT-RUKY6VWQPsHcVpMbAOVVwszBqhHUCMRpht-z4k174E3SAoxFRiHzGMCbE9mE4CzEOJUMBs_YmbsorvELQ8a8x1AvFFnait94OPyiHIW_D0Y5BNWdeaK8kLmLS0pKszJNa11NuFwNPSUgEg2K3LH-EVoc8LE2hVG7Wt8qCnVR3B7M3co4GJkgYYoJwXSgaWHI3iSR3uIAxhlGZD-4xe1czTR1aUW0qXF1f0xuhxE2rVA1DvJYyjNMvGo2J7h_wfGIM12Q1vtJvW8nVvqXo9S6yIi7smVo7bPbHyQjBAJW0f3DP3whD5YHCSBYI6gnlUOMgLfTf0GA4ZRHSOz4kLwZ3LiKIkxH57KOfOQ7kyjDurWSzni4nVQoCw6IJXGdPROIMADwY7jEBpH6Oi5GOtQK5zCki8-uVDuhDIVT5ARzKesoalYQbW4wDYZM31fCnSYda05_NQp8IxvNAOpxiA7U2f9hAjC_7HSNEsmixOQwi1cwGjeaKmMZsysx0a5y6ipR2aXpNhOY2GdQv2pK_LGpttUccRmNKw90H5WTrULMqsoyjzY1U8KUbYeKXR2PuuC9NMzXKoG0BC4_vg8T2mSMiQDLig8L_NXRuTkNqEB56gjHtMKuXYPsbKcQJEPIiKVGtJgtRKEocmCaonQIwuznWzCLq-7AjRTKy1KAddseRsW4_1GdS4sqhZvF-2pfMaHd8vfCvVXkdHc7W8NtcdmaVtbUDQD5hmJ73bLLq_B_aWZBGzTgHcVEROIUQYWErf0AO2U6X6PSQWTH7JEOxZyUAXCBYe6hKKsX49CND7rADjU4kut-jaliXLbKUnFno93VZqduxXi9MGJUrM3FcZ8GnqA42gdxIHoFU-xDBS79ua_LUMi_1vm55oKBqcJEWWjiYQ9UkQ74G-s8E6GI61qdWNRhKCuVKSuXbgYATfqG3DtAIxHvIc6mOdHMjAZ5LbHsI4FJ4OGTERvrCVs2w0tRllwS7w3C4O4jj1ZQG2cJv-APsos2yd9toLNbN5KIhx1-xaiCdlNsTXJbJL9ieXsnG0IhtvyMNfYFYfhpkcjtUP0Fpdufjp2vofEaO5jVMJcDuZhmjv04mMezcRaJiyrlNP1ZXatZXnC0cR6RHmCuk6knm-7dmOEzrM8xwssR2EBINOK-yJwBeurwTFfuBwaZMFpcYri9OH-u-ioq9050v1n9nDmT-sOf3c8mWiK2e1YGg1dWTbDYWx6ZHlP9NpdlbDJvEje9tyB7Udj0rPZcpD3GYBhMkCtMJW3BfYd7nrERF6UgXck46nHE6VR7gfEodJ20ak3a39yeUO8v_LHcNpAW1BJy4Pzi6OINnOUx9i-2KqF2dAMiogcIhl_m3qLCDAlwF46rSuIsJ2XMikAtfF1OUilFyCGgiH8VBKQZXrOswJQGs8iA458QRiMDVKRlHoE-6Gq1awarOg0xId3uUms1HzFB-MFgKccAyxkhEvnj2ZxVMyU2bVypvoOFKnWZMecxtymaAMt6uEajeSbZQKbvbUUTIVyLXyokzP5kXkzSWzIAjmgmcmwkPMLCAGEMGzgHkBCjkhCMITwkLPw5Du2jxQNACxcQkJsG_bgb1chmoTBLVbwpGVgjiCzzpSgSB2mH6DJDROx4FOYQGrp3UNnPTFcDhO9EoHGGp5q8_SKloU6kB4mseWIEHvWg11PcEEFIfjzKSOphsm4L1LBmk8sS51VvkMaTbKinSyoF_Hkf8tj2IdXy1Y0cfHeKF6yAO9ccsmnmuHKAhCISFeBOthECF6lGBsUxT40sYM2Q53pK9cB1HbZfpW8xXp1p9sP5zOnW_JYT1gU8gwxQqN96eZE-0koptxPBqMl8RjrumSdQmFem9XEGDHIyTAMoCpTU92PCQu5LueCiWFwEdBygxJcOiH1JXIB9mFAfH1xPkcCW1qWEdpAmaSSRPCZGav8tS6nu0DF0vGP0V4z4xrWJN4D8eeV97iWB5y1DP_XLQ3SsZLwY10XIFDChYVqMCTwsFYMBZy8JEyZJhjOxSuQymDmFYy4kmQvSDI0_V7IRheXstpkSupy9XuEXduJwdDvRPWqi76BXeFyFJNorwB2NKC7THbxCmzH3UVXdf1LhIdzZjNF089qbmcTXNF-1LR4kunQE0EZsEuQKVpsJKONLoBX0GplvD-tPpCo8LwhsT-CjJKmDuSCKLEmzgClvY-RVkURGAOv6hHteClPYUhjpEO-AEIegVMqA62HRlISZXwlO_4NPAReGlfBKH0kc6ChE99zm1qey5d9gELKvGvMJN-oa8J_bdYm2SX6zarsnfWXm11DbKeKqtjUhDu1uusf5216EYxOg1iPM7kfbmBIOu9N_Wz6W0vT4QIWarvEBwIoXwBoaqDAg94CkGoChB3HeEGnEgsIIBVMMVyjPX-YV_nuELZWLQv3i5GRbX9VAcBGImwrsp9qNUuqtruAAsAQEqLz41vNr2v8tJ8gSDA3wxN_WQR614bL0zuC0t4y7s5VuDLOE-nRF6Qxv1TqKm_ej1O1xNj9fJcZoE-MNMOeJpm_oK2tkJelhcc6Dn5FOYzWapr_n9uE1WjJTRVKg_VAPxZMbBOJmqFK2MQaOIgxD5nPBAQYCIlhQrAmXmOHyKBVMi4CnwPu56igtsOZBZUCkYhDPKWV8ZIqyt74XSsNiLatoumg7NrX2D7i_uy5trcpbqXsV7SiaQPXwI9ObX6M8Qd6hA3IB5hjkdtX6GA6T3RAYWULnQcCFQCFDieLT0OYseUI8QYDihyfUctpd50UZLGc9Flz7XO_VgfQAF1JNFq1mdjlcFHad3qPbx-3g75EYI4s7qpXcB0BaUN-HOUD0xscgwB8eCvta6xVbCL7QZTf5fpg4nWZx3or4pa_NBmXPiKIwhzQ-T5xPO4CDB2kV7l832buo4Nca_wOFWgNABoB54nIDJWYlFBHLpF1MK3MOTF5WN9v2dt2SuZrpL_xe0do5Zl3azajnKejhSkc9FQX23_RJIOU3YIqSZHjCg_IGDbgnACv1AfIhMR8gAiF-UQZEvOfS1NiGhcIgl8oShY3s5QvuHstfUJuqPP5i2K9mMST6pgPp-amt47Y5UBlqkS138uqekyu66xTxemAmO96VgX3qvb8JMyPQBVmOjymj6Q03uJ2F8kKm2UW9NG4kup4rzI0lniUDrEVkdth5wSBeLS57X05OpKWwiXgpykdAMcYkVDbNsKB5xRTgPhgbcmLHRoiLDvtweeTLStDmr3jVsDzw5hJHtaD-0cPdI1Eu0chTq1vWsbxq6Ne_xb5w_zSgENfJQOR2kObu0_LNBsVO7m_bBncZpFKRj0J70IMOlNX6XwVLHBd9kEwkME4YTPvJBgKogvQcVtyISxy0GxURgyJX0lhC8ElYj7jgNPhHTp0nZYPnNLxs8s-iTIMAYgOPA2OhzwTC0C3CakaY6VSz_TF-bPn-uDxfrxb5Env4_lgrfKSm-lk6yjNIGhZGXFQuPpK_9656AtwAH_f8vx6Dts248zLV5vG-sTAYBz5d1dv9cnsspXTUwvt7x5hMn4wJvkuZwmk1bt7Nj0jNlaOss08DNo1I6irUMxZ6920e-m8W_Sd73X93n45Qm16ZG2klpZjawfG0QdB4KbBkJ2IMhnMBX_DBq0iYZ5dBEAgeXDjyWxskZSOw85beyZzOA7GAjvOJDqXGh9ILWjopsNpFE70CZq3mRvm6hXeYXaVl1osDS-dQ82sfXpzRlTBP68JsmO3BTaevB0B-qMduBj6IZqMAen3WS2VYNNqr8Lzm07TdSPeD9vwtx2oiMbsXF2Hdo2KtQsz-1NgW1NYXNfNEdwVk4E5bn_hYlgfhXA8kTQOJOYOwsWZ5LZNQZdCJR3GSwQmF9v0IVAeb3CAoH5jQtr57J2G6gJHrGVYUF5E8RCWDC_HKLjbNqsfGw3VoC39Ul8B56Y7MCvka6Rmrl9YkEis_soOgqkySk9xzX_jCwA7UYtyJazRI0diDyHQI0PiD6HEbtKy56jmzvSBb6tbe5IGXal288KXzSh57iYZ-JtKwddhK4rAHmed8e7kdwunPMzlWiO5T6PBWRTrtdn5a3kTXfDfLZ1gLmxA6hxYBtD3aTn5aGjOcLCOabptYjmdiTz0lrz6uEnr6Ad5-rp63a9NI2VTKrZ4el7a3UZ0py00zd6TG_62QDNbC48GkRxrF8iug7NvCT5Ij9M83z-Wt2rKEmkH69vptoWvL6Z4WzpsbxtXgU35v2xekfe_OW8bgPmSOrLS9LkUn5NszP97uxpLz-kSVNTntQ9XA8GUgnMdS0DFdymJ-XLojux6yb6Q11lKle1VsrdA6v6HyXd-g9KU3ujwuZqY0Yy3WO4Hg-aW3rndBPGVSx9NUhjfaS8zgnzft-Z_BzbXg2_8NL1KRZZgzRbWpreLjtFxASvay-bvW73yRugW1D0JqzlHrJ1zcAvm3dOt7Q5llm-mSMIur5rmw5nxvAr_Y7EjnybIW3MPK0Ty3xgYg1WuXZVU6L1irDcBukg1U04oOW5Cfx0s2CrDrx5NZ1X3ry6ksXgY2hemA48_kfvfwAh3J4v

Before screenshot:

image

After screenshot:

image

Added the basic seismic trap mechanics and also added some average shotgunning against configurable enemy size.
@QuickStick123 QuickStick123 added the enhancement New feature, calculation, or mod label Dec 7, 2022
@QuickStick123
Copy link
Contributor

  • Could you add a breakdown to the calcs tab.
  • Adding pulse frequency mod to there shouldn't be that hard considering the work done and should close Adding pulse frequency for seismic and lightning spire trap #3828 as well.
  • I would make seismic trap cascade mod wording generic like "NumberOfCascades" or "NumberOfWaves" in case it is needed elsewhere
  • Generally mods are capitalised so "repeatFrequency" -> "RepeatFrequency

@QuickStick123
Copy link
Contributor

This still fails to factor cooldown recovery rate and duration as far as I can tell as dps is affected by the average number of traps on the ground.

@LocalIdentity
Copy link
Contributor

@Edvinas-Smita send me a friend req/message request on Discord so I can invite you to our PoB dev Discord. Will make it easier to discuss stuff with this PR LocalIdentity#9871

and copy pasted most of its logic to lightning spire trap and a bit to flamethrower trap
statMap = {
["base_skill_show_average_damage_instead_of_dps"] = {},
["phys_cascade_trap_base_interval_duration_ms"] = {
skill("repeatFrequency", nil),
Copy link
Contributor

@QuickStick123 QuickStick123 Dec 8, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
skill("repeatFrequency", nil),
skill("PulseCooldown", nil),

Most mods are capitalised like this and this is the time between pulses not the frequency
Pulse rate should probably be changed to be the inverse of how you currently have it or relaballed to pulse interval or similar. As it is not exactly clear where the hit rate of the skill comes from as you cannot see the same number elsewhere.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch with the frequency. Though the capitalization looks a bit bit weird: in these skill files when it's mod("... it's capitalized (mostly) and when it's skill("... it's lowercase (mostly). Not sure which should be the case.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah fair enough on the capitalisation pick which ever then.

@QuickStick123
Copy link
Contributor

I feel like this might be able to be made more readable with some renaming / shuffling as it is fair hard to read. Not sure the best way to tackle this.
image

I am fairly happy with the math the only math that could use justification is the circle math as how that formula works and produces the correct hit rate.

@QuickStick123
Copy link
Contributor

Is there a way to factor these functionally equivalent functions for both traps so there is less code to maintain in the future?

Expanded, reworded and shuffled information to make it more readable (hopefully) + some small fixes
@Edvinas-Smita
Copy link
Contributor Author

I feel like this might be able to be made more readable with some renaming / shuffling as it is fair hard to read.

Shuffled it around a bit such that going top to bottom everything that goes into DPS Multiplier is defined sequentially. Might help a bit

Is there a way to factor these functionally equivalent functions for both traps so there is less code to maintain in the future?

Looks like it could be deduplicated by moving it into CalcOffence, but it would be terribly out of place there. Other than that, I don't know enough about the codebase and/or the template + combined data files to see a good prospect.

Regarding the circle calculations - unifying multi-part skill configuration sounds amazing, but also sounds like the scope would be quite a bit too big for me. I reckon it's worth leaving the seismic circle calculations in, at least while they're still relevant in 3.20. Though I will not mind if the decision is to remove the skill parts with average waves that automatically include these calculations.

@QuickStick123
Copy link
Contributor

I think it is fine in calc offense we already have explosive arrow implemented in there and soon to be #5049 sustainable trauma stacks (hopefully)

@QuickStick123
Copy link
Contributor

QuickStick123 commented Dec 8, 2022

Your config names are a bit long for this box it probably effects other skills but if it not to hard it might be nice to fix here as well.
image

@LocalIdentity LocalIdentity changed the title Implement Seismic Trap DPS Implement Seismic / Lightning Spire Trap DPS Dec 8, 2022
@LocalIdentity LocalIdentity merged commit dc96c35 into PathOfBuildingCommunity:dev Dec 8, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature, calculation, or mod

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Seismic Trap (full)DPS Error

3 participants