Difference between revisions of "TrapUpdate"

From the Oblivion ConstructionSet Wiki
Jump to navigation Jump to search
imported>Vswe
m (Added Search Terms)
imported>Scruggs
(fTrapDeathPushBack, fLevelledDamage)
Line 16: Line 16:
|fTrapPushBack  
|fTrapPushBack  
|Amount of push back force to apply each time a trap effects an actor.  This should range from 0 to 1000.
|Amount of push back force to apply each time a trap effects an actor.  This should range from 0 to 1000.
|-
|float
|fTrapDeathPushBack
|Presumably when the trap kills the actor, either adds to fTrapPushBack or is used in its place. Not seen used in game scripts, but game code does check for it.
|-
|-
|float
|float
Line 24: Line 28:
|bTrapContinuous
|bTrapContinuous
|0 = Only deal damage on first contact with trap. 1 = Continously subtract damage as long as actor is in contact with trap.  
|0 = Only deal damage on first contact with trap. 1 = Continously subtract damage as long as actor is in contact with trap.  
 
|-
This effects how trapdamage and trappushback effect the actor. For continuous traps such as smoke clouds or fire traps the damage and pushback should be much smaller values. Non-continuous traps do damage on first contact and won't do damage again unless contact is broken and re-established.
|float
|fLevelledDamage
|Amount of additional damage to do per level of the actor.
The total damage done by the trap is equal to:
fLevelledDamage * actorLevel + fTrapDamage
|}
|}



Revision as of 10:33, 15 January 2011

Syntax:

TrapUpdate


Special function which allows traps to deal damage.


For a trap to deal damage, the following variables need to be defined in its script:

float fTrapDamage Amount of damage to do each time the trap affects an actor.
float fTrapPushBack Amount of push back force to apply each time a trap effects an actor. This should range from 0 to 1000.
float fTrapDeathPushBack Presumably when the trap kills the actor, either adds to fTrapPushBack or is used in its place. Not seen used in game scripts, but game code does check for it.
float fTrapMinVelocity Minimum velocity a trap must be moving at relative to the actor to do damage (combination of actor and traps respective velocities). This value is in BSUnits (128 = 6ft).
float bTrapContinuous 0 = Only deal damage on first contact with trap. 1 = Continously subtract damage as long as actor is in contact with trap.
float fLevelledDamage Amount of additional damage to do per level of the actor.

The total damage done by the trap is equal to: fLevelledDamage * actorLevel + fTrapDamage


TrapUpdate can be put in a GameMode block; everytime it's called it checks whether any actor is in contact with the trap and takes care of the damage, as defined by the above variables.