diff --git a/.github/workflows/luacheck.yml b/.github/workflows/luacheck.yml new file mode 100644 index 00000000..bc1e9722 --- /dev/null +++ b/.github/workflows/luacheck.yml @@ -0,0 +1,10 @@ +name: Luacheck +on: [push, pull_request] +jobs: + sile: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Luacheck linter + uses: nebularg/actions-luacheck@v1 \ No newline at end of file diff --git a/.luacheckrc b/.luacheckrc new file mode 100644 index 00000000..9f0d1f80 --- /dev/null +++ b/.luacheckrc @@ -0,0 +1,13 @@ +max_line_length=190 +-- show the warning/error codes as well +codes=true +-- skip showing files with no issues +quiet=1 +-- skip showing undefined variable usage +-- there are thousands of warnings here because luacheck is unaware of Wesnoth's +-- lua environment and has no way to check which have been loaded +global=false +-- skip showing unused variables +unused=false +-- skip showing warnings about shadowing upvalues and empty if branches +ignore={"431","542"} \ No newline at end of file diff --git a/_main.cfg b/_main.cfg index 110c90c8..2486e097 100644 --- a/_main.cfg +++ b/_main.cfg @@ -49,9 +49,7 @@ [resistance_defaults] id="arcane_focus" - # please do not ask me why I did - # this but this works so, yeah... - default="( 200 - (resistance.arcane) )" + default="((200 - arcane)+10)" [/resistance_defaults] {~add-ons/War_of_Legends/units} diff --git a/campaign.cfg b/campaign.cfg index d0b5e578..a7692063 100644 --- a/campaign.cfg +++ b/campaign.cfg @@ -34,7 +34,7 @@ [resistance_defaults] id="arcane_focus" - default="( 200 - (resistance.arcane) )" + default="((200 - arcane)+10)" [/resistance_defaults] # load units {~add-ons/War_of_Legends/units} diff --git a/contributing.md b/contributing.md index 8e015770..b5eedf15 100644 --- a/contributing.md +++ b/contributing.md @@ -1,12 +1,15 @@ ## Contributing ### Artists + If you are good at pixel artist and would like to animate some of the units, do get in touch. ### Translations + The POT file is ready and can be translated. I do not attend on adding any new content soon, so it is more or less stable in terms of content. ### Lore discussions + _War of Legends_ is set on the fantasy world of Irdya and follows the _Dark Irdya_ timeline of events. Any discussions or inquires can be answered by contacting me. ## Bug Reports @@ -25,4 +28,4 @@ We have several issue templates to choose from when opening a bug report. Please Pull requests (PRs) can be created by forking the repository on the github website, making your own changes to your forked repository, and then clicking the "Pull request" button. All pull requests must follow the above guidelines in order to be merged and whenever possible should include additional unit tests in order to both prove the proposed fix or feature works as intended as well as to allow quickly detecting other bugs in that area of code the future. It is also highly recommended to use an editor that at least support syntax highlighting (such as VSCode or Notepad++) regardless of what you're changing - just because you *can* edit files through the github website or with plain Notepad does not mean you *should*. -One additional thing I would like to mention is that you really do not need to make any PR's since reporting it as an issue or on the Forums, usually gets my attention for it to be patched. \ No newline at end of file +One additional thing I would like to mention is that you really do not need to make any PR's since reporting it as an issue or on the Forums, usually gets my attention for it to be patched. diff --git a/documentations/CHANGELOG.txt b/documentations/CHANGELOG.txt index 1d6015d9..d39e0ace 100644 --- a/documentations/CHANGELOG.txt +++ b/documentations/CHANGELOG.txt @@ -1,5 +1,44 @@ War of Legends -Change-Log v1.2.7.45 +Change-Log v1.2.7.52 + +version v1.2.7.52: +--> + +version v1.2.7.51: +--> Outlaws: + --> rebalance the Shadow Initiate-line +--> Steelhive: + --> Add Steel Dominant, a boss class campaign-only unit +--> Loyalists: + --> Chevalier: add weapon special holy + --> Javelin Master: +2 ranged damage +--> Campaigns: + --> New trait: summoned + --> New ability: conjuror (+20% to units with summoned trait) + --> This might be for the upcoming elemental units setup + +version v1.2.7.48 +--> Outlaws: + --> Arcane Enforcer: -10% cold RES, +10% blade/pierce/impact RES +--> Deep Elves: + --> Forgotten Minotaur: + --> Fixed incorrect movement type and adjusted defence and resistance + +version v1.2.7.47 +--> Outlaws: + --> New unit tree: Rogue Hunter + --> role: ranged damage specialist (poison) + --> note: might superseed Huntsman at level 3 + +version v1.2.7.46 +--> Code + --> Better UX: you can pick all dropped gear in one go now. + --> Changed formula for type: arcane_focus +--> Northerners: + --> Orcish Shaman-line: boosted magical resistance + --> Orcish Marauder-line: added portrait +--> Nightmares: + --> Scornful Watcher: fixed portrait not showing up version v1.2.7.45 --> Aragwaithi: diff --git a/documentations/CREDITS.txt b/documentations/CREDITS.txt index 0109b55f..52999a00 100755 --- a/documentations/CREDITS.txt +++ b/documentations/CREDITS.txt @@ -108,3 +108,10 @@ Dalas Mechanical --> Queen Scorpion --> Goblin Spearmaster (defend + ranged) +--> Female Orcish Shaman-line + +Kordov +--> Orcish Shaman female portrait + +ihybriedur +--> Steel Dominant diff --git a/images/misc/firststrike-1.png b/images/misc/firststrike-1.png new file mode 100644 index 00000000..ac194656 Binary files /dev/null and b/images/misc/firststrike-1.png differ diff --git a/images/misc/firststrike-2.png b/images/misc/firststrike-2.png new file mode 100644 index 00000000..934ba9e9 Binary files /dev/null and b/images/misc/firststrike-2.png differ diff --git a/images/misc/firststrike-3.png b/images/misc/firststrike-3.png new file mode 100644 index 00000000..c13dff0b Binary files /dev/null and b/images/misc/firststrike-3.png differ diff --git a/images/misc/summoned-status-icon.png b/images/misc/summoned-status-icon.png new file mode 100644 index 00000000..17ec0c06 Binary files /dev/null and b/images/misc/summoned-status-icon.png differ diff --git a/images/portraits/orc-raider.png b/images/portraits/orc-raider.png new file mode 100644 index 00000000..d74a0c4d Binary files /dev/null and b/images/portraits/orc-raider.png differ diff --git a/images/portraits/orc-shaman+female.webp b/images/portraits/orc-shaman+female.webp new file mode 100644 index 00000000..94a2b950 Binary files /dev/null and b/images/portraits/orc-shaman+female.webp differ diff --git a/images/units/human-outlaws/archer-bow-attack-1.png b/images/units/human-outlaws/archer-bow-attack-1.png new file mode 100644 index 00000000..9410cb2c Binary files /dev/null and b/images/units/human-outlaws/archer-bow-attack-1.png differ diff --git a/images/units/human-outlaws/archer-bow-attack-2.png b/images/units/human-outlaws/archer-bow-attack-2.png new file mode 100644 index 00000000..d9b11690 Binary files /dev/null and b/images/units/human-outlaws/archer-bow-attack-2.png differ diff --git a/images/units/human-outlaws/archer-bow-attack-3.png b/images/units/human-outlaws/archer-bow-attack-3.png new file mode 100644 index 00000000..3b8ab226 Binary files /dev/null and b/images/units/human-outlaws/archer-bow-attack-3.png differ diff --git a/images/units/human-outlaws/archer-bow-attack-4.png b/images/units/human-outlaws/archer-bow-attack-4.png new file mode 100644 index 00000000..7a69a0c0 Binary files /dev/null and b/images/units/human-outlaws/archer-bow-attack-4.png differ diff --git a/images/units/human-outlaws/archer-bow-defend.png b/images/units/human-outlaws/archer-bow-defend.png new file mode 100644 index 00000000..be4b7560 Binary files /dev/null and b/images/units/human-outlaws/archer-bow-defend.png differ diff --git a/images/units/human-outlaws/archer-bow.png b/images/units/human-outlaws/archer-bow.png new file mode 100644 index 00000000..bf802538 Binary files /dev/null and b/images/units/human-outlaws/archer-bow.png differ diff --git a/images/units/human-outlaws/archer-melee-attack-1.png b/images/units/human-outlaws/archer-melee-attack-1.png new file mode 100644 index 00000000..0263656f Binary files /dev/null and b/images/units/human-outlaws/archer-melee-attack-1.png differ diff --git a/images/units/human-outlaws/archer-melee-attack-2.png b/images/units/human-outlaws/archer-melee-attack-2.png new file mode 100644 index 00000000..8b18f973 Binary files /dev/null and b/images/units/human-outlaws/archer-melee-attack-2.png differ diff --git a/images/units/human-outlaws/archer-melee-attack-3.png b/images/units/human-outlaws/archer-melee-attack-3.png new file mode 100644 index 00000000..6b68fa09 Binary files /dev/null and b/images/units/human-outlaws/archer-melee-attack-3.png differ diff --git a/images/units/human-outlaws/archer-melee-attack-4.png b/images/units/human-outlaws/archer-melee-attack-4.png new file mode 100644 index 00000000..3a2e5e2a Binary files /dev/null and b/images/units/human-outlaws/archer-melee-attack-4.png differ diff --git a/images/units/human-outlaws/archer-melee-defend-1.png b/images/units/human-outlaws/archer-melee-defend-1.png new file mode 100644 index 00000000..4ec18222 Binary files /dev/null and b/images/units/human-outlaws/archer-melee-defend-1.png differ diff --git a/images/units/human-outlaws/archer-melee-defend-2.png b/images/units/human-outlaws/archer-melee-defend-2.png new file mode 100644 index 00000000..bb741165 Binary files /dev/null and b/images/units/human-outlaws/archer-melee-defend-2.png differ diff --git a/images/units/human-outlaws/archer.png b/images/units/human-outlaws/archer.png new file mode 100644 index 00000000..f53f12f3 Binary files /dev/null and b/images/units/human-outlaws/archer.png differ diff --git a/images/units/human-outlaws/cutthroat-bow-attack-1.png b/images/units/human-outlaws/cutthroat-bow-attack-1.png new file mode 100644 index 00000000..d22b49d9 Binary files /dev/null and b/images/units/human-outlaws/cutthroat-bow-attack-1.png differ diff --git a/images/units/human-outlaws/cutthroat-bow-attack-2.png b/images/units/human-outlaws/cutthroat-bow-attack-2.png new file mode 100644 index 00000000..cfbd47c8 Binary files /dev/null and b/images/units/human-outlaws/cutthroat-bow-attack-2.png differ diff --git a/images/units/human-outlaws/cutthroat-bow-attack-3.png b/images/units/human-outlaws/cutthroat-bow-attack-3.png new file mode 100644 index 00000000..23d3a2b6 Binary files /dev/null and b/images/units/human-outlaws/cutthroat-bow-attack-3.png differ diff --git a/images/units/human-outlaws/cutthroat-bow-attack-4.png b/images/units/human-outlaws/cutthroat-bow-attack-4.png new file mode 100644 index 00000000..c12713ff Binary files /dev/null and b/images/units/human-outlaws/cutthroat-bow-attack-4.png differ diff --git a/images/units/human-outlaws/cutthroat-bow-defend.png b/images/units/human-outlaws/cutthroat-bow-defend.png new file mode 100644 index 00000000..96d92ed8 Binary files /dev/null and b/images/units/human-outlaws/cutthroat-bow-defend.png differ diff --git a/images/units/human-outlaws/cutthroat-bow.png b/images/units/human-outlaws/cutthroat-bow.png new file mode 100644 index 00000000..1d64b1db Binary files /dev/null and b/images/units/human-outlaws/cutthroat-bow.png differ diff --git a/images/units/human-outlaws/cutthroat-melee-attack-1.png b/images/units/human-outlaws/cutthroat-melee-attack-1.png new file mode 100644 index 00000000..be1bbd91 Binary files /dev/null and b/images/units/human-outlaws/cutthroat-melee-attack-1.png differ diff --git a/images/units/human-outlaws/cutthroat-melee-attack-2.png b/images/units/human-outlaws/cutthroat-melee-attack-2.png new file mode 100644 index 00000000..742301e1 Binary files /dev/null and b/images/units/human-outlaws/cutthroat-melee-attack-2.png differ diff --git a/images/units/human-outlaws/cutthroat-melee-attack-3.png b/images/units/human-outlaws/cutthroat-melee-attack-3.png new file mode 100644 index 00000000..737b4af2 Binary files /dev/null and b/images/units/human-outlaws/cutthroat-melee-attack-3.png differ diff --git a/images/units/human-outlaws/cutthroat-melee-attack-4.png b/images/units/human-outlaws/cutthroat-melee-attack-4.png new file mode 100644 index 00000000..25ebb518 Binary files /dev/null and b/images/units/human-outlaws/cutthroat-melee-attack-4.png differ diff --git a/images/units/human-outlaws/cutthroat-melee-defend-1.png b/images/units/human-outlaws/cutthroat-melee-defend-1.png new file mode 100644 index 00000000..2ada33b7 Binary files /dev/null and b/images/units/human-outlaws/cutthroat-melee-defend-1.png differ diff --git a/images/units/human-outlaws/cutthroat-melee-defend-2.png b/images/units/human-outlaws/cutthroat-melee-defend-2.png new file mode 100644 index 00000000..1c4d79fb Binary files /dev/null and b/images/units/human-outlaws/cutthroat-melee-defend-2.png differ diff --git a/images/units/human-outlaws/cutthroat.png b/images/units/human-outlaws/cutthroat.png new file mode 100644 index 00000000..cb52a0e3 Binary files /dev/null and b/images/units/human-outlaws/cutthroat.png differ diff --git a/images/units/human-outlaws/exterminator-bow-attack-1.png b/images/units/human-outlaws/exterminator-bow-attack-1.png new file mode 100644 index 00000000..f82ad96e Binary files /dev/null and b/images/units/human-outlaws/exterminator-bow-attack-1.png differ diff --git a/images/units/human-outlaws/exterminator-bow-attack-2.png b/images/units/human-outlaws/exterminator-bow-attack-2.png new file mode 100644 index 00000000..a071ea7e Binary files /dev/null and b/images/units/human-outlaws/exterminator-bow-attack-2.png differ diff --git a/images/units/human-outlaws/exterminator-bow-attack-3.png b/images/units/human-outlaws/exterminator-bow-attack-3.png new file mode 100644 index 00000000..65273c17 Binary files /dev/null and b/images/units/human-outlaws/exterminator-bow-attack-3.png differ diff --git a/images/units/human-outlaws/exterminator-bow-attack-4.png b/images/units/human-outlaws/exterminator-bow-attack-4.png new file mode 100644 index 00000000..2b08a117 Binary files /dev/null and b/images/units/human-outlaws/exterminator-bow-attack-4.png differ diff --git a/images/units/human-outlaws/exterminator-bow-defend.png b/images/units/human-outlaws/exterminator-bow-defend.png new file mode 100644 index 00000000..d7d67f57 Binary files /dev/null and b/images/units/human-outlaws/exterminator-bow-defend.png differ diff --git a/images/units/human-outlaws/exterminator-bow.png b/images/units/human-outlaws/exterminator-bow.png new file mode 100644 index 00000000..89dda2d2 Binary files /dev/null and b/images/units/human-outlaws/exterminator-bow.png differ diff --git a/images/units/human-outlaws/exterminator-melee-attack-1.png b/images/units/human-outlaws/exterminator-melee-attack-1.png new file mode 100644 index 00000000..fc6b2f42 Binary files /dev/null and b/images/units/human-outlaws/exterminator-melee-attack-1.png differ diff --git a/images/units/human-outlaws/exterminator-melee-attack-2.png b/images/units/human-outlaws/exterminator-melee-attack-2.png new file mode 100644 index 00000000..f814b16f Binary files /dev/null and b/images/units/human-outlaws/exterminator-melee-attack-2.png differ diff --git a/images/units/human-outlaws/exterminator-melee-attack-3.png b/images/units/human-outlaws/exterminator-melee-attack-3.png new file mode 100644 index 00000000..a54b168b Binary files /dev/null and b/images/units/human-outlaws/exterminator-melee-attack-3.png differ diff --git a/images/units/human-outlaws/exterminator-melee-attack-4.png b/images/units/human-outlaws/exterminator-melee-attack-4.png new file mode 100644 index 00000000..05d7c1b0 Binary files /dev/null and b/images/units/human-outlaws/exterminator-melee-attack-4.png differ diff --git a/images/units/human-outlaws/exterminator-melee-defend-1.png b/images/units/human-outlaws/exterminator-melee-defend-1.png new file mode 100644 index 00000000..2c8fe805 Binary files /dev/null and b/images/units/human-outlaws/exterminator-melee-defend-1.png differ diff --git a/images/units/human-outlaws/exterminator-melee-defend-2.png b/images/units/human-outlaws/exterminator-melee-defend-2.png new file mode 100644 index 00000000..877b4e95 Binary files /dev/null and b/images/units/human-outlaws/exterminator-melee-defend-2.png differ diff --git a/images/units/human-outlaws/exterminator.png b/images/units/human-outlaws/exterminator.png new file mode 100644 index 00000000..4b822bb1 Binary files /dev/null and b/images/units/human-outlaws/exterminator.png differ diff --git a/images/units/steelhive/steel_dominant.png b/images/units/steelhive/steel_dominant.png new file mode 100644 index 00000000..0f5f779e Binary files /dev/null and b/images/units/steelhive/steel_dominant.png differ diff --git a/lua/theme.lua b/lua/theme.lua index 458de756..3e3dd3d6 100644 --- a/lua/theme.lua +++ b/lua/theme.lua @@ -60,6 +60,13 @@ function wesnoth.interface.game_display.unit_status() } } ) end + -- for elementals + if u.status.summoned then + table.insert(s, { "element", { image = "misc/summoned-status-icon.png~CROP_TRANSPARENT()", + tooltip = _ "summoned: Summoned units are stronger next to units with the conjuror ability." + } } ) + end + return s end diff --git a/macros/abilities-elemental.cfg b/macros/abilities-elemental.cfg index 74d82628..392dad13 100644 --- a/macros/abilities-elemental.cfg +++ b/macros/abilities-elemental.cfg @@ -1,8 +1,8 @@ #textdomain wesnoth-War_of_Legends -#define ABILITY_CAVEAMBUSH +#define ABILITY_CAVE_AMBUSH [hides] - id=caveambush + id=cave_ambush name= _ "cave ambush" description=_"This unit can hide in cave, and remain undetected by its enemies. Enemy units cannot see this unit while it is in cave, except if they have units next to it. Any enemy unit that first discovers this unit immediately loses all its remaining movement." @@ -389,3 +389,22 @@ Enemy units cannot see this unit while it is in cave, except if they have units {CLEAR_VARIABLE WOL_electric_status_inflictable} [/event] #enddef + +#define ABILITY_CONJUROR + [leadership] + id=conjuror + value=20 + cumulative=yes + name= _ "conjuror" + description= _ "Adjacent units with the summoned trait will do 20% more damage" + affect_self=no + affect_allies=yes + affect_enemies=no + [affect_adjacent] + [filter] + status=summoned + formula="level <= other.level" + [/filter] + [/affect_adjacent] + [/leadership] +#enddef diff --git a/macros/abilities-new.cfg b/macros/abilities-new.cfg index d675bdea..4ff24a67 100644 --- a/macros/abilities-new.cfg +++ b/macros/abilities-new.cfg @@ -369,3 +369,50 @@ This ability lowers enemies' health by 8, ignoring any resistances or weaknesses poison=cured [/regenerate] #enddef + +#define ABILITY_INITIATIVE + [firststrike] + id=initiative + name= _ "initiative" + description= _ "All adjacent friendly units will strike first in melee combat, even when defending." + special_note=_"This unit’s grasp of melee tactics allows adjacent allies to strike the first blow even when defending." + affect_self=no + affect_allies=yes + halo_image_self="misc/firststrike-1.png:100,misc/firststrike-2.png:100,misc/firststrike-3.png:100" + [filter_opponent] + [filter_weapon] + range=melee + [/filter_weapon] + [/filter_opponent] + [affect_adjacent] + [/affect_adjacent] + [/firststrike] + [firststrike] + id=initiative_anim + affect_self=no + affect_allies=yes + active_on=defense + [filter_student] + [filter_weapon] + special_id_active=initiative + [/filter_weapon] + [/filter_student] + [affect_adjacent] + [/affect_adjacent] + [/firststrike] +#enddef + +#define INITIATIVE_ANIM FULL_IMAGE HALFWAYS_IMAGE + [teaching_anim] + [filter_attack] + special_id_active=initiative_anim + [not] + special_id_active=firststrike + [/not] + [/filter_attack] + start_time=-126 + [frame] + image={HALFWAYS_IMAGE}:1,{FULL_IMAGE}:250,{HALFWAYS_IMAGE}:1 + [/frame] + [/teaching_anim] +#enddef diff --git a/macros/abilities.cfg b/macros/abilities.cfg index 520ce041..cb8f3759 100644 --- a/macros/abilities.cfg +++ b/macros/abilities.cfg @@ -353,3 +353,265 @@ Enemy units cannot see this unit while it is in a swamp hex, except if they have [/filter_self] [/hides] #enddef + +#define ABILITY_SUPERIOR_LIFE_FORM + [superior_life_form] + id=superior_life_form + name= _ "superior life form" + description= _ "This unit emits a swam of steel particles fortifying adajcent units with a temporary 20-HP boost that dissapears at the beginning of the following turn." + [/superior_life_form] +#enddef + +#define ABILITY_REPROGRAM + [reprogram] + id=reprogram + name= _ "reprogram" + description= _ "This unit leading aura is so powerful that it can make opposing steelhive units change side at the end of its turn." + [/reprogram] +#enddef + +#define ABILITY_MECHANIZING_VIRUS + [mechanizing_virus] + id=mechanizing_virus + name= _ "mechanizing virus" + description= _ "Each time this unit hits with a melee weapon, it has a 5% chance to transmit the mechanizing virus, turning the enemy into a member of the Steelhive." + [/mechanizing_virus] +#enddef + +#define ABILITY_STEELHIVE_EVENTS + [event] + name=side turn + first_time_only=no + [foreach] + array=superior_life_forms_$side_number| + [do] + [if] + [have_unit] + id=$this_item.id + formula="hitpoints>$this_item.hitpoints" + [/have_unit] + [then] + [modify_unit] + [filter] + id=$this_item.id + [/filter] + hitpoints=$this_item.hitpoints + [/modify_unit] + [/then] + [/if] + [/do] + [/foreach] + {CLEAR_VARIABLE (superior_life_forms_$side_number|)} + [store_unit] + [filter] + side=$side_number| + [filter_adjacent] + side=$side_number + ability=superior_life_form + [/filter_adjacent] + [/filter] + variable=superior_life_forms_$side_number| + [/store_unit] + [foreach] + array=superior_life_forms_$side_number| + [do] + [modify_unit] + [filter] + id=$this_item.id + [/filter] + [effect] + apply_to=hitpoints + increase=20 + violate_maximum=yes + [/effect] + [/modify_unit] + [/do] + [/foreach] + [/event] + + [event] + name=side turn end + first_time_only=no + [modify_unit] + [filter] + race=steelhive + [filter_side] + [enemy_of] + side=$side_number + [/enemy_of] + [/filter_side] + [filter_adjacent] + ability=reprogram + side=$side_number + [/filter_adjacent] + [/filter] + side=$side_number + [/modify_unit] + [/event] + + [event] + name=attacker hits + first_time_only=no + [filter] + ability=mechanizing_virus + [/filter] + [filter_second] + [not] + race=steelhive + [/not] + [not] + canrecruit=yes + [/not] + formula="hitpoints>0" + [/filter_second] + [filter_attack] + range=melee + [/filter_attack] + {VARIABLE_OP infection rand (1..100)} + [if] + [variable] + name=infection + less_than_equal_to=5 + [/variable] + [then] + [switch] + variable=second_unit.usage + [case] + value=scout + [transform_unit] + id=$second_unit.id + transform_to=Steel Wyrm + [/transform_unit] + [/case] + [case] + value=fighter + [transform_unit] + id=$second_unit.id + transform_to=Steel Slasher + [/transform_unit] + [/case] + [case] + value=archer + [transform_unit] + id=$second_unit.id + transform_to=Steel Impaler + [/transform_unit] + [/case] + [case] + value=mixed fighter + {VARIABLE_OP type rand (1..100)} + [if] + [variable] + name=type + less_than_equal_to=50 + [/variable] + [then] + [transform_unit] + id=$second_unit.id + transform_to=Steel Larva + [/transform_unit] + [/then] + [else] + [transform_unit] + id=$second_unit.id + transform_to=Steel Oculus + [/transform_unit] + [/else] + [/if] + {CLEAR_VARIABLE type} + [/case] + [/switch] + [modify_unit] + [filter] + id=$second_unit.id + [/filter] + side=$unit.side + [/modify_unit] + [/then] + [/if] + {CLEAR_VARIABLE infection} + [/event] + + [event] + name=defender hits + first_time_only=no + [filter_second] + ability=mechanizing_virus + [/filter_second] + [filter] + [not] + race=steelhive + [/not] + [not] + canrecruit=yes + [/not] + formula="hitpoints>0" + [/filter] + [filter_second_attack] + range=melee + [/filter_second_attack] + {VARIABLE_OP infection rand (1..100)} + [if] + [variable] + name=infection + less_than_equal_to=5 + [/variable] + [then] + [switch] + variable=unit.usage + [case] + value=scout + [transform_unit] + id=$unit.id + transform_to=Steel Wyrm + [/transform_unit] + [/case] + [case] + value=fighter + [transform_unit] + id=$unit.id + transform_to=Steel Slasher + [/transform_unit] + [/case] + [case] + value=archer + [transform_unit] + id=$unit.id + transform_to=Steel Impaler + [/transform_unit] + [/case] + [case] + value=mixed fighter + {VARIABLE_OP type rand (1..100)} + [if] + [variable] + name=type + less_than_equal_to=50 + [/variable] + [then] + [transform_unit] + id=$unit.id + transform_to=Steel Larva + [/transform_unit] + [/then] + [else] + [transform_unit] + id=$unit.id + transform_to=Steel Oculus + [/transform_unit] + [/else] + [/if] + {CLEAR_VARIABLE type} + [/case] + [/switch] + [modify_unit] + [filter] + id=$unit.id + [/filter] + side=$second_unit.side + [/modify_unit] + [/then] + [/if] + {CLEAR_VARIABLE infection} + [/event] +#enddef diff --git a/macros/system-inv2-main.cfg b/macros/system-inv2-main.cfg index f1597a7d..f019f9bf 100644 --- a/macros/system-inv2-main.cfg +++ b/macros/system-inv2-main.cfg @@ -236,7 +236,7 @@ # might need to re-think this [set_variable] name=mi - value=$gear_map_items.length + add=-1 [/set_variable] # [floating_text] # x,y=$x1,$y1 diff --git a/macros/traits.cfg b/macros/traits.cfg index 580ce75d..37649492 100644 --- a/macros/traits.cfg +++ b/macros/traits.cfg @@ -358,3 +358,18 @@ {TRAIT_RESILIENT} {TRAIT_VIGILANT} #enddef + +#define TRAIT_SUMMONED + [trait] + id=trait_summoned + availability="musthave" + male_name= _ "summoned" + female_name= _ "female^summoned" + description= _ "+20% damage when standing next to a conjuror." + help_text= _ "This unit has been summoned via non-recruiting methods. It is stronger when placed adjacent to a unit with the conjuror ability." + [effect] + apply_to=status + add=summoned + [/effect] + [/trait] +#enddef diff --git a/macros/unit-advancements.cfg b/macros/unit-advancements.cfg index 9e7ccf18..fae203c5 100644 --- a/macros/unit-advancements.cfg +++ b/macros/unit-advancements.cfg @@ -154,3 +154,21 @@ add_advancement="Crossbowman" [/modify_unit_type] #enddef + +#define ENABLE_STEEL_DOMINANT + [modify_unit_type] + type="Steel Dreadnought" + add_advancement="Steel Dominant" + set_experience=182 + [/modify_unit_type] + [modify_unit_type] + type="Steel Fideliant" + add_advancement="Steel Dominant" + set_experience=188 + [/modify_unit_type] + [modify_unit_type] + type="Steel Vorpal" + add_advancement="Steel Dominant" + set_experience=188 + [/modify_unit_type] +#enddef diff --git a/macros/weapon-specials.cfg b/macros/weapon-specials.cfg index 9fa06032..8abd7343 100644 --- a/macros/weapon-specials.cfg +++ b/macros/weapon-specials.cfg @@ -131,3 +131,23 @@ description_inactive= _ "Consumes some HP upon a successful hit during attacking." [/heals_on_hit] #enddef + +#define WEAPON_SPECIAL_CHILL + [damage_type] + id=cold_damage + name= _ "chill" + description= _ "This attack can deal either blade or cold damage, depending on which would be more effective." + special_note=_ "This unit’s melee attack can deal either blade or cold damage, depending on which would be more effective." + alternative_type=cold + [/damage_type] +#enddef + +#define WEAPON_SPECIAL_HOLY + [damage_type] + id=holy_damage + name= _ "holy" + description= _ "This attack can deal either blade or arcane damage, depending on which would be more effective." + special_note=_ "This unit’s melee attack can deal either blade or arcane damage, depending on which would be more effective." + alternative_type=arcane + [/damage_type] +#enddef diff --git a/macros/wol-resource-tags.cfg b/macros/wol-resource-tags.cfg index ed2f4b17..07c48ca2 100644 --- a/macros/wol-resource-tags.cfg +++ b/macros/wol-resource-tags.cfg @@ -42,9 +42,8 @@ # {ENABLE_LAVA_BEHEMOTH} - {ENABLE_SAURIAN_SPEARTHROWER} - + {ENABLE_DRAKE_ADVENTURER} {ENABLE_ARMAGEDDON_DRAKE} @@ -67,7 +66,7 @@ {ENABLE_TROLL_WARMONGER} {ENABLE_TROLL_WARBANNER} {ENABLE_ORC_MARAUDER} - + {ENABLE_GOBLIN_CUTTHROAT} {ENABLE_GOBLIN_SPEARMASTER} {ENABLE_GOBLIN_TRUMPETER} @@ -95,9 +94,8 @@ {ENABLE_LAVA_BEHEMOTH} - {ENABLE_SAURIAN_SPEARTHROWER} - + {ENABLE_DRAKE_ADVENTURER} {ENABLE_ARMAGEDDON_DRAKE} @@ -119,7 +117,7 @@ {ENABLE_TROLL_WARMONGER} {ENABLE_TROLL_WARBANNER} {ENABLE_ORC_MARAUDER} - + {ENABLE_GOBLIN_CUTTHROAT} {ENABLE_GOBLIN_SPEARMASTER} {ENABLE_GOBLIN_TRUMPETER} @@ -127,9 +125,7 @@ {ENABLE_GREAT_OGRE} {ENABLE_WOSE_SHAMAN} - {ENABLE_SAURIAN_SPEARTHROWER} - # fun fact: these have to be included # because there are dwarves and drakes in @@ -154,13 +150,19 @@ [/lua] [/event] + # loyalists {WOL_RADIANCE_EVENT} + # Undead {FROST_NOVA_EVENT} - {WEAPON_SPECIAL_DAZE_EVENTS} {WOL_DEATH_CLOUD_EVENT} - {ABILITY_DISENGAGE_EVENTS} + # Nightmares {~add-ons/War_of_Legends/macros/curse-global-events.cfg} {TERRAIN_LINK_GLOBAL_EVENTS} + # Quenoth Elves + {WEAPON_SPECIAL_DAZE_EVENTS} + {ABILITY_DISENGAGE_EVENTS} + # Steelhive + {ABILITY_STEELHIVE_EVENTS} [/resource] # individual resources @@ -200,6 +202,20 @@ {ABILITY_DISENGAGE_EVENTS} [/resource] +[resource] + id=WOL_resource_abilities_events_steelhive + + [event] + name="preload" + first_time_only=no + [lua] + code= << wesnoth.require "~add-ons/War_of_Legends/lua/theme.lua" >> + [/lua] + [/event] + + {ABILITY_STEELHIVE_EVENTS} +[/resource] + [resource] id=WOL_resource_abilities_events_undead @@ -1109,7 +1125,6 @@ # [/filter_conditional] {IF_VAR $unit.variables.amla_added boolean_equals false ( - # remove the AMLA if already there # maybe I can remove this since # do it once time only @@ -1125,7 +1140,7 @@ id=universal_amlas_object # remove the crappy AMLA default {WOL_EFFECT remove_advancement amlas=amla_default} - + #-------------------- # HITPOINTS #-------------------- @@ -1138,7 +1153,7 @@ {WOL_GLOBAL_AMLA_EFFECTS} [/advancement] [/effect] - + #-------------------- # MELEE DAMAGE #-------------------- @@ -1172,7 +1187,7 @@ {WOL_GLOBAL_AMLA_EFFECTS} [/advancement] [/effect] - + #-------------------- # RANGED DAMAGE #-------------------- diff --git a/sounds/orc-female-die-1.ogg b/sounds/orc-female-die-1.ogg new file mode 100644 index 00000000..ba419801 Binary files /dev/null and b/sounds/orc-female-die-1.ogg differ diff --git a/sounds/orc-female-die-2.ogg b/sounds/orc-female-die-2.ogg new file mode 100644 index 00000000..c6d6a35c Binary files /dev/null and b/sounds/orc-female-die-2.ogg differ diff --git a/sounds/orc-female-die-3.ogg b/sounds/orc-female-die-3.ogg new file mode 100644 index 00000000..a3bccf35 Binary files /dev/null and b/sounds/orc-female-die-3.ogg differ diff --git a/sounds/orc-female-hit-1.ogg b/sounds/orc-female-hit-1.ogg new file mode 100644 index 00000000..6eb49c41 Binary files /dev/null and b/sounds/orc-female-hit-1.ogg differ diff --git a/sounds/orc-female-hit-2.ogg b/sounds/orc-female-hit-2.ogg new file mode 100644 index 00000000..049f6d72 Binary files /dev/null and b/sounds/orc-female-hit-2.ogg differ diff --git a/sounds/orc-female-hit-3.ogg b/sounds/orc-female-hit-3.ogg new file mode 100644 index 00000000..9198dc40 Binary files /dev/null and b/sounds/orc-female-hit-3.ogg differ diff --git a/sounds/orc-female-hit-4.ogg b/sounds/orc-female-hit-4.ogg new file mode 100644 index 00000000..a09378a2 Binary files /dev/null and b/sounds/orc-female-hit-4.ogg differ diff --git a/units/aberrations/Scornful_Watcher.cfg b/units/aberrations/Scornful_Watcher.cfg index f95c1102..49bd8e53 100755 --- a/units/aberrations/Scornful_Watcher.cfg +++ b/units/aberrations/Scornful_Watcher.cfg @@ -21,8 +21,8 @@ die_sound="ghoul-hit.wav" image="units/aberrations/scornful-watcher.png" - profile="portraits/aberrations-scornful-watcher.png" - small_profile="portraits/aberrations-scornful-watcher.png~SCALE(275,275)" + profile="portraits/aberration-scornful-watcher.png" + small_profile="portraits/aberration-scornful-watcher.png~SCALE(275,275)" {DEFENSE_ANIM "units/aberrations/scornful-watcher.png" "units/aberrations/scornful-watcher.png" ghoul-hit.wav } {ATTACK_MELEE_ANIMATION kick "units/aberrations/scornful-watcher.png" club.ogg miss-3.ogg } diff --git a/units/drakes/Adventurer.cfg b/units/drakes/Adventurer.cfg index ef786342..37d1b10c 100644 --- a/units/drakes/Adventurer.cfg +++ b/units/drakes/Adventurer.cfg @@ -14,7 +14,7 @@ advances_to=Drake Ranger cost=40 usage=mixed fighter - description= _ "Drake Adventurers are light weaponed fighters. They have been trained as well to fight at night and caves. Although their maximum speed is slower than that of the Sky Drakes, their extra mobility in caves and ability to strike with fire in melee is useful in combat." + description= _ "Drake Adventurers are lightly armed fighters. They have been trained as well to fight at night and caves. Although their maximum speed is slower than that of the Sky Drakes, their extra mobility in caves and ability to strike with fire in melee is useful in combat." die_sound=drake-die.ogg {DEFENSE_ANIM "units/drakes/adventurer-defend.png" "units/drakes/adventurer.png" {SOUND_LIST:DRAKE_HIT} } diff --git a/units/drakes/Ranger.cfg b/units/drakes/Ranger.cfg index 388f6e22..03084194 100644 --- a/units/drakes/Ranger.cfg +++ b/units/drakes/Ranger.cfg @@ -15,7 +15,7 @@ {AMLA_DEFAULT} cost=60 usage=mixed fighter - description= _ "Drake Rangers are light weaponed fighters. They have been trained as well to fight at night and caves. Although their maximum speed is slower than that of the Sky Drakes, their extra mobility in caves and ability to strike with fire in melee is useful in combat." + description= _ "Drake Rangers are lightly armed fighters. They have been trained as well to fight at night and caves. Although their maximum speed is slower than that of the Sky Drakes, their extra mobility in caves and ability to strike with fire in melee is useful in combat." die_sound=drake-die.ogg {DEFENSE_ANIM "units/drakes/ranger-defend.png" "units/drakes/ranger.png" {SOUND_LIST:DRAKE_HIT} } diff --git a/units/elementals/Earth_Daemon_1.cfg b/units/elementals/Earth_Daemon_1.cfg index 2898b9a8..5e43ff26 100644 --- a/units/elementals/Earth_Daemon_1.cfg +++ b/units/elementals/Earth_Daemon_1.cfg @@ -27,7 +27,7 @@ description= _ "Rocks appear to have assembled themselves into some sort of animal... The are somewhat like a troll whelp, though more misshapen and they can belch scratching dust. These things are nothing like the mudcrawlers, there is something much more sinister at work." die_sound=cave-in.ogg [abilities] - {ABILITY_CAVEAMBUSH} + {ABILITY_CAVE_AMBUSH} {ABILITY_REGENERATES} [/abilities] [attack] diff --git a/units/elementals/Earth_Daemon_2.cfg b/units/elementals/Earth_Daemon_2.cfg index deb3110a..26741518 100644 --- a/units/elementals/Earth_Daemon_2.cfg +++ b/units/elementals/Earth_Daemon_2.cfg @@ -27,7 +27,7 @@ description= _ "Rocks appear to have assembled themselves into some sort of animal... These beasts are better formed and agile than their younger kin." die_sound=cave-in.ogg [abilities] - {ABILITY_CAVEAMBUSH} + {ABILITY_CAVE_AMBUSH} {ABILITY_REGENERATES} [/abilities] [attack] diff --git a/units/elementals/Earth_Daemon_3.cfg b/units/elementals/Earth_Daemon_3.cfg index a2aae60f..8d98f9e1 100644 --- a/units/elementals/Earth_Daemon_3.cfg +++ b/units/elementals/Earth_Daemon_3.cfg @@ -28,7 +28,7 @@ description= _ "Rocks appear to have assembled themselves into some sort of animal... These beasts are better formed and agile than their younger kin." die_sound=cave-in.ogg [abilities] - {ABILITY_CAVEAMBUSH} + {ABILITY_CAVE_AMBUSH} {ABILITY_REGENERATES} [/abilities] [attack] diff --git a/units/human-loyalists/Loyalist_Chevalier.cfg b/units/human-loyalists/Loyalist_Chevalier.cfg index e860eafd..a4994892 100644 --- a/units/human-loyalists/Loyalist_Chevalier.cfg +++ b/units/human-loyalists/Loyalist_Chevalier.cfg @@ -19,8 +19,6 @@ usage=fighter description= _ "Some Infantrymen may follow a divine path towards the light and become Knights of a holy order. These Knights are given a blessed sword to dispel foes who deny the Light." - {NOTE_RADIANCE} - die_sound={SOUND_LIST:HUMAN_DIE} {DEFENSE_ANIM "units/human-loyalists/chevalier.png" "units/human-loyalists/chevalier.png" {SOUND_LIST:HUMAN_HIT} } @@ -38,10 +36,13 @@ name=sword description=_"divine sword" icon=attacks/sword-holy.png - type=arcane + type=blade range=melee damage=6 number=5 + [specials] + {WEAPON_SPECIAL_HOLY} + [/specials] [/attack] [attack] name=divine lightning diff --git a/units/human-loyalists/Loyalist_Crusader.cfg b/units/human-loyalists/Loyalist_Crusader.cfg index cab0615c..1d0df581 100644 --- a/units/human-loyalists/Loyalist_Crusader.cfg +++ b/units/human-loyalists/Loyalist_Crusader.cfg @@ -20,8 +20,6 @@ usage=fighter description= _ "Chevaliers who had served the Light long enough are entitled Crusaders." - {NOTE_RADIANCE} - die_sound={SOUND_LIST:HUMAN_DIE} {DEFENSE_ANIM "units/human-loyalists/crusader.png" "units/human-loyalists/crusader.png" {SOUND_LIST:HUMAN_HIT} } @@ -39,10 +37,13 @@ name=sword description=_"divine sword" icon=attacks/sword-holy.png - type=arcane + type=blade range=melee damage=8 number=5 + [specials] + {WEAPON_SPECIAL_HOLY} + [/specials] [/attack] [attack] name=divine lightning diff --git a/units/human-loyalists/Loyalist_Javelin_Master.cfg b/units/human-loyalists/Loyalist_Javelin_Master.cfg index 1c357aed..d0ebe653 100644 --- a/units/human-loyalists/Loyalist_Javelin_Master.cfg +++ b/units/human-loyalists/Loyalist_Javelin_Master.cfg @@ -40,7 +40,7 @@ icon=attacks/javelin-human.png type=pierce range=ranged - damage=15 + damage=17 number=2 [/attack] [attack_anim] diff --git a/units/human-mages/Mage_Adept_of_Light.cfg b/units/human-mages/Mage_Adept_of_Light.cfg index b5275196..c19dc0ca 100755 --- a/units/human-mages/Mage_Adept_of_Light.cfg +++ b/units/human-mages/Mage_Adept_of_Light.cfg @@ -17,7 +17,7 @@ advances_to=White Mage,Cleric cost=19 usage=mixed fighter - description= _ "Certain female mage apprentices are chosen from admission into the academies to study the magic of light. After graduation, they become Adepts. These magi can summon the Light in the form of energy balls and are able slightly heal wounded allies." + description= _ "Certain female apprentices are chosen from their admission into the academies to study the magic art of light. After graduation, they become Adepts, capable of giving a phyical form to the light itself. These magi can summon the Light in the form of energy balls and are able slightly heal wounded allies." die_sound={SOUND_LIST:HUMAN_FEMALE_DIE} {DEFENSE_ANIM "units/human-magi/adept.png" "units/human-magi/adept.png" {SOUND_LIST:HUMAN_FEMALE_HIT} } diff --git a/units/human-mages/Mage_Cleric.cfg b/units/human-mages/Mage_Cleric.cfg index 63000ad7..59bd009d 100644 --- a/units/human-mages/Mage_Cleric.cfg +++ b/units/human-mages/Mage_Cleric.cfg @@ -17,7 +17,7 @@ advances_to=Prophetess of Light cost=37 usage=healer - description= _ "Female adepts are given a choice in their study of light magic. The cleric lacks the healing capabilities of the white mage but possesses knowledge on the sacred-fire, a power that represents the pure light essence. Clerics can also use their powers to guide allies into better fighting." + description= _ "Female adepts are given a choice in their study of light magic. The cleric lacks the healing capabilities of the white mage but possesses knowledge on the sacred-fire, a power that represents the pure light essence. Clerics can also use their powers to guide allies to fight better." die_sound={SOUND_LIST:HUMAN_FEMALE_DIE} {DEFENSE_ANIM "units/human-magi/cleric-defend.png" "units/human-magi/cleric.png" {SOUND_LIST:HUMAN_FEMALE_HIT} } diff --git a/units/human-mages/Mage_Forest.cfg b/units/human-mages/Mage_Forest.cfg index 44f91a76..46bb96e8 100644 --- a/units/human-mages/Mage_Forest.cfg +++ b/units/human-mages/Mage_Forest.cfg @@ -27,9 +27,9 @@ {ABILITY_EXTRA_HEAL} [/abilities] usage=mixed fighter - description= _"Over time a wood mage, having accumulated enough knowledge in the study of herbs and nature is known as a 'Forest' Mage. + description= _ "Over time, a wood mage having accumulated enough knowledge in the study of herbs and nature becomes known as a 'Forest Mage'. -These mages have the ability to heal themselves and nearby allies and can command the very essence of forests in the form of a devastating ball of fire." +Not only these mages have the ability to heal themselves and nearby allies, but they can also conjure the very essence of forests in the form of a devastating ball of fire, the awe-inspiring nature flare." die_sound={SOUND_LIST:HUMAN_FEMALE_DIE} {DEFENSE_ANIM "units/human-magi/forest-mage-defend.png" "units/human-magi/forest-mage.png" {SOUND_LIST:HUMAN_FEMALE_HIT} } diff --git a/units/human-mages/Mage_Prophetess_of_Light.cfg b/units/human-mages/Mage_Prophetess_of_Light.cfg index b378f415..744a557f 100755 --- a/units/human-mages/Mage_Prophetess_of_Light.cfg +++ b/units/human-mages/Mage_Prophetess_of_Light.cfg @@ -18,7 +18,7 @@ {AMLA_DEFAULT} cost=61 usage=mixed fighter - description= _ "Some mages, on the path of Light, decide to become healers, while others decide to study the more offensive arts. The Prophetesses of Light can channel the power of their magic to its full potential. They have a mastery over the sacred fire, a spell that could vanquish arcane-vulnerable creatures with ease; and the lightning bolts they conjure can bring down almost any foe." + description= _ "Some mages, on the path of Light, decide to become healers, while others decide to study the more offensive arts. The Prophetesses of Light can channel the power of their light magic to its full potential. They have a mastery over the sacred fire, a spell that could vanquish arcane-vulnerable creatures with ease; and the lightning bolts they conjure can bring down almost any foe." die_sound={SOUND_LIST:HUMAN_FEMALE_DIE} {DEFENSE_ANIM "units/human-magi/prophetess-defend.png" "units/human-magi/prophetess.png" {SOUND_LIST:HUMAN_FEMALE_HIT} } diff --git a/units/human-mages/Mage_Storm.cfg b/units/human-mages/Mage_Storm.cfg index e0224bf0..f9df0fd7 100644 --- a/units/human-mages/Mage_Storm.cfg +++ b/units/human-mages/Mage_Storm.cfg @@ -17,7 +17,7 @@ {AMLA_DEFAULT} cost=55 usage=mixed fighter - description= _ "The Mages that control the storms themselves are terrifying to behold. They could make a lightning shower occur anywhere with just a wave of a hand and are more physically stronger than their other counterparts. One other power of these mages is the ability to concentrate the wind on their enemies." + description= _ "The Mages that control the storms themselves are terrifying to behold. They could make a lightning shower occur anywhere with just a wave of a hand and are more physically stronger than their other counterparts. Another power of these mages is the ability to concentrate the wind on their enemies." [special_note] note= _ "Storm Mages are well-attuned to their magical natures and are highly resistant to non-physical damage." diff --git a/units/human-mages/Mage_Thunder.cfg b/units/human-mages/Mage_Thunder.cfg index 018e08f1..c003e59c 100644 --- a/units/human-mages/Mage_Thunder.cfg +++ b/units/human-mages/Mage_Thunder.cfg @@ -18,7 +18,7 @@ advances_to=Tempest Mage cost=22 usage=mixed fighter - description= _ "The Thunder Mages are well-known for the art of magic which they are studying. Even when they are in the deepest reaches of the earth, they could cause a bolt of lightning to rain down on any foe." + description= _ "The Thunder Mages are well-known for the art of lightning magic they study. Even when they are in the deepest reaches of the earth, they can cause a bolt of lightning to rain down on any foe." die_sound={SOUND_LIST:HUMAN_DIE} {DEFENSE_ANIM "units/human-magi/thunder-mage-defend.png" "units/human-magi/thunder-mage.png" {SOUND_LIST:HUMAN_OLD_HIT} } diff --git a/units/human-outlaws/Arcane_Enforcer.cfg b/units/human-outlaws/Arcane_Enforcer.cfg index 65fc5dd6..6f3e9669 100644 --- a/units/human-outlaws/Arcane_Enforcer.cfg +++ b/units/human-outlaws/Arcane_Enforcer.cfg @@ -6,7 +6,7 @@ race=human gender=male,female image="units/human-outlaws/arcane-enforcer.png" - hitpoints=46 + hitpoints=48 movement_type=smallfoot movement=5 experience=100 @@ -34,8 +34,11 @@ [/standing_anim] [resistance] + blade=90 + pierce=90 + impact=90 cold=60 - fire=70 + fire=60 [/resistance] [attack] @@ -44,7 +47,7 @@ icon=attacks/sword-human.png type=blade range=melee - damage=9 + damage=10 number=3 [/attack] @@ -54,7 +57,7 @@ icon=attacks/crossbow-human.png type=pierce range=ranged - damage=15 + damage=20 number=1 [/attack] @@ -124,7 +127,7 @@ [/frame] {SOUND:HIT_AND_MISS magic-dark.ogg magic-dark-miss.ogg -200} [/attack_anim] - + [female] name= _ "female^Arcane Enforcer" gender=female diff --git a/units/human-outlaws/Rogue_Cutthroat.cfg b/units/human-outlaws/Rogue_Cutthroat.cfg new file mode 100644 index 00000000..5aff5071 --- /dev/null +++ b/units/human-outlaws/Rogue_Cutthroat.cfg @@ -0,0 +1,98 @@ +#textdomain wesnoth-War_of_Legends + +[unit_type] + id=Rogue Cutthroat + name= _ "Rogue Cutthroat" + race=human + image="units/human-outlaws/cutthroat.png" + + profile=portraits/humans/trapper.webp + hitpoints=49 + movement_type=smallfoot + movement=5 + level=2 + alignment=neutral + experience=72 + advances_to=Rogue Slayer + cost=23 + usage=archer + description= _ "Master woodsmen are useful allies to any army, and indispensable for any sizeable group of people living in the wilderness. They can track both man and beast, notice things most others would overlook, and are often the only ones who can find food for the table, be it animal or vegetable. Their skill at hunting is very useful in combat, and also leaves them unusually competent at night, and in forests and swamps." + + die_sound={SOUND_LIST:HUMAN_DIE} + {DEFENSE_ANIM_RANGE "units/human-outlaws/cutthroat-melee-defend-2.png" "units/human-outlaws/cutthroat-melee-defend-1.png" {SOUND_LIST:HUMAN_HIT} melee} + {DEFENSE_ANIM_RANGE "units/human-outlaws/cutthroat-bow-defend.png" "units/human-outlaws/cutthroat-bow.png" {SOUND_LIST:HUMAN_HIT} ranged} + + [movement_costs] + swamp_water=2 + [/movement_costs] + [defense] + forest=40 + swamp_water=50 + [/defense] + [death] + start_time=0 + [frame] + image="units/human-outlaws/cutthroat-die-[1~8].png:100" + [/frame] + [/death] + + [attack] + name=short sword + description=_"short sword" + icon=attacks/sword-human-short.png + type=blade + range=melee + damage=6 + number=3 + [/attack] + [attack] + name=bow + description=_"bow" + type=pierce + range=ranged + icon="attacks/bow-short-reinforced.png" + damage=10 + number=3 + [specials] + {WEAPON_SPECIAL_POISON} + [/specials] + [/attack] + + [attack_anim] + [filter_attack] + name=bow + [/filter_attack] + start_time=-445 + missile_start_time=-150 + [missile_frame] + duration=150 + image="projectiles/missile-n.png" + image_diagonal="projectiles/missile-ne.png" + [/missile_frame] + [frame] + image="units/human-outlaws/cutthroat-bow.png:65" + [/frame] + [frame] + image="units/human-outlaws/cutthroat-bow-attack-[1~4].png:[75*2,100,195]" + [/frame] + {SOUND:HIT_AND_MISS bow.ogg bow-miss.ogg -230} + [/attack_anim] + + [attack_anim] + [filter_attack] + name=short sword + [/filter_attack] + start_time=-275 + + [frame] + image="units/human-outlaws/cutthroat-melee-defend-1.png:50" + [/frame] + [frame] + image="units/human-outlaws/cutthroat-melee-attack-[1~4].png:100" + [/frame] + {SOUND:HIT_AND_MISS {SOUND_LIST:SWORD_SWISH} {SOUND_LIST:MISS} -125} + [frame] + image="units/human-outlaws/cutthroat-melee-defend-1.png:50" + [/frame] + [/attack_anim] +[/unit_type] diff --git a/units/human-outlaws/Rogue_Hunter.cfg b/units/human-outlaws/Rogue_Hunter.cfg new file mode 100644 index 00000000..c9cec3e7 --- /dev/null +++ b/units/human-outlaws/Rogue_Hunter.cfg @@ -0,0 +1,93 @@ +#textdomain wesnoth-War_of_Legends + +[unit_type] + id=Rogue Hunter + name= _ "Rogue Hunter" + race=human + image="units/human-outlaws/archer.png" + + profile=portraits/humans/trapper.webp + hitpoints=33 + movement_type=smallfoot + movement=5 + experience=29 + level=1 + alignment=neutral + advances_to=Rogue Cutthroat + cost=16 + usage=archer + description= _ "Though not trained as warriors, the skills possessed by a hunter (especially those of archery) are useful in battle. Any group of soldiers or bandits traveling through the wild will need a few archers in their employ, not merely for hunting but for lending a hand in any serious fight. Because of their experience, these hunters are unusually capable at night, and in forests and swamps." + + + die_sound={SOUND_LIST:HUMAN_DIE} + {DEFENSE_ANIM_RANGE "units/human-outlaws/archer-melee-defend-2.png" "units/human-outlaws/archer-melee-defend-1.png" {SOUND_LIST:HUMAN_HIT} melee} + {DEFENSE_ANIM_RANGE "units/human-outlaws/archer-bow-defend.png" "units/human-outlaws/archer-bow.png" {SOUND_LIST:HUMAN_HIT} ranged} + + [movement_costs] + swamp_water=2 + [/movement_costs] + [defense] + forest=40 + swamp_water=50 + [/defense] + + [attack] + name=short sword + description=_"short sword" + icon=attacks/sword-human-short.png + type=blade + range=melee + damage=4 + number=3 + [/attack] + [attack] + name=bow + description=_"bow" + type=pierce + icon="attacks/bow-short-reinforced.png" + range=ranged + damage=6 + number=3 + [specials] + {WEAPON_SPECIAL_POISON} + [/specials] + [/attack] + + [attack_anim] + [filter_attack] + name=bow + [/filter_attack] + start_time=-445 + missile_start_time=-150 + [missile_frame] + duration=150 + image="projectiles/missile-n.png" + image_diagonal="projectiles/missile-ne.png" + [/missile_frame] + [frame] + image="units/human-outlaws/archer-bow.png:65" + [/frame] + [frame] + image="units/human-outlaws/archer-bow-attack-[1~4].png:[75*2,100,195]" + [/frame] + {SOUND:HIT_AND_MISS bow.ogg bow-miss.ogg -230} + [/attack_anim] + + [attack_anim] + [filter_attack] + name=short sword + [/filter_attack] + start_time=-275 + + [frame] + image="units/human-outlaws/archer-melee-defend-1.png:50" + [/frame] + [frame] + image="units/human-outlaws/archer-melee-attack-[1~4].png:100" + [/frame] + {SOUND:HIT_AND_MISS {SOUND_LIST:SWORD_SWISH} {SOUND_LIST:MISS} -125} + [frame] + image="units/human-outlaws/archer-melee-defend-1.png:50" + [/frame] + [/attack_anim] +[/unit_type] diff --git a/units/human-outlaws/Rogue_Slayer.cfg b/units/human-outlaws/Rogue_Slayer.cfg new file mode 100644 index 00000000..a715b085 --- /dev/null +++ b/units/human-outlaws/Rogue_Slayer.cfg @@ -0,0 +1,93 @@ +#textdomain wesnoth-War_of_Legends + +[unit_type] + id=Rogue Slayer + name= _ "Rogue Slayer" + race=human + image="units/human-outlaws/exterminator.png" + profile=portraits/humans/huntsman.webp + + hitpoints=57 + movement_type=smallfoot + movement=5 + experience=150 + level=3 + alignment=neutral + advances_to=null + {AMLA_DEFAULT} + cost=44 + usage=archer + description= _ "Hunting is a popular sport of noblemen, but it can also be a livelihood for commoners. Like any other craft, it has men of masterful skill in its practice. Huntsmen know all the tricks of their trade, and are skilled at navigating the wilderness, at tracking, and at the use of the bow. They are a fair shot at moving targets, and targets hiding under brush and cover; a skill wrought from years of practice at shooting game, and one which garrisoned bowmen often lack. Master hunters are employed by any group living in or passing through wild country, be they men of the law, or those working against it. Even nature itself can have deadly surprises, and any commander who fails to hire a such a guide can lose his men to nothing more than terrain. Good woodsmen can save lives, ease travel, provide food, and their skill with a bow is capitally useful in a fight." + + die_sound={SOUND_LIST:HUMAN_DIE} + {DEFENSE_ANIM_RANGE "units/human-outlaws/exterminator-melee-defend-2.png" "units/human-outlaws/exterminator-melee-defend-1.png" {SOUND_LIST:HUMAN_HIT} melee} + {DEFENSE_ANIM_RANGE "units/human-outlaws/exterminator-bow-defend.png" "units/human-outlaws/exterminator-bow.png" {SOUND_LIST:HUMAN_HIT} ranged} + + [movement_costs] + swamp_water=2 + [/movement_costs] + [defense] + forest=40 + swamp_water=40 + [/defense] + [attack] + name=short sword + description= _ "short sword" + icon=attacks/sword-human-short.png + type=blade + range=melee + damage=7 + number=4 + [/attack] + [attack] + name=bow + description= _ "bow" + icon="attacks/bow-short-reinforced.png" + type=pierce + range=ranged + damage=14 + number=3 + [specials] + {WEAPON_SPECIAL_MARKSMAN} + {WEAPON_SPECIAL_POISON} + [/specials] + [/attack] + + [attack_anim] + [filter_attack] + name=bow + [/filter_attack] + start_time=-445 + missile_start_time=-150 + [missile_frame] + duration=150 + image="projectiles/missile-n.png" + image_diagonal="projectiles/missile-ne.png" + [/missile_frame] + [frame] + image="units/human-outlaws/exterminator-bow.png:65" + [/frame] + [frame] + image="units/human-outlaws/exterminator-bow-attack-[1~4].png:[75*2,100,195]" + [/frame] + {SOUND:HIT_AND_MISS bow.ogg bow-miss.ogg -230} + [/attack_anim] + + [attack_anim] + [filter_attack] + name=short sword + [/filter_attack] + start_time=-275 + + [frame] + image="units/human-outlaws/exterminator-melee-defend-1.png:50" + [/frame] + [frame] + image="units/human-outlaws/exterminator-melee-attack-[1~4].png:100" + [/frame] + {SOUND:HIT_AND_MISS {SOUND_LIST:SWORD_SWISH} {SOUND_LIST:MISS} -125} + [frame] + image="units/human-outlaws/exterminator-melee-defend-1.png:50" + [/frame] + [/attack_anim] +[/unit_type] diff --git a/units/human-outlaws/Shadow_Initiate.cfg b/units/human-outlaws/Shadow_Initiate.cfg index 31953394..8010f765 100644 --- a/units/human-outlaws/Shadow_Initiate.cfg +++ b/units/human-outlaws/Shadow_Initiate.cfg @@ -8,9 +8,9 @@ image="units/human-outlaws/shadow-initiate.png" hitpoints=27 - movement_type=smallfoot - movement=6 - experience=55 + movement_type=elusivefoot + movement=5 + experience=46 level=1 alignment=liminal advances_to=Shadow Mage,Arcane Enforcer @@ -26,7 +26,7 @@ icon=attacks/sword-human-short.png type=blade range=melee - damage=5 + damage=6 number=3 [/attack] [attack] diff --git a/units/human-outlaws/Shadow_Lord.cfg b/units/human-outlaws/Shadow_Lord.cfg index 8dbe44ab..9e1900ec 100644 --- a/units/human-outlaws/Shadow_Lord.cfg +++ b/units/human-outlaws/Shadow_Lord.cfg @@ -8,13 +8,13 @@ image="units/human-outlaws/shadow-lord.png" hitpoints=49 - movement_type=smallfoot + movement_type=elusivefoot movement=5 experience=150 level=3 alignment=liminal advances_to=null - cost=56 + cost=59 {AMLA_DEFAULT} usage=mixed fighter description= _ "Few humans fathom the secrets of light and dark magic and retain their sanity. Those that can master that balance become Shadow Lords, fully existing neither in the world of light nor the world of darkness. No longer needing physical weapons, they are fearsome to both their enemies and those they lord over." @@ -37,13 +37,14 @@ name=astral blade icon="attacks/astral-blade.png" description= _ "astral blade" - type=energy + type=blade range=melee [specials] {WEAPON_SPECIAL_MAGICAL} + {WEAPON_SPECIAL_CHILL} [/specials] - damage=10 - number=3 + damage=8 + number=5 [/attack] [attack] diff --git a/units/human-outlaws/Shadow_Mage.cfg b/units/human-outlaws/Shadow_Mage.cfg index 57f1eb18..c294e401 100644 --- a/units/human-outlaws/Shadow_Mage.cfg +++ b/units/human-outlaws/Shadow_Mage.cfg @@ -8,9 +8,9 @@ image="units/human-outlaws/shadow-mage.png" hitpoints=39 - movement_type=smallfoot - movement=6 - experience=95 + movement_type=elusivefoot + movement=5 + experience=93 level=2 alignment=liminal advances_to=Shadow Lord @@ -30,7 +30,7 @@ image="units/human-outlaws/shadow-mage.png:100,units/human-outlaws/shadow-mage-[1~5].png:[80*2,100,80*2]" [/frame] [/standing_anim] - + {DEFENSE_ANIM "units/human-outlaws/shadow-mage-defend2.png" "units/human-outlaws/shadow-mage-defend1.png" {SOUND_LIST:HUMAN_OLD_HIT} } [attack] @@ -40,10 +40,10 @@ type=blade range=melee [specials] - {WEAPON_SPECIAL_MAGICAL} + {WEAPON_SPECIAL_CHILL} [/specials] damage=7 - number=3 + number=4 [/attack] [attack] diff --git a/units/minotaurs/Forgotten_Minotaur.cfg b/units/minotaurs/Forgotten_Minotaur.cfg index f3921278..1d97e439 100644 --- a/units/minotaurs/Forgotten_Minotaur.cfg +++ b/units/minotaurs/Forgotten_Minotaur.cfg @@ -6,7 +6,25 @@ race=minotaur image="units/elves-deep/minotaur.png" hitpoints=55 - movement_type=deepelffoot + movement_type=minotaurfoot + # adjust resistances + [resistance] + blade=90 + pierce=80 + impact=90 + fire=90 + cold=70 + [/resistance] + # adjust defense + [defense] + cave=50 + fungus=50 + forest=60 + frozen=70 + [/defense] + [movement_costs] + mountains=2 + [/movement_costs] movement=6 experience=100 level=2 diff --git a/units/orcs/Marauder.cfg b/units/orcs/Marauder.cfg index 7cfceebf..6182daf4 100644 --- a/units/orcs/Marauder.cfg +++ b/units/orcs/Marauder.cfg @@ -5,6 +5,8 @@ name= _ "Orcish Marauder" race=orc image="units/orcs/marauder.png" + profile="portraits/orc-raider.png" + small_profile="portraits/orc-raider.png~SCALE(205,205)" hitpoints=50 movement_type=orcishfoot diff --git a/units/orcs/Shaman.cfg b/units/orcs/Shaman.cfg index eb4de4c6..b5b5c14e 100755 --- a/units/orcs/Shaman.cfg +++ b/units/orcs/Shaman.cfg @@ -10,7 +10,13 @@ profile="portraits/orc-shaman.png" small_profile="portraits/orc-shaman.png~SCALE(205,205)" hitpoints=27 - #He's an orc + + [resistance] + fire=50 + cold=50 + arcane=40 + [/resistance] + movement_type=orcishfoot movement=5 experience=48 @@ -109,12 +115,10 @@ name= _ "female^Orcish Shaman" gender=female image="units/orcs/shaman+female.png" - # we dont have portraits yet - # keep the male ones for now - profile="portraits/orc-shaman.png" - small_profile="portraits/orc-shaman.png~SCALE(205,205)" - die_sound={SOUND_LIST:ORC_DIE} - {DEFENSE_ANIM "units/orcs/shaman-defend-2+female.png" "units/orcs/shaman-defend-1+female.png" {SOUND_LIST:ORC_HIT} } + profile="portraits/orc-shaman+female.webp" + small_profile="portraits/orc-shaman+female.webp~SCALE(205,205)" + die_sound=orc-female-die-[1~3].ogg + {DEFENSE_ANIM "units/orcs/shaman-defend-2+female.png" "units/orcs/shaman-defend-1+female.png" orc-female-hit-[1~4].ogg } [attack_anim] [filter_attack] name=staff diff --git a/units/orcs/Sorcerer.cfg b/units/orcs/Sorcerer.cfg index ca3bc74d..1fdff448 100755 --- a/units/orcs/Sorcerer.cfg +++ b/units/orcs/Sorcerer.cfg @@ -10,6 +10,11 @@ gender=male,female hitpoints=52 + [resistance] + fire=30 + cold=30 + arcane=40 + [/resistance] movement_type=orcishfoot movement=5 experience=150 @@ -108,11 +113,11 @@ [female] name= _ "female^Orcish Sorceress" image="units/orcs/sorceress.png" - profile="portraits/orc-sorcerer.png" - small_profile="portraits/orc-sorcerer.png~SCALE(205,205)" + profile="portraits/orc-shaman+female.webp" + small_profile="portraits/orc-shaman+female.webp~SCALE(205,205)" gender=female - die_sound={SOUND_LIST:ORC_DIE} - {DEFENSE_ANIM "units/orcs/sorceress-defend-2.png" "units/orcs/sorceress-defend-1.png" {SOUND_LIST:ORC_HIT} } + die_sound=orc-female-die-[1~3].ogg + {DEFENSE_ANIM "units/orcs/sorceress-defend-2.png" "units/orcs/sorceress-defend-1.png" orc-female-hit-[1~4].ogg } [attack_anim] [filter_attack] name=staff diff --git a/units/orcs/Subjugator.cfg b/units/orcs/Subjugator.cfg index ed7be195..cc0bf8d2 100644 --- a/units/orcs/Subjugator.cfg +++ b/units/orcs/Subjugator.cfg @@ -5,6 +5,8 @@ name= _ "Orcish Subjugator" race=orc image="units/orcs/subjugator.png" + profile="portraits/orc-raider.png" + small_profile="portraits/orc-raider.png~SCALE(205,205)" hitpoints=72 movement_type=orcishfoot diff --git a/units/orcs/Warlock.cfg b/units/orcs/Warlock.cfg index 16f3afc6..762ff751 100755 --- a/units/orcs/Warlock.cfg +++ b/units/orcs/Warlock.cfg @@ -10,6 +10,11 @@ gender=male,female hitpoints=43 + [resistance] + fire=40 + cold=40 + arcane=40 + [/resistance] movement_type=orcishfoot movement=5 experience=91 @@ -110,10 +115,10 @@ name= _ "female^Orcish Witch" gender=female image="units/orcs/witch.png" - profile="portraits/orc-warlock.png" - small_profile="portraits/orc-warlock.png~SCALE(205,205)" - die_sound={SOUND_LIST:ORC_DIE} - {DEFENSE_ANIM "units/orcs/witch-defend-2.png" "units/orcs/witch-defend-1.png" {SOUND_LIST:ORC_HIT} } + profile="portraits/orc-shaman+female.webp" + small_profile="portraits/orc-shaman+female.webp~SCALE(205,205)" + die_sound=orc-female-die-[1~3].ogg + {DEFENSE_ANIM "units/orcs/witch-defend-2.png" "units/orcs/witch-defend-1.png" orc-female-hit-[1~4].ogg } [attack_anim] [filter_attack] name=staff diff --git a/units/steelhive/steel_dominant.cfg b/units/steelhive/steel_dominant.cfg new file mode 100644 index 00000000..92db215c --- /dev/null +++ b/units/steelhive/steel_dominant.cfg @@ -0,0 +1,403 @@ +#textdomain wesnoth-War_of_Legends +[unit_type] + id=Steel Dominant + name= _ "Steel Dominant" + race=steelhive + gender="female" + image="units/steelhive/steel_dominant.png" + hitpoints=91 + movement_type=steelhive_melee + movement=5 + experience=200 + level=4 + alignment=neutral + attacks=0 + advances_to=null + {AMLA_DEFAULT} + cost=72 + usage=fighter + description= _ "Leading such a proteiformus army as the steelhive is a task that cannot be achieved by a single organism. The Steelhive therefore takes its best elements and fuse them into a single model profitient in multi-tasking. This mastery allows it to command the Steelhive as well as making it a formidable enemy able to attack multiple targets at once. However, injuring the Dominant makes it loose part of its multi-tasking ability, making it less deadly while still dangerous." + + {STEELHIVE_SOUND:DIE} + {STEELHIVE_SOUND:HIT} + [abilities] + {ABILITY_SUPERIOR_LIFE_FORM} + {ABILITY_REPROGRAM} + {ABILITY_MECHANIZING_VIRUS} + [/abilities] + [attack] + name=crush + description=_"crush" + icon=attacks/collide.png + type=impact + range=melee + damage=15 + number=0 + [/attack] + [attack_anim] + [filter_attack] + name=crush + [/filter_attack] + [if] + hits=yes + [frame] + sound={STEELHIVE_SOUND:SLASH} + begin=-250 + end=0 + image="units/steelhive/steel_dominant.png" + [/frame] + [/if] + [else] + hits=no + [frame] + sound={STEELHIVE_SOUND:SLASH_MISS} + begin=-250 + end=0 + image="units/steelhive/steel_dominant.png" + [/frame] + [/else] + [/attack_anim] + [attack_anim] + [filter_attack] + name=quill + [/filter_attack] + missile_start_time=-150 + [missile_frame] + duration=150 + image="projectiles/dagger-n.png" + image_diagonal="projectiles/dagger-ne.png" + [/missile_frame] + start_time=-200 + [frame] + image="units/steelhive/steel_dominant.png:250" + [/frame] + {SOUND:HIT_AND_MISS throwing-knife.ogg throwing-knife-miss.ogg -200} + [/attack_anim] + [attack_anim] + [filter_attack] + range=ranged + [/filter_attack] + {SOUND:HIT_AND_MISS lightning.ogg lightning-miss.ogg -100} + missile_start_time=-100 + [missile_frame] + image="projectiles/darkmissile-n.png:200" + image_diagonal="projectiles/darkmissile-ne.png" + [/missile_frame] + [/attack_anim] + + [variation] + variation_id=lightly_injured + inherit=yes + attacks=2 + [attack] + name=crush + description=_"crush" + icon=attacks/collide.png + type=impact + range=melee + damage=15 + number=2 + [/attack] + [attack] + name=quill + description=_"quill" + icon=attacks/rayblade.png + type=pierce + [specials] + {WEAPON_SPECIAL_FIRSTSTRIKE} + [/specials] + range=ranged + damage=9 + number=5 + [/attack] + [/variation] + [variation] + variation_id=injured + inherit=yes + attacks=1 + [attack] + name=crush + description=_"crush" + icon=attacks/collide.png + type=impact + range=melee + damage=15 + number=2 + [/attack] + [/variation] + [variation] + variation_id=full_health + inherit=yes + attacks=3 + [attack] + name=crush + description=_"crush" + icon=attacks/collide.png + type=impact + range=melee + damage=15 + number=2 + [/attack] + [attack] + name=quill + description=_"quill" + icon=attacks/rayblade.png + type=pierce + [specials] + {WEAPON_SPECIAL_FIRSTSTRIKE} + [/specials] + range=ranged + damage=9 + number=5 + [/attack] + [attack] + name=shock + description=_"shock" + icon=attacks/lightning.png + type=electric + [specials] + {WEAPON_SPECIAL_MARKSMAN} + [/specials] + range=ranged + damage=14 + number=3 + [/attack] + [/variation] + + [event] + name=side turn + id=dominant_injuries + first_time_only=no + [store_unit] + [filter] + type=Steel Dominant + [/filter] + variable=dominants + [/store_unit] + [foreach] + array=dominants + [do] + [set_variable] + name=health + formula="(floor(4*$this_item.hitpoints/$this_item.max_hitpoints))" + [/set_variable] + [switch] + variable=health + [case] + value=4 + [modify_unit] + [filter] + id=$this_item.id + [/filter] + [effect] + apply_to=variation + name=full_health + [/effect] + [/modify_unit] + [/case] + [case] + value=3 + [modify_unit] + [filter] + id=$this_item.id + [/filter] + [effect] + apply_to=variation + name=full_health + [/effect] + [/modify_unit] + [/case] + [case] + value=2 + [modify_unit] + [filter] + id=$this_item.id + [/filter] + [effect] + apply_to=variation + name=lightly_injured + [/effect] + [/modify_unit] + [/case] + [case] + value=1 + [modify_unit] + [filter] + id=$this_item.id + [/filter] + [effect] + apply_to=variation + name=injured + [/effect] + [/modify_unit] + [/case] + [case] + value=0 + [modify_unit] + [filter] + id=$this_item.id + [/filter] + [effect] + apply_to=variation + name="" + [/effect] + [/modify_unit] + [/case] + [/switch] + [/do] + [/foreach] + {CLEAR_VARIABLE dominants} + [/event] + + [event] + name=defender hits, unit placed + id=dominant_injuries_2 + first_time_only=no + [filter] + type=Steel Dominant + [/filter] + [set_variable] + name=health + formula="(floor(4*$unit.hitpoints/$unit.max_hitpoints))" + [/set_variable] + [switch] + variable=health + [case] + value=4 + [modify_unit] + [filter] + id=$unit.id + [/filter] + [effect] + apply_to=variation + name=full_health + [/effect] + [/modify_unit] + [/case] + [case] + value=3 + [modify_unit] + [filter] + id=$unit.id + [/filter] + [effect] + apply_to=variation + name=full_health + [/effect] + [/modify_unit] + [/case] + [case] + value=2 + [modify_unit] + [filter] + id=$unit.id + [/filter] + [effect] + apply_to=variation + name=lightly_injured + [/effect] + [/modify_unit] + [/case] + [case] + value=1 + [modify_unit] + [filter] + id=$unit.id + [/filter] + [effect] + apply_to=variation + name=injured + [/effect] + [/modify_unit] + [/case] + [case] + value=0 + [modify_unit] + [filter] + id=$unit.id + [/filter] + [effect] + apply_to=variation + name="" + [/effect] + [/modify_unit] + [/case] + [/switch] + [/event] + + [event] + name=attacker hits + id=dominant_injuries_3 + first_time_only=no + [filter_second] + type=Steel Dominant + [/filter_second] + [set_variable] + name=health + formula="(floor(4*$second_unit.hitpoints/$second_unit.max_hitpoints))" + [/set_variable] + [switch] + variable=health + [case] + value=4 + [modify_unit] + [filter] + id=$second_unit.id + [/filter] + [effect] + apply_to=variation + name=full_health + [/effect] + [/modify_unit] + [/case] + [case] + value=3 + [modify_unit] + [filter] + id=$second_unit.id + [/filter] + [effect] + apply_to=variation + name=full_health + [/effect] + [/modify_unit] + [/case] + [case] + value=2 + [modify_unit] + [filter] + id=$second_unit.id + [/filter] + [effect] + apply_to=variation + name=lightly_injured + [/effect] + [/modify_unit] + [/case] + [case] + value=1 + [modify_unit] + [filter] + id=$second_unit.id + [/filter] + [effect] + apply_to=variation + name=injured + [/effect] + [/modify_unit] + [/case] + [case] + value=0 + [modify_unit] + [filter] + id=$second_unit.id + [/filter] + [effect] + apply_to=variation + name="" + [/effect] + [/modify_unit] + [/case] + [/switch] + [/event] +[/unit_type]