quake2ts 0.0.445 → 0.0.446

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2966,6 +2966,7 @@ var Entity = class {
2966
2966
  this.svflags = 0;
2967
2967
  this.monsterinfo = { ...DEFAULT_MONSTER_INFO, last_sighting: copyVec32() };
2968
2968
  this.hackflags = 0;
2969
+ this.fov = 0;
2969
2970
  this.show_hostile = 0;
2970
2971
  this.light_level = 0;
2971
2972
  this.owner = null;
@@ -3219,7 +3220,8 @@ var ENTITY_FIELD_METADATA = [
3219
3220
  { name: "beam2", type: "entity", save: true },
3220
3221
  { name: "chain", type: "entity", save: true },
3221
3222
  { name: "alpha", type: "float", save: true },
3222
- { name: "hackflags", type: "int", save: true }
3223
+ { name: "hackflags", type: "int", save: true },
3224
+ { name: "fov", type: "float", save: true }
3223
3225
  ];
3224
3226
 
3225
3227
  // src/entities/system.ts
@@ -11049,6 +11051,53 @@ var func_plat = (entity, context) => {
11049
11051
  }
11050
11052
  };
11051
11053
  };
11054
+ var func_plat2 = (entity, context) => {
11055
+ func_plat(entity, context);
11056
+ };
11057
+ function pendulum_swing(ent, context) {
11058
+ let nextThink = ent.nextthink + 0.1;
11059
+ const freq = ent.speed || 0.1;
11060
+ const time = context.timeSeconds;
11061
+ const speed = ent.speed || 1;
11062
+ const dist = ent.distance || 90;
11063
+ const baseAngle = ent.move_angles?.z || 0;
11064
+ const angleDelta = Math.sin(time * speed) * dist;
11065
+ ent.angles = {
11066
+ x: ent.angles.x,
11067
+ y: ent.angles.y,
11068
+ z: baseAngle + angleDelta
11069
+ };
11070
+ context.linkentity(ent);
11071
+ context.scheduleThink(ent, time + 0.1);
11072
+ }
11073
+ var func_pendulum = (entity, context) => {
11074
+ entity.solid = 3 /* Bsp */;
11075
+ entity.movetype = 2 /* Push */;
11076
+ if (!entity.speed) entity.speed = 30;
11077
+ entity.move_angles = { ...entity.angles };
11078
+ entity.distance = entity.dmg || 90;
11079
+ const distKey = context.keyValues.distance;
11080
+ if (distKey) {
11081
+ entity.distance = parseFloat(distKey);
11082
+ }
11083
+ if (entity.targetname) {
11084
+ entity.use = (self) => {
11085
+ self.use = void 0;
11086
+ self.think = (e) => pendulum_swing(e, context.entities);
11087
+ context.entities.scheduleThink(self, context.entities.timeSeconds + 0.1);
11088
+ };
11089
+ } else {
11090
+ entity.think = (e) => pendulum_swing(e, context.entities);
11091
+ context.entities.scheduleThink(entity, context.entities.timeSeconds + 0.1);
11092
+ }
11093
+ if (entity.dmg) {
11094
+ entity.blocked = (self, other) => {
11095
+ if (other && other.takedamage) {
11096
+ other.health -= self.dmg;
11097
+ }
11098
+ };
11099
+ }
11100
+ };
11052
11101
  var func_rotating = (entity, context) => {
11053
11102
  entity.solid = 3 /* Bsp */;
11054
11103
  entity.movetype = 2 /* Push */;
@@ -11419,7 +11468,9 @@ function registerFuncSpawns(registry) {
11419
11468
  registry.register("func_button", func_button);
11420
11469
  registry.register("func_train", func_train);
11421
11470
  registry.register("func_plat", func_plat);
11471
+ registry.register("func_plat2", func_plat2);
11422
11472
  registry.register("func_rotating", func_rotating);
11473
+ registry.register("func_pendulum", func_pendulum);
11423
11474
  registry.register("func_conveyor", func_conveyor);
11424
11475
  registry.register("func_water", func_water);
11425
11476
  registry.register("func_explosive", func_explosive);