I agree with Scu here, your release looks like an open source Arios converted to 666. Like Scu mentioned in your previous releases, majority of it is not your work to start with. Building on that, you are releasing something that was already available and spent tedious hours converting the information to suit your revision.
A class called 'StaticCombatFormulae'. If you google for 'define formulae' it will re-direct you to the definition of 'formula'. I have no idea where that word has come from to start with. That class also has nearly nothing related to calculating formula regarding combat, its over 1.5k lines of spaghetti code of switch/if statements yet you think you deserve recognition or are doing something good for community by releasing some more junk but wait...Since its built off Arios, adding junk to it could not make it worse so you expect recognition..? Anyone in the right mind would know how to properly group weapon data, range data, possibly persist then in a database or something instead of the ugly code portrayed in your release.
'CombatRegistry', handles way more than the name implies. Ever heard of SOLID?
Maybe you need to refactor your understanding for the first principle before refactoring Arios or whatever the release you used to change it to 666? Not to also mention the tons of combat related stuff you have are mainly static methods. Since when are magic spells considered 'MagicSpellEvents'? 'fireSpellIfPossible' - Hello?
Never in my life have I heard that a probabilistic formula calculated for determining the chance of a hit in runescape be classed as 'too low too often so we reroll'.
Jagex did not sit there and there and think; hmm lets reroll if the condition is '(maxHit * 0.25) && count < 3)' is met. You use the same logic for randomising the hit?! You could have saved yourself if you had read anything related to combat released by Jagex on old threads/posts/wiki. They clearly have stated the value of the damage you apply is random between 0 and your maximum hit, you are breaking that mechanic completely. Also there is no such thing as 'minimum' hit. The minimum is nearly always 0 apart from a few cases such as the dark bow special has a minimum of 5 but 8 if dragon arrows are used (iirc). Let me completely ignore the fact you have a large chunk of commented out code for calculating chance of a hit which looks a lot more realistic than the you one have come up with (maxHit * 0.25) && count < 3..
Nice because jagex are in favour of the entity attacking a victim that they just randomly like to give a 33% boost to their attack bonus and give no boosts to the defender. I will stay quiet on this one as it needs no explanation if the reader has at least a below average IQ.
This just looks like a load of matrix has been jammed into whatever it is you have released.
So to sum it up, you took a decent base (Arios), diseased it with your spaghetti code as given in the examples above, infected the naming conventions along with many other things 'BlackCS2ScriptBuilder', stashed carelessly the careless code from Matrix, made a release but Scu here is being targeted for not contributing or whatever your reasoning was to attack him. I beg to differ, nobody here has any obligation or need to release any of their work. Releasing something for the sake of releasing does not make you a good contributor. Everything you have released there was already publicly available (I'm sure there are way better releases that do not have such spaghetti code for something that can be designed to simply if one has an 'average' mind for critical thinking). Anyone who has a speck of intelligence and decent searching skills could easily find what they were looking for without needing to check your release. To sum this all up, I would appreciate any of Scu's releases above what you have released regardless of when he released them. The only good code remaining in your release is the untouched code from the original developers of Arios or whatever release you used.
OP: Decent release.
Code:
/**
* Sets the starter bank up
*/
public void setDefaultBank() {
{
bankTabs = new Item[3][0];
bankTabs[0] = new Item[44];
bankTabs[0][0] = new Item(6685, 100_000);
bankTabs[0][1] = new Item(3024, 100_000);
bankTabs[0][2] = new Item(10925, 100_000);
bankTabs[0][3] = new Item(2434, 100_000);
bankTabs[0][4] = new Item(3040, 100_000);
bankTabs[0][5] = new Item(2444, 100_000);
bankTabs[0][6] = new Item(2448, 100_000);
bankTabs[0][7] = new Item(2440, 100_000);
bankTabs[0][8] = new Item(2436, 100_000);
bankTabs[0][9] = new Item(2442, 100_000);
bankTabs[0][10] = new Item(6687, 100_000);
bankTabs[0][11] = new Item(3026, 100_000);
bankTabs[0][12] = new Item(10927, 100_000);
bankTabs[0][13] = new Item(139, 100_000);
bankTabs[0][14] = new Item(3042, 100_000);
bankTabs[0][15] = new Item(169, 100_000);
bankTabs[0][16] = new Item(181, 100_000);
bankTabs[0][17] = new Item(157, 100_000);
bankTabs[0][18] = new Item(145, 100_000);
bankTabs[0][19] = new Item(163, 100_000);
bankTabs[0][20] = new Item(6689, 100_000);
bankTabs[0][21] = new Item(3028, 100_000);
bankTabs[0][22] = new Item(10929, 100_000);
bankTabs[0][23] = new Item(141, 100_000);
bankTabs[0][24] = new Item(3044, 100_000);
bankTabs[0][25] = new Item(171, 100_000);
bankTabs[0][26] = new Item(183, 100_000);
bankTabs[0][27] = new Item(159, 100_000);
bankTabs[0][28] = new Item(147, 100_000);
bankTabs[0][29] = new Item(165, 100_000);
bankTabs[0][30] = new Item(6691, 100_000);
bankTabs[0][31] = new Item(3030, 100_000);
bankTabs[0][32] = new Item(10931, 100_000);
bankTabs[0][33] = new Item(143, 100_000);
bankTabs[0][34] = new Item(3046, 100_000);
bankTabs[0][35] = new Item(173, 100_000);
bankTabs[0][36] = new Item(185, 100_000);
bankTabs[0][37] = new Item(161, 100_000);
bankTabs[0][38] = new Item(149, 100_000);
bankTabs[0][39] = new Item(167, 100_000);
bankTabs[0][40] = new Item(385, 100_000);
bankTabs[0][41] = new Item(3144, 100_000);
bankTabs[0][42] = new Item(8013, 100_000);
bankTabs[0][43] = new Item(5, 100_000);
bankTabs[1] = new Item[14];
bankTabs[1][0] = new Item(554, 100_000);
bankTabs[1][1] = new Item(555, 100_000);
bankTabs[1][2] = new Item(556, 100_000);
bankTabs[1][3] = new Item(557, 100_000);
bankTabs[1][4] = new Item(558, 100_000);
bankTabs[1][5] = new Item(559, 100_000);
bankTabs[1][6] = new Item(560, 100_000);
bankTabs[1][7] = new Item(561, 100_000);
bankTabs[1][8] = new Item(562, 100_000);
bankTabs[1][9] = new Item(563, 100_000);
bankTabs[1][10] = new Item(564, 100_000);
bankTabs[1][11] = new Item(565, 100_000);
bankTabs[1][12] = new Item(566, 100_000);
bankTabs[1][13] = new Item(9075, 100_000);
bankTabs[2] = new Item[83];
bankTabs[2][0] = new Item(7459, 100_000);
bankTabs[2][1] = new Item(7462, 100_000);
bankTabs[2][2] = new Item(4587, 100_000);
bankTabs[2][3] = new Item(1215, 100_000);
bankTabs[2][4] = new Item(5698, 100_000);
bankTabs[2][5] = new Item(1434, 100_000);
bankTabs[2][6] = new Item(1305, 100_000);
bankTabs[2][7] = new Item(4675, 100_000);
bankTabs[2][8] = new Item(1383, 100_000);
bankTabs[2][9] = new Item(9185, 100_000);
bankTabs[2][10] = new Item(10499, 100_000);
bankTabs[2][11] = new Item(2503, 100_000);
bankTabs[2][12] = new Item(2497, 100_000);
bankTabs[2][13] = new Item(1129, 100_000);
bankTabs[2][14] = new Item(3105, 100_000);
bankTabs[2][15] = new Item(3842, 100_000);
bankTabs[2][16] = new Item(6108, 100_000);
bankTabs[2][17] = new Item(6107, 100_000);
bankTabs[2][18] = new Item(6109, 100_000);
bankTabs[2][19] = new Item(6106, 100_000);
bankTabs[2][20] = new Item(4089, 100_000);
bankTabs[2][21] = new Item(4091, 100_000);
bankTabs[2][22] = new Item(4093, 100_000);
bankTabs[2][23] = new Item(4095, 100_000);
bankTabs[2][24] = new Item(4097, 100_000);
bankTabs[2][25] = new Item(4099, 100_000);
bankTabs[2][26] = new Item(4101, 100_000);
bankTabs[2][27] = new Item(4103, 100_000);
bankTabs[2][28] = new Item(4105, 100_000);
bankTabs[2][29] = new Item(4107, 100_000);
bankTabs[2][30] = new Item(4109, 100_000);
bankTabs[2][31] = new Item(4111, 100_000);
bankTabs[2][32] = new Item(4113, 100_000);
bankTabs[2][33] = new Item(4115, 100_000);
bankTabs[2][34] = new Item(4117, 100_000);
bankTabs[2][35] = new Item(7400, 100_000);
bankTabs[2][36] = new Item(7399, 100_000);
bankTabs[2][37] = new Item(7398, 100_000);
bankTabs[2][38] = new Item(2890, 100_000);
bankTabs[2][39] = new Item(861, 100_000);
bankTabs[2][40] = new Item(1153, 100_000);
bankTabs[2][41] = new Item(1115, 100_000);
bankTabs[2][42] = new Item(1067, 100_000);
bankTabs[2][43] = new Item(1081, 100_000);
bankTabs[2][44] = new Item(1191, 100_000);
bankTabs[2][45] = new Item(5574, 100_000);
bankTabs[2][46] = new Item(5575, 100_000);
bankTabs[2][47] = new Item(5576, 100_000);
bankTabs[2][48] = new Item(9672, 100_000);
bankTabs[2][49] = new Item(9674, 100_000);
bankTabs[2][50] = new Item(9676, 100_000);
bankTabs[2][51] = new Item(1163, 100_000);
bankTabs[2][52] = new Item(1127, 100_000);
bankTabs[2][53] = new Item(1079, 100_000);
bankTabs[2][54] = new Item(1093, 100_000);
bankTabs[2][55] = new Item(8850, 100_000);
bankTabs[2][56] = new Item(1201, 100_000);
bankTabs[2][57] = new Item(1052, 100_000);
bankTabs[2][58] = new Item(6568, 100_000);
bankTabs[2][59] = new Item(2412, 100_000);
bankTabs[2][60] = new Item(2414, 100_000);
bankTabs[2][61] = new Item(2413, 100_000);
bankTabs[2][62] = new Item(868, 100_000);
bankTabs[2][63] = new Item(4131, 100_000);
bankTabs[2][64] = new Item(6328, 100_000);
bankTabs[2][65] = new Item(9144, 100_000);
bankTabs[2][66] = new Item(9143, 100_000);
bankTabs[2][67] = new Item(9142, 100_000);
bankTabs[2][68] = new Item(9141, 100_000);
bankTabs[2][69] = new Item(892, 100_000);
bankTabs[2][70] = new Item(9241, 100_000);
bankTabs[2][71] = new Item(9242, 100_000);
bankTabs[2][72] = new Item(9243, 100_000);
bankTabs[2][73] = new Item(9244, 100_000);
bankTabs[2][74] = new Item(9245, 100_000);
bankTabs[2][75] = new Item(10828, 100_000);
bankTabs[2][76] = new Item(3751, 100_000);
bankTabs[2][77] = new Item(3753, 100_000);
bankTabs[2][78] = new Item(3755, 100_000);
bankTabs[2][79] = new Item(3749, 100_000);
bankTabs[2][80] = new Item(1712, 100_000);
bankTabs[2][81] = new Item(1725, 100_000);
bankTabs[2][82] = new Item(1727, 100_000);
}
}