Considering all of the drama and craziness going on the last few days I hesitated in posting this publicly, however attempting to go through private channels has not yielded so much as an acknowledgment of this bug, the issues surrounding it or my even my message. Per the Facebook TOS support and help with applications is required and perhaps this public bug report will garner an appropriate response and fix of the deficient codebase by the developer(s).
I believe this bug is widely known, but I am unclear as to whether anyone has ever really "offically" reported it, along with a proposed fix, or has been willing to report the application for violating the Facebook TOS for not providing a fix for said deficiency. Fact of the matter is that this is a very simple bug to fix and the Galaxy Legion developer(s) are continuing to collect income from Facebook Credits without properly supporting their application.
As to the meat of the deficiency:

As you can see by the above screenshot, this player is sitting as negative actions in both raids and hacks. Clearly, as has been dutifully demonstrated by the recent banning of a player for "abusing" this "bug", this was not the intended behavior in Galaxy Legion. As such, I am officially reporting and requesting support from the developer(s) of Galaxy Legion in the removal of this bug in accordance with the terms (not to mention the spirit of) the Facebook TOS for Facebook Application Developers.
The fix for this deficiency in the Galaxy Legion Codebase is rather simple and (assuming that the Galaxy Legion codebase is using standard Open Source Web development platforms) it is most likely using PHP with a mySQL database and clearly uses the jQuery javascript library for making ajax calls; therefore I offer the following (example) to clearly demonstrate just how easy this is to fix.
Under normal circumstance one might make an ajax call like so:
Code:
function DoSomething(attacker,defender,action){
// Confirm?
var success = confirm('Are you sure you want to do something?');
if(success){
$.ajax({
type: 'POST',
url: '/path/to/your/script_file.php',
data: ({attacker: attacker, defender: defender, action: action}),
success: function(AjaxResult) {
// Is there something returned?
if(!AjaxResult){
// So something with what was returned
}else{
// Print an error maybe?
alert('Error: ' + AjaxResult);}
}
});
}
}
This is a simle ajax call, but you get the point ... Now the fun part. The script that resides on the backend that "catches" and processes the ajax request is just your ordinary php script file. It can contain anything from a simple "Hello World" to complex mathematical calculations that determine the fate of the world ... or rather in this case whether or not you can raid or hack someone's ship. Let's take a peak at what this script might look like; let's assume for purposes of this example that the number of times a ship can be hacked, raided or disabled are stored in the database row that holds our ship data:
Code:
<?php
// Never cache this file, make sure it is loaded on each request.
header("Cache-Control: no-cache, must-revalidate");
header("Expires: ".date('D, j M Y G:i:s e', time()));
// Assume action is always 'Raid' for this example
$dbUPDATE_Defender = mysql_query("UPDATE ships SET raids_avail = raids_avail - 1 WHERE raids_avail > 0 AND ship_id = $_POST['defender']");
if(!mysql_num_rows($dbUpdate_Defender)){
// There was no ship found with raids available greater than 0, issue notice that you cannot raid that target
} else {
// Your target is valid and so we are going to insert code here to determine if your raid succeeds or fails, if you get a badge or not, etc. Basically, continue on with the action as normal.
}
/* End of script_file.php */
/* Location: ./path/to/this/script_file.php */
Now, quite simply put, no matter the circumstances you will never be able to drop below 0 actions the way this is written. Yes, "lag" is still a factor since ShipOne could push the raid button before ShipTwo, but ShipTwo's request is processed first, but this is a case most likely cause by internet latency and there is just no way you can fix that. But it does correct the current deficiency in the Galaxy Legion code.
I also accept the fact that there will be people who will wander by this post and have some kind of nasty remark to make and there very well could be a typo in the above code examples that I just typed up, but the concept will correct said issue and, well, haters gonna hate.
I hope that the developer(s) of Galaxy Legion take this request seriously because quite frankly I am more than willing to escalate this matter up the appropriate chain since, let's face it, rules are rules and developers who refuse to properly and diligently support their applications are violating the terms set forth by Facebook and Facebook isn't going to want bad apps spoiling their platform.