quake2ts 0.0.444 → 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.
@@ -2779,6 +2779,7 @@ var Entity = class {
2779
2779
  this.svflags = 0;
2780
2780
  this.monsterinfo = { ...DEFAULT_MONSTER_INFO, last_sighting: copyVec32() };
2781
2781
  this.hackflags = 0;
2782
+ this.fov = 0;
2782
2783
  this.show_hostile = 0;
2783
2784
  this.light_level = 0;
2784
2785
  this.owner = null;
@@ -3032,7 +3033,8 @@ var ENTITY_FIELD_METADATA = [
3032
3033
  { name: "beam2", type: "entity", save: true },
3033
3034
  { name: "chain", type: "entity", save: true },
3034
3035
  { name: "alpha", type: "float", save: true },
3035
- { name: "hackflags", type: "int", save: true }
3036
+ { name: "hackflags", type: "int", save: true },
3037
+ { name: "fov", type: "float", save: true }
3036
3038
  ];
3037
3039
 
3038
3040
  // src/entities/system.ts
@@ -10862,6 +10864,53 @@ var func_plat = (entity, context) => {
10862
10864
  }
10863
10865
  };
10864
10866
  };
10867
+ var func_plat2 = (entity, context) => {
10868
+ func_plat(entity, context);
10869
+ };
10870
+ function pendulum_swing(ent, context) {
10871
+ let nextThink = ent.nextthink + 0.1;
10872
+ const freq = ent.speed || 0.1;
10873
+ const time = context.timeSeconds;
10874
+ const speed = ent.speed || 1;
10875
+ const dist = ent.distance || 90;
10876
+ const baseAngle = ent.move_angles?.z || 0;
10877
+ const angleDelta = Math.sin(time * speed) * dist;
10878
+ ent.angles = {
10879
+ x: ent.angles.x,
10880
+ y: ent.angles.y,
10881
+ z: baseAngle + angleDelta
10882
+ };
10883
+ context.linkentity(ent);
10884
+ context.scheduleThink(ent, time + 0.1);
10885
+ }
10886
+ var func_pendulum = (entity, context) => {
10887
+ entity.solid = 3 /* Bsp */;
10888
+ entity.movetype = 2 /* Push */;
10889
+ if (!entity.speed) entity.speed = 30;
10890
+ entity.move_angles = { ...entity.angles };
10891
+ entity.distance = entity.dmg || 90;
10892
+ const distKey = context.keyValues.distance;
10893
+ if (distKey) {
10894
+ entity.distance = parseFloat(distKey);
10895
+ }
10896
+ if (entity.targetname) {
10897
+ entity.use = (self) => {
10898
+ self.use = void 0;
10899
+ self.think = (e) => pendulum_swing(e, context.entities);
10900
+ context.entities.scheduleThink(self, context.entities.timeSeconds + 0.1);
10901
+ };
10902
+ } else {
10903
+ entity.think = (e) => pendulum_swing(e, context.entities);
10904
+ context.entities.scheduleThink(entity, context.entities.timeSeconds + 0.1);
10905
+ }
10906
+ if (entity.dmg) {
10907
+ entity.blocked = (self, other) => {
10908
+ if (other && other.takedamage) {
10909
+ other.health -= self.dmg;
10910
+ }
10911
+ };
10912
+ }
10913
+ };
10865
10914
  var func_rotating = (entity, context) => {
10866
10915
  entity.solid = 3 /* Bsp */;
10867
10916
  entity.movetype = 2 /* Push */;
@@ -11232,7 +11281,9 @@ function registerFuncSpawns(registry) {
11232
11281
  registry.register("func_button", func_button);
11233
11282
  registry.register("func_train", func_train);
11234
11283
  registry.register("func_plat", func_plat);
11284
+ registry.register("func_plat2", func_plat2);
11235
11285
  registry.register("func_rotating", func_rotating);
11286
+ registry.register("func_pendulum", func_pendulum);
11236
11287
  registry.register("func_conveyor", func_conveyor);
11237
11288
  registry.register("func_water", func_water);
11238
11289
  registry.register("func_explosive", func_explosive);