Difference between revisions of "Classes:FireBall"

From ECWolf Wiki
(Created page with "{{Actor| | type = Explosive | name = Fire Ball | class = FireBall | game = Wolf3D }}Classes: {{Class|Actor}} → <u>FireBall</u><br> == Overview == The {{Class|FakeHit...")
 
m
Line 16: Line 16:
 
  {
 
  {
 
   // Set this to some value between 1.5 to 9 at your preference
 
   // Set this to some value between 1.5 to 9 at your preference
   {{property|speed}} 1.5
+
   {{property|Speed}} 1.5
 
  }
 
  }
  
Line 22: Line 22:
 
  actor <u>FireBall</u>
 
  actor <u>FireBall</u>
 
  {
 
  {
   {{property|radius}} 11
+
   {{property|Radius}} 11
   {{property|speed}} 9
+
   {{property|Speed}} 9
   {{property|damage}} (random[MissileDamage](0, 31))
+
   {{property|Damage}} (random[MissileDamage](0, 31))
   {{property|seesound}} "fake/attack"
+
   {{property|SeeSound}} "fake/attack"
 
   {{property|PROJECTILE}}
 
   {{property|PROJECTILE}}
 
   states
 
   states

Revision as of 14:28, 20 February 2013

Note: Wait! Stop! Before you copy this actor's definition into your mod, remember the following things:
  1. You do not need to copy that actor, since it is already defined.
  2. In fact, it's not just useless, it's actually harmful as it can cause problems.
  3. If you want to modify it, or use a modified version, using inheritance is the way to go.
  4. The actor definitions here are put on the wiki for reference purpose only. Learn from them, don't copy them.
  5. There is only one exception: if what you want is changing Ammo capacity, you need to create a new type from Ammo.
Fire Ball
Actor type Explosive Game MiniWolf3DLogoIcon.png
DoomEd Number None Class Name FireBall


Classes: ActorFireBall

Overview

The fake Hitler flamethrower fireball.

Adaptive speed bug

In the original version of the game this actor was glitched by only performing the movement during the state change. This resulted in the fireball moving up to 6 times slower than it was supposed to. This bug would not have been easily noticed by the developers at the time since computers weren't capable of reaching a high enough frame rate for it to make a significant difference. (The original game accounted for dropped frames in the movement function.)

ECWolf fixes this bug by restoring the intended speed since keeping the original behavior would result in non-deterministic behavior (critical for network/demo sync) or render the game much easier than intended. It is, however, easily possible to set the speed to whatever the user prefers by loading a decorate file with the following contents:

actor SlowFireball : FireBall replaces FireBall
{
  // Set this to some value between 1.5 to 9 at your preference
  Speed 1.5
}

DECORATE Definition

actor FireBall
{
  Radius 11
  Speed 9
  Damage (random[MissileDamage](0, 31))
  SeeSound "fake/attack"
  PROJECTILE
  states
  {
    Spawn:
      FIRE AB 3 bright
      loop
  }
}