Projectiles block LOF in A_CheckLOF

Fri Feb 15, 2019 6:41 am

So, technically, maybe it's not a bug, since they are objects, but could it somehow be fixed? Currently, if a projectile lauched by a monster is still between you and him when he is to fire a new one, A_CheckLOF fails. I found it out testing a modified Ophidian:

Code:
   Missile:
      SNKE F 3 A_FaceTarget
      SNKE Z 3 A_FaceTarget
      TNT1 A 0 A_CheckLOF("2", CLOFF_JUMPENEMY)
      TNT1 A 0 A_Jump(256, "Postfire")
      SNKE ZZZ 3 A_SpawnProjectile("SnakeProjA", 32, -11, 0, CMF_CHECKTARGETDEAD)
      SNKE ZZZ 3 A_FaceTarget
      TNT1 A 0 A_CheckLOF("2", CLOFF_JUMPENEMY)
      TNT1 A 0 A_Jump(256, "Postfire")
      SNKE Z 3 A_SpawnProjectile("SnakeProjB", 32, -11, 0, CMF_CHECKTARGETDEAD)
      SNKE Z 6 A_FaceTarget
   Postfire:
      SNKE F 3
      Goto Chase


If you stay in place, this Ophidian never fires the SnakeProjB. If you circlestrafe around him, SnakeProjB is fired (because SnakeProjA are not in the way). Also if the Ophidian stand right before a low obstacle, that is not considered blocking, but into which the three SnakeProjA crash (and so they are no longer in the way) before the SnakeProjB is launched, then SnakeProjB is fired.

Maybe a new flag that would allow disregarding projectiles, somehing like CLOFF_JUMPMISSILE?