Hmm, here's my take on this.
I believe that this'll make the coding for the marines a heck of a lot more complicated. Instead of having just one
long to count the marines and a simple check (in Javanese):
if ( mBuying > ship.mMax - ship.mHas ) {
overBought = true;
mBuying = mMax - mHas;
}
You'd have to use and array, or collection, and have a check that's a bit more complicated (in Javanese):
...
long getTotalMarines() {
long total = 0;
for ( long mari : marines )
total += mari;
return total;
}
...
if ( mBuying.count > ship.mMax - ship.getTotalMarines() ) {
overbought = true;
mBuying.count = ship.mMax - ship.getTotalMarines();
}
...
And then it's a lot less bug proof and strains the server more. Not to mention he's probably coding this all in PHP, which makes it more complicated.
And then in battles instead of it being (in Javanese):
...
long tmp = ship1.marines;
ship1.marines = Math.max(0, ship1.marines - ship2.marines);
ship2.marines = Math.max(0, ship2.marines - tmp);
...
It'd be (in Javanese):
...
long effect1 = 0;
for ( int i = 0; i < ship1.marines.size; i++ )
effect1 += ship1.marines[i] * Ship.marineEffect[i];
long effect2 = 0;
for ( int i = 0; i < ship2.marines.size; i++ )
effect1 += ship2.marines[i] * Ship.marineEffect[i];
for ( int i = 0; i < ship1.marines.size; i++ ) {
long sub = Math.max(ship1.marines[i], effect2);
ship1.marines[i] -= sub;
effect2 -= sub;
if ( effect2 == 0 )
break;
}
for ( int i = 0; i < ship2.marines.size; i++ ) {
long sub = Math.max(ship2.marines[i], effect1);
ship2.marines[i] -= sub;
effect1 -= sub;
if ( effect1 == 0 )
break;
}
...
And that's assuming he can take the most basic approach, it could easily be tons more complicated. And that's not even considering the idea that different marines could have different health. And then, after coding all of this, fully integrating it, and making sure it's not extreemely buggy or glitchy. There's the
balancing.
So, it's way more buggy, glitchy, taxing, and'll take a round or two to get it close to balanced. I don't think it'll be coded for a bit.