Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // GUN DEFINITIONS
- const dfltskl = exports.dfltskl = 7;
- exports.combineStats = function(arr) {
- try {
- // Build a blank array of the appropiate length
- let data = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1];
- arr.forEach(function(component) {
- for (let i=0; i<data.length; i++) {
- data[i] = data[i] * component[i];
- }
- });
- return {
- reload: data[0],
- recoil: data[1],
- shudder: data[2],
- size: data[3],
- health: data[4],
- damage: data[5],
- pen: data[6],
- speed: data[7],
- maxSpeed: data[8],
- range: data[9],
- density: data[10],
- spray: data[11],
- resist: data[12],
- };
- } catch(err) {
- console.log(err);
- console.log(JSON.stringify(arr));
- }
- };
- exports.skillSet = (() => {
- let config = require('../../../config.json');
- let skcnv = {
- rld: 0,
- pen: 1,
- str: 2,
- dam: 3,
- spd: 4,
- shi: 5,
- atk: 6,
- hlt: 7,
- rgn: 8,
- mob: 9,
- };
- return args => {
- let skills = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
- for (let s in args) {
- if (!args.hasOwnProperty(s)) continue;
- skills[skcnv[s]] = Math.round(config.MAX_SKILL * args[s]);
- }
- return skills;
- };
- })();
- exports.g = { // Gun info here
- droneDominator: [1.25, 1, 1, 0.9, 1.25, 1.5, 1.5, 1.05, 0.9, 1, 2, 1, 1],
- destroyDominator: [4, 0, 1, 0.975, 8, 8, 6.25, 0.5, 1, 1.5, 1, 0.5, 1],
- gunnerDominator: [0.65, 0, 1, 0.5, 1, 1, 1.2, 1.0, 1, 1, 1, 1.25, 1],
- trapperDominator: [0.85, 0, 0.25, 1.1, 1, 1.2, 1.2, 0.7, 2, 2, 1, 0.5, 1],
- trap: [36, 1, 0.25, 0.6, 1, 0.75, 1, 5, 1, 1, 1, 15, 3],
- swarm: [18, 0.25, 0.05, 0.4, 1, 0.75, 1, 4, 1, 1, 1, 5, 1],
- drone: [50, 0.25, 0.1, 0.6, 1, 1, 1, 2, 1, 1, 1, 0.1, 1],
- factory: [60, 1, 0.1, 0.7, 1, 0.75, 1, 3, 1, 1, 1, 0.1, 1],
- basic: [18, 1.4, 0.1, 1, 1, 0.75, 1, 4.5, 1, 1, 1, 15, 1],
- /***************** RELOAD RECOIL SHUDDER SIZE HEALTH DAMAGE PEN SPEED MAX RANGE DENSITY SPRAY RESIST */
- blank: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
- spam: [1.1, 1, 1, 1.05, 1, 1.1, 1, 0.9, 0.7, 1, 1, 1, 1.05],
- minion: [1, 1, 2, 1, 0.4, 0.4, 1.2, 1, 1, 0.75, 1, 2, 1],
- single: [1.05, 1, 1, 1, 1, 1, 1, 1.05, 1, 1, 1, 1, 1],
- sniper: [1.35, 1, 0.25, 1, 1, 0.8, 1.1, 1.5, 1.5, 1, 1.5, 0.2, 1.15],
- rifle: [0.8, 0.8, 1.5, 1, 0.8, 0.8, 0.9, 1, 1, 1, 1, 2, 1],
- assass: [1.65, 1, 0.25, 1, 1.15, 1, 1.1, 1.18, 1.18, 1, 3, 1, 1.3],
- hunter: [1.5, 0.7, 1, 0.95, 1, 0.9, 1, 1.1, 0.8, 1, 1.2, 1, 1.15],
- hunter2: [1, 1, 1, 0.9, 1, 0.5, 1.0, 1, 1, 1, 1.2, 1, 1.1],
- preda: [1.4, 0.8, 1, 0.8, 0.7, 0.9, 1.0, 0.9, 0.9, 1.5, 1, 1, 1],
- snake: [0.4, 1, 4, 1, 1.5, 0.9, 1.2, 0.2, 0.35, 1, 3, 6, 0.5],
- sidewind: [1.5, 2, 1, 1, 1.5, 0.9, 1, 0.15, 0.5, 1, 1, 1, 1],
- snakeskin: [0.6, 1, 2, 1, 0.5, 0.5, 1, 1, 0.2, 0.4, 1, 5, 1],
- mach: [0.5, 0.8, 1.7, 1, 0.7, 0.7, 1, 1, 0.8, 1, 1, 2.5, 1],
- blaster: [1, 1.2, 1.25, 1.1, 1.5, 1, 0.6, 0.8, 0.33, 0.6, 0.5, 1.5, 0.8],
- chain: [1.25, 1.33, 0.8, 1, 0.8, 1, 1.1, 1.25, 1.25, 1.1, 1.25, 0.5, 1.1],
- mini: [1.25, 0.6, 1, 0.8, 0.55, 0.45, 1.25, 1.33, 1, 1, 1.25, 0.5, 1.1],
- stream: [1.1, 0.6, 1, 1, 1, 0.65, 1, 1.24, 1, 1, 1, 1, 1],
- shotgun: [8, 0.4, 1, 1.5, 1, 0.4, 0.8, 1.8, 0.6, 1, 1.2, 1.2, 1],
- flank: [1, 1.2, 1, 1, 1.02, 0.81, 0.9, 1, 0.85, 1, 1.2, 1, 1],
- tri: [1, 0.9, 1, 1, 0.9, 1, 1, 0.8, 0.8, 0.6, 1, 1, 1],
- trifront: [1, 0.2, 1, 1, 1, 1, 1, 1.3, 1.1, 1.5, 1, 1, 1],
- thruster: [1, 1.5, 2, 1, 0.5, 0.5, 0.7, 1, 1, 1, 1, 0.5, 0.7],
- auto: /*pure*/ [1.8, 0.75, 0.5, 0.8, 0.9, 0.6, 1.2, 1.1, 1, 0.8, 1.3, 1, 1.25],
- five: [1.15, 1, 1, 1, 1, 1, 1, 1.05, 1.05, 1.1, 2, 1, 1],
- autosnipe: [1, 1, 1, 1.4, 2, 1, 1, 1, 1, 1, 1, 1, 1],
- /***************** RELOAD RECOIL SHUDDER SIZE HEALTH DAMAGE PEN SPEED MAX RANGE DENSITY SPRAY RESIST */
- pound: [2, 1.6, 1, 1, 1, 2, 1, 0.85, 0.8, 1, 1.5, 1, 1.15],
- destroy: [2.2, 1.8, 0.5, 1, 2, 2, 1.2, 0.65, 0.5, 1, 2, 1, 3],
- anni: [0.8, 1.25, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
- hive: [1.5, 0.8, 1, 0.8, 0.7, 0.3, 1, 1, 0.6, 1, 1, 1, 1],
- arty: [1.2, 0.7, 1, 0.9, 1, 1, 1, 1.15, 1.1, 1, 1.5, 1, 1],
- mortar: [1.2, 1, 1, 1, 1.1, 1, 1, 0.8, 0.8, 1, 1, 1, 1],
- spreadmain: [0.78125, 0.25, 0.5, 1, 0.5, 1, 1, 1.5/0.78, 0.9/0.78,1, 1, 1, 1],
- spread: [1.5, 1, 0.25, 1, 1, 1, 1, 0.7, 0.7, 1, 1, 0.25, 1],
- skim: [1, 0.8, 0.8, 0.9, 1.35, 0.8, 2, 0.3, 0.3, 1, 1, 1, 1.1],
- twin: [1, 0.5, 0.9, 1, 0.9, 0.7, 1, 1, 1, 1, 1, 1.2, 1],
- bent: [1.1, 1, 0.8, 1, 0.9, 1, 0.8, 1, 1, 1, 0.8, 0.5, 1],
- triple: [1.2, 0.667, 0.9, 1, 0.85, 0.85, 0.9, 1, 1, 1, 1.1, 0.9, 0.95],
- quint: [1.5, 0.667, 0.9, 1, 1, 1, 0.9, 1, 1, 1, 1.1, 0.9, 0.95],
- dual: [2, 1, 0.8, 1, 1.5, 1, 1, 1.3, 1.1, 1, 1, 1, 1.25],
- double: [1, 1, 1, 1, 1, 0.9, 1, 1, 1, 1, 1, 1, 1],
- hewn: [1.25, 1.5, 1, 1, 0.9, 0.85, 1, 1, 0.9, 1, 1, 1, 1],
- puregunner: [1, 0.25, 1.5, 1.2, 1.35, 0.25, 1.25, 0.8, 0.65, 1, 1.5, 1.5, 1.2],
- machgun: [0.66, 0.8, 2, 1, 1, 0.75, 1, 1.2, 0.8, 1, 1, 2.5, 1],
- gunner: [1.25, 0.25, 1.5, 1.1, 1, 0.35, 1.35, 0.9, 0.8, 1, 1.5, 1.5, 1.2],
- power: [1, 1, 0.6, 1.2, 1, 1, 1.25, 2, 1.7, 1, 2, 0.5, 1.5],
- nail: [0.85, 2.5, 1, 0.8, 1, 0.7, 1, 1, 1, 1, 2, 1, 1],
- fast: [1, 1, 1, 1, 1, 1, 1, 1.2, 1, 1, 1, 1, 1],
- turret: [2, 1, 1, 1, 0.8, 0.6, 0.7, 1, 1, 1, 0.1, 1, 1],
- /***************** RELOAD RECOIL SHUDDER SIZE HEALTH DAMAGE PEN SPEED MAX RANGE DENSITY SPRAY RESIST */
- battle: [1, 1, 1, 1, 1.25, 1.15, 1, 1, 0.85, 1, 1, 1, 1.1],
- bees: [1.3, 1, 1, 1.4, 1, 1.5, 0.5, 3, 1.5, 1, 0.25, 1, 1],
- carrier: [1.5, 1, 1, 1, 1, 0.8, 1, 1.3, 1.2, 1.2, 1, 1, 1],
- hexatrap: [1.3, 1, 1.25, 1, 1, 1, 1, 0.8, 1, 0.5, 1, 1, 1],
- block: [1.1, 2, 0.1, 1.5, 2, 1, 1.25, 1.5, 2.5, 1.25, 1, 1, 1.25],
- construct: [1.3, 1, 1, 0.9, 1, 1, 1, 1, 1.1, 1, 1, 1, 1],
- boomerang: [0.8, 1, 1, 1, 0.5, 0.5, 1, 0.75, 0.75, 1.333, 1, 1, 1],
- over: [1.25, 1, 1, 0.85, 0.7, 0.8, 1, 1, 0.9, 1, 2, 1, 1],
- meta: [1.333, 1, 1, 1, 1, 0.667, 1, 1, 1, 1, 1, 1, 1],
- weak: [2, 1, 1, 1, 0.6, 0.6, 0.8, 0.5, 0.7, 0.25, 0.3, 1, 1],
- master: [3, 1, 1, 0.7, 0.4, 0.7, 1, 1, 1, 0.1, 0.5, 1, 1],
- sunchip: [5, 1, 1, 1.4, 0.5, 0.4, 0.6, 1, 1, 1, 0.8, 1, 1],
- babyfactory: [1.5, 1, 1, 1, 1, 1, 1, 1, 1.35, 1, 1, 1, 1],
- lowpower: [1, 1, 2, 1, 0.5, 0.5, 0.7, 1, 1, 1, 1, 0.5, 0.7],
- zerorecoil: [1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
- halfrecoil: [1, 0.5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
- morerecoil: [1, 1.15, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
- muchmorerecoil: [1, 1.35, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
- lotsmorrecoil: [1, 1.8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
- tonsmorrecoil: [1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
- doublereload: [0.5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
- morereload: [0.75, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
- halfreload: [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
- lessreload: [1.5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
- threequartersrof: [1.333, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
- morespeed: [1, 1, 1, 1, 1, 1, 1, 1.3, 1.3, 1, 1, 1, 1],
- bitlessspeed: [1, 1, 1, 1, 1, 1, 1, 0.93, 0.93, 1, 1, 1, 1],
- slow: [1, 1, 1, 1, 1, 1, 1, 0.7, 0.7, 1, 1, 1, 1],
- halfspeed: [1, 1, 1, 1, 1, 1, 1, 0.5, 0.5, 1, 1, 1, 1],
- notdense: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.1, 1, 1],
- halfrange: [1, 1, 1, 1, 1, 1, 1, 1, 1, 0.5, 1, 1, 1],
- fake: [1, 1, 1, 0.00001, 0.0001, 1, 1, 0.00001, 2, 0, 1, 1, 1],
- /***************** RELOAD RECOIL SHUDDER SIZE HEALTH DAMAGE PEN SPEED MAX RANGE DENSITY SPRAY RESIST */
- op: [0.5, 1.3, 1, 1, 4, 4, 4, 3, 2, 1, 5, 2, 1],
- protectorswarm: [5, 0.000001, 1, 1, 100, 1, 1, 1, 1, 0.5, 5, 1, 10],
- };
- exports.gunCalcNames = {
- default: 0,
- bullet: 1,
- drone: 2,
- swarm: 3,
- fixedReload: 4,
- thruster: 5,
- sustained: 6,
- necro: 7,
- trap: 8,
- };
- // ENTITY DEFINITIONS
- exports.genericEntity = {
- NAME: '',
- LABEL: 'Unknown Entity',
- TYPE: 'unknown',
- DAMAGE_CLASS: 0, // 0: def, 1: food, 2: tanks, 3: obstacles
- DANGER: 0,
- VALUE: 0,
- SHAPE: 0,
- COLOR: 16,
- INDEPENDENT: false,
- CONTROLLERS: ['doNothing'],
- HAS_NO_MASTER: false,
- MOTION_TYPE: 'glide', // motor, swarm, chase
- FACING_TYPE: 'toTarget', // turnWithSpeed, withMotion, looseWithMotion, toTarget, looseToTarget
- DRAW_HEALTH: false,
- DRAW_SELF: true,
- DAMAGE_EFFECTS: true,
- RATEFFECTS: true,
- MOTION_EFFECTS: true,
- INTANGIBLE: false,
- ACCEPTS_SCORE: true,
- GIVE_KILL_MESSAGE: false,
- CAN_GO_OUTSIDE_ROOM: false,
- HITS_OWN_TYPE: 'normal', // hard, repel, never, hardWithBuffer
- DIE_AT_LOW_SPEED: false,
- DIE_AT_RANGE: false,
- CLEAR_ON_MASTER_UPGRADE: false,
- PERSISTS_AFTER_DEATH: false,
- VARIES_IN_SIZE: false,
- HEALTH_WITH_LEVEL: true,
- CAN_BE_ON_LEADERBOARD: true,
- HAS_NO_RECOIL: false,
- AUTO_UPGRADE: 'none',
- BUFF_VS_FOOD: false,
- OBSTACLE: false,
- CRAVES_ATTENTION: false,
- NECRO: false,
- UPGRADES_TIER_1: [],
- UPGRADES_TIER_2: [],
- UPGRADES_TIER_3: [],
- SKILL: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
- LEVEL: 0,
- SKILL_CAP: [dfltskl, dfltskl, dfltskl, dfltskl, dfltskl, dfltskl, dfltskl, dfltskl, dfltskl, dfltskl],
- GUNS: [],
- MAX_CHILDREN: 0,
- BODY: {
- ACCELERATION: 1,
- SPEED: 0,
- HEALTH: 1,
- RESIST: 1,
- SHIELD: 0,
- REGEN: 0,
- DAMAGE: 1,
- PENETRATION: 1,
- RANGE: 0,
- FOV: 1,
- DENSITY: 1,
- STEALTH: 1,
- PUSHABILITY: 1,
- HETERO: 2,
- },
- FOOD: {
- LEVEL: -1,
- },
- };
- // FOOD
- exports.food = {
- TYPE: 'food',
- DAMAGE_CLASS: 1,
- CONTROLLERS: ['moreFoodWhenDie'],
- HITS_OWN_TYPE: 'repel',
- MOTION_TYPE: 'drift',
- FACING_TYPE: 'turnWithSpeed',
- VARIES_IN_SIZE: true,
- BODY: {
- ACCELERATION: 0.1,
- STEALTH: 30,
- PUSHABILITY: 1,
- },
- DAMAGE_EFFECTS: false,
- RATEFFECTS: false,
- HEALTH_WITH_LEVEL: false,
- };
- exports.base = base = {
- ACCEL: 1.6,
- SPEED: 5.25,
- HEALTH: 20,
- DAMAGE: 3,
- RESIST: 1,
- PENETRATION: 1.05,
- SHIELD: 8,
- REGEN: 0.025,
- FOV: 1,
- DENSITY: 0.5,
- };
- exports.genericTank = {
- LABEL: 'Unknown Class',
- TYPE: 'tank',
- DAMAGE_CLASS: 2,
- DANGER: 5,
- MOTION_TYPE: 'motor',
- FACING_TYPE: 'toTarget',
- SIZE: 12,
- MAX_CHILDREN: 0,
- DAMAGE_EFFECTS: false,
- CONTROLLERS: [],
- BODY: { // def
- ACCELERATION: base.ACCEL,
- SPEED: base.SPEED,
- HEALTH: base.HEALTH,
- DAMAGE: base.DAMAGE,
- PENETRATION: base.PENETRATION,
- SHIELD: base.SHIELD,
- REGEN: base.REGEN,
- FOV: base.FOV,
- DENSITY: base.DENSITY,
- PUSHABILITY: 0.9,
- HETERO: 3,
- },
- GUNS: [],
- TURRETS: [],
- GIVE_KILL_MESSAGE: true,
- DRAW_HEALTH: true,
- };
- exports.basePolygonDamage = 1;
- exports.basePolygonHealth = 1;
- exports.wepHealthFactor = wepHealthFactor = 0.5;
- exports.wepDamageFactor = wepDamageFactor = 1.5;
- exports.bullet = {
- LABEL: 'Bullet',
- TYPE: 'bullet',
- ACCEPTS_SCORE: false,
- BODY: {
- PENETRATION: 1,
- SPEED: 3.75,
- RANGE: 90,
- DENSITY: 1.25,
- HEALTH: 0.33 * wepHealthFactor,
- DAMAGE: 4 * wepDamageFactor,
- PUSHABILITY: 0.3,
- },
- FACING_TYPE: 'smoothWithMotion',
- CAN_GO_OUTSIDE_ROOM: true,
- HITS_OWN_TYPE: 'never',
- // DIE_AT_LOW_SPEED: true,
- DIE_AT_RANGE: true,
- };
- exports.trap = {
- LABEL: 'Thrown Trap',
- TYPE: 'trap',
- ACCEPTS_SCORE: false,
- SHAPE: -3,
- MOTION_TYPE: 'glide', // def
- FACING_TYPE: 'turnWithSpeed',
- HITS_OWN_TYPE: 'push',
- DIE_AT_RANGE: true,
- BODY: {
- HEALTH: 1 * wepHealthFactor,
- DAMAGE: 2 * wepDamageFactor,
- RANGE: 450,
- DENSITY: 2.5,
- RESIST: 2.5,
- SPEED: 0,
- },
- };
- exports.drone = {
- LABEL: 'Drone',
- TYPE: 'drone',
- ACCEPTS_SCORE: false,
- DANGER: 2,
- CONTROL_RANGE: 0,
- SHAPE: 3,
- MOTION_TYPE: 'chase',
- FACING_TYPE: 'smoothToTarget',
- CONTROLLERS: [
- 'nearestDifferentMaster',
- 'canRepel',
- 'mapTargetToGoal',
- 'hangOutNearMaster'
- ],
- AI: { BLIND: true, },
- BODY: {
- PENETRATION: 1.2,
- PUSHABILITY: 0.6,
- ACCELERATION: 0.05,
- HEALTH: 0.6 * wepHealthFactor,
- DAMAGE: 1.25 * wepDamageFactor,
- SPEED: 3.8,
- RANGE: 200,
- DENSITY: 0.03,
- RESIST: 1.5,
- FOV: 0.8,
- },
- HITS_OWN_TYPE: 'hard',
- DRAW_HEALTH: false,
- CLEAR_ON_MASTER_UPGRADE: true,
- BUFF_VS_FOOD: true,
- };
Add Comment
Please, Sign In to add comment