Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions chapter-19/arena.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@ var instructions = [
'/jsp snowball'
];

// Added reference to prevent persist() object thrashing when called externally
function getArenas() {
return arenas;

function snowballArena() {
var arena = {};

Expand Down Expand Up @@ -67,4 +71,5 @@ function snowballArena() {

Drone.extend( snowballArena );

exports.getArenas = getArenas;

5 changes: 4 additions & 1 deletion chapter-19/command.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ var utils = require('utils');
var cm = Packages.net.canarymod;
var cmLocation = cm.api.world.position.Location;
var game = require('./game');
var arenas = persist('snowball-arenas', []);


function snowball( params, sender ){
var duration = 60; // seconds
Expand All @@ -17,6 +17,9 @@ function snowball( params, sender ){
var teams = {red: [], blue:[], yellow:[]};
var spawns = [];
var spawn = null;
// use local arenas object reference from arenas.js, rather than creating another global one. Seemed to cause issues when it was global.
var aplugin = require('./arena');
var arenas = aplugin.getArenas();

for ( i = 0; i < arenas.length; i++ ) {
arena = arenas[i];
Expand Down