From 47285ae30eb3e8e86d6078d5b0ed3c8e061055f0 Mon Sep 17 00:00:00 2001 From: Celtic Minstrel Date: Sun, 29 Jul 2018 21:10:34 -0400 Subject: [PATCH] Move the merman citizen and brawler units to core --- data/campaigns/Dead_Water/_main.cfg | 21 -- data/campaigns/Dead_Water/units/Brawler.cfg | 192 ------------------ data/campaigns/Dead_Water/utils/specials.cfg | 13 -- .../images/portraits/merfolk}/brawler.png | Bin .../images/units/merfolk/brawler-defend.png | Bin .../images/units/merfolk/brawler-fist-1.png | Bin .../images/units/merfolk/brawler-fist-2.png | Bin .../images/units/merfolk/brawler-fist-3.png | Bin .../units/merfolk/brawler-tail-land-1.png | Bin .../units/merfolk/brawler-tail-land-2.png | Bin .../units/merfolk/brawler-tail-land-3.png | Bin .../units/merfolk/brawler-tail-land-4.png | Bin .../units/merfolk/brawler-tail-land-5.png | Bin .../images/units/merfolk/brawler.png | Bin .../images/units/merfolk/child_king.png | Bin .../images/units/merfolk/citizen-defend.png | Bin .../images/units/merfolk/citizen-fist-1.png | Bin .../images/units/merfolk/citizen-fist-2.png | Bin .../images/units/merfolk/citizen-fist-3.png | Bin .../images/units/merfolk/citizen.png | Bin .../images/units/merfolk/soldier_king.png | Bin .../images/units/merfolk/warrior_king.png | Bin .../images/units/merfolk/young_king.png | Bin data/core/macros/abilities.cfg | 154 +++++++++++++- data/core/macros/special-notes.cfg | 3 + data/core/units/merfolk/Brawler.cfg | 72 +++++++ .../units => core/units/merfolk}/Citizen.cfg | 2 +- 27 files changed, 229 insertions(+), 228 deletions(-) delete mode 100644 data/campaigns/Dead_Water/units/Brawler.cfg delete mode 100644 data/campaigns/Dead_Water/utils/specials.cfg rename data/{campaigns/Dead_Water/images/portraits => core/images/portraits/merfolk}/brawler.png (100%) rename data/{campaigns/Dead_Water => core}/images/units/merfolk/brawler-defend.png (100%) rename data/{campaigns/Dead_Water => core}/images/units/merfolk/brawler-fist-1.png (100%) rename data/{campaigns/Dead_Water => core}/images/units/merfolk/brawler-fist-2.png (100%) rename data/{campaigns/Dead_Water => core}/images/units/merfolk/brawler-fist-3.png (100%) rename data/{campaigns/Dead_Water => core}/images/units/merfolk/brawler-tail-land-1.png (100%) rename data/{campaigns/Dead_Water => core}/images/units/merfolk/brawler-tail-land-2.png (100%) rename data/{campaigns/Dead_Water => core}/images/units/merfolk/brawler-tail-land-3.png (100%) rename data/{campaigns/Dead_Water => core}/images/units/merfolk/brawler-tail-land-4.png (100%) rename data/{campaigns/Dead_Water => core}/images/units/merfolk/brawler-tail-land-5.png (100%) rename data/{campaigns/Dead_Water => core}/images/units/merfolk/brawler.png (100%) rename data/{campaigns/Dead_Water => core}/images/units/merfolk/child_king.png (100%) rename data/{campaigns/Dead_Water => core}/images/units/merfolk/citizen-defend.png (100%) rename data/{campaigns/Dead_Water => core}/images/units/merfolk/citizen-fist-1.png (100%) rename data/{campaigns/Dead_Water => core}/images/units/merfolk/citizen-fist-2.png (100%) rename data/{campaigns/Dead_Water => core}/images/units/merfolk/citizen-fist-3.png (100%) rename data/{campaigns/Dead_Water => core}/images/units/merfolk/citizen.png (100%) rename data/{campaigns/Dead_Water => core}/images/units/merfolk/soldier_king.png (100%) rename data/{campaigns/Dead_Water => core}/images/units/merfolk/warrior_king.png (100%) rename data/{campaigns/Dead_Water => core}/images/units/merfolk/young_king.png (100%) create mode 100644 data/core/units/merfolk/Brawler.cfg rename data/{campaigns/Dead_Water/units => core/units/merfolk}/Citizen.cfg (97%) diff --git a/data/campaigns/Dead_Water/_main.cfg b/data/campaigns/Dead_Water/_main.cfg index 4dbeb808031b6..9f8b048d1d71c 100644 --- a/data/campaigns/Dead_Water/_main.cfg +++ b/data/campaigns/Dead_Water/_main.cfg @@ -72,27 +72,6 @@ [/units] {campaigns/Dead_Water/scenarios} - -[lua] - code=<< - local _ = wesnoth.textdomain "wesnoth-dw" - local old_unit_status = wesnoth.theme_items.unit_status - - function wesnoth.theme_items.unit_status() - local u = wesnoth.get_displayed_unit() - if not u then return {} end - local s = old_unit_status() - - if u.status.stunned then - table.insert(s, { "element", { image = "misc/stunned-status-icon.png", - tooltip = _"stunned: This unit is stunned. It cannot enforce its Zone of Control." - } } ) - end - - return s - end - >> -[/lua] #endif # wmllint: directory spellings kai Krellis Dorth Jotha Tirigaz Laudiss diff --git a/data/campaigns/Dead_Water/units/Brawler.cfg b/data/campaigns/Dead_Water/units/Brawler.cfg deleted file mode 100644 index e32cd2f98d229..0000000000000 --- a/data/campaigns/Dead_Water/units/Brawler.cfg +++ /dev/null @@ -1,192 +0,0 @@ -#textdomain wesnoth-dw -[unit_type] - id=Merman Brawler - name= _ "Merman Brawler" - profile="portraits/brawler.png" - race=merman - image="units/merfolk/brawler.png" - hitpoints=38 - movement_type=swimmer - movement=6 - level=1 - experience=50 - {AMLA_DEFAULT} - alignment=lawful - cost=19 - usage=fighter - description= _ "Exceptionally large and strong mermen are sometimes more comfortable with their own fists and tails than with other weapons."+{SPECIAL_NOTES}+{SPECIAL_NOTES_STUN} - die_sound=mermen-die.ogg - {DEFENSE_ANIM "units/merfolk/brawler-defend.png" "units/merfolk/brawler-defend.png" mermen-hit.wav } - [attack] - name=fist-merman - #textdomain wesnoth-units - description=_"fist" - type=impact - range=melee - damage=5 - number=4 - [/attack] - [attack] - name=tail-merman - description=_"tail" - #textdomain wesnoth-dw - type=impact - range=melee - damage=9 - number=2 - [specials] - {WEAPON_SPECIAL_STUN} - [/specials] - [/attack] - - [attack_anim] - [filter_attack] - name=fist-merman - [/filter_attack] - start_time=-300 - [frame] - image="units/merfolk/brawler.png:50" - [/frame] - [frame] - image="units/merfolk/brawler-fist-[1~3].png:[200,100*2]" - [/frame] - {SOUND:HIT_AND_MISS fist.ogg dagger-swish.wav -50} - [frame] - image="units/merfolk/brawler.png:50" - [/frame] - [/attack_anim] - - [attack_anim] - [filter_attack] - name=tail-merman - [/filter_attack] - start_time=-140 - {SOUND:HIT_AND_MISS fist.ogg dagger-swish.wav -50} - [frame] - image="units/merfolk/brawler-tail-land-[1,3,5~1].png:[30*2,80,30,80*3]" - [/frame] - [frame] - image="units/merfolk/brawler.png:80" - [/frame] - [/attack_anim] - - [event] - name=attacker_hits - first_time_only=no - - [filter_attack] - special=tail_stun - [/filter_attack] - - [filter_second] - [not] - level=0 - [or] - status=stunned - [/or] - [/not] - [/filter_second] - - {VARIABLE second_unit.status.stunned yes} - - [unstore_unit] - variable=second_unit - find_vacant=no - male_text= _ "stunned" - female_text= _ "female^stunned" - red,green,blue=196,196,128 - [/unstore_unit] - - [object] - silent=yes - duration=turn end - - [filter] - x,y=$x2,$y2 - [/filter] - - [effect] - apply_to=image_mod - replace="CS(50,50,0)" - [/effect] - - [effect] - apply_to=zoc - value=no - [/effect] - [/object] - [/event] - - [event] - name=defender_hits - first_time_only=no - - [filter_second_attack] - special=tail_stun - [/filter_second_attack] - - [filter] - [not] - level=0 - [or] - status=stunned - [/or] - [/not] - [/filter] - - {VARIABLE unit.status.stunned yes} - - [unstore_unit] - variable=unit - find_vacant=no - male_text= _ "stunned" - female_text= _ "female^stunned" - red,green,blue=196,196,128 - [/unstore_unit] - - [object] - silent=yes - duration=turn end - - [filter] - x,y=$x1,$y1 - [/filter] - - [effect] - apply_to=image_mod - replace="CS(50,50,0)" - [/effect] - - [effect] - apply_to=zoc - value=no - [/effect] - [/object] - [/event] - - [event] - name=side turn end - first_time_only=no - - [store_unit] - [filter] - side=$side_number - status=stunned - [/filter] - variable=stunned - [/store_unit] - - [foreach] - array=stunned - [do] - {CLEAR_VARIABLE this_item.status.stunned} - - [unstore_unit] - variable=this_item - [/unstore_unit] - [/do] - [/foreach] - - {CLEAR_VARIABLE stunned} - [/event] -[/unit_type] diff --git a/data/campaigns/Dead_Water/utils/specials.cfg b/data/campaigns/Dead_Water/utils/specials.cfg deleted file mode 100644 index b51d5a5aac77c..0000000000000 --- a/data/campaigns/Dead_Water/utils/specials.cfg +++ /dev/null @@ -1,13 +0,0 @@ -#textdomain wesnoth-dw - -#define SPECIAL_NOTES_STUN -_ " This unit is able to stun its enemies, disrupting their zones of control."#enddef - -#define WEAPON_SPECIAL_STUN - [damage] - id=tail_stun - name= _ "stun" - description= _ "This attack hits so hard that the opponent is dazed and can no longer enforce a zone of control. The effect wears off on the opponent’s next turn." - multiply=1 - [/damage] -#enddef diff --git a/data/campaigns/Dead_Water/images/portraits/brawler.png b/data/core/images/portraits/merfolk/brawler.png similarity index 100% rename from data/campaigns/Dead_Water/images/portraits/brawler.png rename to data/core/images/portraits/merfolk/brawler.png diff --git a/data/campaigns/Dead_Water/images/units/merfolk/brawler-defend.png b/data/core/images/units/merfolk/brawler-defend.png similarity index 100% rename from data/campaigns/Dead_Water/images/units/merfolk/brawler-defend.png rename to data/core/images/units/merfolk/brawler-defend.png diff --git a/data/campaigns/Dead_Water/images/units/merfolk/brawler-fist-1.png b/data/core/images/units/merfolk/brawler-fist-1.png similarity index 100% rename from data/campaigns/Dead_Water/images/units/merfolk/brawler-fist-1.png rename to data/core/images/units/merfolk/brawler-fist-1.png diff --git a/data/campaigns/Dead_Water/images/units/merfolk/brawler-fist-2.png b/data/core/images/units/merfolk/brawler-fist-2.png similarity index 100% rename from data/campaigns/Dead_Water/images/units/merfolk/brawler-fist-2.png rename to data/core/images/units/merfolk/brawler-fist-2.png diff --git a/data/campaigns/Dead_Water/images/units/merfolk/brawler-fist-3.png b/data/core/images/units/merfolk/brawler-fist-3.png similarity index 100% rename from data/campaigns/Dead_Water/images/units/merfolk/brawler-fist-3.png rename to data/core/images/units/merfolk/brawler-fist-3.png diff --git a/data/campaigns/Dead_Water/images/units/merfolk/brawler-tail-land-1.png b/data/core/images/units/merfolk/brawler-tail-land-1.png similarity index 100% rename from data/campaigns/Dead_Water/images/units/merfolk/brawler-tail-land-1.png rename to data/core/images/units/merfolk/brawler-tail-land-1.png diff --git a/data/campaigns/Dead_Water/images/units/merfolk/brawler-tail-land-2.png b/data/core/images/units/merfolk/brawler-tail-land-2.png similarity index 100% rename from data/campaigns/Dead_Water/images/units/merfolk/brawler-tail-land-2.png rename to data/core/images/units/merfolk/brawler-tail-land-2.png diff --git a/data/campaigns/Dead_Water/images/units/merfolk/brawler-tail-land-3.png b/data/core/images/units/merfolk/brawler-tail-land-3.png similarity index 100% rename from data/campaigns/Dead_Water/images/units/merfolk/brawler-tail-land-3.png rename to data/core/images/units/merfolk/brawler-tail-land-3.png diff --git a/data/campaigns/Dead_Water/images/units/merfolk/brawler-tail-land-4.png b/data/core/images/units/merfolk/brawler-tail-land-4.png similarity index 100% rename from data/campaigns/Dead_Water/images/units/merfolk/brawler-tail-land-4.png rename to data/core/images/units/merfolk/brawler-tail-land-4.png diff --git a/data/campaigns/Dead_Water/images/units/merfolk/brawler-tail-land-5.png b/data/core/images/units/merfolk/brawler-tail-land-5.png similarity index 100% rename from data/campaigns/Dead_Water/images/units/merfolk/brawler-tail-land-5.png rename to data/core/images/units/merfolk/brawler-tail-land-5.png diff --git a/data/campaigns/Dead_Water/images/units/merfolk/brawler.png b/data/core/images/units/merfolk/brawler.png similarity index 100% rename from data/campaigns/Dead_Water/images/units/merfolk/brawler.png rename to data/core/images/units/merfolk/brawler.png diff --git a/data/campaigns/Dead_Water/images/units/merfolk/child_king.png b/data/core/images/units/merfolk/child_king.png similarity index 100% rename from data/campaigns/Dead_Water/images/units/merfolk/child_king.png rename to data/core/images/units/merfolk/child_king.png diff --git a/data/campaigns/Dead_Water/images/units/merfolk/citizen-defend.png b/data/core/images/units/merfolk/citizen-defend.png similarity index 100% rename from data/campaigns/Dead_Water/images/units/merfolk/citizen-defend.png rename to data/core/images/units/merfolk/citizen-defend.png diff --git a/data/campaigns/Dead_Water/images/units/merfolk/citizen-fist-1.png b/data/core/images/units/merfolk/citizen-fist-1.png similarity index 100% rename from data/campaigns/Dead_Water/images/units/merfolk/citizen-fist-1.png rename to data/core/images/units/merfolk/citizen-fist-1.png diff --git a/data/campaigns/Dead_Water/images/units/merfolk/citizen-fist-2.png b/data/core/images/units/merfolk/citizen-fist-2.png similarity index 100% rename from data/campaigns/Dead_Water/images/units/merfolk/citizen-fist-2.png rename to data/core/images/units/merfolk/citizen-fist-2.png diff --git a/data/campaigns/Dead_Water/images/units/merfolk/citizen-fist-3.png b/data/core/images/units/merfolk/citizen-fist-3.png similarity index 100% rename from data/campaigns/Dead_Water/images/units/merfolk/citizen-fist-3.png rename to data/core/images/units/merfolk/citizen-fist-3.png diff --git a/data/campaigns/Dead_Water/images/units/merfolk/citizen.png b/data/core/images/units/merfolk/citizen.png similarity index 100% rename from data/campaigns/Dead_Water/images/units/merfolk/citizen.png rename to data/core/images/units/merfolk/citizen.png diff --git a/data/campaigns/Dead_Water/images/units/merfolk/soldier_king.png b/data/core/images/units/merfolk/soldier_king.png similarity index 100% rename from data/campaigns/Dead_Water/images/units/merfolk/soldier_king.png rename to data/core/images/units/merfolk/soldier_king.png diff --git a/data/campaigns/Dead_Water/images/units/merfolk/warrior_king.png b/data/core/images/units/merfolk/warrior_king.png similarity index 100% rename from data/campaigns/Dead_Water/images/units/merfolk/warrior_king.png rename to data/core/images/units/merfolk/warrior_king.png diff --git a/data/campaigns/Dead_Water/images/units/merfolk/young_king.png b/data/core/images/units/merfolk/young_king.png similarity index 100% rename from data/campaigns/Dead_Water/images/units/merfolk/young_king.png rename to data/core/images/units/merfolk/young_king.png diff --git a/data/core/macros/abilities.cfg b/data/core/macros/abilities.cfg index e060b5a57e1ef..80dd4fb9d10a8 100644 --- a/data/core/macros/abilities.cfg +++ b/data/core/macros/abilities.cfg @@ -464,6 +464,15 @@ Enemy units cannot see this unit while it is in deep water, except if they have [/dummy] #enddef +#define WEAPON_SPECIAL_STUN + [damage] + id=tail_stun + name= _ "stun" + description= _ "This attack hits so hard that the opponent is dazed and can no longer enforce a zone of control. The effect wears off on the opponent’s next turn." + multiply=1 + [/damage] +#enddef + # TODO: Figure out where to put these #define ABILITY_DISENGAGE_EVENTS [event] @@ -970,4 +979,147 @@ Enemy units cannot see this unit while it is in deep water, except if they have [/effect] [/object] [/event] -#enddef \ No newline at end of file +#enddef + +#define WEAPON_SPECIAL_STUN_EVENTS + [event] + name=attacker_hits + first_time_only=no + + [filter_attack] + special=tail_stun + [/filter_attack] + + [filter_second] + [not] + level=0 + [or] + status=stunned + [/or] + [/not] + [/filter_second] + + {VARIABLE second_unit.status.stunned yes} + + [unstore_unit] + variable=second_unit + find_vacant=no + male_text= _ "stunned" + female_text= _ "female^stunned" + red,green,blue=196,196,128 + [/unstore_unit] + + [object] + silent=yes + duration=turn end + + [filter] + x,y=$x2,$y2 + [/filter] + + [effect] + apply_to=image_mod + replace="CS(50,50,0)" + [/effect] + + [effect] + apply_to=zoc + value=no + [/effect] + [/object] + [/event] + + [event] + name=defender_hits + first_time_only=no + + [filter_second_attack] + special=tail_stun + [/filter_second_attack] + + [filter] + [not] + level=0 + [or] + status=stunned + [/or] + [/not] + [/filter] + + {VARIABLE unit.status.stunned yes} + + [unstore_unit] + variable=unit + find_vacant=no + male_text= _ "stunned" + female_text= _ "female^stunned" + red,green,blue=196,196,128 + [/unstore_unit] + + [object] + silent=yes + duration=turn end + + [filter] + x,y=$x1,$y1 + [/filter] + + [effect] + apply_to=image_mod + replace="CS(50,50,0)" + [/effect] + + [effect] + apply_to=zoc + value=no + [/effect] + [/object] + [/event] + + [event] + name=side turn end + first_time_only=no + + [store_unit] + [filter] + side=$side_number + status=stunned + [/filter] + variable=stunned + [/store_unit] + + [foreach] + array=stunned + [do] + {CLEAR_VARIABLE this_item.status.stunned} + + [unstore_unit] + variable=this_item + [/unstore_unit] + [/do] + [/foreach] + + {CLEAR_VARIABLE stunned} + [/event] + + [lua] + code=<< + local _ = wesnoth.textdomain "wesnoth-dw" + local old_unit_status = wesnoth.theme_items.unit_status + + function wesnoth.theme_items.unit_status() + local u = wesnoth.get_displayed_unit() + if not u then return {} end + local s = old_unit_status() + + if u.status.stunned then + table.insert(s, { "element", { image = "misc/stunned-status-icon.png", + tooltip = _"stunned: This unit is stunned. It cannot enforce its Zone of Control." + } } ) + end + + return s + end + >> + [/lua] +#enddef diff --git a/data/core/macros/special-notes.cfg b/data/core/macros/special-notes.cfg index acd32aad0fcb6..0d2098b174d9e 100644 --- a/data/core/macros/special-notes.cfg +++ b/data/core/macros/special-notes.cfg @@ -105,3 +105,6 @@ _" This unit can move either before or after attacking."#enddef #define SPECIAL_NOTES_DAZE _" This unit can daze its enemies, reducing their accuracy and defense until they end a turn."#enddef + +#define SPECIAL_NOTES_STUN +_ " This unit is able to stun its enemies, disrupting their zones of control."#enddef diff --git a/data/core/units/merfolk/Brawler.cfg b/data/core/units/merfolk/Brawler.cfg new file mode 100644 index 0000000000000..4187e73d54559 --- /dev/null +++ b/data/core/units/merfolk/Brawler.cfg @@ -0,0 +1,72 @@ +#textdomain wesnoth-units +[unit_type] + id=Merman Brawler + name= _ "Merman Brawler" + profile="portraits/brawler.png" + race=merman + image="units/merfolk/brawler.png" + hitpoints=38 + movement_type=swimmer + movement=6 + level=1 + experience=50 + {AMLA_DEFAULT} + alignment=lawful + cost=19 + usage=fighter + description= _ "Exceptionally large and strong mermen are sometimes more comfortable with their own fists and tails than with other weapons."+{SPECIAL_NOTES}+{SPECIAL_NOTES_STUN} + die_sound=mermen-die.ogg + {DEFENSE_ANIM "units/merfolk/brawler-defend.png" "units/merfolk/brawler-defend.png" mermen-hit.wav } + [attack] + name=fist-merman + #textdomain wesnoth-units + description=_"fist" + type=impact + range=melee + damage=5 + number=4 + [/attack] + [attack] + name=tail-merman + description=_"tail" + #textdomain wesnoth-dw + type=impact + range=melee + damage=9 + number=2 + [specials] + {WEAPON_SPECIAL_STUN} + [/specials] + [/attack] + + [attack_anim] + [filter_attack] + name=fist-merman + [/filter_attack] + start_time=-300 + [frame] + image="units/merfolk/brawler.png:50" + [/frame] + [frame] + image="units/merfolk/brawler-fist-[1~3].png:[200,100*2]" + [/frame] + {SOUND:HIT_AND_MISS fist.ogg dagger-swish.wav -50} + [frame] + image="units/merfolk/brawler.png:50" + [/frame] + [/attack_anim] + + [attack_anim] + [filter_attack] + name=tail-merman + [/filter_attack] + start_time=-140 + {SOUND:HIT_AND_MISS fist.ogg dagger-swish.wav -50} + [frame] + image="units/merfolk/brawler-tail-land-[1,3,5~1].png:[30*2,80,30,80*3]" + [/frame] + [frame] + image="units/merfolk/brawler.png:80" + [/frame] + [/attack_anim] +[/unit_type] diff --git a/data/campaigns/Dead_Water/units/Citizen.cfg b/data/core/units/merfolk/Citizen.cfg similarity index 97% rename from data/campaigns/Dead_Water/units/Citizen.cfg rename to data/core/units/merfolk/Citizen.cfg index a5719df81df48..761609a725a98 100644 --- a/data/campaigns/Dead_Water/units/Citizen.cfg +++ b/data/core/units/merfolk/Citizen.cfg @@ -1,4 +1,4 @@ -#textdomain wesnoth-dw +#textdomain wesnoth-units [unit_type] id=Merman Citizen name= _ "Merman Citizen"