Skip to content

Commit 3d83b0e

Browse files
Remove sizeFactor, add entity scaling function instead (#188)
* Add files via upload . * fixes * Update index.ts * Update Camera.ts * Hopefully fix floating barrels * Remove unused resize method in Barrel class Removed unused resize method from Barrel class. * Workaround for setLevel bugs while in possession * FOV + name fix if overridden by gamemode --------- Co-authored-by: ABC <79597906+abcxff@users.noreply.github.com>
1 parent d4740bd commit 3d83b0e

26 files changed

Lines changed: 162 additions & 202 deletions

src/Client.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -494,6 +494,7 @@ export default class Client {
494494
this.camera.cameraData.FOV = 0.35;
495495
} else {
496496
this.camera.setLevel(30);
497+
this.camera.cameraData.FOV = 0.35;
497498
}
498499

499500
this.camera.cameraData.statsAvailable = 0;
@@ -541,9 +542,9 @@ export default class Client {
541542

542543
const tank = camera.cameraData.player = camera.relationsData.owner = camera.relationsData.parent = new TankBody(this.game, camera, this.inputs);
543544
tank.setTank(Tank.Basic);
545+
tank.nameData.values.name = name;
544546
this.game.arena.spawnPlayer(tank, this);
545547
camera.setLevel(camera.cameraData.values.respawnLevel);
546-
tank.nameData.values.name = name;
547548

548549
if (this.hasCheated()) this.setHasCheated(true);
549550

src/Entity/AI.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ export class AI {
113113
this._aiHash = (AI._aiHashCounter++) % 16384;
114114

115115
this.inputs.mouse.set({
116-
x: 20,
116+
x: 0,
117117
y: 0
118118
});
119119

src/Entity/Boss/AbstractBoss.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ export default class AbstractBoss extends LivingEntity {
134134
this.styleData.values.color = Color.Fallen;
135135

136136
this.physicsData.values.sides = 1;
137-
this.physicsData.values.size = 50 * Math.pow(1.01, 75 - 1);
137+
this.physicsData.values.size = 50;
138138

139139
this.reloadTime = 15 * Math.pow(0.914, 7);
140140

src/Entity/Boss/Defender.ts

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,12 @@ const MountedTurretDefinition: BarrelDefinition = {
3636
...AutoTurretDefinition,
3737
bullet: {
3838
...AutoTurretDefinition.bullet,
39-
speed: 2.3,
40-
damage: 1.3,
39+
speed: 2.46,
40+
damage: 1.2,
4141
health: 5.75,
4242
color: Color.Neutral
4343
}
44-
};
44+
}
4545

4646
/**
4747
* Definitions (stats and data) of the trap launcher on Defender
@@ -78,7 +78,6 @@ const DEFENDER_SIZE = 150;
7878
* Class which represents the boss "Defender"
7979
*/
8080
export default class Defender extends AbstractBoss {
81-
8281
/** Defender's trap launchers */
8382
private trappers: Barrel[] = [];
8483
/** See AbstractBoss.movementSpeed */
@@ -116,21 +115,9 @@ export default class Defender extends AbstractBoss {
116115
base.positionData.values.x = this.physicsData.values.size * Math.cos(angle) * offset;
117116

118117
base.physicsData.values.flags |= PositionFlags.absoluteRotation;
119-
120-
const tickBase = base.tick;
121-
base.tick = (tick: number) => {
122-
base.positionData.y = this.physicsData.values.size * Math.sin(angle) * offset;
123-
base.positionData.x = this.physicsData.values.size * Math.cos(angle) * offset;
124-
125-
tickBase.call(base, tick);
126-
}
127118
}
128119
}
129120

130-
public get sizeFactor() {
131-
return (this.physicsData.values.size / Math.SQRT1_2) / DEFENDER_SIZE;
132-
}
133-
134121
public tick(tick: number) {
135122
super.tick(tick);
136123

src/Entity/Boss/FallenBooster.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,7 @@ export default class FallenBooster extends AbstractBoss {
4141
def.bullet = Object.assign({}, def.bullet, { speed: 1.7, health: 6.25, damage:def.bullet.damage * 0.8 });
4242
this.barrels.push(new Barrel(this, def));
4343
}
44-
}
45-
46-
public get sizeFactor() {
47-
return this.physicsData.values.size / 50;
44+
this.scale(Math.pow(1.01, 75 - 1)); // Level 75 size
4845
}
4946

5047
protected moveAroundMap() {

src/Entity/Boss/FallenOverlord.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,15 +34,12 @@ export default class FallenOverlord extends AbstractBoss {
3434
this.nameData.values.name = "Fallen Overlord";
3535

3636
for (const barrelDefinition of TankDefinitions[Tank.Overlord].barrels) {
37-
3837
const def = Object.assign({}, barrelDefinition, { droneCount: 7, reload: 0.36 });
3938
def.bullet = Object.assign({}, def.bullet, { sizeRatio: 0.5, speed: 1.7, damage: 0.56, health: 12.5 });
4039
this.barrels.push(new Barrel(this, def));
4140
}
42-
}
4341

44-
public get sizeFactor() {
45-
return this.physicsData.values.size / 50;
42+
this.scale(Math.pow(1.01, 75 - 1)); // Level 75 size
4643
}
4744

4845
public tick(tick: number) {

src/Entity/Misc/ArenaCloser.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,13 @@ export default class ArenaCloser extends TankBody {
3737
const inputs = new Inputs();
3838
const camera = new CameraEntity(game);
3939

40+
super(game, camera, inputs);
41+
42+
camera.cameraData.values.player = this;
4043
camera.setLevel(300);
41-
camera.sizeFactor = (ArenaCloser.BASE_SIZE / 50);
4244

43-
super(game, camera, inputs);
45+
this.scaleFactor = 1;
46+
this.scale(ArenaCloser.BASE_SIZE / this.baseSize);
4447

4548
this.relationsData.values.team = game.arena;
4649

@@ -68,7 +71,6 @@ export default class ArenaCloser extends TankBody {
6871
this.styleData.values.color = Color.Neutral;
6972
this.positionData.values.flags |= PositionFlags.canMoveThroughWalls;
7073
this.physicsData.values.flags |= PhysicsFlags.canEscapeArena;
71-
camera.cameraData.values.player = this;
7274

7375
for (let i = Stat.MovementSpeed; i < Stat.BodyDamage; ++i) camera.cameraData.values.statLevels.values[i] = 7;
7476

@@ -89,7 +91,6 @@ export default class ArenaCloser extends TankBody {
8991
}
9092

9193
super.tick(tick);
92-
9394
this.ai.movementSpeed = this.cameraEntity.cameraData.movementSpeed = 80;
9495
}
9596
}

src/Entity/Misc/BaseDrones.ts

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ import { CameraEntity } from "../../Native/Camera";
3232
const DroneSpawnerDefinition = (count: number): BarrelDefinition => ({
3333
angle: 0,
3434
offset: 0,
35-
size: 95 / 5,
36-
width: 42 / 5,
35+
size: 95,
36+
width: 42,
3737
delay: 0,
3838
reload: 0,
3939
recoil: 0,
@@ -92,8 +92,4 @@ export default class BaseDrones extends ObjectEntity implements BarrelBase {
9292
this.droneSpawner.styleData.values.flags = this.styleData.values.flags ^= StyleFlags.isVisible;
9393

9494
}
95-
96-
public get sizeFactor() {
97-
return 5; // Large drone AI range, hacky
98-
}
9995
}

src/Entity/Misc/Boss/FallenAC.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ export default class FallenAC extends AbstractBoss {
3636
for (const barrelDefinition of TankDefinitions[Tank.ArenaCloser].barrels) {
3737
this.barrels.push(new Barrel(this, barrelDefinition));
3838
}
39+
this.scale(Math.pow(1.01, 75 - 1)); // Level 75 size
3940
}
4041

4142
public get sizeFactor() {

src/Entity/Misc/Boss/FallenMegaTrapper.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ export default class FallenMegaTrapper extends AbstractBoss {
4141
def.bullet = Object.assign({}, def.bullet, { speed: 1.7, damage: 20, health: 20, });
4242
this.barrels.push(new Barrel(this, def));
4343
}
44+
this.scale(Math.pow(1.01, 75 - 1)); // Level 75 size
4445
this.ai.aimSpeed = this.barrels[0].bulletAccel;
4546

4647
}

0 commit comments

Comments
 (0)