bounceLimit: 1
stats:
move: 2.25
+ cheatz:
+ color: '#E73075'
+ bounceLimit: 1
+ stats:
+ move: 4.50
rocket:
color: '#F7ADA6'
bounceLimit: 0
art:
map_icon: '/img/items/rockets-bg-25x25.png'
inv_icon: '/img/items/rockets-50x50.png'
+ shield_orb:
+ name: Shield Orb
+ desc: 'Generates one rotating shield sphere.'
+ tags: [ 'armor' ]
+ symbol: tanks/item/shieldgen.ShieldGenerator
+ spheres: 1
+ art:
+ map_icon: '/img/items/orbital_shield_x4-25x25.png'
+ inv_icon: '/img/items/orbital_shield_x4-50x50.png'
shield_gen:
name: Shield Generator
desc: 'Generates four rotating shield spheres, each of which absorbs one impact.'
tags: [ 'armor' ]
symbol: tanks/item/shieldgen.ShieldGenerator
+ spheres: 4
art:
map_icon: '/img/items/orbital_shield_x4-25x25.png'
inv_icon: '/img/items/orbital_shield_x4-50x50.png'
types:
rich:
items:
- - 0.2 shield_gen
- 0.1 super_armor
- - 0.3 nitro
- 0.1 rockets
+ - 0.2 shield_gen
+ - 0.6 shield_orb
power : 1
speed : 0.5
shots : 5
+ projectile: normal # cheatz
inventory:
equipSlots: # name -> Container options; implies equipsContents=true
weapon : { 'max':1, 'reqs':'weapon' }
return this.items.reduce(this._roll, null);
},
- _roll : function _roll(drop, o){
- return drop || (Math.random() < o.p ? o.item : null);
+ _roll : function _roll(drop, o, idx){
+ var dice = Math.random();
+ // console.log('roll('+idx+'):', drop, '|| '+dice.toFixed(3)+' < '+o.p+' ?', o.item, 'o: '+o, o);
+ return drop || (dice < o.p ? o.item : null);
}
})
, p = parseFloat(spec.slice(0, sep))
, id = spec.slice(sep+1)
;
- return new LootTableEntry(p, Item.lookupOrSpeciate(id));
+ return new LootTableEntry(p, tanks.data.items[id]);
});
NewLootTable.instance = new NewLootTable();
getTurretLoc : function getTurretLoc(){
- var WIGGLE = 2, pw = this.projectile.fn.width;
+ var WIGGLE = 3, pw = this.projectile.fn.width;
return this.barrelShape.barrelTipLoc(WIGGLE+pw, true);
},
if (c) {
this.components.remove(c);
c.removeListener('destroy', this.onComponentDeath);
+ if (c.isShield && this.shields)
+ this.shields.remove(c);
}
return this;
},
// Additional space on each side which must be clear around the
// shot to ensure we don't shoot ourself in the foot (literally)
- var WIGGLE = 2
+ var WIGGLE = 3
, Projectile = this.projectile
, pw2 = Projectile.fn.width/2, ph2 = Projectile.fn.height/2