Ship sprites and units update (#9484)
* new ships Derelict Hulk and Fireship * new "race" Ships - includes Transport Galleon, Pirate Galleon, Derelict Hulk, and Fireship * Pirate Galleon chaotic * animations for all four touched ships * ship portraits for Derelict Hulk and Fireship * crew portraits by LordBob for Boat, Galleon, Transport Galleon, and Pirate Galleon * old (non-pixel art) transport galleon and pirate galleon images moved to scenery
BIN
data/core/images/attacks/ember.png
Normal file
After Width: | Height: | Size: 6.6 KiB |
BIN
data/core/images/attacks/fire-hull.png
Normal file
After Width: | Height: | Size: 7.5 KiB |
BIN
data/core/images/attacks/jetsam.png
Normal file
After Width: | Height: | Size: 5.7 KiB |
BIN
data/core/images/halo/transport/fireship-back-glow.png
Normal file
After Width: | Height: | Size: 5.5 KiB |
BIN
data/core/images/halo/transport/smoke-1.png
Normal file
After Width: | Height: | Size: 2.8 KiB |
BIN
data/core/images/halo/transport/smoke-2.png
Normal file
After Width: | Height: | Size: 4 KiB |
BIN
data/core/images/halo/transport/smoke-3.png
Normal file
After Width: | Height: | Size: 5 KiB |
BIN
data/core/images/portraits/transport/crew-boat.webp
Normal file
After Width: | Height: | Size: 78 KiB |
BIN
data/core/images/portraits/transport/crew-galleon.webp
Normal file
After Width: | Height: | Size: 113 KiB |
BIN
data/core/images/portraits/transport/crew-pirate_galleon.webp
Normal file
After Width: | Height: | Size: 100 KiB |
BIN
data/core/images/portraits/transport/crew-transport_galleon.webp
Normal file
After Width: | Height: | Size: 90 KiB |
BIN
data/core/images/portraits/transport/derelict-hulk.webp
Normal file
After Width: | Height: | Size: 46 KiB |
BIN
data/core/images/portraits/transport/fireship.webp
Normal file
After Width: | Height: | Size: 54 KiB |
BIN
data/core/images/scenery/pirate-galleon.png
Normal file
After Width: | Height: | Size: 9 KiB |
BIN
data/core/images/scenery/transport-galleon.png
Normal file
After Width: | Height: | Size: 8.9 KiB |
BIN
data/core/images/units/transport/Ship_ColorMap.png
Normal file
After Width: | Height: | Size: 1,010 B |
BIN
data/core/images/units/transport/derelict-galleon-hit-1.png
Normal file
After Width: | Height: | Size: 1.8 KiB |
BIN
data/core/images/units/transport/derelict-galleon-hit-2.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 1.8 KiB |
BIN
data/core/images/units/transport/derelict-galleon-rock-port.png
Normal file
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 1.8 KiB |
BIN
data/core/images/units/transport/derelict-galleon-sink.png
Normal file
After Width: | Height: | Size: 1.8 KiB |
BIN
data/core/images/units/transport/derelict-galleon.png
Normal file
After Width: | Height: | Size: 1.8 KiB |
BIN
data/core/images/units/transport/fireship-back-fire1.png
Normal file
After Width: | Height: | Size: 991 B |
BIN
data/core/images/units/transport/fireship-back-fire2.png
Normal file
After Width: | Height: | Size: 1,023 B |
BIN
data/core/images/units/transport/fireship-mid.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
data/core/images/units/transport/fireship-port.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
data/core/images/units/transport/fireship-sink.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
data/core/images/units/transport/fireship-starboard.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
data/core/images/units/transport/fireship.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
BIN
data/core/images/units/transport/flames/fireship-1.png
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
data/core/images/units/transport/flames/fireship-2.png
Normal file
After Width: | Height: | Size: 3 KiB |
BIN
data/core/images/units/transport/flames/fireship-3.png
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
data/core/images/units/transport/flames/fireship-4.png
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
data/core/images/units/transport/flames/fireship-5.png
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
data/core/images/units/transport/flames/fireship-6.png
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
data/core/images/units/transport/flames/fireship-7.png
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
data/core/images/units/transport/flames/fireship-8.png
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
data/core/images/units/transport/flames/fireship-9.png
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
data/core/images/units/transport/pirate-galleon-bob-1.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
BIN
data/core/images/units/transport/pirate-galleon-bob-2.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
BIN
data/core/images/units/transport/pirate-galleon-bob-3.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
BIN
data/core/images/units/transport/pirate-galleon-die-1.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
data/core/images/units/transport/pirate-galleon-die-2.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
data/core/images/units/transport/pirate-galleon-die-3.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
data/core/images/units/transport/pirate-galleon-flag1.png
Normal file
After Width: | Height: | Size: 749 B |
BIN
data/core/images/units/transport/pirate-galleon-flag2.png
Normal file
After Width: | Height: | Size: 747 B |
BIN
data/core/images/units/transport/pirate-galleon-flag3.png
Normal file
After Width: | Height: | Size: 748 B |
BIN
data/core/images/units/transport/pirate-galleon-mask.png
Normal file
After Width: | Height: | Size: 784 B |
BIN
data/core/images/units/transport/pirate-galleon-rock-port.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 1.9 KiB |
BIN
data/core/images/units/transport/pirate-galleon-roll-1.png
Normal file
After Width: | Height: | Size: 1.8 KiB |
BIN
data/core/images/units/transport/pirate-galleon-roll-2.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
data/core/images/units/transport/pirate-galleon-roll-3.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 8.5 KiB After Width: | Height: | Size: 1.9 KiB |
BIN
data/core/images/units/transport/transport-galleon-bob-1.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
BIN
data/core/images/units/transport/transport-galleon-bob-2.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
BIN
data/core/images/units/transport/transport-galleon-bob-3.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
BIN
data/core/images/units/transport/transport-galleon-die-1.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
data/core/images/units/transport/transport-galleon-die-2.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
data/core/images/units/transport/transport-galleon-die-3.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
data/core/images/units/transport/transport-galleon-flag1.png
Normal file
After Width: | Height: | Size: 843 B |
BIN
data/core/images/units/transport/transport-galleon-flag2.png
Normal file
After Width: | Height: | Size: 842 B |
BIN
data/core/images/units/transport/transport-galleon-flag3.png
Normal file
After Width: | Height: | Size: 842 B |
BIN
data/core/images/units/transport/transport-galleon-mask.png
Normal file
After Width: | Height: | Size: 883 B |
BIN
data/core/images/units/transport/transport-galleon-rock-port.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 1.9 KiB |
BIN
data/core/images/units/transport/transport-galleon-roll-1.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
BIN
data/core/images/units/transport/transport-galleon-roll-2.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
data/core/images/units/transport/transport-galleon-roll-3.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 8.3 KiB After Width: | Height: | Size: 2 KiB |
|
@ -246,6 +246,20 @@ ending_vowel=o|u
|
|||
>>
|
||||
#enddef
|
||||
|
||||
#define SHIP_NAMES
|
||||
# po: Generator for ship names
|
||||
name_generator= _ <<
|
||||
main={prefix} {starting_consonnant}{vowel}{consonnant}{vowel}{ending_consonnant}|{prefix} {starting_vowel}{consonnant}{ending_vowel}|{starting_vowel}{consonnant}{vowel}{ending_consonnant}|{prefix} {starting_consonnant}{vowel}{ending_consonnant}|{starting_vowel}{consonnant}{vowel}{consonnant}{ending_vowel}
|
||||
prefix=Blessed|Golden|Fearless|Mighty|Lucky|Old|The|The|Valiant
|
||||
starting_consonnant=B|C|Cr|D|F|G|H|Kh|L|M|N|P|R|S|T|Th|V
|
||||
starting_vowel=A|E|I|O|U
|
||||
consonnant=b|br|ch|d|dr|g|gr|gh|kh|m|n|p|pr|r|s|sh|t|v|ol|z|vr|khr|shn
|
||||
vowel=a|ae|é|i|o|u
|
||||
ending_consonnant=yan|oic|ell|yll|tar|sh
|
||||
ending_vowel=a|ae|o|u
|
||||
>>
|
||||
#enddef
|
||||
|
||||
#define TROLL_NAMES
|
||||
names= _ "Äg,Agh,Bog Äh,Borb,Brag,Brag Goh,Brok,Dak,Drog,Frok,Ga,Gah,Gark,Gnarf,Grar,Grokk,Grumph,Gulk,Hak,Hask,Hoth,Hug Bah,Hu Kah,Kak,Krak,Krug,Kub,Kuh,Lok,Luk,Nak,Nuk Kar,Pag,Reck,Rok,Ruk,Sark,Shak,Shuf,Stuh,Targ,Thog,Thruf,Thur,Tohg,Torg,Trok,Tsok,Tuh,Tuk Ruh,Ugg,Üh,Urg,Urgh,Urk,Vak,Zog,Zuug"
|
||||
# po: Generator for troll names; see <https://wiki.wesnoth.org/Context-free_grammar> for syntax
|
||||
|
|
|
@ -288,6 +288,22 @@ Saurians live spectacularly short lives by comparison to most of the other races
|
|||
{TRAIT_MECHANICAL}
|
||||
[/race]
|
||||
|
||||
[race]
|
||||
id=transport
|
||||
help_taxonomy=mechanical
|
||||
name= _ "race^Ship"
|
||||
plural_name= _ "race+plural^Ships"
|
||||
description= _ "Ships are not living beings, but they are crafted and (usually) controlled by living beings. Although inanimate objects, they are very dear to their masters, needing care and attention in return for providing sustenance and protection. For this reason, most are given names and attributed traits. Those traits may be technical or they may simply reflect the collective attitude of the crew, but they are real."
|
||||
num_traits=2
|
||||
ignore_global_traits=yes
|
||||
{TRAIT_MECHANICAL}
|
||||
{TRAIT_QUICK}
|
||||
{TRAIT_RESILIENT}
|
||||
{TRAIT_FEARLESS}
|
||||
# these need to span elf/human/orc, so a little vague for now. Maybe this "race" can be split up
|
||||
{SHIP_NAMES}
|
||||
[/race]
|
||||
|
||||
# wmllint: general spelling Merfolk landwalker
|
||||
[race]
|
||||
id=merman
|
||||
|
@ -924,6 +940,46 @@ The life span of the wose is unknown, although the most ancient members of this
|
|||
[/resistance]
|
||||
[/movetype]
|
||||
|
||||
[movetype]
|
||||
name=ship
|
||||
flying=yes
|
||||
[movement_costs]
|
||||
deep_water=1
|
||||
shallow_water=1
|
||||
reef=2
|
||||
swamp_water=2
|
||||
sand=4
|
||||
village=2
|
||||
[/movement_costs]
|
||||
|
||||
[defense]
|
||||
deep_water=40
|
||||
shallow_water=50
|
||||
reef=50
|
||||
swamp_water=60
|
||||
flat=70
|
||||
sand=70
|
||||
forest=70
|
||||
hills=70
|
||||
mountains=90
|
||||
village=70
|
||||
castle=70
|
||||
cave=80
|
||||
frozen=70
|
||||
fungus=80
|
||||
unwalkable=90
|
||||
[/defense]
|
||||
|
||||
[resistance]
|
||||
blade=100
|
||||
pierce=80
|
||||
impact=110
|
||||
fire=120
|
||||
cold=70
|
||||
arcane=40
|
||||
[/resistance]
|
||||
[/movetype]
|
||||
|
||||
[movetype]
|
||||
name=swimmer
|
||||
[movement_costs]
|
||||
|
|
|
@ -4,6 +4,10 @@
|
|||
name= _ "Boat"
|
||||
race=mechanical
|
||||
image="units/transport/boat.png"
|
||||
# ideally, we have "crew" that make sense for dialogs, and "mechanical" that depicts the transport
|
||||
# but for now, we just have "crew"
|
||||
# small_profile="portraits/transport/mechanical-boat.png"
|
||||
profile="portraits/transport/crew-boat.png"
|
||||
hitpoints=1
|
||||
movement_type=float
|
||||
movement=5
|
||||
|
|
163
data/core/units/boats/Derelict_Galleon.cfg
Normal file
|
@ -0,0 +1,163 @@
|
|||
#textdomain wesnoth-units
|
||||
[unit_type]
|
||||
id=Derelict Hulk
|
||||
name= _ "Derelict Hulk"
|
||||
race=transport
|
||||
profile="portraits/transport/derelict-hulk.webp"
|
||||
image="units/transport/derelict-galleon.png"
|
||||
hitpoints=24
|
||||
movement_type=ship
|
||||
movement=4
|
||||
experience=50
|
||||
level=0
|
||||
alignment=chaotic
|
||||
advances_to=null
|
||||
{AMLA_DEFAULT}
|
||||
cost=10
|
||||
usage=null
|
||||
description= _ "Derelicts are abandoned wrecks that continue to drift across the seas. Most are merely ruined ships that will soon sink, but there are tales of others that haunt certain waterways for generations."
|
||||
# we put the sprite on a non-primary frame group so we don't need to worry about effects
|
||||
# like submerge or making the ellipse bob
|
||||
[standing_anim]
|
||||
start_time=0
|
||||
terrain_type=W*
|
||||
boat_start_time=0
|
||||
boat_y=-1:250,-1~2:490,2:250,2~-1:490
|
||||
flag_y=-1:250,-1~2:490,2:250,2~-1:490
|
||||
flag_directional_x=1:350,0:390,-1:350,0:390
|
||||
[frame]
|
||||
image="misc/blank-hex.png:1480"
|
||||
[/frame]
|
||||
[boat_frame]
|
||||
image="units/transport/derelict-galleon-rock-[port,center,starboard,center].png:[350,390,350,390]"
|
||||
auto_vflip=no
|
||||
image_mod=~MASK(units/transport/pirate-galleon-mask.png)
|
||||
[/boat_frame]
|
||||
[flag_frame]
|
||||
image="units/transport/pirate-galleon-flag[1~3,2,1~3,2].png:[210*3,130,200*3,120]"
|
||||
auto_vflip=no
|
||||
[/flag_frame]
|
||||
[/standing_anim]
|
||||
[standing_anim]
|
||||
start_time=0
|
||||
terrain_type=S*,*^V*
|
||||
boat_start_time=0
|
||||
boat_y=0~2:740,2~0:740
|
||||
flag_y=0~2:740,2~0:740
|
||||
[frame]
|
||||
image="misc/blank-hex.png:1480"
|
||||
[/frame]
|
||||
[boat_frame]
|
||||
image="units/transport/derelict-galleon-rock-center.png:1480"
|
||||
auto_vflip=no
|
||||
image_mod=~MASK(units/transport/pirate-galleon-mask.png)
|
||||
[/boat_frame]
|
||||
[flag_frame]
|
||||
image="units/transport/pirate-galleon-flag[1~3,2,1~3,2].png:[210*3,130,200*3,120]"
|
||||
auto_vflip=no
|
||||
[/flag_frame]
|
||||
[/standing_anim]
|
||||
[movement_anim]
|
||||
start_time=0
|
||||
boat_start_time=0
|
||||
boat_y=0~-2:320,-2~0:320,0~2:320,2~0:320
|
||||
boat_offset="0~1:200,0~1:200,0~1:200,0~1:200,0~1:200,0~1:200,0~1:200"
|
||||
[frame]
|
||||
image="misc/blank-hex.png:1280"
|
||||
[/frame]
|
||||
[boat_frame]
|
||||
image="units/transport/derelict-galleon.png:1280"
|
||||
auto_vflip=no
|
||||
image_mod=~MASK(units/transport/pirate-galleon-mask.png)
|
||||
[/boat_frame]
|
||||
[/movement_anim]
|
||||
[defend]
|
||||
hits=hit,kill
|
||||
start_time=-80
|
||||
boat_start_time=-80
|
||||
[frame]
|
||||
image="misc/blank-hex.png:520"
|
||||
[/frame]
|
||||
[boat_frame]
|
||||
image="units/transport/derelict-galleon.png:100"
|
||||
auto_vflip=no
|
||||
image_mod=~MASK(units/transport/pirate-galleon-mask.png)
|
||||
[/boat_frame]
|
||||
[boat_frame]
|
||||
image="units/transport/derelict-galleon-hit-[1,2,1].png:[50,190,140]"
|
||||
sound=wose-hit.ogg
|
||||
auto_vflip=no
|
||||
image_mod=~MASK(units/transport/pirate-galleon-mask.png)
|
||||
[/boat_frame]
|
||||
[boat_frame]
|
||||
image="units/transport/derelict-galleon.png:40"
|
||||
auto_vflip=no
|
||||
image_mod=~MASK(units/transport/pirate-galleon-mask.png)
|
||||
[/boat_frame]
|
||||
[/defend]
|
||||
[death]
|
||||
start_time=0
|
||||
boat_start_time=-0
|
||||
boat_y=0~-3:80,-3~0:80,0~20:840
|
||||
boat_alpha=1.0:200,1.0~0.0:800
|
||||
[frame]
|
||||
image="misc/blank-hex.png:1400"
|
||||
[/frame]
|
||||
[boat_frame]
|
||||
image="units/transport/derelict-galleon-hit-1.png:200"
|
||||
auto_vflip=no
|
||||
image_mod=~MASK(units/transport/pirate-galleon-mask.png)
|
||||
[/boat_frame]
|
||||
[boat_frame]
|
||||
image="units/transport/derelict-galleon-sink.png:799"
|
||||
submerge=0.0~0.6:799
|
||||
auto_vflip=no
|
||||
[/boat_frame]
|
||||
[boat_frame]
|
||||
image="misc/blank-hex.png:1"
|
||||
[/boat_frame]
|
||||
[/death]
|
||||
[defend]
|
||||
hits=miss
|
||||
start_time=-80
|
||||
boat_start_time=-80
|
||||
[frame]
|
||||
image="misc/blank-hex.png:120"
|
||||
[/frame]
|
||||
[boat_frame]
|
||||
image="units/transport/derelict-galleon.png:120"
|
||||
auto_vflip=no
|
||||
image_mod=~MASK(units/transport/pirate-galleon-mask.png)
|
||||
[/boat_frame]
|
||||
[/defend]
|
||||
[attack]
|
||||
name=jetsam
|
||||
description=_"jetsam"
|
||||
icon=attacks/jetsam.png
|
||||
type=impact
|
||||
range=ranged
|
||||
damage=4
|
||||
number=2
|
||||
[/attack]
|
||||
[attack_anim]
|
||||
[filter_attack]
|
||||
name=jetsam
|
||||
[/filter_attack]
|
||||
start_time=-200
|
||||
missile_start_time=-150
|
||||
boat_start_time=-200
|
||||
[missile_frame]
|
||||
duration=150
|
||||
image="projectiles/thorns.png"
|
||||
image_diagonal="projectiles/thorns-ne.png"
|
||||
[/missile_frame]
|
||||
[boat_frame]
|
||||
image="units/transport/derelict-galleon.png:300"
|
||||
auto_vflip=no
|
||||
image_mod=~MASK(units/transport/pirate-galleon-mask.png)
|
||||
[/boat_frame]
|
||||
[frame]
|
||||
image="misc/blank-hex.png:300"
|
||||
[/frame]
|
||||
[/attack_anim]
|
||||
[/unit_type]
|
192
data/core/units/boats/Fireship.cfg
Normal file
|
@ -0,0 +1,192 @@
|
|||
#textdomain wesnoth-units
|
||||
[unit_type]
|
||||
id=Fireship
|
||||
name= _ "Fireship"
|
||||
race=transport
|
||||
image="halo/transport/fireship-back-glow.png~BLIT(units/transport/fireship.png)~BLIT(units/transport/flames/fireship-2.png)"
|
||||
profile="portraits/transport/fireship.webp"
|
||||
hitpoints=12
|
||||
movement_type=ship
|
||||
movement=4
|
||||
experience=50
|
||||
level=0
|
||||
alignment=neutral
|
||||
advances_to=null
|
||||
{AMLA_DEFAULT}
|
||||
cost=10
|
||||
usage=null
|
||||
description= _ "Fireships are generally derelict or doomed ships set ablaze to create chaos in one last act of belligerence. Their main hazard is fiery collision, but they also shed burning embers. Sometimes they have a skeleton crew to guide them, but often they just drift along on unseen winds and currents."
|
||||
# we put the sprite on a non-primary frame group so we don't need to worry about effects
|
||||
# like submerge or making the ellipse bob
|
||||
[standing_anim]
|
||||
start_time=0
|
||||
terrain_type=W*
|
||||
boat_start_time=0
|
||||
boat_y=-1:250,-1~2:490,2:250,2~-1:490
|
||||
flames_start_time=0
|
||||
flames_y=-1:250,-1~2:490,2:250,2~-1:490
|
||||
flames_directional_x=1:350,0:390,-1:350,0:390
|
||||
[frame]
|
||||
image="halo/transport/fireship-back-glow.png:1480"
|
||||
layer=9
|
||||
[/frame]
|
||||
[boat_frame]
|
||||
image="units/transport/fireship-[port,mid,starboard,mid].png:[350,390,350,390]"
|
||||
auto_vflip=no
|
||||
image_mod=~MASK(units/transport/pirate-galleon-mask.png)
|
||||
primary=yes
|
||||
layer=40
|
||||
[/boat_frame]
|
||||
[fire_frame]
|
||||
image="units/transport/fireship-back-fire[1,2,1,2,1,2,1,2].png:[185*8]"
|
||||
auto_vflip=no
|
||||
layer=41
|
||||
[/fire_frame]
|
||||
[flames_frame]
|
||||
image="units/transport/flames/fireship-[1~9,1~9].png:[82*10,86,82*7]"
|
||||
auto_vflip=no
|
||||
layer=42
|
||||
[/flames_frame]
|
||||
[/standing_anim]
|
||||
[movement_anim]
|
||||
start_time=0
|
||||
boat_start_time=0
|
||||
boat_y=0~-2:320,-2~0:320,0~2:320,2~0:320
|
||||
boat_offset="0~1:200,0~1:200,0~1:200,0~1:200,0~1:200,0~1:200,0~1:200"
|
||||
[frame]
|
||||
image="halo/transport/fireship-back-glow.png:1280"
|
||||
layer=9
|
||||
[/frame]
|
||||
[boat_frame]
|
||||
image="units/transport/fireship-mid.png~BLIT(units/transport/fireship-back-fire2.png)~BLIT(units/transport/flames/fireship-2.png):1280"
|
||||
auto_vflip=no
|
||||
image_mod=~MASK(units/transport/pirate-galleon-mask.png)
|
||||
[/boat_frame]
|
||||
[/movement_anim]
|
||||
[defend]
|
||||
hits=hit,kill
|
||||
start_time=-40
|
||||
boat_start_time=-40
|
||||
boat_y=-1~2:330,2~-1:330
|
||||
flames_start_time=-40
|
||||
flames_y=-1~2:330,2~-1:330
|
||||
[frame]
|
||||
image="halo/transport/fireship-back-glow.png:660"
|
||||
layer=9
|
||||
[/frame]
|
||||
[boat_frame]
|
||||
halo="projectiles/fireball-impact-[5~16].png:60"
|
||||
image="units/transport/fireship-mid.png~BLIT(units/transport/fireship-back-fire2.png):660"
|
||||
auto_vflip=no
|
||||
image_mod=~MASK(units/transport/pirate-galleon-mask.png)
|
||||
[/boat_frame]
|
||||
[flames_frame]
|
||||
image="units/transport/flames/fireship-[1~7].png:[96,94*6]"
|
||||
auto_vflip=no
|
||||
layer=42
|
||||
[/flames_frame]
|
||||
[/defend]
|
||||
[death]
|
||||
start_time=0
|
||||
boat_start_time=-0
|
||||
# boat_y=0~-3:80,-3~0:80,0~20:840
|
||||
boat_y=0~-3:80,-3~0:80,0~6:400,6~20:440
|
||||
boat_alpha=1.0:200,1.0~0.0:800
|
||||
smoke_start_time=100
|
||||
smoke_y=0~-10:900
|
||||
[frame]
|
||||
image="misc/blank-hex.png:1000"
|
||||
[/frame]
|
||||
[boat_frame]
|
||||
image="units/transport/fireship-mid.png~BLIT(units/transport/fireship-back-fire2.png):39"
|
||||
auto_vflip=no
|
||||
image_mod=~MASK(units/transport/pirate-galleon-mask.png)
|
||||
[/boat_frame]
|
||||
[boat_frame]
|
||||
image="units/transport/fireship-sink.png:960"
|
||||
submerge=0.0~0.2:400,0.2~0.65:560
|
||||
auto_vflip=no
|
||||
[/boat_frame]
|
||||
[boat_frame]
|
||||
image="misc/blank-hex.png:1"
|
||||
[/boat_frame]
|
||||
[smoke_frame]
|
||||
image="halo/transport/smoke-[1,2,3].png:[100,150,650]"
|
||||
alpha=1.0:200,1.0~0.0:500,0.0:200
|
||||
auto_vflip=no
|
||||
[/smoke_frame]
|
||||
[/death]
|
||||
[defend]
|
||||
hits=miss
|
||||
start_time=-80
|
||||
boat_start_time=-80
|
||||
[frame]
|
||||
image="halo/transport/fireship-back-glow.png:120"
|
||||
layer=9
|
||||
[/frame]
|
||||
[boat_frame]
|
||||
image="units/transport/fireship-mid.png~BLIT(units/transport/fireship-back-fire2.png)~BLIT(units/transport/flames/fireship-2.png):120"
|
||||
auto_vflip=no
|
||||
image_mod=~MASK(units/transport/pirate-galleon-mask.png)
|
||||
[/boat_frame]
|
||||
[/defend]
|
||||
[attack]
|
||||
name=ember
|
||||
description=_"ember"
|
||||
icon=attacks/ember.png
|
||||
type=fire
|
||||
range=ranged
|
||||
damage=3
|
||||
number=2
|
||||
[/attack]
|
||||
[attack]
|
||||
name=crash
|
||||
description=_"crash"
|
||||
icon=attacks/fire-hull.png
|
||||
type=fire
|
||||
range=melee
|
||||
[specials]
|
||||
{WEAPON_SPECIAL_CHARGE}
|
||||
[/specials]
|
||||
damage=5
|
||||
number=1
|
||||
[/attack]
|
||||
[attack_anim]
|
||||
[filter_attack]
|
||||
name=ember
|
||||
[/filter_attack]
|
||||
start_time=-200
|
||||
missile_start_time=-150
|
||||
boat_start_time=-200
|
||||
[missile_frame]
|
||||
duration=150
|
||||
image="projectiles/misfire-spark-[1~4].png:[120,60*3]"
|
||||
[/missile_frame]
|
||||
[boat_frame]
|
||||
image="units/transport/fireship-mid.png~BLIT(units/transport/fireship-back-fire2.png)~BLIT(units/transport/flames/fireship-2.png):300"
|
||||
auto_vflip=no
|
||||
image_mod=~MASK(units/transport/pirate-galleon-mask.png)
|
||||
[/boat_frame]
|
||||
[frame]
|
||||
image="halo/transport/fireship-back-glow.png:300"
|
||||
layer=9
|
||||
[/frame]
|
||||
[/attack_anim]
|
||||
[attack_anim]
|
||||
[filter_attack]
|
||||
name=crash
|
||||
[/filter_attack]
|
||||
start_time=-150
|
||||
boat_start_time=-150
|
||||
boat_offset=0.0~0.7:150,0.7~0.0:250
|
||||
[boat_frame]
|
||||
image="units/transport/fireship-mid.png~BLIT(units/transport/fireship-back-fire2.png)~BLIT(units/transport/flames/fireship-2.png):400"
|
||||
auto_vflip=no
|
||||
image_mod=~MASK(units/transport/pirate-galleon-mask.png)
|
||||
[/boat_frame]
|
||||
[frame]
|
||||
image="halo/transport/fireship-back-glow.png:400"
|
||||
layer=9
|
||||
[/frame]
|
||||
[/attack_anim]
|
||||
[/unit_type]
|
|
@ -6,6 +6,10 @@
|
|||
name= _ "Galleon"
|
||||
race=mechanical
|
||||
image="units/transport/galleon.png"
|
||||
# ideally, we have "crew" that make sense for dialogs, and "mechanical" that depicts the transport
|
||||
# but for now, we just have "crew"
|
||||
# small_profile="portraits/transport/mechanical-galleon.png"
|
||||
profile="portraits/transport/crew-galleon.png"
|
||||
hitpoints=1
|
||||
movement_type=float
|
||||
movement=10
|
||||
|
|
|
@ -2,19 +2,159 @@
|
|||
[unit_type]
|
||||
id=Pirate Galleon
|
||||
name= _ "Pirate Galleon"
|
||||
race=mechanical
|
||||
race=transport
|
||||
image="units/transport/pirate-galleon.png"
|
||||
# ideally, we have "crew" that make sense for dialogs, and "mechanical" that depicts the transport
|
||||
# but for now, we just have "crew"
|
||||
# small_profile="portraits/transport/mechanical-pirate-galleon.png"
|
||||
profile="portraits/transport/crew-pirate-galleon.png"
|
||||
hitpoints=35
|
||||
movement_type=float
|
||||
movement_type=ship
|
||||
movement=5
|
||||
experience=50
|
||||
level=1
|
||||
alignment=lawful
|
||||
# "lawful" doesn't really make sense thematically, if these are "outlaws of the sea"
|
||||
alignment=liminal
|
||||
advances_to=null
|
||||
{AMLA_DEFAULT}
|
||||
cost=15
|
||||
usage=null
|
||||
description= _ "Pirate galleons are to transport ships what wolves are to sheep. The pirates who crew them are more than happy to help relieve other ships of their weighty cargo."
|
||||
# we put the sprite on a non-primary frame group so we don't need to worry about effects
|
||||
# like submerge or making the ellipse bob
|
||||
[standing_anim]
|
||||
start_time=0
|
||||
terrain_type=Wo*
|
||||
boat_start_time=0
|
||||
flag_start_time=0
|
||||
boat_y=-2:200,-2~3:440,3:300,3~-2:440
|
||||
flag_y=-2:200,-2~3:440,3:300,3~-2:440
|
||||
flag_directional_x=0:540,-1:250,-2:340,-1:150
|
||||
[frame]
|
||||
image="misc/blank-hex.png:1380"
|
||||
[/frame]
|
||||
[boat_frame]
|
||||
image="units/transport/pirate-galleon-bob-[1,2,3,2].png:[540,250,440,150]"
|
||||
auto_vflip=no
|
||||
image_mod=~MASK(units/transport/pirate-galleon-mask.png)
|
||||
[/boat_frame]
|
||||
[flag_frame]
|
||||
image="units/transport/pirate-galleon-flag[1~3,2,1~3,2].png:[200*3,110,190*3,100]"
|
||||
auto_vflip=no
|
||||
[/flag_frame]
|
||||
[/standing_anim]
|
||||
[standing_anim]
|
||||
start_time=0
|
||||
terrain_type=Ww*
|
||||
boat_start_time=0
|
||||
boat_y=-1:250,-1~2:490,2:250,2~-1:490
|
||||
flag_y=-1:250,-1~2:490,2:250,2~-1:490
|
||||
flag_directional_x=1:350,0:390,-1:350,0:390
|
||||
[frame]
|
||||
image="misc/blank-hex.png:1480"
|
||||
[/frame]
|
||||
[boat_frame]
|
||||
image="units/transport/pirate-galleon-[rock-port,bob-1,rock-starboard,bob-1].png:[350,390,350,390]"
|
||||
auto_vflip=no
|
||||
image_mod=~MASK(units/transport/pirate-galleon-mask.png)
|
||||
[/boat_frame]
|
||||
[flag_frame]
|
||||
image="units/transport/pirate-galleon-flag[1~3,2,1~3,2].png:[210*3,130,200*3,120]"
|
||||
auto_vflip=no
|
||||
[/flag_frame]
|
||||
[/standing_anim]
|
||||
[standing_anim]
|
||||
start_time=0
|
||||
terrain_type=S*,*^V*
|
||||
boat_start_time=0
|
||||
boat_y=0~2:740,2~0:740
|
||||
flag_y=0~2:740,2~0:740
|
||||
[frame]
|
||||
image="misc/blank-hex.png:1480"
|
||||
[/frame]
|
||||
[boat_frame]
|
||||
image="units/transport/pirate-galleon-bob-1.png:1480"
|
||||
auto_vflip=no
|
||||
image_mod=~MASK(units/transport/pirate-galleon-mask.png)
|
||||
[/boat_frame]
|
||||
[flag_frame]
|
||||
image="units/transport/pirate-galleon-flag[1~3,2,1~3,2].png:[210*3,130,200*3,120]"
|
||||
auto_vflip=no
|
||||
[/flag_frame]
|
||||
[/standing_anim]
|
||||
[movement_anim]
|
||||
start_time=0
|
||||
boat_start_time=0
|
||||
boat_y=0~-2:320,-2~0:320,0~2:320,2~0:320
|
||||
boat_offset="0~1:200,0~1:200,0~1:200,0~1:200,0~1:200,0~1:200,0~1:200"
|
||||
[frame]
|
||||
image="misc/blank-hex.png:1280"
|
||||
[/frame]
|
||||
[boat_frame]
|
||||
image="units/transport/pirate-galleon.png:1280"
|
||||
auto_vflip=no
|
||||
image_mod=~MASK(units/transport/pirate-galleon-mask.png)
|
||||
[/boat_frame]
|
||||
[/movement_anim]
|
||||
[defend]
|
||||
hits=hit,kill
|
||||
start_time=-80
|
||||
boat_start_time=-80
|
||||
[frame]
|
||||
image="misc/blank-hex.png:520"
|
||||
[/frame]
|
||||
[boat_frame]
|
||||
image="units/transport/pirate-galleon.png:120"
|
||||
auto_vflip=no
|
||||
image_mod=~MASK(units/transport/pirate-galleon-mask.png)
|
||||
[/boat_frame]
|
||||
[boat_frame]
|
||||
image="units/transport/pirate-galleon-roll-[1,3~1].png:[70,120,100,70]"
|
||||
sound=wose-hit.ogg
|
||||
auto_vflip=no
|
||||
image_mod=~MASK(units/transport/pirate-galleon-mask.png)
|
||||
[/boat_frame]
|
||||
[boat_frame]
|
||||
image="units/transport/pirate-galleon.png:40"
|
||||
auto_vflip=no
|
||||
image_mod=~MASK(units/transport/pirate-galleon-mask.png)
|
||||
[/boat_frame]
|
||||
[/defend]
|
||||
[death]
|
||||
start_time=0
|
||||
boat_start_time=-0
|
||||
boat_y=0~-3:425,-3~0:425,0~6:550
|
||||
boat_alpha=1.0:850,1.0~0.0:550
|
||||
[frame]
|
||||
image="misc/blank-hex.png:1400"
|
||||
[/frame]
|
||||
[boat_frame]
|
||||
image="units/transport/pirate-galleon-roll-[1~3].png:[160,130,100]"
|
||||
auto_vflip=no
|
||||
image_mod=~MASK(units/transport/pirate-galleon-mask.png)
|
||||
[/boat_frame]
|
||||
[boat_frame]
|
||||
image="units/transport/pirate-galleon-die-[1~3].png:[120,170,719]"
|
||||
auto_vflip=no
|
||||
# image_mod=~MASK(units/transport/pirate-galleon-mask.png)
|
||||
[/boat_frame]
|
||||
[boat_frame]
|
||||
image="misc/blank-hex.png:1"
|
||||
[/boat_frame]
|
||||
[/death]
|
||||
[defend]
|
||||
hits=miss
|
||||
start_time=-80
|
||||
boat_start_time=-80
|
||||
[frame]
|
||||
image="misc/blank-hex.png:120"
|
||||
[/frame]
|
||||
[boat_frame]
|
||||
image="units/transport/pirate-galleon.png:120"
|
||||
auto_vflip=no
|
||||
image_mod=~MASK(units/transport/pirate-galleon-mask.png)
|
||||
[/boat_frame]
|
||||
[/defend]
|
||||
[attack]
|
||||
name=ballista
|
||||
description=_"ballista"
|
||||
|
@ -28,11 +168,21 @@
|
|||
[filter_attack]
|
||||
name=ballista
|
||||
[/filter_attack]
|
||||
missile_start_time=-50
|
||||
start_time=-200
|
||||
missile_start_time=-150
|
||||
boat_start_time=-200
|
||||
[missile_frame]
|
||||
duration=50
|
||||
image="projectiles/bullet.png"
|
||||
image_diagonal="projectiles/bullet.png"
|
||||
duration=150
|
||||
image="projectiles/missile-n.png"
|
||||
image_diagonal="projectiles/missile-ne.png"
|
||||
[/missile_frame]
|
||||
[boat_frame]
|
||||
image="units/transport/pirate-galleon.png:300"
|
||||
auto_vflip=no
|
||||
image_mod=~MASK(units/transport/pirate-galleon-mask.png)
|
||||
[/boat_frame]
|
||||
[frame]
|
||||
image="misc/blank-hex.png:300"
|
||||
[/frame]
|
||||
[/attack_anim]
|
||||
[/unit_type]
|
||||
|
|
|
@ -2,10 +2,14 @@
|
|||
[unit_type]
|
||||
id=Transport Galleon
|
||||
name= _ "Transport Galleon"
|
||||
race=mechanical
|
||||
race=transport
|
||||
image="units/transport/transport-galleon.png"
|
||||
# ideally, we have "crew" that make sense for dialogs, and "mechanical" that depicts the transport
|
||||
# but for now, we just have "crew"
|
||||
# small_profile="portraits/transport/mechanical-transport-galleon.png"
|
||||
profile="portraits/transport/mechanical-transport-galleon.png"
|
||||
hitpoints=30
|
||||
movement_type=float
|
||||
movement_type=ship
|
||||
movement=6
|
||||
experience=50
|
||||
level=1
|
||||
|
@ -15,6 +19,140 @@
|
|||
cost=14
|
||||
description= _ "Transport Galleons are well-armed ships that carry troops. If they reach the shore, they can land the troops to attack."
|
||||
usage=null
|
||||
# we put the sprite on a non-primary frame group so we don't need to worry about effects
|
||||
# like submerge or making the ellipse bob
|
||||
[standing_anim]
|
||||
start_time=0
|
||||
terrain_type=Wo*
|
||||
boat_start_time=0
|
||||
flag_start_time=0
|
||||
boat_y=-2:200,-2~3:440,3:300,3~-2:440
|
||||
flag_y=-2:200,-2~3:440,3:300,3~-2:440
|
||||
flag_directional_x=0:540,-1:250,-2:340,-1:150
|
||||
[frame]
|
||||
image="misc/blank-hex.png:1380"
|
||||
[/frame]
|
||||
[boat_frame]
|
||||
image="units/transport/transport-galleon-bob-[1,2,3,2].png:[540,250,440,150]"
|
||||
auto_vflip=no
|
||||
image_mod=~MASK(units/transport/transport-galleon-mask.png)
|
||||
[/boat_frame]
|
||||
[flag_frame]
|
||||
image="units/transport/transport-galleon-flag[1~3,2,1~3,2].png:[200*3,110,190*3,100]"
|
||||
auto_vflip=no
|
||||
[/flag_frame]
|
||||
[/standing_anim]
|
||||
[standing_anim]
|
||||
start_time=0
|
||||
terrain_type=Ww*
|
||||
boat_start_time=0
|
||||
boat_y=-1:250,-1~2:490,2:250,2~-1:490
|
||||
flag_y=-1:250,-1~2:490,2:250,2~-1:490
|
||||
flag_directional_x=1:350,0:390,-1:350,0:390
|
||||
[frame]
|
||||
image="misc/blank-hex.png:1480"
|
||||
[/frame]
|
||||
[boat_frame]
|
||||
image="units/transport/transport-galleon-[rock-port,bob-1,rock-starboard,bob-1].png:[350,390,350,390]"
|
||||
auto_vflip=no
|
||||
image_mod=~MASK(units/transport/transport-galleon-mask.png)
|
||||
[/boat_frame]
|
||||
[flag_frame]
|
||||
image="units/transport/transport-galleon-flag[1~3,2,1~3,2].png:[210*3,130,200*3,120]"
|
||||
auto_vflip=no
|
||||
[/flag_frame]
|
||||
[/standing_anim]
|
||||
[standing_anim]
|
||||
start_time=0
|
||||
terrain_type=S*,*^V*
|
||||
boat_start_time=0
|
||||
boat_y=0~2:740,2~0:740
|
||||
flag_y=0~2:740,2~0:740
|
||||
[frame]
|
||||
image="misc/blank-hex.png:1480"
|
||||
[/frame]
|
||||
[boat_frame]
|
||||
image="units/transport/transport-galleon-bob-1.png:1480"
|
||||
auto_vflip=no
|
||||
image_mod=~MASK(units/transport/transport-galleon-mask.png)
|
||||
[/boat_frame]
|
||||
[flag_frame]
|
||||
image="units/transport/transport-galleon-flag[1~3,2,1~3,2].png:[210*3,130,200*3,120]"
|
||||
auto_vflip=no
|
||||
[/flag_frame]
|
||||
[/standing_anim]
|
||||
[movement_anim]
|
||||
start_time=0
|
||||
boat_start_time=0
|
||||
boat_y=0~-2:320,-2~0:320,0~2:320,2~0:320
|
||||
boat_offset="0~1:200,0~1:200,0~1:200,0~1:200,0~1:200,0~1:200,0~1:200"
|
||||
[frame]
|
||||
image="misc/blank-hex.png:1280"
|
||||
[/frame]
|
||||
[boat_frame]
|
||||
image="units/transport/transport-galleon.png:1280"
|
||||
auto_vflip=no
|
||||
image_mod=~MASK(units/transport/transport-galleon-mask.png)
|
||||
[/boat_frame]
|
||||
[/movement_anim]
|
||||
[defend]
|
||||
hits=hit,kill
|
||||
start_time=-80
|
||||
boat_start_time=-80
|
||||
[frame]
|
||||
image="misc/blank-hex.png:520"
|
||||
[/frame]
|
||||
[boat_frame]
|
||||
image="units/transport/transport-galleon.png:120"
|
||||
auto_vflip=no
|
||||
image_mod=~MASK(units/transport/transport-galleon-mask.png)
|
||||
[/boat_frame]
|
||||
[boat_frame]
|
||||
image="units/transport/transport-galleon-roll-[1,3~1].png:[70,120,100,70]"
|
||||
sound=wose-hit.ogg
|
||||
auto_vflip=no
|
||||
image_mod=~MASK(units/transport/transport-galleon-mask.png)
|
||||
[/boat_frame]
|
||||
[boat_frame]
|
||||
image="units/transport/transport-galleon.png:40"
|
||||
auto_vflip=no
|
||||
image_mod=~MASK(units/transport/transport-galleon-mask.png)
|
||||
[/boat_frame]
|
||||
[/defend]
|
||||
[death]
|
||||
start_time=0
|
||||
boat_start_time=-0
|
||||
boat_y=0~-3:425,-3~0:425,0~6:550
|
||||
boat_alpha=1.0:850,1.0~0.0:550
|
||||
[frame]
|
||||
image="misc/blank-hex.png:801"
|
||||
[/frame]
|
||||
[boat_frame]
|
||||
image="units/transport/transport-galleon-roll-[1~3].png:[160,130,100]"
|
||||
auto_vflip=no
|
||||
image_mod=~MASK(units/transport/transport-galleon-mask.png)
|
||||
[/boat_frame]
|
||||
[boat_frame]
|
||||
image="units/transport/transport-galleon-die-[1~3].png:[120,170,719]"
|
||||
auto_vflip=no
|
||||
[/boat_frame]
|
||||
[boat_frame]
|
||||
image="misc/blank-hex.png:1"
|
||||
[/boat_frame]
|
||||
[/death]
|
||||
[defend]
|
||||
hits=miss
|
||||
start_time=-80
|
||||
boat_start_time=-80
|
||||
[frame]
|
||||
image="misc/blank-hex.png:120"
|
||||
[/frame]
|
||||
[boat_frame]
|
||||
image="units/transport/transport-galleon.png:120"
|
||||
auto_vflip=no
|
||||
image_mod=~MASK(units/transport/transport-galleon-mask.png)
|
||||
[/boat_frame]
|
||||
[/defend]
|
||||
[attack]
|
||||
name=ballista
|
||||
description=_"ballista"
|
||||
|
@ -28,11 +166,21 @@
|
|||
[filter_attack]
|
||||
name=ballista
|
||||
[/filter_attack]
|
||||
start_time=-200
|
||||
missile_start_time=-150
|
||||
boat_start_time=-200
|
||||
[missile_frame]
|
||||
duration=150
|
||||
image="projectiles/bullet.png"
|
||||
image_diagonal="projectiles/bullet.png"
|
||||
image="projectiles/missile-n.png"
|
||||
image_diagonal="projectiles/missile-ne.png"
|
||||
[/missile_frame]
|
||||
[boat_frame]
|
||||
image="units/transport/transport-galleon.png:300"
|
||||
auto_vflip=no
|
||||
image_mod=~MASK(units/transport/transport-galleon-mask.png)
|
||||
[/boat_frame]
|
||||
[frame]
|
||||
image="misc/blank-hex.png:300"
|
||||
[/frame]
|
||||
[/attack_anim]
|
||||
[/unit_type]
|
||||
|
|