#textdomain wesnoth # Macros for setting animations. # These don't rely on any other macros. Please don't change this. #define STANDING_ANIM_DIRECTIONAL BASE_SE_IMAGE BASE_NE_IMAGE [standing_anim] [if] direction=s,se,sw start_time=0 [frame] duration=150 image={BASE_SE_IMAGE} [/frame] [/if] [else] direction=n,ne,nw start_time=0 [frame] duration=150 image={BASE_NE_IMAGE} [/frame] [/else] [/standing_anim] #enddef #define LEADING_ANIM FULL_IMAGE HALFWAYS_IMAGE # Define a defensive animation moving from a specified BASE_IMAGE # to REACTION_IMAGE, with HIT_SOUND playing only if a hit occurs. [leading_anim] start_time=-126 [frame] duration=1 image={HALFWAYS_IMAGE} [/frame] [frame] duration=100 image={FULL_IMAGE} [/frame] [frame] duration=150 image={FULL_IMAGE} [/frame] [frame] duration=1 image={HALFWAYS_IMAGE} [/frame] [/leading_anim] #enddef #define DEFENSE_ANIM REACTION_IMAGE BASE_IMAGE HIT_SOUND # Define a defensive animation moving from a specified BASE_IMAGE # to REACTION_IMAGE, with HIT_SOUND playing only if a hit occurs. [defend] start_time=-126 [frame] duration=1 image={BASE_IMAGE} [/frame] [frame] duration=100 image={REACTION_IMAGE} [/frame] [if] hits=hit [frame] duration=150 image={REACTION_IMAGE} sound={HIT_SOUND} [/frame] [/if] [else] hits=miss,kill [frame] duration=150 image={REACTION_IMAGE} [/frame] [/else] [frame] duration=1 image={BASE_IMAGE} [/frame] [/defend] #enddef #define DEFENSE_ANIM_FILTERED REACTION_IMAGE BASE_IMAGE HIT_SOUND FILTER # Define a defensive animation moving from a specified BASE_IMAGE # to REACTION_IMAGE, with HIT_SOUND playing only if a hit occurs. This # fires only if FILTER is matched. [defend] start_time=-126 {FILTER} [frame] duration=1 image={BASE_IMAGE} [/frame] [frame] duration=100 image={REACTION_IMAGE} [/frame] [if] hits=hit [frame] duration=150 image={REACTION_IMAGE} sound={HIT_SOUND} [/frame] [/if] [else] hits=miss,kill [frame] duration=150 image={REACTION_IMAGE} [/frame] [/else] [frame] duration=1 image={BASE_IMAGE} [/frame] [/defend] #enddef #define DEFENSE_ANIM_RANGE REACTION_IMAGE BASE_IMAGE HIT_SOUND RANGE # Define a defensive animation moving from a specified BASE_IMAGE # to REACTION_IMAGE, with HIT_SOUND playing only if a hit occurs. This # fires only on the class of attacks specified by RANGE. [defend] start_time=-126 [filter_attack] range={RANGE} [/filter_attack] [frame] duration=1 image={BASE_IMAGE} [/frame] [frame] duration=100 image={REACTION_IMAGE} [/frame] [if] hits=hit [frame] duration=150 image={REACTION_IMAGE} sound={HIT_SOUND} [/frame] [/if] [else] hits=miss,kill [frame] duration=150 image={REACTION_IMAGE} [/frame] [/else] [frame] duration=1 image={BASE_IMAGE} [/frame] [/defend] #enddef #define DEFENSE_ANIM_DIRECTIONAL REACTION_SE_IMAGE BASE_SE_IMAGE REACTION_NE_IMAGE BASE_NE_IMAGE HITSOUND [defend] direction=sw,s,se start_time=-126 [frame] duration=1 image={BASE_SE_IMAGE} [/frame] [frame] duration=100 image={REACTION_SE_IMAGE} [/frame] [if] hits=hit [frame] duration=150 image={REACTION_SE_IMAGE} sound={HITSOUND} [/frame] [/if] [else] hits=miss,kill [frame] duration=150 image={REACTION_SE_IMAGE} [/frame] [/else] [frame] duration=1 image={BASE_SE_IMAGE} [/frame] [/defend] [defend] direction=nw,n,ne start_time=-126 [frame] duration=1 image={BASE_NE_IMAGE} [/frame] [frame] duration=100 image={REACTION_NE_IMAGE} [/frame] [if] hits=hit [frame] duration=150 image={REACTION_NE_IMAGE} sound={HITSOUND} [/frame] [/if] [else] hits=miss,kill [frame] duration=150 image={REACTION_NE_IMAGE} [/frame] [/else] [frame] duration=1 image={BASE_NE_IMAGE} [/frame] [/defend] #enddef #define DEFENSE_ANIM_DIRECTIONAL_RANGE REACTION_SE_IMAGE BASE_SE_IMAGE REACTION_NE_IMAGE BASE_NE_IMAGE HITSOUND RANGE [defend] direction=sw,s,se [filter_attack] range={RANGE} [/filter_attack] start_time=-126 [frame] duration=1 image={BASE_SE_IMAGE} [/frame] [frame] duration=100 image={REACTION_SE_IMAGE} [/frame] [if] hits=hit [frame] duration=150 image={REACTION_SE_IMAGE} sound={HITSOUND} [/frame] [/if] [else] hits=miss,kill [frame] duration=150 image={REACTION_SE_IMAGE} [/frame] [/else] [frame] duration=1 image={BASE_SE_IMAGE} [/frame] [/defend] [defend] direction=nw,n,ne [filter_attack] range={RANGE} [/filter_attack] start_time=-126 [frame] duration=1 image={BASE_NE_IMAGE} [/frame] [frame] duration=100 image={REACTION_NE_IMAGE} [/frame] [if] hits=hit [frame] duration=150 image={REACTION_NE_IMAGE} sound={HITSOUND} [/frame] [/if] [else] hits=miss,kill [frame] duration=150 image={REACTION_NE_IMAGE} [/frame] [/else] [frame] duration=1 image={BASE_NE_IMAGE} [/frame] [/defend] #enddef #define DEFENSE_ANIM_ELVEN_RANGE REACTION_IMAGE BASE_IMAGE HIT_SOUND RANGE # Define a defensive animation moving from a specified BASE_IMAGE # to REACTION_IMAGE, with HIT_SOUND playing only if a hit occurs and an # elven halo waxing and waning during the animation. This # fires only on the class of attacks specified by RANGE. [defend] start_time=-175 [filter_attack] range={RANGE} [/filter_attack] [frame] duration=25 end=-150 image={BASE_IMAGE} halo=halo/elven/elven-shield-halo-20pct.png [/frame] [frame] duration=25 image={BASE_IMAGE} halo=halo/elven/elven-shield-halo-40pct.png [/frame] [frame] duration=50 image={REACTION_IMAGE} halo=halo/elven/elven-shield-halo-60pct.png [/frame] [frame] duration=50 image={REACTION_IMAGE} halo=halo/elven/elven-shield-halo-80pct.png [/frame] [if] hits=hit [frame] duration=100 image={REACTION_IMAGE} sound={HIT_SOUND} halo=halo/elven/elven-shield-halo-100pct.png [/frame] [/if] [else] hits=miss,kill [frame] duration=100 image={REACTION_IMAGE} halo=halo/elven/elven-shield-halo-100pct.png [/frame] [/else] [frame] duration=50 image={REACTION_IMAGE} halo=halo/elven/elven-shield-halo-80pct.png [/frame] [frame] duration=25 image={BASE_IMAGE} halo=halo/elven/elven-shield-halo-60pct.png [/frame] [frame] duration=25 image={BASE_IMAGE} halo=halo/elven/elven-shield-halo-40pct.png [/frame] [frame] duration=25 image={BASE_IMAGE} halo=halo/elven/elven-shield-halo-20pct.png [/frame] [/defend] #enddef # this macro is called on top of every idle animation, # to provide a standard set of conditions to play the idle animation #define STANDARD_IDLE_FILTER # Poisoned units should have no idle animation. [filter] [not] [filter_wml] [status] poisoned="yes" [/status] [/filter_wml] [/not] [/filter] # Units next to enemies should not have idle animations [filter] [filter_adjacent] is_enemy="yes" count=0 [/filter_adjacent] [/filter] #enddef #define DRAKE_FLYING_ANIM STANDING_FRAME FLYING_FRAME [standing_anim] start_time=0 [filter] [filter_location] terrain_type=!,W*,Qx*,Ql* [or] terrain_type=Wwf,Wwr,*^V* [/or] [/filter_location] [/filter] [frame] duration=150 image={STANDING_FRAME} [/frame] [/standing_anim] [standing_anim] start_time=0 layer=60 submerge=0.01 [filter] [filter_location] terrain_type=W*,Qx*,Ql* [not] terrain_type=Wwf,Wwr,*^V* [/not] [/filter_location] [/filter] [frame] duration=150 image={FLYING_FRAME} [/frame] [/standing_anim] #enddef #define MISSILE_FRAME_WAIL # Animate a projectile for a wail attack. [if] direction=n,ne,nw [missile_frame] begin=-300 end=-230 image="projectiles/wailprojectile-n-1.png" image_diagonal="projectiles/wailprojectile-ne-1.png" [/missile_frame] [missile_frame] begin=-230 end=-160 image="projectiles/wailprojectile-n-2.png" image_diagonal="projectiles/wailprojectile-ne-2.png" [/missile_frame] [missile_frame] begin=-160 end=0 image="projectiles/wailprojectile-n-3.png" image_diagonal="projectiles/wailprojectile-ne-3.png" [/missile_frame] [missile_frame] begin=0 end=40 image="projectiles/wailprojectile-n-4.png" image_diagonal="projectiles/wailprojectile-ne-4.png" [/missile_frame] [missile_frame] begin=40 end=80 image="projectiles/wailprojectile-n-5.png" image_diagonal="projectiles/wailprojectile-ne-5.png" [/missile_frame] [missile_frame] begin=80 end=120 image="projectiles/wailprojectile-n-6.png" image_diagonal="projectiles/wailprojectile-ne-6.png" [/missile_frame] [/if] [else] direction=s,se,sw ### The price of asymmetrical projectiles - here, we use a conditional because the game automatically flips the images for the south frame. We have a separate set of images for the south part, which are not only flipped vertically, but also have their angle corrected for the sw direction. [missile_frame] begin=-300 end=-230 image="projectiles/wailprojectile-s-1.png" image_diagonal="projectiles/wailprojectile-se-1.png" [/missile_frame] [missile_frame] begin=-230 end=-160 image="projectiles/wailprojectile-s-2.png" image_diagonal="projectiles/wailprojectile-se-2.png" [/missile_frame] [missile_frame] begin=-160 end=0 image="projectiles/wailprojectile-s-3.png" image_diagonal="projectiles/wailprojectile-se-3.png" [/missile_frame] [missile_frame] begin=0 end=40 image="projectiles/wailprojectile-s-4.png" image_diagonal="projectiles/wailprojectile-se-4.png" [/missile_frame] [missile_frame] begin=40 end=80 image="projectiles/wailprojectile-s-5.png" image_diagonal="projectiles/wailprojectile-se-5.png" [/missile_frame] [missile_frame] begin=80 end=120 image="projectiles/wailprojectile-s-6.png" image_diagonal="projectiles/wailprojectile-se-6.png" [/missile_frame] [/else] #enddef #define MISSILE_FRAME_LIGHT_BEAM # Animate a beam of light coming down from the heavens. missile_start_time=-245 [if] direction=n,ne,nw [missile_frame] duration=30 halo="halo/holy/light-beam-1.png" offset=1.0 [/missile_frame] [missile_frame] duration=30 halo="halo/holy/light-beam-2.png" offset=1.0 [/missile_frame] [missile_frame] duration=30 halo="halo/holy/light-beam-3.png" offset=1.0 [/missile_frame] [missile_frame] duration=30 halo="halo/holy/light-beam-4.png" offset=1.0 [/missile_frame] [missile_frame] duration=30 halo="halo/holy/light-beam-5.png" offset=1.0 [/missile_frame] [missile_frame] duration=30 halo="halo/holy/light-beam-6.png" offset=1.0 [/missile_frame] [missile_frame] duration=130 halo="halo/holy/light-beam-7.png" offset=1.0 [/missile_frame] [missile_frame] duration=70 halo="halo/holy/light-beam-6.png" offset=1.0 [/missile_frame] [missile_frame] duration=70 halo="halo/holy/light-beam-5.png" offset=1.0 [/missile_frame] [missile_frame] duration=70 halo="halo/holy/light-beam-4.png" offset=1.0 [/missile_frame] [missile_frame] duration=70 halo="halo/holy/light-beam-3.png" offset=1.0 [/missile_frame] [missile_frame] duration=70 halo="halo/holy/light-beam-2.png" offset=1.0 [/missile_frame] [missile_frame] duration=70 halo="halo/holy/light-beam-1.png" offset=1.0 [/missile_frame] [/if] [else] direction=s,se,sw [missile_frame] duration=30 halo="halo/holy/light-beam-1.png~FL(vert)" offset=1.0 [/missile_frame] [missile_frame] duration=30 halo="halo/holy/light-beam-2.png~FL(vert)" offset=1.0 [/missile_frame] [missile_frame] duration=30 halo="halo/holy/light-beam-3.png~FL(vert)" offset=1.0 [/missile_frame] [missile_frame] duration=30 halo="halo/holy/light-beam-4.png~FL(vert)" offset=1.0 [/missile_frame] [missile_frame] duration=30 halo="halo/holy/light-beam-5.png~FL(vert)" offset=1.0 [/missile_frame] [missile_frame] duration=30 halo="halo/holy/light-beam-6.png~FL(vert)" offset=1.0 [/missile_frame] [missile_frame] duration=130 halo="halo/holy/light-beam-7.png~FL(vert)" offset=1.0 [/missile_frame] [missile_frame] duration=70 halo="halo/holy/light-beam-6.png~FL(vert)" offset=1.0 [/missile_frame] [missile_frame] duration=70 halo="halo/holy/light-beam-5.png~FL(vert)" offset=1.0 [/missile_frame] [missile_frame] duration=70 halo="halo/holy/light-beam-4.png~FL(vert)" offset=1.0 [/missile_frame] [missile_frame] duration=70 halo="halo/holy/light-beam-3.png~FL(vert)" offset=1.0 [/missile_frame] [missile_frame] duration=70 halo="halo/holy/light-beam-2.png~FL(vert)" offset=1.0 [/missile_frame] [missile_frame] duration=70 halo="halo/holy/light-beam-1.png~FL(vert)" offset=1.0 [/missile_frame] [/else] #enddef #define MISSILE_FRAME_FIRE_BREATH N_OFFSET S_OFFSET N_DIAGONAL_OFFSET S_DIAGONAL_OFFSET # Animate a projectile for a fire-breath attack. [if] direction=n [missile_frame] begin=-400 end=100 halo=projectiles/fire-breath-n-1.png:80,projectiles/fire-breath-n-2.png:80,projectiles/fire-breath-n-3.png:80,projectiles/fire-breath-n-4.png:80,projectiles/fire-breath-n-5.png:80 halo_x,halo_y={N_OFFSET} [/missile_frame] [/if] [else] direction=s [missile_frame] begin=-400 end=100 halo=projectiles/fire-breath-s-1.png:80,projectiles/fire-breath-s-2.png:80,projectiles/fire-breath-s-3.png:80,projectiles/fire-breath-s-4.png:80,projectiles/fire-breath-s-5.png:80 halo_x,halo_y={S_OFFSET} [/missile_frame] [/else] [else] direction=ne,nw [missile_frame] begin=-400 end=100 halo=projectiles/fire-breath-ne-1.png:80,projectiles/fire-breath-ne-2.png:80,projectiles/fire-breath-ne-3.png:80,projectiles/fire-breath-ne-4.png:80,projectiles/fire-breath-ne-5.png:80 halo_x,halo_y={N_DIAGONAL_OFFSET} [/missile_frame] [/else] [else] direction=se,sw [missile_frame] begin=-400 end=100 halo=projectiles/fire-breath-se-1.png:80,projectiles/fire-breath-se-2.png:80,projectiles/fire-breath-se-3.png:80,projectiles/fire-breath-se-4.png:80,projectiles/fire-breath-se-5.png:80 halo_x,halo_y={S_DIAGONAL_OFFSET} [/missile_frame] [/else] #enddef #define MISSILE_FRAME_FIRE_BREATH_N OFFSET # Animate a projectile for a fire-breath attack. [missile_frame] begin=-400 end=100 halo=projectiles/fire-breath-n-1.png:80,projectiles/fire-breath-n-2.png:80,projectiles/fire-breath-n-3.png:80,projectiles/fire-breath-n-4.png:80,projectiles/fire-breath-n-5.png:80 halo_x,halo_y={OFFSET} [/missile_frame] #enddef #define MISSILE_FRAME_FIRE_BREATH_S OFFSET # Animate a projectile for a fire-breath attack. [missile_frame] begin=-400 end=100 halo=projectiles/fire-breath-s-1.png:80,projectiles/fire-breath-s-2.png:80,projectiles/fire-breath-s-3.png:80,projectiles/fire-breath-s-4.png:80,projectiles/fire-breath-s-5.png:80 halo_x,halo_y={OFFSET} [/missile_frame] #enddef #define MISSILE_FRAME_FIRE_BREATH_N_DIAGONAL OFFSET # Animate a projectile for a fire-breath attack. [missile_frame] begin=-400 end=100 halo=projectiles/fire-breath-ne-1.png:80,projectiles/fire-breath-ne-2.png:80,projectiles/fire-breath-ne-3.png:80,projectiles/fire-breath-ne-4.png:80,projectiles/fire-breath-ne-5.png:80 halo_x,halo_y={OFFSET} [/missile_frame] #enddef #define MISSILE_FRAME_FIRE_BREATH_S_DIAGONAL OFFSET # Animate a projectile for a fire-breath attack. [missile_frame] begin=-400 end=100 halo=projectiles/fire-breath-se-1.png:80,projectiles/fire-breath-se-2.png:80,projectiles/fire-breath-se-3.png:80,projectiles/fire-breath-se-4.png:80,projectiles/fire-breath-se-5.png:80 halo_x,halo_y={OFFSET} [/missile_frame] #enddef #define MISSILE_FRAME_FAERIE_FIRE # Animate a projectile for a faerie-fire attack. [missile_frame] begin=-500 end=-350 image="projectiles/icemissile-n-1.png" image_diagonal="projectiles/icemissile-ne-1.png" halo=halo/elven/ice-halo1.png:100,halo/elven/ice-halo2.png:100,halo/elven/ice-halo3.png:25 halo_x,halo_y=0,0 [/missile_frame] [missile_frame] begin=-350 end=-200 image="projectiles/icemissile-n-2.png" image_diagonal="projectiles/icemissile-ne-2.png" halo=halo/elven/ice-halo3.png:75,halo/elven/ice-halo4.png:75 halo_x,halo_y=0,0 [/missile_frame] [missile_frame] begin=-200 end=-50 image="projectiles/icemissile-n-3.png" image_diagonal="projectiles/icemissile-ne-3.png" halo=halo/elven/ice-halo5.png:100,halo/elven/ice-halo1.png:100,halo/elven/ice-halo2.png:50 halo_x,halo_y=0,0 [/missile_frame] [missile_frame] begin=-50 end=0 image="projectiles/icemissile-n-4.png" image_diagonal="projectiles/icemissile-ne-4.png" halo=halo/elven/ice-halo6.png halo_x,halo_y=0,0 [/missile_frame] [missile_frame] begin=25 end=75 image="projectiles/icemissile-n-5.png" image_diagonal="projectiles/icemissile-ne-5.png" halo=halo/elven/ice-halo7.png halo_x,halo_y=0,0 [/missile_frame] [missile_frame] begin=75 end=125 image="projectiles/icemissile-n-6.png" image_diagonal="projectiles/icemissile-ne-6.png" halo=halo/elven/ice-halo8.png halo_x,halo_y=0,0 [/missile_frame] [missile_frame] begin=125 end=175 image="projectiles/icemissile-n-7.png" image_diagonal="projectiles/icemissile-ne-7.png" halo=halo/elven/ice-halo9.png halo_x,halo_y=0,0 [/missile_frame] #enddef #define MISSILE_FRAME_FIREBALL # Animate a projectile for a fireball attack. missile_start_time=-350 [if] direction=n,ne,nw hits=yes [missile_frame] duration=40 image="projectiles/fireball-n-1.png" image_diagonal="projectiles/fireball-nw-1.png" offset=0.0~0.10 [/missile_frame] [missile_frame] duration=100 image="projectiles/fireball-n-2.png" image_diagonal="projectiles/fireball-nw-2.png" offset=0.1~0.30 [/missile_frame] [missile_frame] duration=125 image="projectiles/fireball-n.png" image_diagonal="projectiles/fireball-nw.png" offset=0.3~0.60 [/missile_frame] [missile_frame] duration=55 image="projectiles/fireball-n-2.png" image_diagonal="projectiles/fireball-nw-2.png" offset=0.7~0.8 [/missile_frame] [missile_frame] duration=30 image="projectiles/fireball-n-1.png" image_diagonal="projectiles/fireball-nw-1.png" offset=0.8~0.9 [/missile_frame] [missile_frame] duration=60 halo="projectiles/fireball-impact-1.png" offset=1.0 [/missile_frame] [missile_frame] duration=60 halo="projectiles/fireball-impact-2.png" offset=1.0 [/missile_frame] [missile_frame] duration=60 halo="projectiles/fireball-impact-3.png" offset=1.0 [/missile_frame] [missile_frame] duration=60 halo="projectiles/fireball-impact-4.png" offset=1.0 [/missile_frame] [missile_frame] duration=60 halo="projectiles/fireball-impact-5.png" offset=1.0 [/missile_frame] [missile_frame] duration=60 halo="projectiles/fireball-impact-6.png" offset=1.0 [/missile_frame] [missile_frame] duration=60 halo="projectiles/fireball-impact-7.png" offset=1.0 [/missile_frame] [missile_frame] duration=60 halo="projectiles/fireball-impact-8.png" offset=1.0 [/missile_frame] [missile_frame] duration=60 halo="projectiles/fireball-impact-9.png" offset=1.0 [/missile_frame] [missile_frame] duration=60 halo="projectiles/fireball-impact-10.png" offset=1.0 [/missile_frame] [missile_frame] duration=60 halo="projectiles/fireball-impact-11.png" offset=1.0 [/missile_frame] [missile_frame] duration=60 halo="projectiles/fireball-impact-12.png" offset=1.0 [/missile_frame] [missile_frame] duration=60 halo="projectiles/fireball-impact-13.png" offset=1.0 [/missile_frame] [missile_frame] duration=60 halo="projectiles/fireball-impact-14.png" offset=1.0 [/missile_frame] [missile_frame] duration=60 halo="projectiles/fireball-impact-15.png" offset=1.0 [/missile_frame] [missile_frame] duration=60 halo="projectiles/fireball-impact-16.png" offset=1.0 [/missile_frame] [/if] [else] direction=s,se,sw hits=yes [missile_frame] duration=40 image="projectiles/fireball-n-1.png" image_diagonal="projectiles/fireball-nw-1.png" offset=0.0~0.10 [/missile_frame] [missile_frame] duration=100 image="projectiles/fireball-n-2.png" image_diagonal="projectiles/fireball-nw-2.png" offset=0.1~0.30 [/missile_frame] [missile_frame] duration=125 image="projectiles/fireball-n.png" image_diagonal="projectiles/fireball-nw.png" offset=0.3~0.60 [/missile_frame] [missile_frame] duration=55 image="projectiles/fireball-n-2.png" image_diagonal="projectiles/fireball-nw-2.png" offset=0.7~0.8 [/missile_frame] [missile_frame] duration=30 image="projectiles/fireball-n-1.png" image_diagonal="projectiles/fireball-nw-1.png" offset=0.8~0.9 [/missile_frame] [missile_frame] duration=60 halo="projectiles/fireball-impact-1.png~FL(vert)" offset=1.0 [/missile_frame] [missile_frame] duration=60 halo="projectiles/fireball-impact-2.png~FL(vert)" offset=1.0 [/missile_frame] [missile_frame] duration=60 halo="projectiles/fireball-impact-3.png~FL(vert)" offset=1.0 [/missile_frame] [missile_frame] duration=60 halo="projectiles/fireball-impact-4.png~FL(vert)" offset=1.0 [/missile_frame] [missile_frame] duration=60 halo="projectiles/fireball-impact-5.png~FL(vert)" offset=1.0 [/missile_frame] [missile_frame] duration=60 halo="projectiles/fireball-impact-6.png~FL(vert)" offset=1.0 [/missile_frame] [missile_frame] duration=60 halo="projectiles/fireball-impact-7.png~FL(vert)" offset=1.0 [/missile_frame] [missile_frame] duration=60 halo="projectiles/fireball-impact-8.png~FL(vert)" offset=1.0 [/missile_frame] [missile_frame] duration=60 halo="projectiles/fireball-impact-9.png~FL(vert)" offset=1.0 [/missile_frame] [missile_frame] duration=60 halo="projectiles/fireball-impact-10.png~FL(vert)" offset=1.0 [/missile_frame] [missile_frame] duration=60 halo="projectiles/fireball-impact-11.png~FL(vert)" offset=1.0 [/missile_frame] [missile_frame] duration=60 halo="projectiles/fireball-impact-12.png~FL(vert)" offset=1.0 [/missile_frame] [missile_frame] duration=60 halo="projectiles/fireball-impact-13.png~FL(vert)" offset=1.0 [/missile_frame] [missile_frame] duration=60 halo="projectiles/fireball-impact-14.png~FL(vert)" offset=1.0 [/missile_frame] [missile_frame] duration=60 halo="projectiles/fireball-impact-15.png~FL(vert)" offset=1.0 [/missile_frame] [missile_frame] duration=60 halo="projectiles/fireball-impact-16.png~FL(vert)" offset=1.0 [/missile_frame] [/else] [else] direction=n,ne,nw hits=no missile_offset=0.0~0.20,0.20~0.35,0.35~0.40,0.4~0.45 [missile_frame] duration=100 halo="projectiles/fireball-fail-1.png" [/missile_frame] [missile_frame] duration=100 halo="projectiles/fireball-fail-2.png" [/missile_frame] [missile_frame] duration=100 halo="projectiles/fireball-fail-3.png" [/missile_frame] [missile_frame] duration=100 halo="projectiles/fireball-fail-4.png" [/missile_frame] [missile_frame] duration=100 halo="projectiles/fireball-fail-5.png" [/missile_frame] [missile_frame] duration=100 halo="projectiles/fireball-fail-6.png" [/missile_frame] [missile_frame] duration=100 halo="projectiles/fireball-fail-7.png" [/missile_frame] [/else] [else] direction=s,se,sw hits=no missile_offset=0.0~0.20,0.20~0.35,0.35~0.40,0.4~0.45 [missile_frame] duration=100 halo="projectiles/fireball-fail-1.png~FL(vert)" [/missile_frame] [missile_frame] duration=100 halo="projectiles/fireball-fail-2.png~FL(vert)" [/missile_frame] [missile_frame] duration=100 halo="projectiles/fireball-fail-3.png~FL(vert)" [/missile_frame] [missile_frame] duration=100 halo="projectiles/fireball-fail-4.png~FL(vert)" [/missile_frame] [missile_frame] duration=100 halo="projectiles/fireball-fail-5.png~FL(vert)" [/missile_frame] [missile_frame] duration=100 halo="projectiles/fireball-fail-6.png~FL(vert)" [/missile_frame] [missile_frame] duration=100 halo="projectiles/fireball-fail-7.png~FL(vert)" [/missile_frame] [/else] #enddef #define MISSILE_FRAME_ICE [if] hits=yes [missile_frame] begin=-200 end=0 image="projectiles/whitemissile-n.png" image_diagonal="projectiles/whitemissile-ne.png" offset=0.0~0.8 [/missile_frame] [missile_frame] begin=0 end=50 halo="projectiles/whitemissile-impact-1.png" offset=0.8 [/missile_frame] [missile_frame] begin=50 end=100 halo="projectiles/whitemissile-impact-2.png" offset=0.92 [/missile_frame] [missile_frame] begin=100 end=150 halo="projectiles/whitemissile-impact-3.png" offset=0.94 [/missile_frame] [missile_frame] begin=150 end=200 halo="projectiles/whitemissile-impact-4.png" offset=0.96 [/missile_frame] [missile_frame] begin=200 end=250 halo="projectiles/whitemissile-impact-5.png" offset=0.98 [/missile_frame] [missile_frame] begin=250 end=300 halo="projectiles/whitemissile-impact-6.png" offset=1.0 [/missile_frame] [missile_frame] begin=300 end=350 halo="projectiles/whitemissile-impact-7.png" offset=1.02 [/missile_frame] [missile_frame] begin=350 end=400 halo="projectiles/whitemissile-impact-8.png" offset=1.04 [/missile_frame] [/if] [else] hits=no [missile_frame] begin=-200 end=0 image="projectiles/whitemissile-n.png" image_diagonal="projectiles/whitemissile-ne.png" offset=0.0~0.8 alpha=.8~0.0:200 [/missile_frame] [/else] #enddef #define MISSILE_FRAME_HATCHET # Animate a projectile for a thrown-hatchet attack. [missile_frame] begin=-200 end=-150 image="projectiles/hatchet-2.png" image_diagonal="projectiles/hatchet-2.png" [/missile_frame] [missile_frame] begin=-150 end=-100 image="projectiles/hatchet-3.png" image_diagonal="projectiles/hatchet-3.png" [/missile_frame] [missile_frame] begin=-100 end=-50 image="projectiles/hatchet-4.png" image_diagonal="projectiles/hatchet-4.png" [/missile_frame] [missile_frame] begin=-50 end=0 image="projectiles/hatchet-1.png" image_diagonal="projectiles/hatchet-1.png" [/missile_frame] #enddef #define FIRE_BURST_SMALL [missile_frame] begin=0 end=75 image="projectiles/fire-burst-small-1.png" image_diagonal="projectiles/fire-burst-small-1.png" offset=0.8 [/missile_frame] [missile_frame] begin=75 end=150 image="projectiles/fire-burst-small-2.png" image_diagonal="projectiles/fire-burst-small-2.png" offset=0.83 [/missile_frame] [missile_frame] begin=150 end=225 image="projectiles/fire-burst-small-3.png" image_diagonal="projectiles/fire-burst-small-3.png" offset=0.86 [/missile_frame] [missile_frame] begin=225 end=300 image="projectiles/fire-burst-small-4.png" image_diagonal="projectiles/fire-burst-small-4.png" offset=0.89 [/missile_frame] [missile_frame] begin=300 end=375 image="projectiles/fire-burst-small-5.png" image_diagonal="projectiles/fire-burst-small-5.png" offset=0.92 [/missile_frame] [missile_frame] begin=375 end=450 image="projectiles/fire-burst-small-6.png" image_diagonal="projectiles/fire-burst-small-6.png" offset=0.95 [/missile_frame] [missile_frame] begin=450 end=525 image="projectiles/fire-burst-small-7.png" image_diagonal="projectiles/fire-burst-small-7.png" offset=0.98 [/missile_frame] [missile_frame] begin=525 end=600 image="projectiles/fire-burst-small-8.png" image_diagonal="projectiles/fire-burst-small-8.png" offset=1.0 [/missile_frame] #enddef #define LIGHTNING_BOLT DIRECTION_NUMBER [if] direction=sw,s,se [missile_frame] begin=-250 end=150 halo=halo/lightning-bolt-{DIRECTION_NUMBER}-1.png~FL(vert):100,halo/lightning-bolt-{DIRECTION_NUMBER}-2.png~FL(vert):100,halo/lightning-bolt-{DIRECTION_NUMBER}-3.png~FL(vert):100,halo/lightning-bolt-{DIRECTION_NUMBER}-4.png~FL(vert):100 halo_y=-125 offset=1.0 [/missile_frame] [/if] [else] direction=nw,n,ne [missile_frame] begin=-250 end=150 halo=halo/lightning-bolt-{DIRECTION_NUMBER}-1.png:100,halo/lightning-bolt-{DIRECTION_NUMBER}-2.png:100,halo/lightning-bolt-{DIRECTION_NUMBER}-3.png:100,halo/lightning-bolt-{DIRECTION_NUMBER}-4.png:100 halo_y=-125 offset=1.0 [/missile_frame] [/else] #enddef #define MAGIC_MISSILE X_OFFSET Y_OFFSET magic_missile_start_time=-750 magic_missile_trail_1_start_time=-350 magic_missile_trail_2_start_time=-350 magic_missile_trail_3_start_time=-350 [magic_missile_frame] duration=400 halo=halo/mage-halo1.png,halo/mage-halo2.png,halo/mage-halo3.png,halo/mage-halo4.png,halo/mage-halo5.png halo_x={X_OFFSET}~0 halo_y={Y_OFFSET}~-54 offset=0.001~-0.083,-0.083~-0.25,-0.25~-0.5 [/magic_missile_frame] [magic_missile_frame] duration=350 halo=halo/mage-halo1.png,halo/mage-halo2.png,halo/mage-halo3.png,halo/mage-halo4.png,halo/mage-halo5.png,misc/blank-hex.png:1 halo_y=-54~-45,-45~-27,-27~0 offset=-0.5~-0.25,-0.25~0.25,0.25~1.0 [/magic_missile_frame] [magic_missile_trail_1_frame] duration=350 halo=misc/blank-hex.png:40,halo/mage-preparation-halo1.png,halo/mage-preparation-halo2.png,halo/mage-preparation-halo3.png,halo/mage-preparation-halo4.png,halo/mage-preparation-halo5.png,halo/mage-preparation-halo6.png,halo/mage-preparation-halo7.png,misc/blank-hex.png:1 halo_y=-54:40,-54~-45,-45~-27,-27~0 offset=0.001:40,-0.5~-0.25,-0.25~0.25,0.25~1.0 [/magic_missile_trail_1_frame] [magic_missile_trail_2_frame] duration=350 halo=misc/blank-hex.png:80,halo/mage-preparation-halo1.png,halo/mage-preparation-halo2.png,halo/mage-preparation-halo3.png,halo/mage-preparation-halo4.png,halo/mage-preparation-halo5.png,halo/mage-preparation-halo6.png,halo/mage-preparation-halo7.png,misc/blank-hex.png:1 halo_y=-54:80,-54~-45,-45~-27,-27~0 offset=0.001:80,-0.5~-0.25,-0.25~0.25,0.25~1.0 [/magic_missile_trail_2_frame] [magic_missile_trail_3_frame] duration=350 halo=misc/blank-hex.png:120,halo/mage-preparation-halo1.png,halo/mage-preparation-halo2.png,halo/mage-preparation-halo3.png,halo/mage-preparation-halo4.png,halo/mage-preparation-halo5.png,halo/mage-preparation-halo6.png,halo/mage-preparation-halo7.png,misc/blank-hex.png:1 halo_y=-54:120,-54~-45,-45~-27,-27~0 offset=0.001:120,-0.5~-0.25,-0.25~0.25,0.25~1.0 [/magic_missile_trail_3_frame] #enddef #define MAGIC_MISSILE_STAFF_FLARE START_TIME DURATION X_OFFSET Y_OFFSET magic_missile_flare_start_time={START_TIME} [magic_missile_flare_frame] duration={DURATION} halo=halo/mage-preparation-halo1.png,halo/mage-preparation-halo2.png,halo/mage-preparation-halo3.png,halo/mage-preparation-halo4.png,halo/mage-preparation-halo5.png,halo/mage-preparation-halo6.png,halo/mage-preparation-halo7.png,misc/blank-hex.png:1 halo_x={X_OFFSET} halo_y={Y_OFFSET} offset=0 [/magic_missile_flare_frame] #enddef #define MERMAID_STAFF_FLARE X_POSITION Y_POSITION flare_start_time=-420 [flare_frame] duration=60 halo=halo/merfolk/staff-flare-1.png halo_x,halo_y={X_POSITION},{Y_POSITION} [/flare_frame] [flare_frame] duration=60 halo=halo/merfolk/staff-flare-2.png halo_x,halo_y={X_POSITION},{Y_POSITION} [/flare_frame] [flare_frame] duration=60 halo=halo/merfolk/staff-flare-3.png halo_x,halo_y={X_POSITION},{Y_POSITION} [/flare_frame] [flare_frame] duration=60 halo=halo/merfolk/staff-flare-4.png halo_x,halo_y={X_POSITION},{Y_POSITION} [/flare_frame] [flare_frame] duration=60 halo=halo/merfolk/staff-flare-5.png halo_x,halo_y={X_POSITION},{Y_POSITION} [/flare_frame] [flare_frame] duration=60 halo=halo/merfolk/staff-flare-6.png halo_x,halo_y={X_POSITION},{Y_POSITION} [/flare_frame] [flare_frame] duration=60 halo=halo/merfolk/staff-flare-7.png halo_x,halo_y={X_POSITION},{Y_POSITION} [/flare_frame] [flare_frame] duration=10 [/flare_frame] #enddef #define MERMAID_WATER_BLAST_HALO water_start_time=-420 [water_frame] duration=60 halo=halo/merfolk/water-halo-1.png [/water_frame] [water_frame] duration=60 halo=halo/merfolk/water-halo-2.png [/water_frame] [water_frame] duration=60 halo=halo/merfolk/water-halo-3.png [/water_frame] [water_frame] duration=60 halo=halo/merfolk/water-halo-4.png [/water_frame] [water_frame] duration=60 halo=halo/merfolk/water-halo-5.png [/water_frame] [water_frame] duration=60 halo=halo/merfolk/water-halo-6.png [/water_frame] [water_frame] duration=60 halo=halo/merfolk/water-halo-7.png [/water_frame] [water_frame] duration=10 [/water_frame] #enddef #define MISSILE_FRAME_MUZZLE_FLARE_MISS missile_start_time=-250 missile_offset=0.1 [missile_frame] duration=100 halo="projectiles/misfire-spark-1.png" [/missile_frame] [missile_frame] duration=100 halo="projectiles/misfire-spark-2.png" [/missile_frame] [missile_frame] duration=100 halo="projectiles/misfire-spark-3.png" [/missile_frame] [missile_frame] duration=100 halo="projectiles/misfire-spark-4.png" [/missile_frame] #enddef #define MISSILE_FRAME_MUZZLE_FLARE_HIT_NORTH START_X START_Y missile_start_time=-250 missile_offset=0.5~1.1:250,1.1~1.5:200,1.5~1.7:360 missile_halo_x={START_X}~0 missile_halo_y={START_Y}~0 [missile_frame] duration=100 halo="projectiles/muzzle-flash-n-1.png" [/missile_frame] [missile_frame] duration=80 halo="projectiles/muzzle-flash-n-2.png" [/missile_frame] [missile_frame] duration=70 halo="projectiles/muzzle-flash-n-3.png" [/missile_frame] [missile_frame] duration=60 halo="projectiles/muzzle-flash-4.png" [/missile_frame] [missile_frame] duration=60 halo="projectiles/muzzle-flash-5.png" [/missile_frame] [missile_frame] duration=60 halo="projectiles/muzzle-flash-6.png" [/missile_frame] [missile_frame] duration=60 halo="projectiles/muzzle-flash-7.png" [/missile_frame] [missile_frame] duration=60 halo="projectiles/muzzle-flash-8.png" [/missile_frame] [missile_frame] duration=60 halo="projectiles/muzzle-flash-9.png" [/missile_frame] [missile_frame] duration=60 halo="projectiles/muzzle-flash-10.png" [/missile_frame] [missile_frame] duration=60 halo="projectiles/muzzle-flash-11.png" [/missile_frame] [missile_frame] duration=60 halo="projectiles/muzzle-flash-12.png" [/missile_frame] [missile_frame] duration=60 halo="projectiles/muzzle-flash-13.png" [/missile_frame] [missile_frame] duration=60 halo="projectiles/muzzle-flash-14.png" [/missile_frame] #enddef #define MISSILE_FRAME_MUZZLE_FLARE_HIT_SOUTH START_X START_Y missile_start_time=-250 missile_offset=0.5~1.1:250,1.1~1.5:200,1.5~1.7:360 missile_halo_x={START_X}~0 missile_halo_y={START_Y}~0 [missile_frame] duration=100 halo="projectiles/muzzle-flash-s-1.png~FL(vertical)" [/missile_frame] [missile_frame] duration=80 halo="projectiles/muzzle-flash-s-2.png~FL(vertical)" [/missile_frame] [missile_frame] duration=70 halo="projectiles/muzzle-flash-s-3.png~FL(vertical)" [/missile_frame] [missile_frame] duration=60 halo="projectiles/muzzle-flash-4.png" [/missile_frame] [missile_frame] duration=60 halo="projectiles/muzzle-flash-5.png" [/missile_frame] [missile_frame] duration=60 halo="projectiles/muzzle-flash-6.png" [/missile_frame] [missile_frame] duration=60 halo="projectiles/muzzle-flash-7.png" [/missile_frame] [missile_frame] duration=60 halo="projectiles/muzzle-flash-8.png" [/missile_frame] [missile_frame] duration=60 halo="projectiles/muzzle-flash-9.png" [/missile_frame] [missile_frame] duration=60 halo="projectiles/muzzle-flash-10.png" [/missile_frame] [missile_frame] duration=60 halo="projectiles/muzzle-flash-11.png" [/missile_frame] [missile_frame] duration=60 halo="projectiles/muzzle-flash-12.png" [/missile_frame] [missile_frame] duration=60 halo="projectiles/muzzle-flash-13.png" [/missile_frame] [missile_frame] duration=60 halo="projectiles/muzzle-flash-14.png" [/missile_frame] #enddef #define MISSILE_FRAME_MUZZLE_FLARE_HIT_DIAG_NORTH START_X START_Y missile_start_time=-250 missile_offset=0.5~1.1:250,1.1~1.5:200,1.5~1.7:360 missile_halo_x={START_X}~0 missile_halo_y={START_Y}~0 [missile_frame] duration=100 halo="projectiles/muzzle-flash-ne-1.png" [/missile_frame] [missile_frame] duration=80 halo="projectiles/muzzle-flash-ne-2.png" [/missile_frame] [missile_frame] duration=70 halo="projectiles/muzzle-flash-ne-3.png" [/missile_frame] [missile_frame] duration=60 halo="projectiles/muzzle-flash-4.png" [/missile_frame] [missile_frame] duration=60 halo="projectiles/muzzle-flash-5.png" [/missile_frame] [missile_frame] duration=60 halo="projectiles/muzzle-flash-6.png" [/missile_frame] [missile_frame] duration=60 halo="projectiles/muzzle-flash-7.png" [/missile_frame] [missile_frame] duration=60 halo="projectiles/muzzle-flash-8.png" [/missile_frame] [missile_frame] duration=60 halo="projectiles/muzzle-flash-9.png" [/missile_frame] [missile_frame] duration=60 halo="projectiles/muzzle-flash-10.png" [/missile_frame] [missile_frame] duration=60 halo="projectiles/muzzle-flash-11.png" [/missile_frame] [missile_frame] duration=60 halo="projectiles/muzzle-flash-12.png" [/missile_frame] [missile_frame] duration=60 halo="projectiles/muzzle-flash-13.png" [/missile_frame] [missile_frame] duration=60 halo="projectiles/muzzle-flash-14.png" [/missile_frame] #enddef #define MISSILE_FRAME_MUZZLE_FLARE_HIT_DIAG_SOUTH START_X START_Y missile_start_time=-250 missile_offset=0.5~1.1:250,1.1~1.5:200,1.5~1.7:360 missile_halo_x={START_X}~0 missile_halo_y={START_Y}~0 [missile_frame] duration=100 halo="projectiles/muzzle-flash-se-1.png~FL(vertical)" [/missile_frame] [missile_frame] duration=80 halo="projectiles/muzzle-flash-se-2.png~FL(vertical)" [/missile_frame] [missile_frame] duration=70 halo="projectiles/muzzle-flash-se-3.png~FL(vertical)" [/missile_frame] [missile_frame] duration=60 halo="projectiles/muzzle-flash-4.png" [/missile_frame] [missile_frame] duration=60 halo="projectiles/muzzle-flash-5.png" [/missile_frame] [missile_frame] duration=60 halo="projectiles/muzzle-flash-6.png" [/missile_frame] [missile_frame] duration=60 halo="projectiles/muzzle-flash-7.png" [/missile_frame] [missile_frame] duration=60 halo="projectiles/muzzle-flash-8.png" [/missile_frame] [missile_frame] duration=60 halo="projectiles/muzzle-flash-9.png" [/missile_frame] [missile_frame] duration=60 halo="projectiles/muzzle-flash-10.png" [/missile_frame] [missile_frame] duration=60 halo="projectiles/muzzle-flash-11.png" [/missile_frame] [missile_frame] duration=60 halo="projectiles/muzzle-flash-12.png" [/missile_frame] [missile_frame] duration=60 halo="projectiles/muzzle-flash-13.png" [/missile_frame] [missile_frame] duration=60 halo="projectiles/muzzle-flash-14.png" [/missile_frame] #enddef #define MISSILE_FRAME_STONE_HIT X_OFFSET Y_OFFSET [sling_stone_frame] begin=-201 end=-200 image="misc/blank-hex.png" [/sling_stone_frame] [sling_stone_frame] begin=-200 end=0 halo="projectiles/stone.png" halo_x={X_OFFSET}~0 halo_y={Y_OFFSET}~0 y=0~-5,-5~-8,-8~-9,-9~-10,-10~-9,-9~-8,-8~-5,-5~0 offset=0.0~1.0 [/sling_stone_frame] [sling_stone_frame] begin=0 end=1 image="misc/blank-hex.png" [/sling_stone_frame] #enddef #define MISSILE_FRAME_STONE_MISS X_OFFSET Y_OFFSET [sling_stone_frame] begin=-201 end=-200 image="misc/blank-hex.png" [/sling_stone_frame] [sling_stone_frame] begin=-200 end=100 halo="projectiles/stone.png" halo_x={X_OFFSET}~0 halo_y={Y_OFFSET}~0 y=0~-5,-5~-8,-8~-9,-9~-10,-10~-9,-9~-8,-8~-5,-5~0 offset=0.0~1.5 [/sling_stone_frame] [sling_stone_frame] begin=100 end=101 image="misc/blank-hex.png" [/sling_stone_frame] #enddef