WeaponCtrOp

From Eternity Wiki
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Description

Sets the value of the indicated counter variable for the weapon using two (possibly the same) counters as operands.

Usage

WeaponCtrOp(c_oper1_num, c_oper2_num, c_dest_num, specialop)

Parameters

  • c_oper1_num: counter operand #1 (0 to 2)
  • c_oper2_num: counter operand #2 (0 to 2)
  • c_dest_num: counter destination (0 to 2)
  • specialop: operation to perform. One of the following (consider c1, c2 and cdest the contents of the three counters):
    • add or 1
    • sub or 2
    • mul or 3
    • div or 4: integer division. Only operates if c2 <> 0
    • mod or 5: modulus operation (remainder of integer division). Only operates if c2 > 0
    • and or 6: bitwise "and" (only common bits)
    • or or 8: bitwise "or" (any true bits)
    • xor or 9: bitwise "xor" (bit-by-bit added modulo-2)
    • hitdice or 12: "damage" calculation (cdest = c1*random(1, c2)). Only operates if c2 > 0.
    • rshift or 13: divide c1 by 2^c2
    • lshift or 14: multiply c1 by 2^c2
    • abs or 15: cdest = absolute of c1. Unary.
    • negate or 16: cdest = -c1. Unary.
    • not or 17: cdest becomes 1 if c1 is null. Otherwise it becomes 0. Unary.
    • invert or 18: cdest becomes one's complement of c1. Unary.

Examples

No examples given.

Notes

Each weapon has 3 counters. Counter values cannot be transferred between weapons.

See also