User Tools

Site Tools


attack_types

Attack Types

Attacks are made using specific attack types that define what the effect of an attack is:

Direct Damage

The following attack types have direct damage properties which removes a targets hp to the value of the damage dealt from a successful attack (after resistances are factored in):

Indirect Damage & Effects

Indirect damage functions in a similar manner to direct damage, except it changes attributes of the defender (and attacker) other than hp to the advantage of the attacker. The following attack_types have indirect damage properties:

  • Confusion: Scrambles movement and spells
  • Drain: experience is directly siphoned and given to source
  • Life Stealing: Like Drain, a portion of health from damage dealt is given back to the source
  • Poison: Creates a damage over time (DoT) effect that causes poison type direct damage
  • Slow: Slows movement speed and attack speed
  • Paralyze: Prevents all actions
  • Turn_Undead: Turns undead
  • Fear: Forces flight response in a direction away from source
  • Cancellation: Cancels magic
  • Depletion: Stat points are temporarily reduced
  • Death: causes death
  • Counterspell: Counters spells
  • Blind: Field of vision removed
  • Disease: Damage from diseases

Attack.h

The monster archetype files usually contain an attack decimal:

#define AT_PHYSICAL	0x00000001 /*       1 */
#define AT_MAGIC	0x00000002 /*       2 */
#define AT_FIRE		0x00000004 /*       4 */
#define AT_ELECTRICITY	0x00000008 /*       8 */
#define AT_COLD		0x00000010 /*      16 */
#define AT_CONFUSION	0x00000020 /*      32 The spell will use this one */
#define AT_ACID		0x00000040 /*      64 Things might corrode when hit */
#define AT_DRAIN	0x00000080 /*     128 */
#define AT_WEAPONMAGIC	0x00000100 /*     256 Very special, use with care */
#define AT_GHOSTHIT	0x00000200 /*     512 Attacker dissolves */
#define AT_POISON	0x00000400 /*    1024 */
#define AT_SLOW		0x00000800 /*    2048 */
#define AT_PARALYZE	0x00001000 /*    4096 */
#define AT_TURN_UNDEAD	0x00002000 /*    8192 */
#define AT_FEAR		0x00004000 /*   16384 */
#define AT_CANCELLATION 0x00008000 /*   32768 ylitalo@student.docs.uu.se */
#define AT_DEPLETE      0x00010000 /*   65536 vick@bern.docs.uu.se */
#define AT_DEATH        0x00020000 /*  131072 peterm@soda.berkeley.edu */
#define AT_CHAOS        0x00040000 /*  262144 peterm@soda.berkeley.edu*/
#define AT_COUNTERSPELL 0x00080000 /*  524288 peterm@soda.berkeley.edu*/
#define AT_GODPOWER	0x00100000 /* 1048576  peterm@soda.berkeley.edu */
#define AT_HOLYWORD	0x00200000 /* 2097152 race selective attack thomas@astro.psu.edu */ 
#define AT_BLIND	0x00400000 /* 4194304 thomas@astro.psu.edu */ 
#define AT_INTERNAL	0x00800000 /* Only used for internal calculations */
#define AT_LIFE_STEALING 0x01000000 /* 16777216 for hp drain */
#define AT_DISEASE	0x02000000 /* 33554432 disease attacktypes */
attack_types.txt · Last modified: 2019/12/23 13:05 by karl