op4mortar

Modified

12-Jul-2023

A big static mortar which has the mechanical means to turn left/right and change its pitch in order to acquire its target. Can be set to aim and fire automatically or be controllable by players through func_op4mortarcontroller. The op4mortar is not solid; you might want to wrap it in a clip brush. It also is indestructible and thus not targeted by its enemies. It shows no HUD information. Its maximum rotation speed is 40 degrees per second for each, pitch and yaw.

Keyvalues


OnDestroy Function ondestroyfn : Name of the function to use from already parsed .as script files when entity is destroyed (killed) in any way. If the function belongs to namespace, you must use prefix with the namespace name (e.g. mynamespace::MyFunction) for the keyvalue.

Name targetname : Set name of op4mortar so other entities can trigger it to shoot. Only 'On' trigger use-type is accepted. Can be kill-targeted.

Classification classify : Set the class of the spawned op4mortar. Think of how even though zombies and human grunts, by default, both are the players' enemies, yet have a dislike for and attack each other as well. This relation is created through the respective classes of the two entity types. For a complete table of how different classes react to each other, see monster class relation table.

  • -1 : None
  • 0 : Object Default : Keep default classification.
  • 1 : Machine
  • 2 : Player
  • 3 : Human Passive
  • 4 : Human Military
  • 5 : Alien Military
  • 6 : Alien Passive
  • 7 : Alien Monster
  • 8 : Alien Prey
  • 9 : Alien Predator
  • 10 : Insect
  • 11 : Player Ally
  • 12 : Player Hornet/Snark
  • 13 : Alien Hornet/Snark
  • 14 : X-Race
  • 15 : X-Race: Shocktrooper/Voltigore
  • 16 : Team 1 : Use it to classify to custom team.
  • 17 : Team 2 : Use it to classify to custom team.
  • 18 : Team 3 : Use it to classify to custom team.
  • 19 : Team 4 : Use it to classify to custom team.

Velocity mortar_velocity : Speed of the explosive projectile shot by the mortar in units per second. A mortar with high velocity needs to aim higher at the sky than mortars with lower velocity to hit close targets. The mortar won't try using a pitch of less than 45 degrees. A firing angle of 45 degrees provides the greatest distance, under the condition, that there is no air drag and the height at which the object is fired is the same as the height at which the object hits the ground.

Horiz MIN h_min : Maximum rotation to the left from the given yaw-angle.

Horiz MAX h_max : Maximum rotation to the right from the given yaw-angle.

Min Target Dist mindist : Minimum distance projectile can travel.

Max Target Dist maxdist : Maximum distance projectile can travel.

Delay between shots (seconds) firedelay : The delay between shots, in seconds. Minimum accepted by the game is one second, to avoid spamming.

Is Player Ally is_player_ally : If this op4mortar is set to fire automatically with "Active" flag enabled, this defines whether it will handle players as enemies or not. Furthermore, this defines whether players can be damaged by the projectile's explosion in the first place. The firing player can always get hurt.

  • 0 : No (Default)
  • 1 : Yes

Flags


  • 1 : Active : If set, the mortar will start active and aim and fire automatically. If not set, the op4mortar needs a targetname in order to start off.

  • 16 : Line of Sight : If set, the op4mortar will only fire if its target is in direct line of sight. Otherwise, it will fire whenever a target is within range, regardless of whether there is a wall blocking the line ('curve') of fire or not.

  • 32 : Can Control : If set, this op4mortar can be controlled through a func_op4mortarcontroller. Obsoletes the "Active" flag. Triggering op4mortar will cause it to fire, with respect to its delay between shots.