1.17 - a couple more monsters (#7152)

* Dragonfly

* Grand Dragonfly

* Dragonfly naiad

* move Kraken out of WoF and DW and put in core

* Update kraken sprite and animations
This commit is contained in:
doofus-01 2022-12-04 12:00:48 -08:00 committed by GitHub
parent e22da0ea99
commit 555d5a930b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
66 changed files with 504 additions and 481 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

View file

@ -1,219 +0,0 @@
#textdomain wesnoth-dw
[unit_type]
id=Kraken
name= _ "Kraken"
race=monster
image="units/monsters/kraken.png"
hitpoints=85
movement_type=deepsea
movement=8
experience=150
level=3
alignment=neutral
advances_to=null
attacks=1
{AMLA_DEFAULT}
cost=62
undead_variation=swimmer
usage=fighter
description= _ "Krakens are gigantic creatures of the seas. They can grab their opponents with strong tentacles, or spit a poisonous black ink from a distance. The best way to survive an encounter with these monsters is to remain ashore."
die_sound=water-blast.wav
{DEFENSE_ANIM_DIRECTIONAL_RANGE "units/monsters/kraken-defend.png" "units/monsters/kraken.png" "units/monsters/kraken-n-defend.png" "units/monsters/kraken-n-tentacle-1.png" squishy-hit.wav melee}
{DEFENSE_ANIM_DIRECTIONAL_RANGE "units/monsters/kraken-defend.png" "units/monsters/kraken.png" "units/monsters/kraken-defend.png" "units/monsters/kraken.png" squishy-hit.wav ranged}
[attack]
name=tentacle
#textdomain wesnoth-units
description=_"tentacle"
type=impact
range=melee
[specials]
{WEAPON_SPECIAL_SWARM}
[/specials]
damage=5
number=10
[/attack]
[attack]
name=ink
description=_"ink"
#textdomain wesnoth-dw
type=pierce
range=ranged
damage=8
number=3
[specials]
{WEAPON_SPECIAL_POISON}
[/specials]
[/attack]
[attack_anim]
[filter_attack]
name=ink
[/filter_attack]
missile_start_time=-300
[missile_frame]
duration=300
image="projectiles/ink.png"
image_diagonal="projectiles/ink.png"
[/missile_frame]
start_time=-500
[frame]
image="units/monsters/kraken.png:100"
[/frame]
[frame]
image="units/monsters/kraken-tentacle-1.png:500"
[/frame]
{SOUND:HIT_AND_MISS ink.ogg ink-miss.ogg -500}
[/attack_anim]
# tentacles hit south----------------------------------------------
[attack_anim]
[filter_attack]
name=tentacle
[/filter_attack]
direction=s,se,sw
hits=yes
start_time=-200
[frame]
image="units/monsters/kraken-tentacle-1.png:100"
[/frame]
[frame]
image="units/monsters/kraken-tentacle-2.png:150"
sound=squishy-strike.wav
[/frame]
[frame]
image="units/monsters/kraken-tentacle-1.png:150"
[/frame]
[/attack_anim]
[attack_anim]
[filter_attack]
name=tentacle
[/filter_attack]
direction=s,se,sw
hits=yes
start_time=-200
[frame]
image="units/monsters/kraken-tentacle-1.png:150"
[/frame]
[frame]
image="units/monsters/kraken-tentacle-3.png:150"
sound=squishy-strike.wav
[/frame]
[frame]
image="units/monsters/kraken-tentacle-1.png:100"
[/frame]
[/attack_anim]
# tentacles hit north----------------------------------------------
[attack_anim]
[filter_attack]
name=tentacle
[/filter_attack]
direction=n,ne,nw
hits=yes
start_time=-200
[frame]
image="units/monsters/kraken-n-tentacle-1.png:150"
[/frame]
[frame]
image="units/monsters/kraken-n-tentacle-2.png:150"
sound=squishy-strike.wav
[/frame]
[frame]
image="units/monsters/kraken-n-tentacle-1.png:100"
[/frame]
[/attack_anim]
[attack_anim]
[filter_attack]
name=tentacle
[/filter_attack]
direction=n,ne,nw
hits=yes
start_time=-200
[frame]
image="units/monsters/kraken-n-tentacle-1.png:150"
[/frame]
[frame]
image="units/monsters/kraken-n-tentacle-3.png:150"
sound=squishy-strike.wav
[/frame]
[frame]
image="units/monsters/kraken-n-tentacle-1.png:100"
[/frame]
[/attack_anim]
# tentacles miss south ----------------------------------------------
[attack_anim]
[filter_attack]
name=tentacle
[/filter_attack]
hits=no
direction=s,se,sw
start_time=-200
[frame]
image="units/monsters/kraken-tentacle-1.png:100"
[/frame]
[frame]
image="units/monsters/kraken-tentacle-2.png:150"
sound=squishy-miss.wav
[/frame]
[frame]
image="units/monsters/kraken-tentacle-1.png:150"
[/frame]
[/attack_anim]
[attack_anim]
[filter_attack]
name=tentacle
[/filter_attack]
hits=no
direction=s,se,sw
start_time=-200
[frame]
image="units/monsters/kraken-tentacle-1.png:150"
[/frame]
[frame]
image="units/monsters/kraken-tentacle-3.png:150"
sound=squishy-miss.wav
[/frame]
[frame]
image="units/monsters/kraken-tentacle-1.png:100"
[/frame]
[/attack_anim]
# tentacles miss north----------------------------------------------
[attack_anim]
[filter_attack]
name=tentacle
[/filter_attack]
direction=n,ne,nw
hits=no
start_time=-200
[frame]
image="units/monsters/kraken-n-tentacle-1.png:150"
[/frame]
[frame]
image="units/monsters/kraken-n-tentacle-2.png:150"
sound=squishy-miss.wav
[/frame]
[frame]
image="units/monsters/kraken-n-tentacle-1.png:100"
[/frame]
[/attack_anim]
[attack_anim]
[filter_attack]
name=tentacle
[/filter_attack]
direction=n,ne,nw
hits=no
start_time=-200
[frame]
image="units/monsters/kraken-n-tentacle-1.png:150"
[/frame]
[frame]
image="units/monsters/kraken-n-tentacle-3.png:150"
sound=squishy-miss.wav
[/frame]
[frame]
image="units/monsters/kraken-n-tentacle-1.png:100"
[/frame]
[/attack_anim]
[/unit_type]

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

View file

@ -1,262 +0,0 @@
#textdomain wesnoth-wof
[unit_type]
id=Kraken
name= _ "Kraken"
race=monster
image="units/kraken.png"
profile="portraits/monsters/cuttlefish.webp" # for now
description= _ "Krakens are gigantic creatures of the seas. They can grab their opponents with strong tentacles, or spit a poisonous black ink from a distance. The best way to survive an encounter with these monsters is to remain ashore."
# Recruiting
usage=fighter
cost=62
# Leveling
level=3
experience=150
advances_to=null
{AMLA_DEFAULT}
undead_variation=swimmer
# Movement
movement=8
[movement_costs]
deep_water=1
shallow_water=2
reef=2
swamp_water=2
flat=4
sand=4
forest=5
hills=5
village=2
castle=1
cave=3
frozen=2
fungus=3
[/movement_costs]
# Defense
hitpoints=85
[defense]
deep_water=40
shallow_water=50
reef=50
swamp_water=60
flat=70
sand=70
forest=70
hills=70
village=70
castle=70
cave=80
frozen=70
fungus=80
[/defense]
[resistance]
blade=80
pierce=100
impact=70
fire=100
cold=40
arcane=80
[/resistance]
# Offense
alignment=neutral
[attack]
name=tentacle
description=_"tentacle"
range=melee
type=impact
damage=5
number=10
[specials]
{WEAPON_SPECIAL_SWARM}
[/specials]
[/attack]
[attack]
name=ink
description=_"ink"
range=ranged
type=pierce
damage=8
number=3
[specials]
{WEAPON_SPECIAL_POISON}
[/specials]
[/attack]
# Art
[attack_anim]
[filter_attack]
name=ink
[/filter_attack]
missile_start_time=-300
[missile_frame]
duration=300
image="projectiles/ink.png"
image_diagonal="projectiles/ink.png"
[/missile_frame]
start_time=-500
[frame]
image="units/kraken.png:100"
[/frame]
[frame]
image="units/kraken-tentacle-1.png:500"
[/frame]
{SOUND:HIT_AND_MISS ink.ogg ink-miss.ogg -500}
[/attack_anim]
# Tentacles Hit South ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~
[attack_anim]
[filter_attack]
name=tentacle
[/filter_attack]
direction=s,se,sw
hits=yes
start_time=-200
[frame]
image="units/kraken-tentacle-1.png:100"
[/frame]
[frame]
image="units/kraken-tentacle-2.png:150"
sound=squishy-strike.wav
[/frame]
[frame]
image="units/kraken-tentacle-1.png:150"
[/frame]
[/attack_anim]
[attack_anim]
[filter_attack]
name=tentacle
[/filter_attack]
direction=s,se,sw
hits=yes
start_time=-200
[frame]
image="units/kraken-tentacle-1.png:150"
[/frame]
[frame]
image="units/kraken-tentacle-3.png:150"
sound=squishy-strike.wav
[/frame]
[frame]
image="units/kraken-tentacle-1.png:100"
[/frame]
[/attack_anim]
# Tentacles Hit North ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~
[attack_anim]
[filter_attack]
name=tentacle
[/filter_attack]
direction=n,ne,nw
hits=yes
start_time=-200
[frame]
image="units/kraken-n-tentacle-1.png:150"
[/frame]
[frame]
image="units/kraken-n-tentacle-2.png:150"
sound=squishy-strike.wav
[/frame]
[frame]
image="units/kraken-n-tentacle-1.png:100"
[/frame]
[/attack_anim]
[attack_anim]
[filter_attack]
name=tentacle
[/filter_attack]
direction=n,ne,nw
hits=yes
start_time=-200
[frame]
image="units/kraken-n-tentacle-1.png:150"
[/frame]
[frame]
image="units/kraken-n-tentacle-3.png:150"
sound=squishy-strike.wav
[/frame]
[frame]
image="units/kraken-n-tentacle-1.png:100"
[/frame]
[/attack_anim]
# Tentacles Miss South ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~
[attack_anim]
[filter_attack]
name=tentacle
[/filter_attack]
hits=no
direction=s,se,sw
start_time=-200
[frame]
image="units/kraken-tentacle-1.png:100"
[/frame]
[frame]
image="units/kraken-tentacle-2.png:150"
sound=squishy-miss.wav
[/frame]
[frame]
image="units/kraken-tentacle-1.png:150"
[/frame]
[/attack_anim]
[attack_anim]
[filter_attack]
name=tentacle
[/filter_attack]
hits=no
direction=s,se,sw
start_time=-200
[frame]
image="units/kraken-tentacle-1.png:150"
[/frame]
[frame]
image="units/kraken-tentacle-3.png:150"
sound=squishy-miss.wav
[/frame]
[frame]
image="units/kraken-tentacle-1.png:100"
[/frame]
[/attack_anim]
# Tentacles Miss North ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~
[attack_anim]
[filter_attack]
name=tentacle
[/filter_attack]
direction=n,ne,nw
hits=no
start_time=-200
[frame]
image="units/kraken-n-tentacle-1.png:150"
[/frame]
[frame]
image="units/kraken-n-tentacle-2.png:150"
sound=squishy-miss.wav
[/frame]
[frame]
image="units/kraken-n-tentacle-1.png:100"
[/frame]
[/attack_anim]
[attack_anim]
[filter_attack]
name=tentacle
[/filter_attack]
direction=n,ne,nw
hits=no
start_time=-200
[frame]
image="units/kraken-n-tentacle-1.png:150"
[/frame]
[frame]
image="units/kraken-n-tentacle-3.png:150"
sound=squishy-miss.wav
[/frame]
[frame]
image="units/kraken-n-tentacle-1.png:100"
[/frame]
[/attack_anim]
{DEFENSE_ANIM_DIRECTIONAL_RANGE "units/kraken-defend.png" "units/kraken.png" "units/kraken-n-defend.png" "units/kraken-n-tentacle-1.png" squishy-hit.wav melee}
{DEFENSE_ANIM_DIRECTIONAL_RANGE "units/kraken-defend.png" "units/kraken.png" "units/kraken-defend.png" "units/kraken.png" squishy-hit.wav ranged}
die_sound=water-blast.wav
[/unit_type]

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 233 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 250 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 945 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 249 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 250 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

View file

@ -0,0 +1,124 @@
#textdomain wesnoth-units
[unit_type]
id=Dragonfly
name= _ "Dragonfly"
race=monster
image="units/monsters/dragonfly/young/dragonfly.png"
profile="portraits/monsters/dragonfly.webp"
hitpoints=28
movement_type=smallfly
[resistance]
blade=90
pierce=90
impact=100
fire=100
cold=120
arcane=90
[/resistance]
movement=7
vision=8
level=1
alignment=neutral
experience=23
advances_to=Grand Dragonfly
cost=13
usage=scout
description= _ "The giant dragonflies seen in some of the swamps, rivers, and lakes around Wesnoth enjoy a longer life cycle than the smaller, more common types. The adult form can live indefiniately, slowly growing to a final moult. They are generally territorial, but can cooperate in small groups to confront common foes or large prey."
[attack]
name=bite
description= _ "bite"
type=blade
range=melee
damage=7
number=2
[specials]
{WEAPON_SPECIAL_MARKSMAN}
[/specials]
icon=attacks/fangs-bug.png
[/attack]
[standing_anim]
start_time=0
direction=se,s,sw
bug_start_time=0
bug_y=-4~0:300,0~-4:300
[frame]
image="units/monsters/dragonfly/young/dragonfly-shadow.png:200"
[/frame]
[bug_frame]
image="units/monsters/dragonfly/young/dragonfly-flying[1,2,1,2,1,2,1,2,1,2,1,2].png:50"
auto_vflip=no
[/bug_frame]
[/standing_anim]
[standing_anim]
start_time=0
direction=nw,n,ne
bug_start_time=0
bug_y=-4~0:300,0~-4:300
[frame]
image="units/monsters/dragonfly/young/dragonfly-n-shadow.png:200"
[/frame]
[bug_frame]
image="units/monsters/dragonfly/young/dragonfly-n-flying[1,2,1,2,1,2,1,2,1,2,1,2].png:50"
auto_vflip=no
[/bug_frame]
[/standing_anim]
{DEFENSE_ANIM_FILTERED "units/monsters/dragonfly/young/dragonfly-defend2.png" "units/monsters/dragonfly/young/dragonfly-defend1.png" {SOUND_LIST:BAT_HIT} (
direction=se,s,sw
)}
{DEFENSE_ANIM_FILTERED "units/monsters/dragonfly/young/dragonfly-n-defend2.png" "units/monsters/dragonfly/young/dragonfly-n-defend1.png" {SOUND_LIST:BAT_HIT} (
direction=ne,n,nw
)}
# [death]
# start_time=0
# [frame]
# image="units/monsters/dragonfly/young/dragonfly-death[1~4].png:[100,80,80,150]"
# [/frame]
# [/death]
[movement_anim]
start_time=0
bug_start_time=0
bug_offset="0~1:200,0~1:200,0~1:200,0~1:200,0~1:200,0~1:200,0~1:200,0~1:200,0~1:200,0~1:200"
[if]
direction=se,s,sw
[frame]
image="units/monsters/dragonfly/young/dragonfly-shadow.png:160"
[/frame]
[bug_frame]
image="units/monsters/dragonfly/young/dragonfly-flying[1,2].png:80"
auto_vflip=no
[/bug_frame]
[/if]
[else]
direction=ne,n,nw
[frame]
image="units/monsters/dragonfly/young/dragonfly-n-shadow.png:160"
[/frame]
[bug_frame]
image="units/monsters/dragonfly/young/dragonfly-n-flying[1,2].png:80"
auto_vflip=no
[/bug_frame]
[/else]
[/movement_anim]
[attack_anim]
[filter_attack]
name=bite
[/filter_attack]
start_time=-200
offset=0.0~0.65:150,0.65~0.0:200
[if]
direction=se,s,sw
[frame]
image="units/monsters/dragonfly/young/dragonfly.png:350"
# image="units/monsters/dragonfly/young/dragonfly-melee[1~3].png:[250,100,150]"
[/frame]
[/if]
[else]
direction=ne,n,nw
[frame]
image="units/monsters/dragonfly/young/dragonfly-n.png:350"
[/frame]
[/else]
{SOUND:HIT_AND_MISS bite.ogg spear-miss.ogg -100}
[/attack_anim]
[/unit_type]

View file

@ -0,0 +1,180 @@
#textdomain wesnoth-cscbb1
[unit_type]
id=Grand Dragonfly
name= _ "Grand Dragonfly"
race=monster
image="units/monsters/dragonfly/grand/dragonfly.png"
profile="portraits/monsters/dragonfly.webp"
hitpoints=34
movement_type=smallfly
[resistance]
blade=80
pierce=90
impact=90
fire=100
cold=120
arcane=90
[/resistance]
movement=7
vision=9
level=2
alignment=neutral
experience=80
{AMLA_DEFAULT}
advances_to=null
cost=22
usage=scout
description= _ "Dragonflies that survive long enough grow into a final, grander form."
[attack]
name=bite
description= _ "bite"
type=blade
range=melee
damage=8
number=3
[specials]
{WEAPON_SPECIAL_MARKSMAN}
[/specials]
icon=attacks/fangs-bug.png
[/attack]
[attack]
name=sting
description=_"sting"
type=pierce
range=melee
damage=12
number=1
icon=attacks/stinger-dragonfly.png
[specials]
{WEAPON_SPECIAL_BACKSTAB}
[/specials]
[/attack]
[standing_anim]
start_time=0
direction=se,s,sw
bug_start_time=0
bug_y=-4~0:300,0~-4:300
[frame]
image="units/monsters/dragonfly/grand/dragonfly-shadow.png:200"
[/frame]
[bug_frame]
image="units/monsters/dragonfly/grand/dragonfly-flying[1,2,1,2,1,2,1,2,1,2,1,2].png:50"
auto_vflip=no
[/bug_frame]
[/standing_anim]
[standing_anim]
start_time=0
direction=ne,n,nw
bug_start_time=0
bug_y=-4~0:300,0~-4:300
[frame]
image="units/monsters/dragonfly/grand/dragonfly-n-shadow.png:200"
[/frame]
[bug_frame]
image="units/monsters/dragonfly/grand/dragonfly-n-flying[1,2,1,2,1,2,1,2,1,2,1,2].png:50"
auto_vflip=no
[/bug_frame]
[/standing_anim]
{DEFENSE_ANIM_FILTERED "units/monsters/dragonfly/grand/dragonfly-defend2.png" "units/monsters/dragonfly/grand/dragonfly-defend1.png" {SOUND_LIST:BAT_HIT} (
direction=se,s,sw
)}
{DEFENSE_ANIM_FILTERED "units/monsters/dragonfly/grand/dragonfly-n-defend2.png" "units/monsters/dragonfly/grand/dragonfly-n-defend1.png" {SOUND_LIST:BAT_HIT} (
direction=ne,n,nw
)}
[movement_anim]
start_time=0
direction=se,s,sw
bug_start_time=0
bug_offset="0~1:200,0~1:200,0~1:200,0~1:200,0~1:200,0~1:200,0~1:200,0~1:200,0~1:200,0~1:200"
[frame]
image="units/monsters/dragonfly/grand/dragonfly-shadow.png:160"
[/frame]
[bug_frame]
image="units/monsters/dragonfly/grand/dragonfly-flying[1~2].png:80"
auto_vflip=no
[/bug_frame]
[/movement_anim]
[movement_anim]
start_time=0
direction=ne,n,nw
bug_start_time=0
bug_offset="0~1:200,0~1:200,0~1:200,0~1:200,0~1:200,0~1:200,0~1:200,0~1:200,0~1:200,0~1:200"
[frame]
image="units/monsters/dragonfly/grand/dragonfly-n-shadow.png:160"
[/frame]
[bug_frame]
image="units/monsters/dragonfly/grand/dragonfly-n-flying[1~2].png:80"
auto_vflip=no
[/bug_frame]
[/movement_anim]
# [idle_anim]
# {STANDARD_IDLE_FILTER}
# start_time=0
# terrain_type=!,W*^*,S*^*,Q*
# [frame]
# image="units/monsters/dragonfly/grand/dragonfly-idle[1,2,3,2,1].png:[80,80,3000,80,80]"
# [/frame]
# [/idle_anim]
# [death]
# start_time=0
# [frame]
# image="units/monsters/dragonfly/grand/dragonfly-death[1~4].png:[100,80,80,150]"
# [/frame]
# [/death]
[attack_anim]
[filter_attack]
name=sting
[/filter_attack]
direction=ne,n,nw
start_time=-200
offset=0.0~-0.05:50,-0.05~0.65:150,0.65~0.0:200
[frame]
image="units/monsters/dragonfly/grand/dragonfly-n.png:[400]"
# image="units/monsters/dragonfly/grand/dragonfly-sting[1~3].png:[250,100,150]"
[/frame]
{SOUND:HIT_AND_MISS spear.ogg spear-miss.ogg -100}
[/attack_anim]
[attack_anim]
[filter_attack]
name=bite
[/filter_attack]
direction=ne,n,nw
start_time=-150
offset=0.0~0.65:150,0.65~0.0:200
[frame]
image="units/monsters/dragonfly/grand/dragonfly-n.png:[350]"
# image="units/monsters/dragonfly/grand/dragonfly-melee[1~3].png:[250,100,150]"
[/frame]
{SOUND:HIT_AND_MISS bite.ogg spear-miss.ogg -100}
[/attack_anim]
[attack_anim]
[filter_attack]
name=sting
[/filter_attack]
direction=se,s,sw
start_time=-200
offset=0.0~-0.05:50,-0.05~0.65:150,0.65~0.0:200
[frame]
image="units/monsters/dragonfly/grand/dragonfly.png:[400]"
# image="units/monsters/dragonfly/grand/dragonfly-sting[1~3].png:[250,100,150]"
[/frame]
{SOUND:HIT_AND_MISS spear.ogg spear-miss.ogg -100}
[/attack_anim]
[attack_anim]
[filter_attack]
name=bite
[/filter_attack]
direction=se,s,sw
start_time=-150
offset=0.0~0.65:150,0.65~0.0:200
[frame]
image="units/monsters/dragonfly/grand/dragonfly.png:[350]"
# image="units/monsters/dragonfly/grand/dragonfly-melee[1~3].png:[250,100,150]"
[/frame]
{SOUND:HIT_AND_MISS bite.ogg spear-miss.ogg -100}
[/attack_anim]
[/unit_type]

View file

@ -0,0 +1,83 @@
#textdomain wesnoth-units
[unit_type]
id=Dragonfly Naiad
name= _ "Dragonfly Naiad"
race=monster
image="units/monsters/dragonfly/naiad/naiad.png"
profile="portraits/monsters/naiad.webp"
hitpoints=19
movement_type=smallfoot # maybe need a new movetype
[movement_costs]
shallow_water=1
reef=2
swamp_water=1
flat=2
sand=3
forest=2
hills=3
mountains=4
village=1
castle=2
cave=2
frozen=3
fungus=2
[/movement_costs]
[defense]
shallow_water=40
reef=50
swamp_water=40
flat=60
sand=70
forest=50
hills=50
mountains=50
village=50
castle=50
cave=60
frozen=70
fungus=50
[/defense]
[resistance]
blade=90
pierce=90
impact=100
fire=100
cold=120
arcane=90
[/resistance]
movement=6
level=0
alignment=neutral
experience=23
advances_to=Dragonfly
cost=8
usage=scout
description= _ "Young dragonflies live an aquatic life, mostly preying upon small fish or other insect nymphs. They can crawl over rocks and mud, but they need to stay submerged to breath, which explains why the giant dragonflies are usually found only near rivers, lakes, and coves."
[attack]
name=bite
description= _ "bite"
type=blade
range=melee
damage=5
number=2
[specials]
{WEAPON_SPECIAL_MARKSMAN}
[/specials]
icon=attacks/fangs-bug.png
[/attack]
{DEFENSE_ANIM "units/monsters/dragonfly/naiad/naiad-defend2.png" "units/monsters/dragonfly/naiad/naiad-defend1.png" {SOUND_LIST:BAT_HIT} }
[attack_anim]
[filter_attack]
name=bite
[/filter_attack]
start_time=-200
offset=0.0~0.65:150,0.65~0.0:200
[frame]
image="units/monsters/dragonfly/naiad/naiad.png:350"
[/frame]
{SOUND:HIT_AND_MISS bite.ogg spear-miss.ogg -100}
[/attack_anim]
[/unit_type]

View file

@ -0,0 +1,117 @@
#textdomain wesnoth-units
[unit_type]
id=Kraken
name= _ "Kraken"
race=monster
image="units/monsters/kraken/kraken.png"
profile="portraits/monsters/kraken.webp"
hitpoints=85
movement_type=deepsea
movement=8
experience=150
level=3
alignment=neutral
advances_to=null
attacks=1
{AMLA_DEFAULT}
cost=62
undead_variation=swimmer
usage=fighter
description= _ "Krakens are gigantic creatures of the seas. They can grab their opponents with strong tentacles, or spit a poisonous black ink from a distance. The best way to survive an encounter with these monsters is to remain ashore."
die_sound=water-blast.wav
{DEFENSE_ANIM "units/monsters/kraken/kraken-defend2.png" "units/monsters/kraken/kraken-defend1.png" squishy-hit.wav}
[attack]
name=tentacle
description=_"tentacle"
type=impact
range=melee
[specials]
{WEAPON_SPECIAL_SWARM}
[/specials]
damage=5
number=10
[/attack]
[attack]
name=ink
description=_"ink"
type=pierce
range=ranged
damage=8
number=3
[specials]
{WEAPON_SPECIAL_POISON}
[/specials]
[/attack]
[attack_anim]
[filter_attack]
name=ink
[/filter_attack]
missile_start_time=-300
[missile_frame]
image="projectiles/inkstream-n.png:180,projectiles/inkstream-cloud.png~O(0.6):120"
image_diagonal="projectiles/inkstream-ne.png:180,projectiles/inkstream-cloud.png~O(0.6):120"
[/missile_frame]
start_time=-350
[frame]
image="units/monsters/kraken/kraken-defend1.png:100"
[/frame]
[frame]
image="units/monsters/kraken/kraken-ink.png:300"
[/frame]
[frame]
image="units/monsters/kraken/kraken-defend1.png:100"
[/frame]
{SOUND:HIT_AND_MISS ink.ogg ink-miss.ogg -200}
[/attack_anim]
# only one set of attack frames for now, but such big number of strikes needs alternates...
[attack_anim]
[filter_attack]
name=tentacle
[/filter_attack]
direction=s,se,sw
start_time=-350
offset=0.0~-0.05:210,-0.05~0.6:150,0.6~0.0:200
[frame]
image="units/monsters/kraken/kraken-slap[1~4].png:[100,140,120,140]"
[/frame]
[frame]
image="units/monsters/kraken/kraken.png:1"
sound=
[/frame]
{SOUND:HIT_AND_MISS squishy-strike.wav squishy-miss.wav -100}
[/attack_anim]
[attack_anim]
[filter_attack]
name=tentacle
[/filter_attack]
direction=s,se,sw
start_time=-350
offset=0.0~-0.05:210,-0.05~0.6:150,0.6~0.0:200
[frame]
image="units/monsters/kraken/kraken-slap[1~4]b.png:[100,140,120,140]"
[/frame]
[frame]
image="units/monsters/kraken/kraken.png:1"
sound=
[/frame]
{SOUND:HIT_AND_MISS squishy-strike.wav squishy-miss.wav -100}
[/attack_anim]
[attack_anim]
[filter_attack]
name=tentacle
[/filter_attack]
direction=n,ne,nw
start_time=-350
offset=0.0~-0.05:210,-0.05~0.6:150,0.6~0.0:200
[frame]
image="units/monsters/kraken/kraken-slap[1~4].png:[100,140,120,140]"
[/frame]
[frame]
image="units/monsters/kraken/kraken.png:1"
sound=
[/frame]
{SOUND:HIT_AND_MISS squishy-strike.wav squishy-miss.wav -100}
[/attack_anim]
[/unit_type]