- Saves more kill data to Scoreboard
- Displays total kills in score board
- Saves player data to crash site scenario data set
- Added scenario name to data set so that if we later want to add data for danger ores we can filter it out
Previously we couldn't tell if a restart was due to game win or fail. Statistics are now saved that include the start and end epoch, the game time in ticks (so we can gauge activity), how many biters, worms and nests were killed, how many enemy_entities remain (so we can tell if the map was cleared) and how many players participated in total.
The strike count and cost described by the market was correct but the actual number of capsules sent and the number of capsules removed from the chest was wrong. Bug due to starting index, have now updated the maths to be correct.
Tested and the market description, number of shots fired and the number of capsules removed from the chest are now correct.
Previously the airstrike was not reaching the corners of the map. There was a default max_range value of 1000 that limited how far the poison capsules could travel. Have set it to 1400 so that it can reach the corners of the map.
THIS NEEDS PLAY TESTING. Please don't merge until I've confirmed I've play tested it.
- Type `/strike [gps=x,y,surface] to send a large cloud of poison into the enemy
- Searches a chest near spawn for poison capsules. Current cost for command is 100 capsules but could be balanced.
- Needs market items adding for technology research, bought with coins.
- Variables strikeCount and strikeRadius start low. As the market upgrades are made (start at 5k each?) the size of teh strike and amount of capsules increases.
- Should be balanced to allow use from mid-game onwards. Don't allow early game use as manual throwing is fine for early outposts. This should be to speed up the boring end-game clearing of worms.
- Changed get_inventory(1) to get_inventory(defines.inventory.character_main) to make it clearer which inventory we're getting.
- changed area charted to 3x3 full chunks cented on the chunk containing the pinged coordinate. Will now charta 96x96 tile area which is more reasonable considering the cost of /spy
Added lines to store the unix time the restart happens as well as how many ticks the game lasted. Starting storing these now so I have some interesting data to use in a week or two.
Added changed requested by grilledham:
- Used format_time function
- Added local var to show that text string was role ID.
- Added another commented var with the ID of a test role in case we want to test something and not ping @crash_site
- Added markdown to make printed string bold
Added discord notification for the @crash site role when crash site is restarted using the /restart command. Pings users with @Crash Site role and prints the map time to add to competitiveness.
- Changed behaviour for non-admins. Now checks for spawners, biters and turrets but doesn't require walls and power structures to be destroyed for restart
- Added checks to limit non-admins from changing the scenario by using an argument after /restart. Now defaults to current scenario for non-admins.
Updated crash site /restart command so that guests and regulars can call it when map is cleared
- Only admin can abort, once the map is cleared.
- Guests and Regular can both call /restart when all enemy units and structures are dead
- Tested on S10 by running this command:
/c local surface=game.player.surface
for key, entity in pairs(surface.find_entities_filtered({force="enemy"})) do
entity.destroy()
end
- Need to merge into develop to test on live server in case conditions at the end of the game are different
- Thought about adding rocket launched condition but decided against it.