Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- d1.addEventListener('keydown', function(e){
- if(e.keyCode == 32 && !player.dead){
- shootClosestPlayer();
- }
- });
- function getClosestPlayer(gameObjects) {
- var myTeam = getMyPlayer(gameObjects).team;
- var otherPlayers = getOtherPlayers(gameObjects, myTeam);
- var closestDistance = Infinity;
- var closestPlayer = void 0;
- otherPlayers.forEach(function (p) {
- var d = distance(player.x, player.y, p.x, p.y);
- if (d < closestDistance) {
- closestPlayer = p;
- closestDistance = d;
- }
- for (var i = 0; i < blacklist.legth; i++) {
- if (p.name == blacklist[i]) {
- closestPlayer = p;
- closestDistance = d;
- }
- }
- });
- return closestPlayer;
- }
- function getOtherPlayers(gameObjects, myTeam) {
- return gameObjects.filter(function(o) {
- return o.type === 'player' && o.dead === false && o !== player && o.team !== player.team && o.spawnProtection == 0 && o.onScreen && o.name != whitelist[0];
- });
- }
- function aimClosestPlayer() {
- var closestPlayer = getClosestPlayer(gameObjects);
- if (!closestPlayer) {
- return;
- }
- var angle = getAngle(player.x, player.y, closestPlayer.x, closestPlayer.y);
- var distance = getDistance(player.x, player.y, closestPlayer.x, closestPlayer.y);
- setTarget(angle, distance);
- targetChanged = true;
- }
- function distance(x1, y1, x2, y2) {
- return Math.sqrt(Math.pow(x2 - x1, 2) + Math.pow(y2 - y1, 2));
- }
- function getMyPlayer(gameObjects) {
- return player;
- }
- function getAngle(x1, y1, x2, y2) {
- return Math.atan2(y1 - y2, x1 - x2);
- }
- function setTarget(angle, distance) {
- target.f = angle;
- target.d = distance;
- }
- function shootClosestPlayer() {
- if (getCurrentWeapon(player).ammo <= 0) { // Reloads and stops if ammo is less than or equal to 0
- playerReload(player, !0);
- return;
- } else {
- var closestPlayer = getClosestPlayer(gameObjects);
- if (!closestPlayer) {
- return;
- }
- var angle = getAngle(player.x, player.y, closestPlayer.x, closestPlayer.y);
- var distance = getDistance(player.x, player.y, closestPlayer.x, closestPlayer.y);
- socket.emit("1", player.x, player.y, player.jumpY, angle, distance, currentTime);
- screenShake(getCurrentWeapon(player).shake, angle);
- for (var b = 0; b < getCurrentWeapon(player).bulletsPerShot; ++b) {
- getCurrentWeapon(player).spreadIndex++;
- getCurrentWeapon(player).spreadIndex >= getCurrentWeapon(player).spread.length && (getCurrentWeapon(player).spreadIndex = 0);
- var d = getCurrentWeapon(player).spread[getCurrentWeapon(player).spreadIndex]
- , d = (angle + mathPI + d).round(2)
- , e = getCurrentWeapon(player).holdDist + getCurrentWeapon(player).bDist
- , f = mathRound(player.x + e * mathCOS(d))
- , e = mathRound(player.y - getCurrentWeapon(player).yOffset - player.jumpY + e * mathSIN(d));
- shootNextBullet({
- x: f,
- y: e,
- d: d,
- si: -1
- }, player)
- }
- getCurrentWeapon(player).lastShot = currentTime;
- getCurrentWeapon(player).ammo--;
- updateUiStats(player);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement