Dugi's text domain bug
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
version="1.12.0+dev" | |
next_underlying_unit_id=15 | |
abbrev="S" | |
campaign="Swamplings" | |
campaign_define="CAMPAIGN_SWAMPLINGS" | |
campaign_extra_defines="" | |
campaign_type="scenario" | |
completion="running" | |
difficulty="NORMAL" | |
end_credits=yes | |
end_text="" | |
end_text_duration=0 | |
history="" | |
label="S-Healer And Slayer" | |
parent="S-Healer And Slayer" | |
version="1.12.0+dev" | |
[statistics] | |
mid_scenario=yes | |
[scenario] | |
scenario="Shining" | |
[team] | |
[recruits] | |
[/recruits] | |
[recalls] | |
[/recalls] | |
[advances] | |
[/advances] | |
[deaths] | |
[/deaths] | |
[killed] | |
[/killed] | |
[attacks] | |
[/attacks] | |
[defends] | |
[/defends] | |
recruit_cost=0 | |
recall_cost=0 | |
damage_inflicted=0 | |
damage_taken=0 | |
expected_damage_inflicted=0 | |
expected_damage_taken=0 | |
turn_damage_inflicted=0 | |
turn_damage_taken=0 | |
turn_expected_damage_inflicted=0 | |
turn_expected_damage_taken=0 | |
save_id="Clammie" | |
[/team] | |
[/scenario] | |
[scenario] | |
scenario="Healer And Slayer" | |
[team] | |
[recruits] | |
[/recruits] | |
[recalls] | |
[/recalls] | |
[advances] | |
[/advances] | |
[deaths] | |
[/deaths] | |
[killed] | |
[/killed] | |
[attacks] | |
[/attacks] | |
[defends] | |
[/defends] | |
recruit_cost=0 | |
recall_cost=0 | |
damage_inflicted=0 | |
damage_taken=0 | |
expected_damage_inflicted=0 | |
expected_damage_taken=0 | |
turn_damage_inflicted=0 | |
turn_damage_taken=0 | |
turn_expected_damage_inflicted=0 | |
turn_expected_damage_taken=0 | |
save_id="Clammie" | |
[/team] | |
[/scenario] | |
[/statistics] | |
[snapshot] | |
abbrev="S" | |
campaign="Swamplings" | |
campaign_define="CAMPAIGN_SWAMPLINGS" | |
campaign_extra_defines="" | |
campaign_type="scenario" | |
can_end_turn=yes | |
completion="running" | |
current_time=0 | |
difficulty="NORMAL" | |
end_credits=yes | |
end_text="" | |
end_text_duration=0 | |
history="" | |
id="02_Healer_And_Slayer" | |
init_side_done=yes | |
label="S-Healer And Slayer" | |
map_data="border_size=1 | |
usage=map | |
Gs^Fp, Gs^Fmf, Ww, Gs^Fp, Ss, Ss, Ss, Gg, Ss, Ss, Ss, Ww, Ww, Ww, Ww, Ww, Ww, Ss, Ww, Ss, Ww, Ww, Ww, Ss | |
Gs^Fmf, Gs^Fp, Gs^Fp, Ww, Ss, Ss, Chs^Bw/, Ss, Ss, Ww, Ss, Ww, Ss^Bw/, Ss^Bw/, Ss^Bw\, Gll^Bw/, Ss^Bw\, Ww, Ss, Ss, Ss^Bw\, Gll^Wm, Ss, Ss | |
Gs^Fp, Gs^Fmf, Gs^Fp, Gs^Fp, Gs^Fmf, Ss^Vhs, Ss, Ss^Bw\, Ss^Bw/, Ss^Bw\, Ss^Bw/, Ss^Bw/, Ss^Bw/, Ce, Ce, Ce, Ce, Ce, Ss^Bw\, Ss^Bw/, Ss^Bw|, Ss, Ww, Ss | |
Gs^Fmf, Gs^Fmf, Gs^Fp, Gs^Fp, Ss, Ss, Ss, Ss, Ms^Vhha, Hh^Fdf, Ss, Ss^Bw\, Ss^Bw\, Ce, Ce, Ce, Ce, Ce, Ww, Ss, Gll, Ss, Ss, Ss | |
Gs^Fp, Gs^Fp, Gs^Fp, Gs^Fmf, Hh^Fdf, Hh^Fdf, Hh^Fdf, Hh^Fdf, Mm, Hh^Fdf, Hh^Fdf, Ss, Ce, Ww^Bw/, Ce, Ce, Ce, Ss^Bw\, Ce, Ss, Gll, Ss, Ss, Ss | |
Ss, Gs^Fmf, Gll^Fmf, Hh^Fdf, Hh^Fdw, Mm, Mm, Mm, Mm, Hh^Fdf, Hh^Fdf, Ss, Ss^Bw/, Ce, Ce, Ce, Ce, Ce, Gll^Bw\, Gll, Gll, Ss, Ww, Ss | |
Ss, Ss, Ww, Ww, Hh^Fdf, Mm, Mm, Mm, Mm, Mm, Hh^Fdf, Hh^Fdw, Ss, Re^Bw\, Ss^Bw/, Ss^Bw\, Ss^Bw\, Ss^Bw/, Ss, Gll, Ss^Vm, Ww, Ww, Ss | |
Ww, Ww, Ww, Ww, Hh^Fdf, Mm, Mm, Mm, Mm, Mm, Hh^Fdf, Ss, Gll, Gll, 1 Gll, Ss, Ss, Ww, Ss, Ww, Ww, Ww, Ww, Ww | |
Ww, Ww, Ss, Ww, Hh^Fdw, Mm, Mm, Mm, Mm, Mm, Hh^Fdf, Gs^Fmf, Gll, Gll, Ww, Ww, Gll^Fmf, Ss, Ww, Ww, Gll^Fp, Gll^Fp, Ww, Ww | |
Ss, Gg, Gg, Ww, Hh^Fdf, Mm, Mm, Mm, Mm, Hh^Fdf, Ss, Ss, Gll, Wo, Wo, Wo, Ww, Ss, Ss, Ss, Ss, Gs^Fmf, Ss, Ss | |
Ss, Gg^Vh, Gg, Ww, Ww, Hh^Fdf, Hh^Fdf, Mm, Mm, Hh^Fdf, Ss, Ss, Ww^Bw|, Wo, Wo, Wo, Ww, Ss, Gll, Ss, Ww, Ww, Ss, Ss | |
Ss, Gg, Gll, Gg, Hh^Fdf, Ww, Hh^Fdf, Hh^Fdw, Hh^Fdf, Hh^Fdf, Ss, Ss, Ww^Bw|, Wo, Wo, Wo, Ww, Ss, Gg, Ss, Ww, Wo, Gll, Gll | |
Ww, Gg^Efm, Gg^Efm, Gg, Ss, Ww, Ww, Ww, Ww, Hh^Fdf, Ss^Vhs, Ss, Gll^Es, Wo, Wo, Wo, Ww, Ww, Ww, Ww, Ww, Ww, Gg^Vc, Gg | |
Wo, Ww^Ewf, Gg^Efm, Ss, Ss, Ss, Ss, Ww, Ww, Ww, Ww^Bw/, Gll, Ww, Wo, Wo, Wo, Ww^Ewl, Ww^Ewl, Ww^Ewf, Ww, Ww, Ww, Gg^Eff, Gg | |
Xu, Wo, Ww, Ss, Xu, Xu, Xu, Ss, Ss, Chw, Gs^Fmf, Ww, Ww, Ww, Ww, Ss, Ss, Ww^Ewl, Ww^Ewf, Ww^Ewl, Ss, Gg, Gll, Gg^Eff | |
Xu, Xu, Xu, Xu, Uu, Ss, Ss, Xu, Ss, Re, Gs^Fp, Ww, Ww, Ss, Ss, Ss, Hh, Hh^Es, Hh^Dr, Hh^Es, Hh, Gg, Gll, Gg | |
Xu, Uu^Uf, Uu, Uu, Xu, Uu, Xu, Xu, Gs^Fp, Gs^Fmf, Gs^Fmf, Ww, Ww, Ss, Hh, Hh, Xu, Xu, Xu, Xu, Xu, Hh, Hh^Es, Gll | |
Xu, Uu, Xu, Xu, Uu^Es, Uu, Xu, Ss, Ss, Ww^Bw|, Ww, Wo, Ww, Ss, Hh^Es, Xu, Xu, Uh, Uh, Uh, Uu^Vu, Xu, Xu, Hh^Dr | |
Xu, Ss, Xu, Uu^Es, Uu, Ss, Xu, Ss, Ww, Ww^Bw|, Wo, Wo, Ww, Ss, Hh^Es, Hh^Dr, Xu, Ss, Uh^Es, Uh, Uh, Uh, Uh, Xu | |
Xu, Ss^Vm, Uu^Uf, Xu, Xu, Uu^Uf, Xu, Ss, Ss, Ww^Bw|, Ww^Bw\, Wo, Hh^Es, Hh^Dr, Xu, Xu, Uh, Uh, Xu, Xu, Xu, Ss, Uh, Xu | |
Xu, Uu^Uf, Xu, Uu, Xu, Uu, Uu, Xu, Xu, Ss, Ww, Ww^Bw\, Sm, Xu, Uu^Uf, Ss, Xu, Xu, Uh, Uh, Xu, Xu, Uh, Xu | |
Xu, Uu, Xu, Uu, Uh, Xu, Xu, Uu, Uu, Xu, Xu, Xu, Xu, Uu^Ufi, Uu^Uf, Uh, Xu, Ss, Ss, Xu, Uh, Ss, Uh, Xu | |
Xu, Uu^Es, Uh, Uh, Uh, Uu^Es, Uu^Es, Uh, Uu^Es, Uu, Uh, Uu^Uf, Uu^Uf, Ss, Ss, Uh, Uh, Uh, Uh, Uh, Uh, Uh, Uh, Xu | |
Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, _s, _s | |
" | |
#textdomain wesnoth-swamplings | |
name=_"Healer And Slayer" | |
next_scenario="03_Exodus" | |
next_teleport_group_id=0 | |
next_underlying_unit_id=15 | |
playing_team=0 | |
random_calls=0 | |
random_seed=1698981164 | |
scenario="02_Healer_And_Slayer" | |
snapshot=yes | |
turn_at=1 | |
turns=33 | |
unit_wml_ids="Goblin Rouser Sw,Vampire Bat Sw,White Mage" | |
used_items="" | |
version="1.12.0+dev" | |
victory_when_enemies_defeated=no | |
[display] | |
color_adjust_blue=0 | |
color_adjust_green=0 | |
color_adjust_red=0 | |
view_locked=no | |
[/display] | |
[side] | |
action_bonus_count=0 | |
allow_player=yes | |
auto_shroud=yes | |
chose_random=no | |
color=1 | |
controller="human" | |
countdown_time=0 | |
current_player="Clammie" | |
defeat_condition="no_leader_left" | |
disallow_observers=no | |
flag="" | |
flag_icon="" | |
fog=no | |
fog_data="" | |
gold=200 | |
gold_add=no | |
hidden=no | |
id="Clammie" | |
income=0 | |
lost=no | |
name="Clammie" | |
no_leader=yes | |
objectives="<big>Victory:</big> | |
<span foreground=""#00ff00"">• Charm five bats</span> | |
<big>Defeat:</big> | |
<span foreground=""#ff0000"">• Death of Clammie</span> | |
<span foreground=""#ff0000"">• Death of Ronry</span> | |
<span foreground=""#ff0000"">• Turns run out</span> | |
Early finish bonus. | |
40% of finishing gold carried over to the next scenario." | |
objectives_changed=yes | |
persistent=yes | |
recall_cost=20 | |
recruit="" | |
save_id="Clammie" | |
scroll_to_leader=yes | |
share_maps=yes | |
share_view=no | |
shroud=yes | |
shroud_data="|1111111111111110000000000 | |
|1111111111111111000000000 | |
|1111111111111111000000000 | |
|1111111111111111000000000 | |
|1111111111111110000000000 | |
|1111111111111110000000000 | |
|1111111111111110000000000 | |
|1111111111111111001110000 | |
|1111111111111111111110000 | |
|1111111111111111111111000 | |
|1111111111111111111111000 | |
|1111111111111111111111000 | |
|1111111111111111111110000 | |
|1111111111111111111110000 | |
|1111111111111111111100000 | |
|1111111111111111110100000 | |
|1111111111111111100000000 | |
|1111111111111111100000000 | |
|1111111111111111100000000 | |
|1111111111111111100000000 | |
|1111111111111111100000000 | |
|1111111111111111110000000 | |
|1111111111111111110000000 | |
|1111111111111111111000000 | |
|1111111111111110000000000 | |
" | |
side=1 | |
start_gold=200 | |
suppress_end_turn_confirmation=no | |
team_name=1 | |
user_team_name=_"Clammie and Co." | |
village_gold=1 | |
village_support=1 | |
[ai] | |
#textdomain wesnoth-ai | |
description=_"Multiplayer_AI^Default AI (RCA)" | |
id="ai_default_rca" | |
version=10710 | |
[stage] | |
id="main_loop" | |
name="ai_default_rca::candidate_action_evaluation_loop" | |
[candidate_action] | |
engine="cpp" | |
id="goto" | |
max_score=200000 | |
name="ai_default_rca::goto_phase" | |
score=200000 | |
[/candidate_action] | |
[candidate_action] | |
engine="cpp" | |
id="recruitment" | |
max_score=180000 | |
name="default_recruitment::recruitment" | |
score=180000 | |
[/candidate_action] | |
[candidate_action] | |
engine="cpp" | |
id="move_leader_to_goals" | |
max_score=140000 | |
name="ai_default_rca::move_leader_to_goals_phase" | |
score=140000 | |
[/candidate_action] | |
[candidate_action] | |
engine="cpp" | |
id="move_leader_to_keep" | |
max_score=120000 | |
name="ai_default_rca::move_leader_to_keep_phase" | |
score=120000 | |
[/candidate_action] | |
[candidate_action] | |
engine="cpp" | |
id="combat" | |
max_score=100000 | |
name="ai_default_rca::combat_phase" | |
score=100000 | |
[/candidate_action] | |
[candidate_action] | |
engine="cpp" | |
id="healing" | |
max_score=80000 | |
name="ai_default_rca::get_healing_phase" | |
score=80000 | |
[/candidate_action] | |
[candidate_action] | |
engine="cpp" | |
id="villages" | |
max_score=60000 | |
name="ai_default_rca::get_villages_phase" | |
score=60000 | |
[/candidate_action] | |
[candidate_action] | |
engine="cpp" | |
id="retreat" | |
max_score=40000 | |
name="ai_default_rca::retreat_phase" | |
score=40000 | |
[/candidate_action] | |
[candidate_action] | |
engine="cpp" | |
id="move_to_targets" | |
max_score=20000 | |
name="ai_default_rca::move_to_targets_phase" | |
score=20000 | |
[/candidate_action] | |
[candidate_action] | |
engine="cpp" | |
id="leader_shares_keep" | |
max_score=10000 | |
name="ai_default_rca::leader_shares_keep_phase" | |
score=10000 | |
[/candidate_action] | |
[/stage] | |
[aspect] | |
engine="cpp" | |
id="advancements" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="aggression" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=0.4 | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="attack_depth" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=5 | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="attacks" | |
invalidate_on_gamestate_change=yes | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
invalidate_on_gamestate_change=yes | |
name="ai_default_rca::aspect_attacks" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="avoid" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
[value] | |
[not] | |
[/not] | |
[/value] | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="caution" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=0.25 | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="grouping" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value="offensive" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="leader_aggression" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value="-4.0" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="leader_goal" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="leader_ignores_keep" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=no | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="leader_value" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value="3.0" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="number_of_possible_recruits_to_force_recruit" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=3.1 | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="passive_leader" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=no | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="passive_leader_shares_keep" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=no | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="recruitment" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
[value] | |
engine="cpp" | |
name="ai_default::recruitment" | |
[/value] | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="recruitment_diversity" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value="2.0" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="recruitment_ignore_bad_combat" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=no | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="recruitment_ignore_bad_movement" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=no | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="recruitment_instructions" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
[value] | |
[recruit] | |
importance=0 | |
[/recruit] | |
[/value] | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="recruitment_more" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="recruitment_pattern" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="recruitment_randomness" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=50 | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="recruitment_save_gold" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
[value] | |
active=0 | |
[/value] | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="scout_village_targeting" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=3 | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="simple_targeting" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=no | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="support_villages" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=no | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="village_value" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value="1.0" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="villages_per_scout" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=4 | |
[/default] | |
[/aspect] | |
[/ai] | |
[village] | |
x=5 | |
y=2 | |
[/village] | |
[village] | |
x=8 | |
y=3 | |
[/village] | |
[village] | |
x=20 | |
y=6 | |
[/village] | |
[unit] | |
advances_to="Goblin Trumpeter" | |
alignment="chaotic" | |
alpha=256 | |
attacks_left=1 | |
canrecruit=yes | |
cost=13 | |
#textdomain wesnoth-swamplings | |
description=_"Standard-bearers are an oddity amongst goblins. A goblin who has survived enough battles to be considered a veteran is rare enough, and it is rarer still for the other goblins to recognize and respect his veteran status. Nonetheless, a rouser's frenzied goading effectively steels the less veteran fighters to strive harder and longer before they die." + | |
#textdomain wesnoth-help | |
_" | |
Special Notes:" + | |
_" The leadership of this unit enables adjacent units of the same side to deal more damage in combat, though this only applies to units of lower level." | |
ellipse="misc/ellipse-leader" | |
experience=0 | |
extra_recruit="" | |
facing="s" | |
flag_rgb="magenta" | |
gender="male" | |
goto_x=-999 | |
goto_y=-999 | |
hitpoints=27 | |
id="Clammie" | |
image="units/goblins/rouser.png" | |
jamming=0 | |
#textdomain wesnoth-swamplings | |
language_name=_"Goblin Rouser" | |
level=1 | |
max_attacks=1 | |
max_experience=30 | |
max_hitpoints=31 | |
max_moves=5 | |
moves=5 | |
name=_"Clammie" | |
overlays="" | |
profile="portraits/goblins/transparent/rouser.png" | |
race="goblin" | |
random_traits=no | |
resting=no | |
role="" | |
side=1 | |
small_profile="portraits/goblins/rouser.png" | |
type="Goblin Rouser Sw" | |
undead_variation="goblin" | |
underlying_id=1 | |
unrenamable=yes | |
upkeep="full" | |
usage="fighter" | |
variation="" | |
vision=-1 | |
x=14 | |
y=7 | |
zoc=yes | |
[portrait] | |
image="portraits/goblins/transparent/rouser.png" | |
mirror=false | |
side="left" | |
size=400 | |
[/portrait] | |
[portrait] | |
image="portraits/goblins/transparent/rouser.png" | |
mirror=true | |
side="right" | |
size=400 | |
[/portrait] | |
[abilities] | |
[leadership] | |
affect_self=no | |
cumulative=no | |
#textdomain wesnoth-help | |
description=_"This unit can lead our own units that are next to it, making them fight better. | |
Adjacent own units of lower level will do more damage in battle. When a unit adjacent to, of a lower level than, and on the same side as a unit with Leadership engages in combat, its attacks do 25% more damage times the difference in their levels." | |
female_name=_"female^leadership" | |
id="leadership" | |
name=_"leadership" | |
value=25 | |
[affect_adjacent] | |
adjacent="n,ne,se,s,sw,nw" | |
[filter] | |
level=0 | |
[/filter] | |
[/affect_adjacent] | |
[/leadership] | |
[/abilities] | |
[movement_costs] | |
castle=1 | |
cave=2 | |
flat=1 | |
forest=2 | |
frozen=2 | |
fungus=3 | |
hills=1 | |
mountains=2 | |
reef=2 | |
sand=2 | |
shallow_water=3 | |
swamp_water=2 | |
village=1 | |
[/movement_costs] | |
[defense] | |
castle=40 | |
cave=60 | |
flat=60 | |
forest=50 | |
frozen=80 | |
fungus=60 | |
hills=50 | |
mountains=40 | |
reef=70 | |
sand=70 | |
shallow_water=80 | |
swamp_water=50 | |
village=40 | |
[/defense] | |
[resistance] | |
arcane=100 | |
blade=100 | |
cold=100 | |
fire=100 | |
impact=100 | |
pierce=100 | |
[/resistance] | |
[variables] | |
[/variables] | |
[filter_recall] | |
[/filter_recall] | |
[status] | |
[/status] | |
[attack] | |
damage=7 | |
#textdomain wesnoth-swamplings | |
description=_"spear" | |
icon="attacks/spear-orcish.png" | |
name="spear" | |
number=3 | |
range="melee" | |
type="pierce" | |
[/attack] | |
[attack] | |
apply_to="new_attack" | |
damage=6 | |
description=_"Wand of Wonderment" | |
icon="attacks/javelin-orcish.png" | |
name="staff" | |
number=2 | |
range="melee" | |
type="impact" | |
[/attack] | |
[modifications] | |
[trait] | |
availability="any" | |
description=_"Better defense and quicker in swamp" | |
female_name=_"female^swamp savvy" | |
id="swamp_savvy" | |
male_name=_"swamp savvy" | |
[effect] | |
apply_to="movement_costs" | |
replace=yes | |
[movement_costs] | |
swamp_water=2 | |
[/movement_costs] | |
[/effect] | |
[effect] | |
apply_to="defense" | |
replace=yes | |
[defense] | |
swamp_water=50 | |
[/defense] | |
[/effect] | |
[/trait] | |
[object] | |
duration="level" | |
image="attacks/javelin-orcish.png" | |
name=_"Wand of Wonderment" | |
[filter] | |
id="Clammie" | |
[/filter] | |
[effect] | |
apply_to="new_attack" | |
damage=6 | |
description=_"Wand of Wonderment" | |
icon="attacks/javelin-orcish.png" | |
name="staff" | |
number=2 | |
range="melee" | |
type="impact" | |
[/effect] | |
[/object] | |
[/modifications] | |
[/unit] | |
[unit] | |
advances_to="Mage of Light" | |
alignment="lawful" | |
alpha=256 | |
attacks_left=1 | |
cost=40 | |
#textdomain wesnoth-units | |
description=_"Some magi, as they learn about the world around them, and learn the truth of the suffering and squalor in which humanity too often lives, find that they cannot bring themselves to be cloistered into a life of study. These men and women give up the life of a mage, and join monastic orders, dedicating the skills they have been given to the good of all. After their ordination, they often travel the world, ministering to sickness and injury. | |
Though not trained for combat, they are a potent ally against magical or unnatural things." + | |
#textdomain wesnoth-help | |
_" | |
Special Notes:" + | |
_" This unit has magical attacks, which always have a high chance of hitting an opponent." + | |
_" This unit’s arcane attack deals tremendous damage to magical creatures, and even some to mundane creatures." + | |
_" This unit is capable of healing those around it, and curing them of poison." | |
experience=0 | |
extra_recruit="" | |
facing="se" | |
flag_rgb="magenta" | |
gender="male" | |
goto_x=0 | |
goto_y=0 | |
hitpoints=42 | |
id="Ronry" | |
image="units/human-magi/white-mage.png" | |
jamming=0 | |
#textdomain wesnoth-units | |
language_name=_"White Mage" | |
level=2 | |
max_attacks=1 | |
max_experience=136 | |
max_hitpoints=42 | |
max_moves=5 | |
moves=5 | |
#textdomain wesnoth-swamplings | |
name=_"Ronry" | |
overlays="" | |
profile="portraits/humans/transparent/mage-white.png" | |
race="human" | |
random_traits=no | |
resting=no | |
role="" | |
side=1 | |
small_profile="portraits/humans/mage-white.png" | |
type="White Mage" | |
undead_variation="" | |
underlying_id=13 | |
unrenamable=yes | |
upkeep="full" | |
usage="healer" | |
variation="" | |
vision=-1 | |
x=12 | |
y=7 | |
zoc=yes | |
[portrait] | |
image="portraits/humans/transparent/mage-white.png" | |
mirror=false | |
side="left" | |
size=400 | |
[/portrait] | |
[portrait] | |
image="portraits/humans/transparent/mage-white.png" | |
mirror=true | |
side="right" | |
size=400 | |
[/portrait] | |
[abilities] | |
[heals] | |
affect_allies=yes | |
affect_self=no | |
#textdomain wesnoth-help | |
description=_"A curer can cure a unit of poison, although that unit will receive no additional healing on the turn it is cured of the poison." | |
female_name=_"female^cures" | |
id="curing" | |
name=_"cures" | |
poison="cured" | |
[affect_adjacent] | |
adjacent="n,ne,se,s,sw,nw" | |
[/affect_adjacent] | |
[/heals] | |
[heals] | |
affect_allies=yes | |
affect_self=no | |
description=_"This unit combines herbal remedies with magic to heal units more quickly than is normally possible on the battlefield. | |
A unit cared for by this healer may heal up to 8 HP per turn, or stop poison from taking effect for that turn. | |
A poisoned unit cannot be cured of its poison by a healer, and must seek the care of a village or a unit that can cure." | |
female_name=_"female^heals +8" | |
id="healing" | |
name=_"heals +8" | |
poison="slowed" | |
value=8 | |
[affect_adjacent] | |
adjacent="n,ne,se,s,sw,nw" | |
[/affect_adjacent] | |
[/heals] | |
[/abilities] | |
[movement_costs] | |
castle=1 | |
cave=2 | |
flat=1 | |
forest=2 | |
frozen=3 | |
fungus=2 | |
hills=2 | |
mountains=3 | |
reef=2 | |
sand=2 | |
shallow_water=3 | |
swamp_water=3 | |
village=1 | |
[/movement_costs] | |
[defense] | |
castle=40 | |
cave=60 | |
flat=60 | |
forest=50 | |
frozen=80 | |
fungus=50 | |
hills=50 | |
mountains=40 | |
reef=70 | |
sand=70 | |
shallow_water=80 | |
swamp_water=80 | |
village=40 | |
[/defense] | |
[resistance] | |
arcane=60 | |
blade=100 | |
cold=100 | |
fire=100 | |
impact=100 | |
pierce=100 | |
[/resistance] | |
[variables] | |
[/variables] | |
[filter_recall] | |
[/filter_recall] | |
[status] | |
[/status] | |
[attack] | |
damage=7 | |
#textdomain wesnoth-units | |
description=_"staff" | |
icon="attacks/staff-magic.png" | |
name="staff" | |
number=2 | |
range="melee" | |
type="impact" | |
[/attack] | |
[attack] | |
damage=9 | |
description=_"lightbeam" | |
name="lightbeam" | |
number=3 | |
range="ranged" | |
type="arcane" | |
[specials] | |
[chance_to_hit] | |
cumulative=no | |
#textdomain wesnoth-help | |
description=_"This attack always has a 70% chance to hit regardless of the defensive ability of the unit being attacked." | |
id="magical" | |
name=_"magical" | |
value=70 | |
[/chance_to_hit] | |
[/specials] | |
[/attack] | |
[modifications] | |
[trait] | |
female_name=_"female^resilient" | |
id="resilient" | |
male_name=_"resilient" | |
[effect] | |
apply_to="hitpoints" | |
increase_total=4 | |
[/effect] | |
[effect] | |
apply_to="hitpoints" | |
increase_total=1 | |
times="per level" | |
[/effect] | |
[/trait] | |
[trait] | |
female_name=_"female^strong" | |
id="strong" | |
male_name=_"strong" | |
[effect] | |
apply_to="attack" | |
increase_damage=1 | |
range="melee" | |
[/effect] | |
[effect] | |
apply_to="hitpoints" | |
increase_total=1 | |
[/effect] | |
[/trait] | |
[/modifications] | |
[/unit] | |
[/side] | |
[side] | |
action_bonus_count=0 | |
allow_player=yes | |
auto_shroud=yes | |
chose_random=no | |
color=2 | |
controller="ai" | |
countdown_time=0 | |
current_player="" | |
defeat_condition="no_leader_left" | |
disallow_observers=no | |
flag="" | |
flag_icon="" | |
fog=no | |
fog_data="" | |
gold=0 | |
gold_add=no | |
hidden=no | |
id="" | |
income=-2 | |
lost=no | |
name="" | |
no_leader=yes | |
objectives="" | |
objectives_changed=yes | |
persistent=no | |
recall_cost=20 | |
recruit="" | |
save_id="" | |
scroll_to_leader=yes | |
share_maps=yes | |
share_view=no | |
shroud=no | |
shroud_data="" | |
side=2 | |
start_gold=0 | |
suppress_end_turn_confirmation=no | |
team_name=2 | |
#textdomain wesnoth-swamplings | |
user_team_name=_"Wild Things" | |
village_gold=1 | |
village_support=1 | |
[ai] | |
#textdomain wesnoth-ai | |
description=_"Multiplayer_AI^Default AI (RCA)" | |
id="ai_default_rca" | |
version=10710 | |
[stage] | |
id="main_loop" | |
name="ai_default_rca::candidate_action_evaluation_loop" | |
[candidate_action] | |
engine="cpp" | |
id="goto" | |
max_score=200000 | |
name="ai_default_rca::goto_phase" | |
score=200000 | |
[/candidate_action] | |
[candidate_action] | |
engine="cpp" | |
id="recruitment" | |
max_score=180000 | |
name="default_recruitment::recruitment" | |
score=180000 | |
[/candidate_action] | |
[candidate_action] | |
engine="cpp" | |
id="move_leader_to_goals" | |
max_score=140000 | |
name="ai_default_rca::move_leader_to_goals_phase" | |
score=140000 | |
[/candidate_action] | |
[candidate_action] | |
engine="cpp" | |
id="move_leader_to_keep" | |
max_score=120000 | |
name="ai_default_rca::move_leader_to_keep_phase" | |
score=120000 | |
[/candidate_action] | |
[candidate_action] | |
engine="cpp" | |
id="combat" | |
max_score=100000 | |
name="ai_default_rca::combat_phase" | |
score=100000 | |
[/candidate_action] | |
[candidate_action] | |
engine="cpp" | |
id="healing" | |
max_score=80000 | |
name="ai_default_rca::get_healing_phase" | |
score=80000 | |
[/candidate_action] | |
[candidate_action] | |
engine="cpp" | |
id="villages" | |
max_score=60000 | |
name="ai_default_rca::get_villages_phase" | |
score=60000 | |
[/candidate_action] | |
[candidate_action] | |
engine="cpp" | |
id="retreat" | |
max_score=40000 | |
name="ai_default_rca::retreat_phase" | |
score=40000 | |
[/candidate_action] | |
[candidate_action] | |
engine="cpp" | |
id="move_to_targets" | |
max_score=20000 | |
name="ai_default_rca::move_to_targets_phase" | |
score=20000 | |
[/candidate_action] | |
[candidate_action] | |
engine="cpp" | |
id="leader_shares_keep" | |
max_score=10000 | |
name="ai_default_rca::leader_shares_keep_phase" | |
score=10000 | |
[/candidate_action] | |
[/stage] | |
[aspect] | |
engine="cpp" | |
id="advancements" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="aggression" | |
name="composite_aspect" | |
[facet] | |
engine="cpp" | |
name="standard_aspect" | |
value=0.9 | |
[/facet] | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=0.4 | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="attack_depth" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=5 | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="attacks" | |
invalidate_on_gamestate_change=yes | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
invalidate_on_gamestate_change=yes | |
name="ai_default_rca::aspect_attacks" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="avoid" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
[value] | |
[not] | |
[/not] | |
[/value] | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="caution" | |
name="composite_aspect" | |
[facet] | |
engine="cpp" | |
name="standard_aspect" | |
value="0.0" | |
[/facet] | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=0.25 | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="grouping" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value="offensive" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="leader_aggression" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value="-4.0" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="leader_goal" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="leader_ignores_keep" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=no | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="leader_value" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value="3.0" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="number_of_possible_recruits_to_force_recruit" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=3.1 | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="passive_leader" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=no | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="passive_leader_shares_keep" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=no | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="recruitment" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
[value] | |
engine="cpp" | |
name="ai_default::recruitment" | |
[/value] | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="recruitment_diversity" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value="2.0" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="recruitment_ignore_bad_combat" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=no | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="recruitment_ignore_bad_movement" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=no | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="recruitment_instructions" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
[value] | |
[recruit] | |
importance=0 | |
[/recruit] | |
[/value] | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="recruitment_more" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="recruitment_pattern" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="recruitment_randomness" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=50 | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="recruitment_save_gold" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
[value] | |
active=0 | |
[/value] | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="scout_village_targeting" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=3 | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="simple_targeting" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=no | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="support_villages" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=no | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="village_value" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value="1.0" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="villages_per_scout" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=4 | |
[/default] | |
[/aspect] | |
[/ai] | |
[/side] | |
[side] | |
action_bonus_count=0 | |
allow_player=yes | |
auto_shroud=yes | |
chose_random=no | |
color=3 | |
controller="ai" | |
countdown_time=0 | |
current_player="" | |
defeat_condition="no_leader_left" | |
disallow_observers=no | |
flag="" | |
flag_icon="" | |
fog=no | |
fog_data="" | |
gold=0 | |
gold_add=no | |
hidden=yes | |
id="" | |
income=0 | |
lost=no | |
name="" | |
no_leader=yes | |
objectives="" | |
objectives_changed=yes | |
persistent=no | |
recall_cost=20 | |
recruit="" | |
save_id="" | |
scroll_to_leader=yes | |
share_maps=yes | |
share_view=no | |
shroud=no | |
shroud_data="" | |
side=3 | |
start_gold=0 | |
suppress_end_turn_confirmation=no | |
team_name=3 | |
#textdomain wesnoth-swamplings | |
user_team_name=_"Rashki" | |
village_gold=1 | |
village_support=1 | |
[ai] | |
#textdomain wesnoth-ai | |
description=_"Multiplayer_AI^Default AI (RCA)" | |
id="ai_default_rca" | |
version=10710 | |
[stage] | |
id="main_loop" | |
name="ai_default_rca::candidate_action_evaluation_loop" | |
[candidate_action] | |
engine="cpp" | |
id="goto" | |
max_score=200000 | |
name="ai_default_rca::goto_phase" | |
score=200000 | |
[/candidate_action] | |
[candidate_action] | |
engine="cpp" | |
id="recruitment" | |
max_score=180000 | |
name="default_recruitment::recruitment" | |
score=180000 | |
[/candidate_action] | |
[candidate_action] | |
engine="cpp" | |
id="move_leader_to_goals" | |
max_score=140000 | |
name="ai_default_rca::move_leader_to_goals_phase" | |
score=140000 | |
[/candidate_action] | |
[candidate_action] | |
engine="cpp" | |
id="move_leader_to_keep" | |
max_score=120000 | |
name="ai_default_rca::move_leader_to_keep_phase" | |
score=120000 | |
[/candidate_action] | |
[candidate_action] | |
engine="cpp" | |
id="combat" | |
max_score=100000 | |
name="ai_default_rca::combat_phase" | |
score=100000 | |
[/candidate_action] | |
[candidate_action] | |
engine="cpp" | |
id="healing" | |
max_score=80000 | |
name="ai_default_rca::get_healing_phase" | |
score=80000 | |
[/candidate_action] | |
[candidate_action] | |
engine="cpp" | |
id="villages" | |
max_score=60000 | |
name="ai_default_rca::get_villages_phase" | |
score=60000 | |
[/candidate_action] | |
[candidate_action] | |
engine="cpp" | |
id="retreat" | |
max_score=40000 | |
name="ai_default_rca::retreat_phase" | |
score=40000 | |
[/candidate_action] | |
[candidate_action] | |
engine="cpp" | |
id="move_to_targets" | |
max_score=20000 | |
name="ai_default_rca::move_to_targets_phase" | |
score=20000 | |
[/candidate_action] | |
[candidate_action] | |
engine="cpp" | |
id="leader_shares_keep" | |
max_score=10000 | |
name="ai_default_rca::leader_shares_keep_phase" | |
score=10000 | |
[/candidate_action] | |
[/stage] | |
[aspect] | |
engine="cpp" | |
id="advancements" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="aggression" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=0.4 | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="attack_depth" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=5 | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="attacks" | |
invalidate_on_gamestate_change=yes | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
invalidate_on_gamestate_change=yes | |
name="ai_default_rca::aspect_attacks" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="avoid" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
[value] | |
[not] | |
[/not] | |
[/value] | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="caution" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=0.25 | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="grouping" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value="offensive" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="leader_aggression" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value="-4.0" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="leader_goal" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="leader_ignores_keep" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=no | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="leader_value" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value="3.0" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="number_of_possible_recruits_to_force_recruit" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=3.1 | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="passive_leader" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=no | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="passive_leader_shares_keep" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=no | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="recruitment" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
[value] | |
engine="cpp" | |
name="ai_default::recruitment" | |
[/value] | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="recruitment_diversity" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value="2.0" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="recruitment_ignore_bad_combat" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=no | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="recruitment_ignore_bad_movement" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=no | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="recruitment_instructions" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
[value] | |
[recruit] | |
importance=0 | |
[/recruit] | |
[/value] | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="recruitment_more" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="recruitment_pattern" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="recruitment_randomness" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=50 | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="recruitment_save_gold" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
[value] | |
active=0 | |
[/value] | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="scout_village_targeting" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=3 | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="simple_targeting" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=no | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="support_villages" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=no | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="village_value" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value="1.0" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="villages_per_scout" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=4 | |
[/default] | |
[/aspect] | |
[/ai] | |
[/side] | |
[time] | |
blue=0 | |
green=-20 | |
id="dawn" | |
image="misc/time-schedules/default/schedule-dawn.png" | |
lawful_bonus=0 | |
mask="" | |
#textdomain wesnoth-help | |
name=_"Dawn" | |
red=-20 | |
sound="ambient/morning.ogg" | |
[/time] | |
[time] | |
blue=0 | |
green=0 | |
id="morning" | |
image="misc/time-schedules/default/schedule-morning.png" | |
lawful_bonus=25 | |
mask="" | |
name=_"Morning" | |
red=0 | |
sound="" | |
[/time] | |
[time] | |
blue=0 | |
green=0 | |
id="afternoon" | |
image="misc/time-schedules/default/schedule-afternoon.png" | |
lawful_bonus=25 | |
mask="" | |
name=_"Afternoon" | |
red=0 | |
sound="" | |
[/time] | |
[time] | |
blue=-20 | |
green=-20 | |
id="dusk" | |
image="misc/time-schedules/default/schedule-dusk.png" | |
lawful_bonus=0 | |
mask="" | |
name=_"Dusk" | |
red=0 | |
sound="ambient/night.ogg" | |
[/time] | |
[time] | |
blue=-10 | |
green=-35 | |
id="first_watch" | |
image="misc/time-schedules/default/schedule-firstwatch.png" | |
lawful_bonus=-25 | |
mask="" | |
name=_"First Watch" | |
red=-45 | |
sound="" | |
[/time] | |
[time] | |
blue=-10 | |
green=-35 | |
id="second_watch" | |
image="misc/time-schedules/default/schedule-secondwatch.png" | |
lawful_bonus=-25 | |
mask="" | |
name=_"Second Watch" | |
red=-45 | |
sound="" | |
[/time] | |
[undo_stack] | |
committed=no | |
side=1 | |
[/undo_stack] | |
[event] | |
first_time_only=yes | |
name="moveto" | |
[filter] | |
id="Clammie" | |
x="12-13" | |
y="20-21" | |
[/filter] | |
[unit] | |
id="Nosferatu" | |
#textdomain wesnoth-swamplings | |
name=_"Nosferatu" | |
side=1 | |
type="Vampire Bat" | |
unrenamable=yes | |
x=17 | |
y=21 | |
[/unit] | |
[unit] | |
facing="nw" | |
side=2 | |
type="Vampire Bat" | |
x=22 | |
y=22 | |
[/unit] | |
[set_variable] | |
name="chapter" | |
value=2 | |
[/set_variable] | |
[/event] | |
[event] | |
first_time_only=no | |
name="side 2 turn" | |
[if] | |
[have_unit] | |
count=2 | |
side=1 | |
type="Vampire Bat" | |
[/have_unit] | |
[or] | |
[not] | |
[have_unit] | |
id="Nosferatu" | |
[/have_unit] | |
[/not] | |
[have_unit] | |
count=1 | |
side=1 | |
type="Vampire Bat" | |
[/have_unit] | |
[/or] | |
[then] | |
[if] | |
[variable] | |
name="hesaidthis" | |
not_equals=yes | |
[/variable] | |
[then] | |
[message] | |
message=_"I did it! Ronry, I charmed a bat!" | |
speaker="Clammie" | |
[/message] | |
[message] | |
message=_"I sensed you might have a skill for this." | |
speaker="Ronry" | |
[/message] | |
[message] | |
message=_"Are there any more in here?" | |
speaker="Clammie" | |
[/message] | |
[message] | |
message=_"I would think there would be quite a few." | |
speaker="Ronry" | |
[/message] | |
[set_variable] | |
name="hesaidthis" | |
value=yes | |
[/set_variable] | |
[unit] | |
facing="nw" | |
side=2 | |
type="Vampire Bat" | |
x=22 | |
y=22 | |
[/unit] | |
[unit] | |
facing="se" | |
side=2 | |
type="Vampire Bat" | |
x=1 | |
y=16 | |
[/unit] | |
[/then] | |
[/if] | |
[/then] | |
[/if] | |
[/event] | |
[event] | |
first_time_only=no | |
name="new turn" | |
[if] | |
[variable] | |
equals=2 | |
name="chapter" | |
[/variable] | |
[then] | |
[if] | |
[have_unit] | |
side=2 | |
[/have_unit] | |
[then] | |
[/then] | |
[else] | |
[unit] | |
facing="nw" | |
side=2 | |
type="Vampire Bat" | |
x=22 | |
y=22 | |
[/unit] | |
[unit] | |
facing="se" | |
side=2 | |
type="Vampire Bat" | |
x=1 | |
y=16 | |
[/unit] | |
[/else] | |
[/if] | |
[/then] | |
[/if] | |
[/event] | |
[event] | |
first_time_only=no | |
name="last breath" | |
[filter] | |
side=2 | |
[/filter] | |
[set_variable] | |
add=1 | |
name="Clammie_killed" | |
[/set_variable] | |
[/event] | |
[event] | |
first_time_only=no | |
name="new turn" | |
[if] | |
[variable] | |
equals=2 | |
name="chapter" | |
[/variable] | |
[then] | |
[if] | |
[variable] | |
name="advice_from_Ronry" | |
not_equals=yes | |
[/variable] | |
[then] | |
[if] | |
[variable] | |
equals=3 | |
name="Clammie_killed" | |
[/variable] | |
[then] | |
[if] | |
[not] | |
[have_unit] | |
id="Nosferatu" | |
[/have_unit] | |
[/not] | |
[not] | |
[have_unit] | |
count=1 | |
race="bats" | |
side=1 | |
[/have_unit] | |
[/not] | |
[or] | |
[have_unit] | |
id="Nosferatu" | |
[/have_unit] | |
[have_unit] | |
count=1 | |
race="bats" | |
side=1 | |
[/have_unit] | |
[/or] | |
[then] | |
[message] | |
message=_"This is going to take a long time if you keep killing bats." | |
speaker="Ronry" | |
[/message] | |
[message] | |
message=_"How do you work this thing? You didn't really explain it." | |
speaker="Clammie" | |
[/message] | |
[message] | |
message=_"Just poke at them with the Wand of Wonderment. But not too hard." | |
speaker="Ronry" | |
[/message] | |
[message] | |
message=_"<i>crazy human!</i>" | |
speaker="Clammie" | |
[/message] | |
[message] | |
message=_"<i>crazy goblin!</i>" | |
speaker="Ronry" | |
[/message] | |
[set_variable] | |
name="advice_from_Ronry" | |
value=yes | |
[/set_variable] | |
[/then] | |
[/if] | |
[/then] | |
[/if] | |
[/then] | |
[/if] | |
[/then] | |
[/if] | |
[/event] | |
[event] | |
first_time_only=no | |
name="ai turn" | |
[store_unit] | |
variable="bat_num" | |
[filter] | |
race="bats" | |
side=1 | |
[not] | |
id="Nosferatu" | |
[/not] | |
[/filter] | |
[/store_unit] | |
[if] | |
[variable] | |
greater_than_equal_to=5 | |
name="bat_num.length" | |
[/variable] | |
[then] | |
[if] | |
[variable] | |
equals=2 | |
name="chapter" | |
[/variable] | |
[then] | |
[message] | |
image="wesnoth-icon.png" | |
message=_"You can now recruit vampire bats!" | |
speaker="narrator" | |
[/message] | |
[set_recruit] | |
recruit="Vampire Bat" | |
[filter_side] | |
side=1 | |
[/filter_side] | |
[/set_recruit] | |
[message] | |
message=_"And I thought this magic wand was just a stick!" | |
speaker="Clammie" | |
[/message] | |
[message] | |
message=_"It is just a stick. Let's go." | |
speaker="Ronry" | |
[/message] | |
[store_unit] | |
variable="FULL_HEAL_temp" | |
[filter] | |
race="bats" | |
[/filter] | |
[/store_unit] | |
[set_variable] | |
name="FULL_HEAL_i" | |
value=0 | |
[/set_variable] | |
[while] | |
[variable] | |
less_than="$FULL_HEAL_temp.length" | |
name="FULL_HEAL_i" | |
[/variable] | |
[do] | |
[set_variable] | |
name="FULL_HEAL_temp[$FULL_HEAL_i].hitpoints" | |
value="$FULL_HEAL_temp[$FULL_HEAL_i].max_hitpoints" | |
[/set_variable] | |
[unstore_unit] | |
find_vacant=no | |
variable="FULL_HEAL_temp[$FULL_HEAL_i]" | |
[/unstore_unit] | |
[set_variable] | |
add=1 | |
name="FULL_HEAL_i" | |
[/set_variable] | |
[/do] | |
[/while] | |
[clear_variable] | |
name="FULL_HEAL_i" | |
[/clear_variable] | |
[clear_variable] | |
name="FULL_HEAL_temp,FULL_HEAL_i" | |
[/clear_variable] | |
[store_unit] | |
variable="all_bats" | |
[filter] | |
race="bats" | |
side=1 | |
[/filter] | |
[/store_unit] | |
[set_variable] | |
name="i" | |
value=0 | |
[/set_variable] | |
[while] | |
[variable] | |
less_than="$all_bats.length" | |
name="i" | |
[/variable] | |
[do] | |
[set_variable] | |
name="all_bats[$i].moves" | |
value="$all_bats[$i].max_moves" | |
[/set_variable] | |
[set_variable] | |
name="all_bats[$i].attacks_left" | |
value="$all_bats[$i].max_attacks" | |
[/set_variable] | |
[set_variable] | |
add=1 | |
name="i" | |
[/set_variable] | |
[/do] | |
[/while] | |
[clear_variable] | |
name="i" | |
[/clear_variable] | |
[store_unit] | |
variable="stored_ronry" | |
[filter] | |
id="Ronry" | |
[/filter] | |
[/store_unit] | |
[if] | |
[variable] | |
less_than=20 | |
name="stored_ronry.hitpoints" | |
[/variable] | |
[then] | |
[message] | |
image="wesnoth-icon.png" | |
message=_"Ronry quaffs a healing potion." | |
sound="potion.ogg" | |
speaker="narrator" | |
[/message] | |
[kill] | |
fire_event=no | |
id="Ronry" | |
[/kill] | |
[set_variable] | |
add=15 | |
name="stored_ronry.hitpoints" | |
[/set_variable] | |
[sound] | |
name="heal.wav" | |
[/sound] | |
[unstore_unit] | |
find_vacant=yes | |
variable="stored_ronry" | |
[/unstore_unit] | |
[redraw] | |
[/redraw] | |
[/then] | |
[/if] | |
[set_variable] | |
name="chapter" | |
value=3 | |
[/set_variable] | |
[kill] | |
side=2 | |
[/kill] | |
[end_turn] | |
[/end_turn] | |
[/then] | |
[/if] | |
[/then] | |
[/if] | |
[/event] | |
[event] | |
first_time_only=no | |
name="new_turn" | |
[if] | |
[variable] | |
equals=3 | |
name="chapter" | |
[/variable] | |
[then] | |
[unit] | |
facing="se" | |
gender="male" | |
id="Rashki" | |
name=_"Rashki" | |
side=3 | |
type="Assassin" | |
unrenamable=yes | |
x=13 | |
y=2 | |
[/unit] | |
[store_unit] | |
variable="stored_ronry" | |
[filter] | |
id="Ronry" | |
[/filter] | |
[/store_unit] | |
[move_unit] | |
fire_event=no | |
id="Ronry" | |
to_x=11 | |
to_y=20 | |
[/move_unit] | |
[store_unit] | |
kill=yes | |
variable="MODIFY_UNIT_store" | |
[filter] | |
id="Ronry" | |
[/filter] | |
[/store_unit] | |
[set_variable] | |
name="MODIFY_UNIT_i" | |
value=0 | |
[/set_variable] | |
[while] | |
[variable] | |
less_than="$MODIFY_UNIT_store.length" | |
name="MODIFY_UNIT_i" | |
[/variable] | |
[do] | |
[set_variable] | |
name="MODIFY_UNIT_store[$MODIFY_UNIT_i].facing" | |
value="se" | |
[/set_variable] | |
[unstore_unit] | |
find_vacant=no | |
variable="MODIFY_UNIT_store[$MODIFY_UNIT_i]" | |
[/unstore_unit] | |
[set_variable] | |
add=1 | |
name="MODIFY_UNIT_i" | |
[/set_variable] | |
[/do] | |
[/while] | |
[clear_variable] | |
name="MODIFY_UNIT_i" | |
[/clear_variable] | |
[clear_variable] | |
name="MODIFY_UNIT_store,MODIFY_UNIT_i" | |
[/clear_variable] | |
[move_unit] | |
fire_event=no | |
id="Clammie" | |
to_x=12 | |
to_y=20 | |
[/move_unit] | |
[store_unit] | |
kill=yes | |
variable="MODIFY_UNIT_store" | |
[filter] | |
id="Clammie" | |
[/filter] | |
[/store_unit] | |
[set_variable] | |
name="MODIFY_UNIT_i" | |
value=0 | |
[/set_variable] | |
[while] | |
[variable] | |
less_than="$MODIFY_UNIT_store.length" | |
name="MODIFY_UNIT_i" | |
[/variable] | |
[do] | |
[set_variable] | |
name="MODIFY_UNIT_store[$MODIFY_UNIT_i].facing" | |
value="se" | |
[/set_variable] | |
[unstore_unit] | |
find_vacant=no | |
variable="MODIFY_UNIT_store[$MODIFY_UNIT_i]" | |
[/unstore_unit] | |
[set_variable] | |
add=1 | |
name="MODIFY_UNIT_i" | |
[/set_variable] | |
[/do] | |
[/while] | |
[clear_variable] | |
name="MODIFY_UNIT_i" | |
[/clear_variable] | |
[clear_variable] | |
name="MODIFY_UNIT_store,MODIFY_UNIT_i" | |
[/clear_variable] | |
[item] | |
image="items/chest.png" | |
x=13 | |
y=21 | |
[/item] | |
[sound] | |
name="open-chest.wav" | |
[/sound] | |
[set_variable] | |
name="i" | |
value=0 | |
[/set_variable] | |
[while] | |
[variable] | |
less_than="$all_bats.length" | |
name="i" | |
[/variable] | |
[do] | |
[move_unit] | |
fire_event=no | |
to_x=13 | |
to_y=21 | |
x="$all_bats[$i].x" | |
y="$all_bats[$i].y" | |
[/move_unit] | |
[kill] | |
x=13 | |
y=21 | |
[/kill] | |
[sound] | |
name="bat-flapping.wav" | |
[/sound] | |
[set_variable] | |
add=1 | |
name="i" | |
[/set_variable] | |
[/do] | |
[/while] | |
[clear_variable] | |
name="i" | |
[/clear_variable] | |
[kill] | |
race="bats" | |
[/kill] | |
[sound] | |
name="open-chest.wav" | |
[/sound] | |
[remove_item] | |
image="items/chest.png" | |
x=13 | |
y=21 | |
[/remove_item] | |
[move_unit] | |
fire_event=no | |
id="Ronry" | |
to_x=14 | |
to_y=2 | |
[/move_unit] | |
[store_unit] | |
kill=yes | |
variable="MODIFY_UNIT_store" | |
[filter] | |
id="Ronry" | |
[/filter] | |
[/store_unit] | |
[set_variable] | |
name="MODIFY_UNIT_i" | |
value=0 | |
[/set_variable] | |
[while] | |
[variable] | |
less_than="$MODIFY_UNIT_store.length" | |
name="MODIFY_UNIT_i" | |
[/variable] | |
[do] | |
[set_variable] | |
name="MODIFY_UNIT_store[$MODIFY_UNIT_i].facing" | |
value="nw" | |
[/set_variable] | |
[unstore_unit] | |
find_vacant=no | |
variable="MODIFY_UNIT_store[$MODIFY_UNIT_i]" | |
[/unstore_unit] | |
[set_variable] | |
add=1 | |
name="MODIFY_UNIT_i" | |
[/set_variable] | |
[/do] | |
[/while] | |
[clear_variable] | |
name="MODIFY_UNIT_i" | |
[/clear_variable] | |
[clear_variable] | |
name="MODIFY_UNIT_store,MODIFY_UNIT_i" | |
[/clear_variable] | |
[move_unit] | |
fire_event=no | |
id="Clammie" | |
to_x=13 | |
to_y=8 | |
[/move_unit] | |
[item] | |
image="items/chest.png" | |
x=13 | |
y=8 | |
[/item] | |
[sound] | |
name="miss-3.ogg" | |
[/sound] | |
[delay] | |
time=500 | |
[/delay] | |
[move_unit] | |
fire_event=no | |
id="Clammie" | |
to_x=15 | |
to_y=3 | |
[/move_unit] | |
[store_unit] | |
kill=yes | |
variable="MODIFY_UNIT_store" | |
[filter] | |
id="Clammie" | |
[/filter] | |
[/store_unit] | |
[set_variable] | |
name="MODIFY_UNIT_i" | |
value=0 | |
[/set_variable] | |
[while] | |
[variable] | |
less_than="$MODIFY_UNIT_store.length" | |
name="MODIFY_UNIT_i" | |
[/variable] | |
[do] | |
[set_variable] | |
name="MODIFY_UNIT_store[$MODIFY_UNIT_i].facing" | |
value="nw" | |
[/set_variable] | |
[unstore_unit] | |
find_vacant=no | |
variable="MODIFY_UNIT_store[$MODIFY_UNIT_i]" | |
[/unstore_unit] | |
[set_variable] | |
add=1 | |
name="MODIFY_UNIT_i" | |
[/set_variable] | |
[/do] | |
[/while] | |
[clear_variable] | |
name="MODIFY_UNIT_i" | |
[/clear_variable] | |
[clear_variable] | |
name="MODIFY_UNIT_store,MODIFY_UNIT_i" | |
[/clear_variable] | |
[music] | |
append=no | |
immediate=yes | |
name="revelation.ogg" | |
[/music] | |
[message] | |
#textdomain wesnoth | |
message=_"Are you the one they call Ronry?" | |
speaker="Rashki" | |
[/message] | |
[message] | |
message=_"Who asks?" | |
speaker="Ronry" | |
[/message] | |
[message] | |
message=_"My name is Rashki. I understand you have a powerful toxin for sale. The drop of death." | |
speaker="Rashki" | |
[/message] | |
[message] | |
message=_"No, it's not for sale. The poison I discovered shall only be used for good purposes, not evil." | |
speaker="Ronry" | |
[/message] | |
[message] | |
message=_"But I only wish to kill evil creatures!" | |
speaker="Rashki" | |
[/message] | |
[message] | |
message=_"The drop of death shall not be bought and sold like a market trinket! If I sold it for ten gold pieces, what would stop you from selling it to another for twenty? Am I to trust you, and all other men who buy it, when I can barely trust myself with its power?" | |
speaker="Ronry" | |
[/message] | |
[message] | |
message=_"If you will not accept my gold, you will take my blades." | |
speaker="Rashki" | |
[/message] | |
[animate_unit] | |
flag="attack" | |
hits=yes | |
with_bars=no | |
[filter] | |
id="Rashki" | |
[/filter] | |
[primary_attack] | |
name="knife" | |
[/primary_attack] | |
[facing] | |
[filter] | |
id="Ronry" | |
[/filter] | |
[/facing] | |
[animate] | |
flag="defend" | |
hits=yes | |
with_bars=no | |
[filter_second] | |
id="Ronry" | |
[/filter_second] | |
[/animate] | |
[/animate_unit] | |
[store_unit] | |
kill=yes | |
variable="stored_ronry" | |
[filter] | |
id="Ronry" | |
[/filter] | |
[/store_unit] | |
[set_variable] | |
name="stored_ronry.status.poisoned" | |
value=true | |
[/set_variable] | |
[set_variable] | |
name="stored_ronry.status.petrified" | |
value=true | |
[/set_variable] | |
[unstore_unit] | |
find_vacant=yes | |
variable="stored_ronry" | |
[/unstore_unit] | |
[redraw] | |
[/redraw] | |
[move_unit] | |
fire_event=no | |
id="Rashki" | |
to_x=11 | |
to_y=1 | |
[/move_unit] | |
[store_unit] | |
kill=yes | |
variable="stored_rashki" | |
[filter] | |
id="Rashki" | |
[/filter] | |
[/store_unit] | |
[message] | |
message=_"Paralyzing poison! Clammie, quickly go to the shed and unlock the cabinet .. I need the green bottle immediately!" | |
speaker="Ronry" | |
[/message] | |
[objectives] | |
note=_"Search the nearby area. WARNING: Ronry can be killed by this poison! " + | |
_"Early finish bonus." + | |
_" | |
40% of finishing gold carried over to the next scenario." | |
side=1 | |
summary=_"New Objectives:" | |
[objective] | |
condition="win" | |
description=_"Get antidote for Ronry before he dies" | |
[/objective] | |
[objective] | |
condition="lose" | |
description=_"Death of Clammie" | |
[/objective] | |
[objective] | |
condition="lose" | |
description=_"Death of Ronry" | |
[/objective] | |
[objective] | |
condition="lose" | |
description=_"Turns run out" | |
[/objective] | |
[/objectives] | |
[set_variable] | |
name="turns" | |
value=10 | |
[/set_variable] | |
[set_variable] | |
add="$turn_number" | |
name="turns" | |
[/set_variable] | |
[modify_turns] | |
value="$turns" | |
[/modify_turns] | |
[scroll_to] | |
check_fogged=false | |
x=5 | |
y=2 | |
[/scroll_to] | |
[item] | |
halo="items/gohere.png" | |
x=5 | |
y=2 | |
[/item] | |
[redraw] | |
[/redraw] | |
[delay] | |
time=150 | |
[/delay] | |
[remove_item] | |
x=5 | |
y=2 | |
[/remove_item] | |
[item] | |
image="" | |
x=5 | |
y=2 | |
[/item] | |
[redraw] | |
[/redraw] | |
[delay] | |
time=150 | |
[/delay] | |
[item] | |
halo="items/gohere.png" | |
x=5 | |
y=2 | |
[/item] | |
[redraw] | |
[/redraw] | |
[delay] | |
time=150 | |
[/delay] | |
[remove_item] | |
x=5 | |
y=2 | |
[/remove_item] | |
[item] | |
image="" | |
x=5 | |
y=2 | |
[/item] | |
[redraw] | |
[/redraw] | |
[delay] | |
time=150 | |
[/delay] | |
[item] | |
halo="items/gohere.png" | |
x=5 | |
y=2 | |
[/item] | |
[redraw] | |
[/redraw] | |
[delay] | |
time=150 | |
[/delay] | |
[remove_item] | |
x=5 | |
y=2 | |
[/remove_item] | |
[item] | |
image="" | |
x=5 | |
y=2 | |
[/item] | |
[redraw] | |
[/redraw] | |
[scroll_to] | |
check_fogged=false | |
x=8 | |
y=3 | |
[/scroll_to] | |
[item] | |
halo="items/gohere.png" | |
x=8 | |
y=3 | |
[/item] | |
[redraw] | |
[/redraw] | |
[delay] | |
time=150 | |
[/delay] | |
[remove_item] | |
x=8 | |
y=3 | |
[/remove_item] | |
[item] | |
image="" | |
x=8 | |
y=3 | |
[/item] | |
[redraw] | |
[/redraw] | |
[delay] | |
time=150 | |
[/delay] | |
[item] | |
halo="items/gohere.png" | |
x=8 | |
y=3 | |
[/item] | |
[redraw] | |
[/redraw] | |
[delay] | |
time=150 | |
[/delay] | |
[remove_item] | |
x=8 | |
y=3 | |
[/remove_item] | |
[item] | |
image="" | |
x=8 | |
y=3 | |
[/item] | |
[redraw] | |
[/redraw] | |
[delay] | |
time=150 | |
[/delay] | |
[item] | |
halo="items/gohere.png" | |
x=8 | |
y=3 | |
[/item] | |
[redraw] | |
[/redraw] | |
[delay] | |
time=150 | |
[/delay] | |
[remove_item] | |
x=8 | |
y=3 | |
[/remove_item] | |
[item] | |
image="" | |
x=8 | |
y=3 | |
[/item] | |
[redraw] | |
[/redraw] | |
[scroll_to] | |
check_fogged=false | |
x=20 | |
y=6 | |
[/scroll_to] | |
[item] | |
halo="items/gohere.png" | |
x=20 | |
y=6 | |
[/item] | |
[redraw] | |
[/redraw] | |
[delay] | |
time=150 | |
[/delay] | |
[remove_item] | |
x=20 | |
y=6 | |
[/remove_item] | |
[item] | |
image="" | |
x=20 | |
y=6 | |
[/item] | |
[redraw] | |
[/redraw] | |
[delay] | |
time=150 | |
[/delay] | |
[item] | |
halo="items/gohere.png" | |
x=20 | |
y=6 | |
[/item] | |
[redraw] | |
[/redraw] | |
[delay] | |
time=150 | |
[/delay] | |
[remove_item] | |
x=20 | |
y=6 | |
[/remove_item] | |
[item] | |
image="" | |
x=20 | |
y=6 | |
[/item] | |
[redraw] | |
[/redraw] | |
[delay] | |
time=150 | |
[/delay] | |
[item] | |
halo="items/gohere.png" | |
x=20 | |
y=6 | |
[/item] | |
[redraw] | |
[/redraw] | |
[delay] | |
time=150 | |
[/delay] | |
[remove_item] | |
x=20 | |
y=6 | |
[/remove_item] | |
[item] | |
image="" | |
x=20 | |
y=6 | |
[/item] | |
[redraw] | |
[/redraw] | |
[scroll_to] | |
check_fogged=false | |
x=21 | |
y=5 | |
[/scroll_to] | |
[item] | |
halo="items/gohere.png" | |
x=21 | |
y=5 | |
[/item] | |
[redraw] | |
[/redraw] | |
[delay] | |
time=150 | |
[/delay] | |
[remove_item] | |
x=21 | |
y=5 | |
[/remove_item] | |
[item] | |
image="scenery/leanto.png" | |
x=21 | |
y=5 | |
[/item] | |
[redraw] | |
[/redraw] | |
[delay] | |
time=150 | |
[/delay] | |
[item] | |
halo="items/gohere.png" | |
x=21 | |
y=5 | |
[/item] | |
[redraw] | |
[/redraw] | |
[delay] | |
time=150 | |
[/delay] | |
[remove_item] | |
x=21 | |
y=5 | |
[/remove_item] | |
[item] | |
image="scenery/leanto.png" | |
x=21 | |
y=5 | |
[/item] | |
[redraw] | |
[/redraw] | |
[delay] | |
time=150 | |
[/delay] | |
[item] | |
halo="items/gohere.png" | |
x=21 | |
y=5 | |
[/item] | |
[redraw] | |
[/redraw] | |
[delay] | |
time=150 | |
[/delay] | |
[remove_item] | |
x=21 | |
y=5 | |
[/remove_item] | |
[item] | |
image="scenery/leanto.png" | |
x=21 | |
y=5 | |
[/item] | |
[redraw] | |
[/redraw] | |
[scroll_to] | |
check_fogged=false | |
x=21 | |
y=1 | |
[/scroll_to] | |
[item] | |
halo="items/gohere.png" | |
x=21 | |
y=1 | |
[/item] | |
[redraw] | |
[/redraw] | |
[delay] | |
time=150 | |
[/delay] | |
[remove_item] | |
x=21 | |
y=1 | |
[/remove_item] | |
[item] | |
image="" | |
x=21 | |
y=1 | |
[/item] | |
[redraw] | |
[/redraw] | |
[delay] | |
time=150 | |
[/delay] | |
[item] | |
halo="items/gohere.png" | |
x=21 | |
y=1 | |
[/item] | |
[redraw] | |
[/redraw] | |
[delay] | |
time=150 | |
[/delay] | |
[remove_item] | |
x=21 | |
y=1 | |
[/remove_item] | |
[item] | |
image="" | |
x=21 | |
y=1 | |
[/item] | |
[redraw] | |
[/redraw] | |
[delay] | |
time=150 | |
[/delay] | |
[item] | |
halo="items/gohere.png" | |
x=21 | |
y=1 | |
[/item] | |
[redraw] | |
[/redraw] | |
[delay] | |
time=150 | |
[/delay] | |
[remove_item] | |
x=21 | |
y=1 | |
[/remove_item] | |
[item] | |
image="" | |
x=21 | |
y=1 | |
[/item] | |
[redraw] | |
[/redraw] | |
[terrain] | |
terrain="Gll^Wm" | |
x=21 | |
y=1 | |
[/terrain] | |
[set_variable] | |
name="chapter" | |
value=4 | |
[/set_variable] | |
[/then] | |
[/if] | |
[/event] | |
[event] | |
first_time_only=no | |
name="turn refresh" | |
[if] | |
[variable] | |
equals=4 | |
name="chapter" | |
[/variable] | |
[variable] | |
name="side_number" | |
numerical_equals=1 | |
[/variable] | |
[then] | |
[store_unit] | |
kill=yes | |
variable="stored_ronry" | |
[filter] | |
id="Ronry" | |
[/filter] | |
[/store_unit] | |
[set_variable] | |
add=-4 | |
name="stored_ronry.hitpoints" | |
[/set_variable] | |
[unstore_unit] | |
find_vacant=yes | |
red=255 | |
#textdomain wesnoth-swamplings | |
text=_"4" | |
variable="stored_ronry" | |
[/unstore_unit] | |
[sound] | |
name="poison.ogg" | |
[/sound] | |
[redraw] | |
[/redraw] | |
[if] | |
[variable] | |
less_than_equal_to=0 | |
name="stored_ronry.hitpoints" | |
[/variable] | |
[then] | |
[kill] | |
animate=yes | |
fire_event=yes | |
id="Ronry" | |
[/kill] | |
[/then] | |
[/if] | |
[/then] | |
[/if] | |
[/event] | |
[event] | |
first_time_only=yes | |
name="moveto" | |
[filter] | |
id="Clammie" | |
x="$shedpos[$shed].x" | |
y="$shedpos[$shed].y" | |
[/filter] | |
[if] | |
[variable] | |
equals=4 | |
name="chapter" | |
[/variable] | |
[then] | |
[fire_event] | |
name="shed_found" | |
[/fire_event] | |
[/then] | |
[/if] | |
[/event] | |
[event] | |
name="shed_found" | |
[message] | |
message=_"I wonder if this is it." | |
speaker="Clammie" | |
[/message] | |
[object] | |
description=_"A locked cabinet." | |
duration="level" | |
image="items/chest-plain-closed.png" | |
name=_"Cabinet" | |
[/object] | |
[message] | |
message=_"But where is the key?" | |
speaker="Clammie" | |
[/message] | |
[message] | |
message=_"Hurry, Clammie!" | |
speaker="Ronry" | |
[/message] | |
[move_unit] | |
fire_event=no | |
id="Clammie" | |
to_x=16 | |
to_y=2 | |
[/move_unit] | |
[item] | |
image="items/chest-plain-closed.png" | |
x=17 | |
y=2 | |
[/item] | |
[message] | |
message=_"The green bottle! Hurry!" | |
speaker="Ronry" | |
[/message] | |
[message] | |
image="wesnoth-icon.png" | |
message=_"With little time left, you break open the cabinet." | |
speaker="narrator" | |
[/message] | |
[remove_item] | |
image="items/chest-plain-closed.png" | |
x=17 | |
y=2 | |
[/remove_item] | |
[sound] | |
name="fist.ogg" | |
[/sound] | |
[item] | |
image="items/chest-plain-open.png" | |
x=17 | |
y=2 | |
[/item] | |
[message] | |
image="wesnoth-icon.png" | |
message=_"Which potion do you pick?" | |
speaker="narrator" | |
[option] | |
message=_"&items/potion-grey.png=This?" | |
[/option] | |
[option] | |
message=_"&items/potion-grey.png=This?" | |
[/option] | |
[option] | |
image="items/potion-grey.png" | |
message=_"&items/potion-grey.png=This?" | |
[/option] | |
[/message] | |
[message] | |
message=_"I've forgotten, goblins can't see colors! This is surely the end!" | |
speaker="Ronry" | |
[/message] | |
[message] | |
message=_"One smells of duckweed, the next of cattail and bromeliad. The third of milkweed." | |
speaker="Clammie" | |
[/message] | |
[message] | |
message=_"Yes, the milkweed! Quickly!" | |
speaker="Ronry" | |
[/message] | |
[object] | |
description=_"This ointment has amazing curative powers! Uncorking the bottle is unnecessary. It even heals nearby allies." | |
duration="level" | |
image="items/potion-green.png" | |
name=_"Healer Ointment" | |
[filter] | |
id="Clammie" | |
[/filter] | |
[effect] | |
apply_to="new_ability" | |
description=_"Healer Ointment" | |
icon="items/potion-green.png" | |
[abilities] | |
[heals] | |
affect_allies=yes | |
affect_self=no | |
#textdomain wesnoth-help | |
description=_"A curer can cure a unit of poison, although that unit will receive no additional healing on the turn it is cured of the poison." | |
female_name=_"female^cures" | |
id="curing" | |
name=_"cures" | |
poison="cured" | |
[affect_adjacent] | |
adjacent="n,ne,se,s,sw,nw" | |
[/affect_adjacent] | |
[/heals] | |
[heals] | |
affect_allies=yes | |
affect_self=no | |
description=_"This unit combines herbal remedies with magic to heal units more quickly than is normally possible on the battlefield. | |
A unit cared for by this healer may heal up to 8 HP per turn, or stop poison from taking effect for that turn. | |
A poisoned unit cannot be cured of its poison by a healer, and must seek the care of a village or a unit that can cure." | |
female_name=_"female^heals +8" | |
id="healing" | |
name=_"heals +8" | |
poison="slowed" | |
value=8 | |
[affect_adjacent] | |
adjacent="n,ne,se,s,sw,nw" | |
[/affect_adjacent] | |
[/heals] | |
[regenerate] | |
affect_self=yes | |
description=_"The unit will heal itself 8 HP per turn. If it is poisoned, it will remove the poison instead of healing." | |
female_name=_"female^regenerates" | |
id="regenerates" | |
name=_"regenerates" | |
poison="cured" | |
value=8 | |
[/regenerate] | |
[/abilities] | |
[/effect] | |
[/object] | |
[message] | |
#textdomain wesnoth-swamplings | |
message=_"I feel great power radiating from this bottle! Ronry, what on earth is this made from?" | |
speaker="Clammie" | |
[/message] | |
[kill] | |
animate=yes | |
id="Ronry" | |
[/kill] | |
[unstore_unit] | |
variable="stored_rashki" | |
[filter] | |
id="Rashki" | |
x=9 | |
y=1 | |
[/filter] | |
[/unstore_unit] | |
[move_unit] | |
fire_event=no | |
id="Rashki" | |
to_x=15 | |
to_y=2 | |
[/move_unit] | |
[message] | |
message=_"Very wise, little goblin. You almost saved his life. Is that the death drop in your hands?" | |
speaker="Rashki" | |
[/message] | |
[move_unit] | |
fire_event=no | |
id="Clammie" | |
to_x=16 | |
to_y=3 | |
[/move_unit] | |
[move_unit] | |
fire_event=no | |
id="Rashki" | |
to_x=15 | |
to_y=3 | |
[/move_unit] | |
[store_unit] | |
kill=yes | |
variable="MODIFY_UNIT_store" | |
[filter] | |
id="Clammie" | |
[/filter] | |
[/store_unit] | |
[set_variable] | |
name="MODIFY_UNIT_i" | |
value=0 | |
[/set_variable] | |
[while] | |
[variable] | |
less_than="$MODIFY_UNIT_store.length" | |
name="MODIFY_UNIT_i" | |
[/variable] | |
[do] | |
[set_variable] | |
name="MODIFY_UNIT_store[$MODIFY_UNIT_i].facing" | |
value="nw" | |
[/set_variable] | |
[unstore_unit] | |
find_vacant=no | |
variable="MODIFY_UNIT_store[$MODIFY_UNIT_i]" | |
[/unstore_unit] | |
[set_variable] | |
add=1 | |
name="MODIFY_UNIT_i" | |
[/set_variable] | |
[/do] | |
[/while] | |
[clear_variable] | |
name="MODIFY_UNIT_i" | |
[/clear_variable] | |
[clear_variable] | |
name="MODIFY_UNIT_store,MODIFY_UNIT_i" | |
[/clear_variable] | |
[message] | |
message=_"You have killed the only one who can answer your questions, wise Rashki." | |
speaker="Clammie" | |
[/message] | |
[move_unit] | |
fire_event=no | |
id="Clammie" | |
to_x=15 | |
to_y=5 | |
[/move_unit] | |
[move_unit] | |
fire_event=no | |
id="Rashki" | |
to_x=15 | |
to_y=4 | |
[/move_unit] | |
[message] | |
message=_"Then let us experiment." | |
speaker="Rashki" | |
[/message] | |
[message] | |
image="wesnoth-icon.png" | |
message=_"Rashki dips his dagger in the bottle and then slashes you!" | |
speaker="narrator" | |
[/message] | |
[animate_unit] | |
flag="attack" | |
hits=yes | |
with_bars=no | |
[filter] | |
id="Rashki" | |
[/filter] | |
[primary_attack] | |
name="dagger" | |
[/primary_attack] | |
[facing] | |
[filter] | |
id="Clammie" | |
[/filter] | |
[/facing] | |
[animate] | |
flag="defend" | |
hits=yes | |
with_bars=no | |
[filter] | |
id="Clammie" | |
[/filter] | |
[facing] | |
[filter] | |
id="Rashki" | |
[/filter] | |
[/facing] | |
[/animate] | |
[/animate_unit] | |
[store_unit] | |
variable="stored_clammie" | |
[filter] | |
id="Clammie" | |
[/filter] | |
[/store_unit] | |
[set_variable] | |
add=-4 | |
name="stored_clammie.hitpoints" | |
[/set_variable] | |
[unstore_unit] | |
find_vacant=no | |
red=255 | |
text=_"4" | |
variable="stored_clammie" | |
[/unstore_unit] | |
[clear_variable] | |
name="stored_clammie" | |
[/clear_variable] | |
[redraw] | |
[/redraw] | |
[delay] | |
time=1000 | |
[/delay] | |
[message] | |
message=_"You're not dead, therefore it's not what I'm after. Where did you find this bottle?" | |
speaker="Rashki" | |
[/message] | |
[move_unit] | |
fire_event=no | |
id="Clammie" | |
to_x=12 | |
to_y=8 | |
[/move_unit] | |
[store_unit] | |
kill=yes | |
variable="MODIFY_UNIT_store" | |
[filter] | |
id="Clammie" | |
[/filter] | |
[/store_unit] | |
[set_variable] | |
name="MODIFY_UNIT_i" | |
value=0 | |
[/set_variable] | |
[while] | |
[variable] | |
less_than="$MODIFY_UNIT_store.length" | |
name="MODIFY_UNIT_i" | |
[/variable] | |
[do] | |
[set_variable] | |
name="MODIFY_UNIT_store[$MODIFY_UNIT_i].facing" | |
value="ne" | |
[/set_variable] | |
[unstore_unit] | |
find_vacant=no | |
variable="MODIFY_UNIT_store[$MODIFY_UNIT_i]" | |
[/unstore_unit] | |
[set_variable] | |
add=1 | |
name="MODIFY_UNIT_i" | |
[/set_variable] | |
[/do] | |
[/while] | |
[clear_variable] | |
name="MODIFY_UNIT_i" | |
[/clear_variable] | |
[clear_variable] | |
name="MODIFY_UNIT_store,MODIFY_UNIT_i" | |
[/clear_variable] | |
[message] | |
message=_"In the box over here." | |
speaker="Clammie" | |
[/message] | |
[move_unit] | |
fire_event=no | |
id="Rashki" | |
to_x=13 | |
to_y=8 | |
[/move_unit] | |
[scroll_to_unit] | |
id="Rashki" | |
[/scroll_to_unit] | |
[sound] | |
name="open-chest.wav" | |
[/sound] | |
[sound] | |
name="bat-flapping.wav" | |
[/sound] | |
[modify_side] | |
hidden=no | |
[filter_side] | |
side=3 | |
[/filter_side] | |
[/modify_side] | |
[set_variable] | |
name="i" | |
value=0 | |
[/set_variable] | |
[while] | |
[variable] | |
less_than="$all_bats.length" | |
name="i" | |
[/variable] | |
[do] | |
[set_variable] | |
name="all_bats[$i].goto_x" | |
value=0 | |
[/set_variable] | |
[set_variable] | |
name="all_bats[$i].goto_y" | |
value=0 | |
[/set_variable] | |
[unstore_unit] | |
find_vacant=yes | |
variable="all_bats[$i]" | |
x=13 | |
y=8 | |
[/unstore_unit] | |
[set_variable] | |
add=1 | |
name="i" | |
[/set_variable] | |
[/do] | |
[/while] | |
[clear_variable] | |
name="i" | |
[/clear_variable] | |
[redraw] | |
[/redraw] | |
[message] | |
message=_"!" | |
speaker="Rashki" | |
[/message] | |
[modify_side] | |
hidden=yes | |
[filter_side] | |
side=2 | |
[/filter_side] | |
[/modify_side] | |
[modify_side] | |
hidden=no | |
[filter_side] | |
side=3 | |
[/filter_side] | |
[/modify_side] | |
[set_variable] | |
name="turns" | |
value=7 | |
[/set_variable] | |
[set_variable] | |
add="$turn_number" | |
name="turns" | |
[/set_variable] | |
[modify_turns] | |
value="$turns" | |
[/modify_turns] | |
[set_variable] | |
name="chapter" | |
value=5 | |
[/set_variable] | |
[delay] | |
time=250 | |
[/delay] | |
[objectives] | |
#textdomain wesnoth | |
note=_"Early finish bonus." + | |
_" | |
40% of finishing gold carried over to the next scenario." | |
side=1 | |
#textdomain wesnoth-swamplings | |
summary=_"New Objectives:" | |
[objective] | |
condition="win" | |
description=_"Defeat Rashki" | |
[/objective] | |
[objective] | |
condition="lose" | |
description=_"Death of Clammie" | |
[/objective] | |
[objective] | |
condition="lose" | |
description=_"Turns run out" | |
[/objective] | |
[/objectives] | |
[/event] | |
[event] | |
name="attacker hits" | |
[filter_second] | |
id="Ronry" | |
[/filter_second] | |
[message] | |
message=_"There's one with teeth!" | |
speaker="Ronry" | |
[/message] | |
[/event] | |
[event] | |
name="last breath" | |
[filter] | |
id="Clammie" | |
[/filter] | |
[message] | |
message=_"But there is so much more--" | |
speaker="Clammie" | |
[/message] | |
[endlevel] | |
result="defeat" | |
[/endlevel] | |
[/event] | |
[event] | |
name="last breath" | |
[filter] | |
id="Ronry" | |
[/filter] | |
[message] | |
message=_"Ah! What an absurd way to die!" | |
speaker="Ronry" | |
[/message] | |
[endlevel] | |
result="defeat" | |
[/endlevel] | |
[/event] | |
[event] | |
name="time over" | |
[message] | |
message=_"Out of time!" | |
speaker="Clammie" | |
[/message] | |
[endlevel] | |
result="defeat" | |
[/endlevel] | |
[/event] | |
[event] | |
name="last breath" | |
[filter] | |
id="Rashki" | |
[/filter] | |
[message] | |
message=_"Undone by a lowly swamp goblin and his pet bats! I never laid eyes on the damned death drops, but I am surely their first victim!" | |
speaker="Rashki" | |
[/message] | |
[message] | |
message=_"You miscount, wise slayer." | |
speaker="Clammie" | |
[/message] | |
[kill] | |
animate=yes | |
id="Rashki" | |
[/kill] | |
[clear_variable] | |
name="hesaidthis,chapter,shed,shedpos,stored_ronry,stored_rashki,Clammie_killed,advice_from_Ronry,turns,bat_num,all_bats,side_2_units_charmed" | |
[/clear_variable] | |
[endlevel] | |
bonus=yes | |
carryover_add=yes | |
carryover_percentage=40 | |
result="victory" | |
[/endlevel] | |
[/event] | |
[event] | |
first_time_only=no | |
name="attacker_hits" | |
[filter] | |
id="Clammie" | |
[/filter] | |
[filter_attack] | |
name="staff" | |
[/filter_attack] | |
[filter_second] | |
race="bats" | |
[/filter_second] | |
[store_unit] | |
kill=no | |
variable="STORE_UNIT_VAR_store" | |
[filter] | |
x="$x1" | |
y="$y1" | |
[/filter] | |
[/store_unit] | |
[set_variable] | |
name="charmer_side" | |
value="$STORE_UNIT_VAR_store.side" | |
[/set_variable] | |
[clear_variable] | |
name="STORE_UNIT_VAR_store" | |
[/clear_variable] | |
[store_unit] | |
kill=no | |
variable="STORE_UNIT_VAR_store" | |
[filter] | |
x="$x2" | |
y="$y2" | |
[/filter] | |
[/store_unit] | |
[set_variable] | |
name="charmed_side" | |
value="$STORE_UNIT_VAR_store.side" | |
[/set_variable] | |
[clear_variable] | |
name="STORE_UNIT_VAR_store" | |
[/clear_variable] | |
[if] | |
[variable] | |
name="charmer_side" | |
not_equals="$charmed_side" | |
[/variable] | |
[then] | |
[store_unit] | |
kill=yes | |
variable="MODIFY_UNIT_store" | |
[filter] | |
x="$x2" | |
y="$y2" | |
[/filter] | |
[/store_unit] | |
[set_variable] | |
name="MODIFY_UNIT_i" | |
value=0 | |
[/set_variable] | |
[while] | |
[variable] | |
less_than="$MODIFY_UNIT_store.length" | |
name="MODIFY_UNIT_i" | |
[/variable] | |
[do] | |
[set_variable] | |
name="MODIFY_UNIT_store[$MODIFY_UNIT_i].variables.real_side" | |
value="$charmed_side" | |
[/set_variable] | |
[unstore_unit] | |
find_vacant=no | |
variable="MODIFY_UNIT_store[$MODIFY_UNIT_i]" | |
[/unstore_unit] | |
[set_variable] | |
add=1 | |
name="MODIFY_UNIT_i" | |
[/set_variable] | |
[/do] | |
[/while] | |
[clear_variable] | |
name="MODIFY_UNIT_i" | |
[/clear_variable] | |
[clear_variable] | |
name="MODIFY_UNIT_store,MODIFY_UNIT_i" | |
[/clear_variable] | |
[store_unit] | |
kill=yes | |
variable="MODIFY_UNIT_store" | |
[filter] | |
x="$x2" | |
y="$y2" | |
[/filter] | |
[/store_unit] | |
[set_variable] | |
name="MODIFY_UNIT_i" | |
value=0 | |
[/set_variable] | |
[while] | |
[variable] | |
less_than="$MODIFY_UNIT_store.length" | |
name="MODIFY_UNIT_i" | |
[/variable] | |
[do] | |
[set_variable] | |
name="MODIFY_UNIT_store[$MODIFY_UNIT_i].side" | |
value="$charmer_side" | |
[/set_variable] | |
[unstore_unit] | |
find_vacant=no | |
variable="MODIFY_UNIT_store[$MODIFY_UNIT_i]" | |
[/unstore_unit] | |
[set_variable] | |
add=1 | |
name="MODIFY_UNIT_i" | |
[/set_variable] | |
[/do] | |
[/while] | |
[clear_variable] | |
name="MODIFY_UNIT_i" | |
[/clear_variable] | |
[clear_variable] | |
name="MODIFY_UNIT_store,MODIFY_UNIT_i" | |
[/clear_variable] | |
[store_unit] | |
kill=yes | |
variable="MODIFY_UNIT_store" | |
[filter] | |
x="$x2" | |
y="$y2" | |
[/filter] | |
[/store_unit] | |
[set_variable] | |
name="MODIFY_UNIT_i" | |
value=0 | |
[/set_variable] | |
[while] | |
[variable] | |
less_than="$MODIFY_UNIT_store.length" | |
name="MODIFY_UNIT_i" | |
[/variable] | |
[do] | |
[set_variable] | |
name="MODIFY_UNIT_store[$MODIFY_UNIT_i].moves" | |
value=1 | |
[/set_variable] | |
[unstore_unit] | |
find_vacant=no | |
variable="MODIFY_UNIT_store[$MODIFY_UNIT_i]" | |
[/unstore_unit] | |
[set_variable] | |
add=1 | |
name="MODIFY_UNIT_i" | |
[/set_variable] | |
[/do] | |
[/while] | |
[clear_variable] | |
name="MODIFY_UNIT_i" | |
[/clear_variable] | |
[clear_variable] | |
name="MODIFY_UNIT_store,MODIFY_UNIT_i" | |
[/clear_variable] | |
[store_unit] | |
kill=yes | |
variable="MODIFY_UNIT_store" | |
[filter] | |
x="$x2" | |
y="$y2" | |
[/filter] | |
[/store_unit] | |
[set_variable] | |
name="MODIFY_UNIT_i" | |
value=0 | |
[/set_variable] | |
[while] | |
[variable] | |
less_than="$MODIFY_UNIT_store.length" | |
name="MODIFY_UNIT_i" | |
[/variable] | |
[do] | |
[set_variable] | |
name="MODIFY_UNIT_store[$MODIFY_UNIT_i].attacks_left" | |
value=1 | |
[/set_variable] | |
[unstore_unit] | |
find_vacant=no | |
variable="MODIFY_UNIT_store[$MODIFY_UNIT_i]" | |
[/unstore_unit] | |
[set_variable] | |
add=1 | |
name="MODIFY_UNIT_i" | |
[/set_variable] | |
[/do] | |
[/while] | |
[clear_variable] | |
name="MODIFY_UNIT_i" | |
[/clear_variable] | |
[clear_variable] | |
name="MODIFY_UNIT_store,MODIFY_UNIT_i" | |
[/clear_variable] | |
[set_variable] | |
name="varname" | |
value="side_$charmed_side|_units_charmed" | |
[/set_variable] | |
[set_variable] | |
name="$varname" | |
value=yes | |
[/set_variable] | |
[clear_variable] | |
name="varname" | |
[/clear_variable] | |
[/then] | |
[/if] | |
[if] | |
[variable] | |
less_than_equal_to=0 | |
name="second_unit.hitpoints" | |
[/variable] | |
[then] | |
[kill] | |
animate=yes | |
fire_event=yes | |
x="$x2" | |
y="$y2" | |
[/kill] | |
[/then] | |
[/if] | |
[clear_variable] | |
name="charmer_side" | |
[/clear_variable] | |
[clear_variable] | |
name="charmed_side" | |
[/clear_variable] | |
[/event] | |
[objectives] | |
#textdomain wesnoth | |
note=_"Early finish bonus." + | |
_" | |
40% of finishing gold carried over to the next scenario." | |
side=1 | |
[objective] | |
condition="win" | |
#textdomain wesnoth-swamplings | |
description=_"Charm five bats" | |
[/objective] | |
[objective] | |
condition="lose" | |
description=_"Death of Clammie" | |
[/objective] | |
[objective] | |
condition="lose" | |
description=_"Death of Ronry" | |
[/objective] | |
[objective] | |
condition="lose" | |
description=_"Turns run out" | |
[/objective] | |
[/objectives] | |
[item] | |
image="scenery/leanto.png" | |
x=21 | |
y=5 | |
[/item] | |
[music] | |
ms_after=0 | |
ms_before=0 | |
name="breaking_the_chains.ogg" | |
[/music] | |
[variables] | |
advice_from_Ronry=no | |
shed=2 | |
side_number=1 | |
turn_number=1 | |
x1=0 | |
x2=0 | |
y1=0 | |
y2=0 | |
[shedpos] | |
owner_side=1 | |
terrain="Ss^Vhs" | |
x=5 | |
y=2 | |
[/shedpos] | |
[shedpos] | |
owner_side=1 | |
terrain="Ms^Vhha" | |
x=8 | |
y=3 | |
[/shedpos] | |
[shedpos] | |
owner_side=1 | |
terrain="Ss^Vm" | |
x=20 | |
y=6 | |
[/shedpos] | |
[shedpos] | |
terrain="Gll^Wm" | |
x=21 | |
y=1 | |
[/shedpos] | |
[shedpos] | |
terrain="Ss" | |
x=21 | |
y=5 | |
[/shedpos] | |
[stored_clammie] | |
advances_to="Goblin Trumpeter" | |
alignment="chaotic" | |
alpha=256 | |
attacks_left=1 | |
canrecruit=yes | |
cost=13 | |
description=_"Standard-bearers are an oddity amongst goblins. A goblin who has survived enough battles to be considered a veteran is rare enough, and it is rarer still for the other goblins to recognize and respect his veteran status. Nonetheless, a rouser's frenzied goading effectively steels the less veteran fighters to strive harder and longer before they die." + | |
#textdomain wesnoth-help | |
_" | |
Special Notes:" + | |
_" The leadership of this unit enables adjacent units of the same side to deal more damage in combat, though this only applies to units of lower level." | |
ellipse="misc/ellipse-leader" | |
experience=0 | |
extra_recruit="" | |
facing="s" | |
flag_rgb="magenta" | |
gender="male" | |
goto_x=-999 | |
goto_y=-999 | |
hitpoints=27 | |
id="Clammie" | |
image="units/goblins/rouser.png" | |
jamming=0 | |
#textdomain wesnoth-swamplings | |
language_name=_"Goblin Rouser" | |
level=1 | |
max_attacks=1 | |
max_experience=30 | |
max_hitpoints=31 | |
max_moves=5 | |
moves=5 | |
name=_"Clammie" | |
overlays="" | |
profile="portraits/goblins/transparent/rouser.png" | |
race="goblin" | |
random_traits=no | |
resting=no | |
role="" | |
side=1 | |
small_profile="portraits/goblins/rouser.png" | |
type="Goblin Rouser Sw" | |
undead_variation="goblin" | |
underlying_id=1 | |
unrenamable=yes | |
upkeep="full" | |
usage="fighter" | |
variation="" | |
vision=-1 | |
x=14 | |
y=7 | |
zoc=yes | |
[portrait] | |
image="portraits/goblins/transparent/rouser.png" | |
mirror=no | |
side="left" | |
size=400 | |
[/portrait] | |
[portrait] | |
image="portraits/goblins/transparent/rouser.png" | |
mirror=yes | |
side="right" | |
size=400 | |
[/portrait] | |
[abilities] | |
[leadership] | |
affect_self=no | |
cumulative=no | |
#textdomain wesnoth-help | |
description=_"This unit can lead our own units that are next to it, making them fight better. | |
Adjacent own units of lower level will do more damage in battle. When a unit adjacent to, of a lower level than, and on the same side as a unit with Leadership engages in combat, its attacks do 25% more damage times the difference in their levels." | |
female_name=_"female^leadership" | |
id="leadership" | |
name=_"leadership" | |
value=25 | |
[affect_adjacent] | |
adjacent="n,ne,se,s,sw,nw" | |
[filter] | |
level=0 | |
[/filter] | |
[/affect_adjacent] | |
[/leadership] | |
[/abilities] | |
[movement_costs] | |
castle=1 | |
cave=2 | |
flat=1 | |
forest=2 | |
frozen=2 | |
fungus=3 | |
hills=1 | |
mountains=2 | |
reef=2 | |
sand=2 | |
shallow_water=3 | |
swamp_water=2 | |
village=1 | |
[/movement_costs] | |
[defense] | |
castle=40 | |
cave=60 | |
flat=60 | |
forest=50 | |
frozen=80 | |
fungus=60 | |
hills=50 | |
mountains=40 | |
reef=70 | |
sand=70 | |
shallow_water=80 | |
swamp_water=50 | |
village=40 | |
[/defense] | |
[resistance] | |
arcane=100 | |
blade=100 | |
cold=100 | |
fire=100 | |
impact=100 | |
pierce=100 | |
[/resistance] | |
[variables] | |
[/variables] | |
[filter_recall] | |
[/filter_recall] | |
[status] | |
[/status] | |
[attack] | |
damage=7 | |
#textdomain wesnoth-swamplings | |
description=_"spear" | |
icon="attacks/spear-orcish.png" | |
name="spear" | |
number=3 | |
range="melee" | |
type="pierce" | |
[/attack] | |
[modifications] | |
[trait] | |
availability="any" | |
description=_"Better defense and quicker in swamp" | |
female_name=_"female^swamp savvy" | |
id="swamp_savvy" | |
male_name=_"swamp savvy" | |
[effect] | |
apply_to="movement_costs" | |
replace=yes | |
[movement_costs] | |
swamp_water=2 | |
[/movement_costs] | |
[/effect] | |
[effect] | |
apply_to="defense" | |
replace=yes | |
[defense] | |
swamp_water=50 | |
[/defense] | |
[/effect] | |
[/trait] | |
[/modifications] | |
[/stored_clammie] | |
[/variables] | |
[/snapshot] | |
[replay_start] | |
abbrev="S" | |
campaign="Swamplings" | |
campaign_define="CAMPAIGN_SWAMPLINGS" | |
campaign_extra_defines="" | |
campaign_type="scenario" | |
can_end_turn=yes | |
completion="running" | |
current_time=0 | |
difficulty="NORMAL" | |
end_credits=yes | |
end_text="" | |
end_text_duration=0 | |
history="" | |
id="02_Healer_And_Slayer" | |
init_side_done=yes | |
label="S-Healer And Slayer" | |
map_data="border_size=1 | |
usage=map | |
Gs^Fp, Gs^Fmf, Ww, Gs^Fp, Ss, Ss, Ss, Gg, Ss, Ss, Ss, Ww, Ww, Ww, Ww, Ww, Ww, Ss, Ww, Ss, Ww, Ww, Ww, Ss | |
Gs^Fmf, Gs^Fp, Gs^Fp, Ww, Ss, Ss, Chs^Bw/, Ss, Ss, Ww, Ss, Ww, Ss^Bw/, Ss^Bw/, Ss^Bw\, Gll^Bw/, Ss^Bw\, Ww, Ss, Ss, Ss^Bw\, Gll^Wm, Ss, Ss | |
Gs^Fp, Gs^Fmf, Gs^Fp, Gs^Fp, Gs^Fmf, Ss^Vhs, Ss, Ss^Bw\, Ss^Bw/, Ss^Bw\, Ss^Bw/, Ss^Bw/, Ss^Bw/, Ce, Ce, Ce, Ce, Ce, Ss^Bw\, Ss^Bw/, Ss^Bw|, Ss, Ww, Ss | |
Gs^Fmf, Gs^Fmf, Gs^Fp, Gs^Fp, Ss, Ss, Ss, Ss, Ms^Vhha, Hh^Fdf, Ss, Ss^Bw\, Ss^Bw\, Ce, Ce, Ce, Ce, Ce, Ww, Ss, Gll, Ss, Ss, Ss | |
Gs^Fp, Gs^Fp, Gs^Fp, Gs^Fmf, Hh^Fdf, Hh^Fdf, Hh^Fdf, Hh^Fdf, Mm, Hh^Fdf, Hh^Fdf, Ss, Ce, Ww^Bw/, Ce, Ce, Ce, Ss^Bw\, Ce, Ss, Gll, Ss, Ss, Ss | |
Ss, Gs^Fmf, Gll^Fmf, Hh^Fdf, Hh^Fdw, Mm, Mm, Mm, Mm, Hh^Fdf, Hh^Fdf, Ss, Ss^Bw/, Ce, Ce, Ce, Ce, Ce, Gll^Bw\, Gll, Gll, Ss, Ww, Ss | |
Ss, Ss, Ww, Ww, Hh^Fdf, Mm, Mm, Mm, Mm, Mm, Hh^Fdf, Hh^Fdw, Ss, Re^Bw\, Ss^Bw/, Ss^Bw\, Ss^Bw\, Ss^Bw/, Ss, Gll, Ss^Vm, Ww, Ww, Ss | |
Ww, Ww, Ww, Ww, Hh^Fdf, Mm, Mm, Mm, Mm, Mm, Hh^Fdf, Ss, Gll, Gll, 1 Gll, Ss, Ss, Ww, Ss, Ww, Ww, Ww, Ww, Ww | |
Ww, Ww, Ss, Ww, Hh^Fdw, Mm, Mm, Mm, Mm, Mm, Hh^Fdf, Gs^Fmf, Gll, Gll, Ww, Ww, Gll^Fmf, Ss, Ww, Ww, Gll^Fp, Gll^Fp, Ww, Ww | |
Ss, Gg, Gg, Ww, Hh^Fdf, Mm, Mm, Mm, Mm, Hh^Fdf, Ss, Ss, Gll, Wo, Wo, Wo, Ww, Ss, Ss, Ss, Ss, Gs^Fmf, Ss, Ss | |
Ss, Gg^Vh, Gg, Ww, Ww, Hh^Fdf, Hh^Fdf, Mm, Mm, Hh^Fdf, Ss, Ss, Ww^Bw|, Wo, Wo, Wo, Ww, Ss, Gll, Ss, Ww, Ww, Ss, Ss | |
Ss, Gg, Gll, Gg, Hh^Fdf, Ww, Hh^Fdf, Hh^Fdw, Hh^Fdf, Hh^Fdf, Ss, Ss, Ww^Bw|, Wo, Wo, Wo, Ww, Ss, Gg, Ss, Ww, Wo, Gll, Gll | |
Ww, Gg^Efm, Gg^Efm, Gg, Ss, Ww, Ww, Ww, Ww, Hh^Fdf, Ss^Vhs, Ss, Gll^Es, Wo, Wo, Wo, Ww, Ww, Ww, Ww, Ww, Ww, Gg^Vc, Gg | |
Wo, Ww^Ewf, Gg^Efm, Ss, Ss, Ss, Ss, Ww, Ww, Ww, Ww^Bw/, Gll, Ww, Wo, Wo, Wo, Ww^Ewl, Ww^Ewl, Ww^Ewf, Ww, Ww, Ww, Gg^Eff, Gg | |
Xu, Wo, Ww, Ss, Xu, Xu, Xu, Ss, Ss, Chw, Gs^Fmf, Ww, Ww, Ww, Ww, Ss, Ss, Ww^Ewl, Ww^Ewf, Ww^Ewl, Ss, Gg, Gll, Gg^Eff | |
Xu, Xu, Xu, Xu, Uu, Ss, Ss, Xu, Ss, Re, Gs^Fp, Ww, Ww, Ss, Ss, Ss, Hh, Hh^Es, Hh^Dr, Hh^Es, Hh, Gg, Gll, Gg | |
Xu, Uu^Uf, Uu, Uu, Xu, Uu, Xu, Xu, Gs^Fp, Gs^Fmf, Gs^Fmf, Ww, Ww, Ss, Hh, Hh, Xu, Xu, Xu, Xu, Xu, Hh, Hh^Es, Gll | |
Xu, Uu, Xu, Xu, Uu^Es, Uu, Xu, Ss, Ss, Ww^Bw|, Ww, Wo, Ww, Ss, Hh^Es, Xu, Xu, Uh, Uh, Uh, Uu^Vu, Xu, Xu, Hh^Dr | |
Xu, Ss, Xu, Uu^Es, Uu, Ss, Xu, Ss, Ww, Ww^Bw|, Wo, Wo, Ww, Ss, Hh^Es, Hh^Dr, Xu, Ss, Uh^Es, Uh, Uh, Uh, Uh, Xu | |
Xu, Ss^Vm, Uu^Uf, Xu, Xu, Uu^Uf, Xu, Ss, Ss, Ww^Bw|, Ww^Bw\, Wo, Hh^Es, Hh^Dr, Xu, Xu, Uh, Uh, Xu, Xu, Xu, Ss, Uh, Xu | |
Xu, Uu^Uf, Xu, Uu, Xu, Uu, Uu, Xu, Xu, Ss, Ww, Ww^Bw\, Sm, Xu, Uu^Uf, Ss, Xu, Xu, Uh, Uh, Xu, Xu, Uh, Xu | |
Xu, Uu, Xu, Uu, Uh, Xu, Xu, Uu, Uu, Xu, Xu, Xu, Xu, Uu^Ufi, Uu^Uf, Uh, Xu, Ss, Ss, Xu, Uh, Ss, Uh, Xu | |
Xu, Uu^Es, Uh, Uh, Uh, Uu^Es, Uu^Es, Uh, Uu^Es, Uu, Uh, Uu^Uf, Uu^Uf, Ss, Ss, Uh, Uh, Uh, Uh, Uh, Uh, Uh, Uh, Xu | |
Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, _s, _s | |
" | |
#textdomain wesnoth-swamplings | |
name=_"Healer And Slayer" | |
next_scenario="03_Exodus" | |
next_teleport_group_id=0 | |
next_underlying_unit_id=12 | |
playing_team=0 | |
random_calls=0 | |
random_seed=1698981164 | |
scenario="02_Healer_And_Slayer" | |
snapshot=yes | |
turn_at=1 | |
turns=33 | |
unit_wml_ids="Goblin Rouser Sw" | |
used_items="" | |
version="1.12.0+dev" | |
victory_when_enemies_defeated=no | |
[side] | |
action_bonus_count=0 | |
allow_player=yes | |
auto_shroud=yes | |
chose_random=no | |
color=1 | |
controller="human" | |
countdown_time=0 | |
current_player="Clammie" | |
defeat_condition="no_leader_left" | |
disallow_observers=no | |
flag="" | |
flag_icon="" | |
fog=no | |
fog_data="" | |
gold=200 | |
gold_add=no | |
hidden=no | |
id="Clammie" | |
income=0 | |
lost=no | |
name="Clammie" | |
no_leader=yes | |
objectives="" | |
objectives_changed=yes | |
persistent=yes | |
recall_cost=20 | |
recruit="Goblin Spearman Sw" | |
save_id="Clammie" | |
scroll_to_leader=yes | |
share_maps=yes | |
share_view=no | |
shroud=yes | |
shroud_data="|1111111111111110000000000 | |
|1111111111111111000000000 | |
|1111111111111111000000000 | |
|1111111111111111000000000 | |
|1111111111111110000000000 | |
|1111111111111110000000000 | |
|1111111111111110000000000 | |
|1111111111111111001110000 | |
|1111111111111111111110000 | |
|1111111111111111111111000 | |
|1111111111111111111111000 | |
|1111111111111111111111000 | |
|1111111111111111111110000 | |
|1111111111111111111110000 | |
|1111111111111111111100000 | |
|1111111111111111110100000 | |
|1111111111111111100000000 | |
|1111111111111111100000000 | |
|1111111111111111100000000 | |
|1111111111111111100000000 | |
|1111111111111111100000000 | |
|1111111111111111110000000 | |
|1111111111111111110000000 | |
|1111111111111111111000000 | |
|1111111111111110000000000 | |
" | |
side=1 | |
start_gold=200 | |
suppress_end_turn_confirmation=no | |
team_name=1 | |
user_team_name=_"Clammie and Co." | |
village_gold=1 | |
village_support=1 | |
[ai] | |
#textdomain wesnoth-ai | |
description=_"Multiplayer_AI^Default AI (RCA)" | |
id="ai_default_rca" | |
version=10710 | |
[stage] | |
id="main_loop" | |
name="ai_default_rca::candidate_action_evaluation_loop" | |
[candidate_action] | |
engine="cpp" | |
id="goto" | |
max_score=200000 | |
name="ai_default_rca::goto_phase" | |
score=200000 | |
[/candidate_action] | |
[candidate_action] | |
engine="cpp" | |
id="recruitment" | |
max_score=180000 | |
name="default_recruitment::recruitment" | |
score=180000 | |
[/candidate_action] | |
[candidate_action] | |
engine="cpp" | |
id="move_leader_to_goals" | |
max_score=140000 | |
name="ai_default_rca::move_leader_to_goals_phase" | |
score=140000 | |
[/candidate_action] | |
[candidate_action] | |
engine="cpp" | |
id="move_leader_to_keep" | |
max_score=120000 | |
name="ai_default_rca::move_leader_to_keep_phase" | |
score=120000 | |
[/candidate_action] | |
[candidate_action] | |
engine="cpp" | |
id="combat" | |
max_score=100000 | |
name="ai_default_rca::combat_phase" | |
score=100000 | |
[/candidate_action] | |
[candidate_action] | |
engine="cpp" | |
id="healing" | |
max_score=80000 | |
name="ai_default_rca::get_healing_phase" | |
score=80000 | |
[/candidate_action] | |
[candidate_action] | |
engine="cpp" | |
id="villages" | |
max_score=60000 | |
name="ai_default_rca::get_villages_phase" | |
score=60000 | |
[/candidate_action] | |
[candidate_action] | |
engine="cpp" | |
id="retreat" | |
max_score=40000 | |
name="ai_default_rca::retreat_phase" | |
score=40000 | |
[/candidate_action] | |
[candidate_action] | |
engine="cpp" | |
id="move_to_targets" | |
max_score=20000 | |
name="ai_default_rca::move_to_targets_phase" | |
score=20000 | |
[/candidate_action] | |
[candidate_action] | |
engine="cpp" | |
id="leader_shares_keep" | |
max_score=10000 | |
name="ai_default_rca::leader_shares_keep_phase" | |
score=10000 | |
[/candidate_action] | |
[/stage] | |
[aspect] | |
engine="cpp" | |
id="advancements" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="aggression" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=0.4 | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="attack_depth" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=5 | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="attacks" | |
invalidate_on_gamestate_change=yes | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
invalidate_on_gamestate_change=yes | |
name="ai_default_rca::aspect_attacks" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="avoid" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
[value] | |
[not] | |
[/not] | |
[/value] | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="caution" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=0.25 | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="grouping" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value="offensive" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="leader_aggression" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value="-4.0" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="leader_goal" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="leader_ignores_keep" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=no | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="leader_value" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value="3.0" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="number_of_possible_recruits_to_force_recruit" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=3.1 | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="passive_leader" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=no | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="passive_leader_shares_keep" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=no | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="recruitment" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
[value] | |
engine="cpp" | |
name="ai_default::recruitment" | |
[/value] | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="recruitment_diversity" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value="2.0" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="recruitment_ignore_bad_combat" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=no | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="recruitment_ignore_bad_movement" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=no | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="recruitment_instructions" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
[value] | |
[recruit] | |
importance=0 | |
[/recruit] | |
[/value] | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="recruitment_more" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="recruitment_pattern" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="recruitment_randomness" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=50 | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="recruitment_save_gold" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
[value] | |
active=0 | |
[/value] | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="scout_village_targeting" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=3 | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="simple_targeting" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=no | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="support_villages" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=no | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="village_value" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value="1.0" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="villages_per_scout" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=4 | |
[/default] | |
[/aspect] | |
[/ai] | |
[unit] | |
advances_to="Goblin Trumpeter" | |
alignment="chaotic" | |
alpha=256 | |
attacks_left=1 | |
canrecruit=yes | |
cost=13 | |
#textdomain wesnoth-swamplings | |
description=_"Standard-bearers are an oddity amongst goblins. A goblin who has survived enough battles to be considered a veteran is rare enough, and it is rarer still for the other goblins to recognize and respect his veteran status. Nonetheless, a rouser's frenzied goading effectively steels the less veteran fighters to strive harder and longer before they die." + | |
#textdomain wesnoth-help | |
_" | |
Special Notes:" + | |
_" The leadership of this unit enables adjacent units of the same side to deal more damage in combat, though this only applies to units of lower level." | |
ellipse="misc/ellipse-leader" | |
experience=0 | |
extra_recruit="" | |
facing="se" | |
flag_rgb="magenta" | |
gender="male" | |
goto_x=-999 | |
goto_y=-999 | |
hitpoints=31 | |
id="Clammie" | |
image="units/goblins/rouser.png" | |
jamming=0 | |
#textdomain wesnoth-swamplings | |
language_name=_"Goblin Rouser" | |
level=1 | |
max_attacks=1 | |
max_experience=30 | |
max_hitpoints=31 | |
max_moves=5 | |
moves=5 | |
name=_"Clammie" | |
overlays="" | |
profile="portraits/goblins/transparent/rouser.png" | |
race="goblin" | |
random_traits=no | |
resting=no | |
role="" | |
side=1 | |
small_profile="portraits/goblins/rouser.png" | |
type="Goblin Rouser Sw" | |
undead_variation="goblin" | |
underlying_id=1 | |
unrenamable=yes | |
upkeep="full" | |
usage="fighter" | |
variation="" | |
vision=-1 | |
x=14 | |
y=7 | |
zoc=yes | |
[portrait] | |
image="portraits/goblins/transparent/rouser.png" | |
mirror=false | |
side="left" | |
size=400 | |
[/portrait] | |
[portrait] | |
image="portraits/goblins/transparent/rouser.png" | |
mirror=true | |
side="right" | |
size=400 | |
[/portrait] | |
[abilities] | |
[leadership] | |
affect_self=no | |
cumulative=no | |
#textdomain wesnoth-help | |
description=_"This unit can lead our own units that are next to it, making them fight better. | |
Adjacent own units of lower level will do more damage in battle. When a unit adjacent to, of a lower level than, and on the same side as a unit with Leadership engages in combat, its attacks do 25% more damage times the difference in their levels." | |
female_name=_"female^leadership" | |
id="leadership" | |
name=_"leadership" | |
value=25 | |
[affect_adjacent] | |
adjacent="n,ne,se,s,sw,nw" | |
[filter] | |
level=0 | |
[/filter] | |
[/affect_adjacent] | |
[/leadership] | |
[/abilities] | |
[movement_costs] | |
castle=1 | |
cave=2 | |
flat=1 | |
forest=2 | |
frozen=2 | |
fungus=3 | |
hills=1 | |
mountains=2 | |
reef=2 | |
sand=2 | |
shallow_water=3 | |
swamp_water=2 | |
village=1 | |
[/movement_costs] | |
[defense] | |
castle=40 | |
cave=60 | |
flat=60 | |
forest=50 | |
frozen=80 | |
fungus=60 | |
hills=50 | |
mountains=40 | |
reef=70 | |
sand=70 | |
shallow_water=80 | |
swamp_water=50 | |
village=40 | |
[/defense] | |
[resistance] | |
arcane=100 | |
blade=100 | |
cold=100 | |
fire=100 | |
impact=100 | |
pierce=100 | |
[/resistance] | |
[variables] | |
[/variables] | |
[filter_recall] | |
[/filter_recall] | |
[status] | |
[/status] | |
[attack] | |
damage=7 | |
#textdomain wesnoth-swamplings | |
description=_"spear" | |
icon="attacks/spear-orcish.png" | |
name="spear" | |
number=3 | |
range="melee" | |
type="pierce" | |
[/attack] | |
[modifications] | |
[trait] | |
availability="any" | |
description=_"Better defense and quicker in swamp" | |
female_name=_"female^swamp savvy" | |
id="swamp_savvy" | |
male_name=_"swamp savvy" | |
[effect] | |
apply_to="movement_costs" | |
replace=yes | |
[movement_costs] | |
swamp_water=2 | |
[/movement_costs] | |
[/effect] | |
[effect] | |
apply_to="defense" | |
replace=yes | |
[defense] | |
swamp_water=50 | |
[/defense] | |
[/effect] | |
[/trait] | |
[/modifications] | |
[/unit] | |
[/side] | |
[side] | |
action_bonus_count=0 | |
allow_player=yes | |
auto_shroud=yes | |
chose_random=no | |
color=2 | |
controller="ai" | |
countdown_time=0 | |
current_player="" | |
defeat_condition="no_leader_left" | |
disallow_observers=no | |
flag="" | |
flag_icon="" | |
fog=no | |
fog_data="" | |
gold=0 | |
gold_add=no | |
hidden=no | |
id="" | |
income=-2 | |
lost=no | |
name="" | |
no_leader=yes | |
objectives="" | |
objectives_changed=yes | |
persistent=no | |
recall_cost=20 | |
recruit="" | |
save_id="" | |
scroll_to_leader=yes | |
share_maps=yes | |
share_view=no | |
shroud=no | |
shroud_data="" | |
side=2 | |
start_gold=0 | |
suppress_end_turn_confirmation=no | |
team_name=2 | |
user_team_name=_"Wild Things" | |
village_gold=1 | |
village_support=1 | |
[ai] | |
#textdomain wesnoth-ai | |
description=_"Multiplayer_AI^Default AI (RCA)" | |
id="ai_default_rca" | |
version=10710 | |
[stage] | |
id="main_loop" | |
name="ai_default_rca::candidate_action_evaluation_loop" | |
[candidate_action] | |
engine="cpp" | |
id="goto" | |
max_score=200000 | |
name="ai_default_rca::goto_phase" | |
score=200000 | |
[/candidate_action] | |
[candidate_action] | |
engine="cpp" | |
id="recruitment" | |
max_score=180000 | |
name="default_recruitment::recruitment" | |
score=180000 | |
[/candidate_action] | |
[candidate_action] | |
engine="cpp" | |
id="move_leader_to_goals" | |
max_score=140000 | |
name="ai_default_rca::move_leader_to_goals_phase" | |
score=140000 | |
[/candidate_action] | |
[candidate_action] | |
engine="cpp" | |
id="move_leader_to_keep" | |
max_score=120000 | |
name="ai_default_rca::move_leader_to_keep_phase" | |
score=120000 | |
[/candidate_action] | |
[candidate_action] | |
engine="cpp" | |
id="combat" | |
max_score=100000 | |
name="ai_default_rca::combat_phase" | |
score=100000 | |
[/candidate_action] | |
[candidate_action] | |
engine="cpp" | |
id="healing" | |
max_score=80000 | |
name="ai_default_rca::get_healing_phase" | |
score=80000 | |
[/candidate_action] | |
[candidate_action] | |
engine="cpp" | |
id="villages" | |
max_score=60000 | |
name="ai_default_rca::get_villages_phase" | |
score=60000 | |
[/candidate_action] | |
[candidate_action] | |
engine="cpp" | |
id="retreat" | |
max_score=40000 | |
name="ai_default_rca::retreat_phase" | |
score=40000 | |
[/candidate_action] | |
[candidate_action] | |
engine="cpp" | |
id="move_to_targets" | |
max_score=20000 | |
name="ai_default_rca::move_to_targets_phase" | |
score=20000 | |
[/candidate_action] | |
[candidate_action] | |
engine="cpp" | |
id="leader_shares_keep" | |
max_score=10000 | |
name="ai_default_rca::leader_shares_keep_phase" | |
score=10000 | |
[/candidate_action] | |
[/stage] | |
[aspect] | |
engine="cpp" | |
id="advancements" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="aggression" | |
name="composite_aspect" | |
[facet] | |
engine="cpp" | |
name="standard_aspect" | |
value=0.9 | |
[/facet] | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=0.4 | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="attack_depth" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=5 | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="attacks" | |
invalidate_on_gamestate_change=yes | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
invalidate_on_gamestate_change=yes | |
name="ai_default_rca::aspect_attacks" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="avoid" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
[value] | |
[not] | |
[/not] | |
[/value] | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="caution" | |
name="composite_aspect" | |
[facet] | |
engine="cpp" | |
name="standard_aspect" | |
value="0.0" | |
[/facet] | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=0.25 | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="grouping" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value="offensive" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="leader_aggression" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value="-4.0" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="leader_goal" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="leader_ignores_keep" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=no | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="leader_value" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value="3.0" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="number_of_possible_recruits_to_force_recruit" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=3.1 | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="passive_leader" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=no | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="passive_leader_shares_keep" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=no | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="recruitment" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
[value] | |
engine="cpp" | |
name="ai_default::recruitment" | |
[/value] | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="recruitment_diversity" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value="2.0" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="recruitment_ignore_bad_combat" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=no | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="recruitment_ignore_bad_movement" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=no | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="recruitment_instructions" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
[value] | |
[recruit] | |
importance=0 | |
[/recruit] | |
[/value] | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="recruitment_more" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="recruitment_pattern" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="recruitment_randomness" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=50 | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="recruitment_save_gold" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
[value] | |
active=0 | |
[/value] | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="scout_village_targeting" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=3 | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="simple_targeting" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=no | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="support_villages" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=no | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="village_value" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value="1.0" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="villages_per_scout" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=4 | |
[/default] | |
[/aspect] | |
[/ai] | |
[/side] | |
[side] | |
action_bonus_count=0 | |
allow_player=yes | |
auto_shroud=yes | |
chose_random=no | |
color=3 | |
controller="ai" | |
countdown_time=0 | |
current_player="" | |
defeat_condition="no_leader_left" | |
disallow_observers=no | |
flag="" | |
flag_icon="" | |
fog=no | |
fog_data="" | |
gold=0 | |
gold_add=no | |
hidden=yes | |
id="" | |
income=0 | |
lost=no | |
name="" | |
no_leader=yes | |
objectives="" | |
objectives_changed=yes | |
persistent=no | |
recall_cost=20 | |
recruit="" | |
save_id="" | |
scroll_to_leader=yes | |
share_maps=yes | |
share_view=no | |
shroud=no | |
shroud_data="" | |
side=3 | |
start_gold=0 | |
suppress_end_turn_confirmation=no | |
team_name=3 | |
#textdomain wesnoth-swamplings | |
user_team_name=_"Rashki" | |
village_gold=1 | |
village_support=1 | |
[ai] | |
#textdomain wesnoth-ai | |
description=_"Multiplayer_AI^Default AI (RCA)" | |
id="ai_default_rca" | |
version=10710 | |
[stage] | |
id="main_loop" | |
name="ai_default_rca::candidate_action_evaluation_loop" | |
[candidate_action] | |
engine="cpp" | |
id="goto" | |
max_score=200000 | |
name="ai_default_rca::goto_phase" | |
score=200000 | |
[/candidate_action] | |
[candidate_action] | |
engine="cpp" | |
id="recruitment" | |
max_score=180000 | |
name="default_recruitment::recruitment" | |
score=180000 | |
[/candidate_action] | |
[candidate_action] | |
engine="cpp" | |
id="move_leader_to_goals" | |
max_score=140000 | |
name="ai_default_rca::move_leader_to_goals_phase" | |
score=140000 | |
[/candidate_action] | |
[candidate_action] | |
engine="cpp" | |
id="move_leader_to_keep" | |
max_score=120000 | |
name="ai_default_rca::move_leader_to_keep_phase" | |
score=120000 | |
[/candidate_action] | |
[candidate_action] | |
engine="cpp" | |
id="combat" | |
max_score=100000 | |
name="ai_default_rca::combat_phase" | |
score=100000 | |
[/candidate_action] | |
[candidate_action] | |
engine="cpp" | |
id="healing" | |
max_score=80000 | |
name="ai_default_rca::get_healing_phase" | |
score=80000 | |
[/candidate_action] | |
[candidate_action] | |
engine="cpp" | |
id="villages" | |
max_score=60000 | |
name="ai_default_rca::get_villages_phase" | |
score=60000 | |
[/candidate_action] | |
[candidate_action] | |
engine="cpp" | |
id="retreat" | |
max_score=40000 | |
name="ai_default_rca::retreat_phase" | |
score=40000 | |
[/candidate_action] | |
[candidate_action] | |
engine="cpp" | |
id="move_to_targets" | |
max_score=20000 | |
name="ai_default_rca::move_to_targets_phase" | |
score=20000 | |
[/candidate_action] | |
[candidate_action] | |
engine="cpp" | |
id="leader_shares_keep" | |
max_score=10000 | |
name="ai_default_rca::leader_shares_keep_phase" | |
score=10000 | |
[/candidate_action] | |
[/stage] | |
[aspect] | |
engine="cpp" | |
id="advancements" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="aggression" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=0.4 | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="attack_depth" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=5 | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="attacks" | |
invalidate_on_gamestate_change=yes | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
invalidate_on_gamestate_change=yes | |
name="ai_default_rca::aspect_attacks" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="avoid" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
[value] | |
[not] | |
[/not] | |
[/value] | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="caution" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=0.25 | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="grouping" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value="offensive" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="leader_aggression" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value="-4.0" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="leader_goal" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="leader_ignores_keep" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=no | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="leader_value" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value="3.0" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="number_of_possible_recruits_to_force_recruit" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=3.1 | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="passive_leader" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=no | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="passive_leader_shares_keep" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=no | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="recruitment" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
[value] | |
engine="cpp" | |
name="ai_default::recruitment" | |
[/value] | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="recruitment_diversity" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value="2.0" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="recruitment_ignore_bad_combat" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=no | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="recruitment_ignore_bad_movement" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=no | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="recruitment_instructions" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
[value] | |
[recruit] | |
importance=0 | |
[/recruit] | |
[/value] | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="recruitment_more" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="recruitment_pattern" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="recruitment_randomness" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=50 | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="recruitment_save_gold" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
[value] | |
active=0 | |
[/value] | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="scout_village_targeting" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=3 | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="simple_targeting" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=no | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="support_villages" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=no | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="village_value" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value="1.0" | |
[/default] | |
[/aspect] | |
[aspect] | |
engine="cpp" | |
id="villages_per_scout" | |
name="composite_aspect" | |
[default] | |
engine="cpp" | |
name="standard_aspect" | |
value=4 | |
[/default] | |
[/aspect] | |
[/ai] | |
[/side] | |
[time] | |
blue=0 | |
green=-20 | |
id="dawn" | |
image="misc/time-schedules/default/schedule-dawn.png" | |
lawful_bonus=0 | |
mask="" | |
#textdomain wesnoth-help | |
name=_"Dawn" | |
red=-20 | |
sound="ambient/morning.ogg" | |
[/time] | |
[time] | |
blue=0 | |
green=0 | |
id="morning" | |
image="misc/time-schedules/default/schedule-morning.png" | |
lawful_bonus=25 | |
mask="" | |
name=_"Morning" | |
red=0 | |
sound="" | |
[/time] | |
[time] | |
blue=0 | |
green=0 | |
id="afternoon" | |
image="misc/time-schedules/default/schedule-afternoon.png" | |
lawful_bonus=25 | |
mask="" | |
name=_"Afternoon" | |
red=0 | |
sound="" | |
[/time] | |
[time] | |
blue=-20 | |
green=-20 | |
id="dusk" | |
image="misc/time-schedules/default/schedule-dusk.png" | |
lawful_bonus=0 | |
mask="" | |
name=_"Dusk" | |
red=0 | |
sound="ambient/night.ogg" | |
[/time] | |
[time] | |
blue=-10 | |
green=-35 | |
id="first_watch" | |
image="misc/time-schedules/default/schedule-firstwatch.png" | |
lawful_bonus=-25 | |
mask="" | |
name=_"First Watch" | |
red=-45 | |
sound="" | |
[/time] | |
[time] | |
blue=-10 | |
green=-35 | |
id="second_watch" | |
image="misc/time-schedules/default/schedule-secondwatch.png" | |
lawful_bonus=-25 | |
mask="" | |
name=_"Second Watch" | |
red=-45 | |
sound="" | |
[/time] | |
[display] | |
color_adjust_blue=0 | |
color_adjust_green=0 | |
color_adjust_red=0 | |
view_locked=no | |
[/display] | |
[undo_stack] | |
committed=no | |
side=1 | |
[/undo_stack] | |
[event] | |
name="prestart" | |
[music] | |
immediate=yes | |
name="breaking_the_chains.ogg" | |
[/music] | |
[/event] | |
[event] | |
name="prestart" | |
[capture_village] | |
side=1 | |
terrain="*^V*" | |
[and] | |
radius=10 | |
x=15 | |
y=3 | |
[/and] | |
[/capture_village] | |
[/event] | |
[event] | |
name="prestart" | |
[set_variable] | |
name="shed" | |
rand="0..4" | |
[/set_variable] | |
[store_locations] | |
variable="shedpos" | |
x="5,8,20,21,21" | |
y="2,3,6,5,1" | |
[/store_locations] | |
[set_variable] | |
name="advice_from_Ronry" | |
value=no | |
[/set_variable] | |
[store_unit] | |
kill=yes | |
variable="MODIFY_UNIT_store" | |
[filter] | |
id="Clammie" | |
[/filter] | |
[/store_unit] | |
[set_variable] | |
name="MODIFY_UNIT_i" | |
value=0 | |
[/set_variable] | |
[while] | |
[variable] | |
less_than="$MODIFY_UNIT_store.length" | |
name="MODIFY_UNIT_i" | |
[/variable] | |
[do] | |
[set_variable] | |
name="MODIFY_UNIT_store[$MODIFY_UNIT_i].facing" | |
value="sw" | |
[/set_variable] | |
[unstore_unit] | |
find_vacant=no | |
variable="MODIFY_UNIT_store[$MODIFY_UNIT_i]" | |
[/unstore_unit] | |
[set_variable] | |
add=1 | |
name="MODIFY_UNIT_i" | |
[/set_variable] | |
[/do] | |
[/while] | |
[clear_variable] | |
name="MODIFY_UNIT_i" | |
[/clear_variable] | |
[clear_variable] | |
name="MODIFY_UNIT_store,MODIFY_UNIT_i" | |
[/clear_variable] | |
[disallow_recruit] | |
type="Goblin Spearman Sw,Vampire Bat,Goblin Impaler Sw,Goblin Rouser 2Sw" | |
[filter_side] | |
side=1 | |
[/filter_side] | |
[/disallow_recruit] | |
[/event] | |
[event] | |
name="start" | |
[unit] | |
animate=yes | |
gender="male" | |
id="Ronry" | |
#textdomain wesnoth-swamplings | |
name=_"Ronry" | |
side=1 | |
type="White Mage" | |
unrenamable=yes | |
x=12 | |
y=7 | |
[modifications] | |
[trait] | |
#textdomain wesnoth-help | |
female_name=_"female^resilient" | |
id="resilient" | |
male_name=_"resilient" | |
[effect] | |
apply_to="hitpoints" | |
increase_total=4 | |
[/effect] | |
[effect] | |
apply_to="hitpoints" | |
increase_total=1 | |
times="per level" | |
[/effect] | |
[/trait] | |
[trait] | |
female_name=_"female^strong" | |
id="strong" | |
male_name=_"strong" | |
[effect] | |
apply_to="attack" | |
increase_damage=1 | |
range="melee" | |
[/effect] | |
[effect] | |
apply_to="hitpoints" | |
increase_total=1 | |
[/effect] | |
[/trait] | |
[/modifications] | |
[/unit] | |
[store_unit] | |
kill=yes | |
variable="MODIFY_UNIT_store" | |
[filter] | |
id="Ronry" | |
[/filter] | |
[/store_unit] | |
[set_variable] | |
name="MODIFY_UNIT_i" | |
value=0 | |
[/set_variable] | |
[while] | |
[variable] | |
less_than="$MODIFY_UNIT_store.length" | |
name="MODIFY_UNIT_i" | |
[/variable] | |
[do] | |
[set_variable] | |
name="MODIFY_UNIT_store[$MODIFY_UNIT_i].facing" | |
value="se" | |
[/set_variable] | |
[unstore_unit] | |
find_vacant=no | |
variable="MODIFY_UNIT_store[$MODIFY_UNIT_i]" | |
[/unstore_unit] | |
[set_variable] | |
add=1 | |
name="MODIFY_UNIT_i" | |
[/set_variable] | |
[/do] | |
[/while] | |
[clear_variable] | |
name="MODIFY_UNIT_i" | |
[/clear_variable] | |
[clear_variable] | |
name="MODIFY_UNIT_store,MODIFY_UNIT_i" | |
[/clear_variable] | |
[message] | |
#textdomain wesnoth-swamplings | |
message=_"… then they just started attacking for no reason. I don't know why they came into the bog. What do they want?" | |
speaker="Clammie" | |
[/message] | |
[message] | |
message=_"You said they were looking for a slayer. So the question is, why did the slayer come here. And that is a question I can answer. For years I've been refining different poisons." | |
speaker="Ronry" | |
[/message] | |
[message] | |
message=_"Why are you interested in poisons?" | |
speaker="Clammie" | |
[/message] | |
[message] | |
message=_"Many poisons also have curative powers. Perhaps I can find the one that will cure these old bones of mine. But we must discuss our defense. These are dangerous foes." | |
speaker="Ronry" | |
[/message] | |
[message] | |
message=_"Humans are the worst! I meant–" | |
speaker="Clammie" | |
[/message] | |
[message] | |
message=_"No offense taken, my friend." | |
speaker="Ronry" | |
[/message] | |
[message] | |
message=_"My tribe is leaving the home patch for now. It's impossible to defend against these horsemen. Ronry, I grant you full rights to scavenge whatever you want from our midden heap. It's the legacy of three generations of my people." | |
speaker="Clammie" | |
[/message] | |
[message] | |
message=_"That's very kind. I have a gift for you too, a bat house. Don't open it until I –-" | |
speaker="Ronry" | |
[/message] | |
[item] | |
image="items/chest.png" | |
x=13 | |
y=8 | |
[/item] | |
[delay] | |
time=250 | |
[/delay] | |
[animate_unit] | |
flag="attack" | |
hits=no | |
[filter] | |
id="Clammie" | |
[/filter] | |
[primary_attack] | |
name="spear" | |
[/primary_attack] | |
[/animate_unit] | |
[sound] | |
name="open-chest.wav" | |
[/sound] | |
[unit] | |
generate_name=yes | |
random_gender=yes | |
random_traits=yes | |
side=2 | |
type="Vampire Bat Sw" | |
upkeep="full" | |
x=13 | |
y=8 | |
[/unit] | |
[sound] | |
name="bat-flapping.wav" | |
[/sound] | |
[move_unit] | |
to_x="13,14,12,11,22" | |
to_y="8,8,13,19,22" | |
type="Vampire Bat Sw" | |
[/move_unit] | |
[kill] | |
type="Vampire Bat Sw" | |
[/kill] | |
[message] | |
message=_"This is amazing! A bat of my very own!" | |
speaker="Clammie" | |
[/message] | |
[message] | |
message=_"Yes ..." | |
speaker="Ronry" | |
[/message] | |
[message] | |
message=_"When does he come back?" | |
speaker="Clammie" | |
[/message] | |
[message] | |
message=_"Seeing as it's completely untrained, I doubt it ever will." | |
speaker="Ronry" | |
[/message] | |
[message] | |
message=_"Oh ..." | |
speaker="Clammie" | |
[/message] | |
[message] | |
message=_"Perhaps a trained bat would have been more useful. I'll introduce you to one of mine. He's very tame." | |
speaker="Ronry" | |
[/message] | |
[unit] | |
id="Nosferatu" | |
name=_"Nosferatu" | |
side=1 | |
type="Vampire Bat Sw" | |
unrenamable=yes | |
x=12 | |
y=8 | |
[/unit] | |
[move_unit] | |
id="Nosferatu" | |
to_x="12,13,14" | |
to_y="8,10,8" | |
[/move_unit] | |
[animate_unit] | |
flag="attack" | |
hits=yes | |
with_bars=no | |
[filter] | |
id="Nosferatu" | |
[/filter] | |
[primary_attack] | |
name="fangs" | |
[/primary_attack] | |
[facing] | |
[filter] | |
id="Clammie" | |
[/filter] | |
[/facing] | |
[animate] | |
flag="defend" | |
hits=yes | |
with_bars=no | |
[filter] | |
id="Clammie" | |
[/filter] | |
[facing] | |
[filter] | |
id="Nosferatu" | |
[/filter] | |
[/facing] | |
[/animate] | |
[/animate_unit] | |
[store_unit] | |
variable="stored_clammie" | |
[filter] | |
id="Clammie" | |
[/filter] | |
[/store_unit] | |
[set_variable] | |
add=-4 | |
name="stored_clammie.hitpoints" | |
[/set_variable] | |
[unstore_unit] | |
find_vacant=no | |
red=255 | |
text=_"4" | |
variable="stored_clammie" | |
[/unstore_unit] | |
[redraw] | |
[/redraw] | |
[delay] | |
time=750 | |
[/delay] | |
[message] | |
message=_"iiiiiii!" | |
speaker="Nosferatu" | |
[/message] | |
[message] | |
message=_"Nosferatu! That's very impolite." | |
speaker="Ronry" | |
[/message] | |
[message] | |
message=_"Ronry, can you teach me to train bats myself?" | |
speaker="Clammie" | |
[/message] | |
[message] | |
message=_"I will teach you as I was taught. Here's a wand, Clammie. You can use it to charm bats." | |
speaker="Ronry" | |
[/message] | |
[message] | |
image="wesnoth-icon.png" | |
message=_"Ronry gives you a very plain wand. Actually, it looks like a stick. You imagine great power must circulate through it." | |
speaker="narrator" | |
[/message] | |
[object] | |
duration="level" | |
image="attacks/javelin-orcish.png" | |
name=_"Wand of Wonderment" | |
[filter] | |
id="Clammie" | |
[/filter] | |
[effect] | |
apply_to="new_attack" | |
damage=6 | |
description=_"Wand of Wonderment" | |
icon="attacks/javelin-orcish.png" | |
name="staff" | |
number=2 | |
range="melee" | |
type="impact" | |
[/effect] | |
[/object] | |
[event] | |
first_time_only=no | |
name="attacker_hits" | |
[filter] | |
id="Clammie" | |
[/filter] | |
[filter_attack] | |
name="staff" | |
[/filter_attack] | |
[filter_second] | |
race="bats" | |
[/filter_second] | |
[store_unit] | |
kill=no | |
variable="STORE_UNIT_VAR_store" | |
[filter] | |
x="$x1" | |
y="$y1" | |
[/filter] | |
[/store_unit] | |
[set_variable] | |
name="charmer_side" | |
value="$STORE_UNIT_VAR_store.side" | |
[/set_variable] | |
[clear_variable] | |
name="STORE_UNIT_VAR_store" | |
[/clear_variable] | |
[store_unit] | |
kill=no | |
variable="STORE_UNIT_VAR_store" | |
[filter] | |
x="$x2" | |
y="$y2" | |
[/filter] | |
[/store_unit] | |
[set_variable] | |
name="charmed_side" | |
value="$STORE_UNIT_VAR_store.side" | |
[/set_variable] | |
[clear_variable] | |
name="STORE_UNIT_VAR_store" | |
[/clear_variable] | |
[if] | |
[variable] | |
name="charmer_side" | |
not_equals="$charmed_side" | |
[/variable] | |
[then] | |
[store_unit] | |
kill=yes | |
variable="MODIFY_UNIT_store" | |
[filter] | |
x="$x2" | |
y="$y2" | |
[/filter] | |
[/store_unit] | |
[set_variable] | |
name="MODIFY_UNIT_i" | |
value=0 | |
[/set_variable] | |
[while] | |
[variable] | |
less_than="$MODIFY_UNIT_store.length" | |
name="MODIFY_UNIT_i" | |
[/variable] | |
[do] | |
[set_variable] | |
name="MODIFY_UNIT_store[$MODIFY_UNIT_i].variables.real_side" | |
value="$charmed_side" | |
[/set_variable] | |
[unstore_unit] | |
find_vacant=no | |
variable="MODIFY_UNIT_store[$MODIFY_UNIT_i]" | |
[/unstore_unit] | |
[set_variable] | |
add=1 | |
name="MODIFY_UNIT_i" | |
[/set_variable] | |
[/do] | |
[/while] | |
[clear_variable] | |
name="MODIFY_UNIT_i" | |
[/clear_variable] | |
[clear_variable] | |
name="MODIFY_UNIT_store,MODIFY_UNIT_i" | |
[/clear_variable] | |
[store_unit] | |
kill=yes | |
variable="MODIFY_UNIT_store" | |
[filter] | |
x="$x2" | |
y="$y2" | |
[/filter] | |
[/store_unit] | |
[set_variable] | |
name="MODIFY_UNIT_i" | |
value=0 | |
[/set_variable] | |
[while] | |
[variable] | |
less_than="$MODIFY_UNIT_store.length" | |
name="MODIFY_UNIT_i" | |
[/variable] | |
[do] | |
[set_variable] | |
name="MODIFY_UNIT_store[$MODIFY_UNIT_i].side" | |
value="$charmer_side" | |
[/set_variable] | |
[unstore_unit] | |
find_vacant=no | |
variable="MODIFY_UNIT_store[$MODIFY_UNIT_i]" | |
[/unstore_unit] | |
[set_variable] | |
add=1 | |
name="MODIFY_UNIT_i" | |
[/set_variable] | |
[/do] | |
[/while] | |
[clear_variable] | |
name="MODIFY_UNIT_i" | |
[/clear_variable] | |
[clear_variable] | |
name="MODIFY_UNIT_store,MODIFY_UNIT_i" | |
[/clear_variable] | |
[store_unit] | |
kill=yes | |
variable="MODIFY_UNIT_store" | |
[filter] | |
x="$x2" | |
y="$y2" | |
[/filter] | |
[/store_unit] | |
[set_variable] | |
name="MODIFY_UNIT_i" | |
value=0 | |
[/set_variable] | |
[while] | |
[variable] | |
less_than="$MODIFY_UNIT_store.length" | |
name="MODIFY_UNIT_i" | |
[/variable] | |
[do] | |
[set_variable] | |
name="MODIFY_UNIT_store[$MODIFY_UNIT_i].moves" | |
value=1 | |
[/set_variable] | |
[unstore_unit] | |
find_vacant=no | |
variable="MODIFY_UNIT_store[$MODIFY_UNIT_i]" | |
[/unstore_unit] | |
[set_variable] | |
add=1 | |
name="MODIFY_UNIT_i" | |
[/set_variable] | |
[/do] | |
[/while] | |
[clear_variable] | |
name="MODIFY_UNIT_i" | |
[/clear_variable] | |
[clear_variable] | |
name="MODIFY_UNIT_store,MODIFY_UNIT_i" | |
[/clear_variable] | |
[store_unit] | |
kill=yes | |
variable="MODIFY_UNIT_store" | |
[filter] | |
x="$x2" | |
y="$y2" | |
[/filter] | |
[/store_unit] | |
[set_variable] | |
name="MODIFY_UNIT_i" | |
value=0 | |
[/set_variable] | |
[while] | |
[variable] | |
less_than="$MODIFY_UNIT_store.length" | |
name="MODIFY_UNIT_i" | |
[/variable] | |
[do] | |
[set_variable] | |
name="MODIFY_UNIT_store[$MODIFY_UNIT_i].attacks_left" | |
value=1 | |
[/set_variable] | |
[unstore_unit] | |
find_vacant=no | |
variable="MODIFY_UNIT_store[$MODIFY_UNIT_i]" | |
[/unstore_unit] | |
[set_variable] | |
add=1 | |
name="MODIFY_UNIT_i" | |
[/set_variable] | |
[/do] | |
[/while] | |
[clear_variable] | |
name="MODIFY_UNIT_i" | |
[/clear_variable] | |
[clear_variable] | |
name="MODIFY_UNIT_store,MODIFY_UNIT_i" | |
[/clear_variable] | |
[set_variable] | |
name="varname" | |
value="side_$charmed_side|_units_charmed" | |
[/set_variable] | |
[set_variable] | |
name="$varname" | |
value=yes | |
[/set_variable] | |
[clear_variable] | |
name="varname" | |
[/clear_variable] | |
[/then] | |
[/if] | |
[if] | |
[variable] | |
less_than_equal_to=0 | |
name="second_unit.hitpoints" | |
[/variable] | |
[then] | |
[kill] | |
animate=yes | |
fire_event=yes | |
x="$x2" | |
y="$y2" | |
[/kill] | |
[/then] | |
[/if] | |
[clear_variable] | |
name="charmer_side" | |
[/clear_variable] | |
[clear_variable] | |
name="charmed_side" | |
[/clear_variable] | |
[/event] | |
[kill] | |
id="Nosferatu" | |
[/kill] | |
[move_unit_fake] | |
side=1 | |
type="Vampire Bat Sw" | |
x="14,11,15,17" | |
y="8,19,22,21" | |
[/move_unit_fake] | |
[message] | |
message=_"Take the box, follow Nosferatu to where the other bats are, and see how many you can charm." | |
speaker="Ronry" | |
[/message] | |
[sound] | |
name="open-chest.wav" | |
[/sound] | |
[remove_item] | |
image="items/chest.png" | |
x=13 | |
y=8 | |
[/remove_item] | |
[objectives] | |
#textdomain wesnoth | |
note=_"Early finish bonus." + | |
_" | |
40% of finishing gold carried over to the next scenario." | |
side=1 | |
[objective] | |
condition="win" | |
#textdomain wesnoth-swamplings | |
description=_"Charm five bats" | |
[/objective] | |
[objective] | |
condition="lose" | |
description=_"Death of Clammie" | |
[/objective] | |
[objective] | |
condition="lose" | |
description=_"Death of Ronry" | |
[/objective] | |
[objective] | |
condition="lose" | |
description=_"Turns run out" | |
[/objective] | |
[/objectives] | |
[/event] | |
[event] | |
first_time_only=yes | |
name="moveto" | |
[filter] | |
id="Clammie" | |
x="12-13" | |
y="20-21" | |
[/filter] | |
[unit] | |
id="Nosferatu" | |
name=_"Nosferatu" | |
side=1 | |
type="Vampire Bat" | |
unrenamable=yes | |
x=17 | |
y=21 | |
[/unit] | |
[unit] | |
facing="nw" | |
side=2 | |
type="Vampire Bat" | |
x=22 | |
y=22 | |
[/unit] | |
[set_variable] | |
name="chapter" | |
value=2 | |
[/set_variable] | |
[/event] | |
[event] | |
first_time_only=no | |
name="side 2 turn" | |
[if] | |
[have_unit] | |
count=2 | |
side=1 | |
type="Vampire Bat" | |
[/have_unit] | |
[or] | |
[not] | |
[have_unit] | |
id="Nosferatu" | |
[/have_unit] | |
[/not] | |
[have_unit] | |
count=1 | |
side=1 | |
type="Vampire Bat" | |
[/have_unit] | |
[/or] | |
[then] | |
[if] | |
[variable] | |
name="hesaidthis" | |
not_equals=yes | |
[/variable] | |
[then] | |
[message] | |
message=_"I did it! Ronry, I charmed a bat!" | |
speaker="Clammie" | |
[/message] | |
[message] | |
message=_"I sensed you might have a skill for this." | |
speaker="Ronry" | |
[/message] | |
[message] | |
message=_"Are there any more in here?" | |
speaker="Clammie" | |
[/message] | |
[message] | |
message=_"I would think there would be quite a few." | |
speaker="Ronry" | |
[/message] | |
[set_variable] | |
name="hesaidthis" | |
value=yes | |
[/set_variable] | |
[unit] | |
facing="nw" | |
side=2 | |
type="Vampire Bat" | |
x=22 | |
y=22 | |
[/unit] | |
[unit] | |
facing="se" | |
side=2 | |
type="Vampire Bat" | |
x=1 | |
y=16 | |
[/unit] | |
[/then] | |
[/if] | |
[/then] | |
[/if] | |
[/event] | |
[event] | |
first_time_only=no | |
name="new turn" | |
[if] | |
[variable] | |
equals=2 | |
name="chapter" | |
[/variable] | |
[then] | |
[if] | |
[have_unit] | |
side=2 | |
[/have_unit] | |
[then] | |
[/then] | |
[else] | |
[unit] | |
facing="nw" | |
side=2 | |
type="Vampire Bat" | |
x=22 | |
y=22 | |
[/unit] | |
[unit] | |
facing="se" | |
side=2 | |
type="Vampire Bat" | |
x=1 | |
y=16 | |
[/unit] | |
[/else] | |
[/if] | |
[/then] | |
[/if] | |
[/event] | |
[event] | |
first_time_only=no | |
name="last breath" | |
[filter] | |
side=2 | |
[/filter] | |
[set_variable] | |
add=1 | |
name="Clammie_killed" | |
[/set_variable] | |
[/event] | |
[event] | |
first_time_only=no | |
name="new turn" | |
[if] | |
[variable] | |
equals=2 | |
name="chapter" | |
[/variable] | |
[then] | |
[if] | |
[variable] | |
name="advice_from_Ronry" | |
not_equals=yes | |
[/variable] | |
[then] | |
[if] | |
[variable] | |
equals=3 | |
name="Clammie_killed" | |
[/variable] | |
[then] | |
[if] | |
[not] | |
[have_unit] | |
id="Nosferatu" | |
[/have_unit] | |
[/not] | |
[not] | |
[have_unit] | |
count=1 | |
race="bats" | |
side=1 | |
[/have_unit] | |
[/not] | |
[or] | |
[have_unit] | |
id="Nosferatu" | |
[/have_unit] | |
[have_unit] | |
count=1 | |
race="bats" | |
side=1 | |
[/have_unit] | |
[/or] | |
[then] | |
[message] | |
message=_"This is going to take a long time if you keep killing bats." | |
speaker="Ronry" | |
[/message] | |
[message] | |
message=_"How do you work this thing? You didn't really explain it." | |
speaker="Clammie" | |
[/message] | |
[message] | |
message=_"Just poke at them with the Wand of Wonderment. But not too hard." | |
speaker="Ronry" | |
[/message] | |
[message] | |
message=_"<i>crazy human!</i>" | |
speaker="Clammie" | |
[/message] | |
[message] | |
message=_"<i>crazy goblin!</i>" | |
speaker="Ronry" | |
[/message] | |
[set_variable] | |
name="advice_from_Ronry" | |
value=yes | |
[/set_variable] | |
[/then] | |
[/if] | |
[/then] | |
[/if] | |
[/then] | |
[/if] | |
[/then] | |
[/if] | |
[/event] | |
[event] | |
first_time_only=no | |
name="ai turn" | |
[store_unit] | |
variable="bat_num" | |
[filter] | |
race="bats" | |
side=1 | |
[not] | |
id="Nosferatu" | |
[/not] | |
[/filter] | |
[/store_unit] | |
[if] | |
[variable] | |
greater_than_equal_to=5 | |
name="bat_num.length" | |
[/variable] | |
[then] | |
[if] | |
[variable] | |
equals=2 | |
name="chapter" | |
[/variable] | |
[then] | |
[message] | |
image="wesnoth-icon.png" | |
message=_"You can now recruit vampire bats!" | |
speaker="narrator" | |
[/message] | |
[set_recruit] | |
recruit="Vampire Bat" | |
[filter_side] | |
side=1 | |
[/filter_side] | |
[/set_recruit] | |
[message] | |
message=_"And I thought this magic wand was just a stick!" | |
speaker="Clammie" | |
[/message] | |
[message] | |
message=_"It is just a stick. Let's go." | |
speaker="Ronry" | |
[/message] | |
[store_unit] | |
variable="FULL_HEAL_temp" | |
[filter] | |
race="bats" | |
[/filter] | |
[/store_unit] | |
[set_variable] | |
name="FULL_HEAL_i" | |
value=0 | |
[/set_variable] | |
[while] | |
[variable] | |
less_than="$FULL_HEAL_temp.length" | |
name="FULL_HEAL_i" | |
[/variable] | |
[do] | |
[set_variable] | |
name="FULL_HEAL_temp[$FULL_HEAL_i].hitpoints" | |
value="$FULL_HEAL_temp[$FULL_HEAL_i].max_hitpoints" | |
[/set_variable] | |
[unstore_unit] | |
find_vacant=no | |
variable="FULL_HEAL_temp[$FULL_HEAL_i]" | |
[/unstore_unit] | |
[set_variable] | |
add=1 | |
name="FULL_HEAL_i" | |
[/set_variable] | |
[/do] | |
[/while] | |
[clear_variable] | |
name="FULL_HEAL_i" | |
[/clear_variable] | |
[clear_variable] | |
name="FULL_HEAL_temp,FULL_HEAL_i" | |
[/clear_variable] | |
[store_unit] | |
variable="all_bats" | |
[filter] | |
race="bats" | |
side=1 | |
[/filter] | |
[/store_unit] | |
[set_variable] | |
name="i" | |
value=0 | |
[/set_variable] | |
[while] | |
[variable] | |
less_than="$all_bats.length" | |
name="i" | |
[/variable] | |
[do] | |
[set_variable] | |
name="all_bats[$i].moves" | |
value="$all_bats[$i].max_moves" | |
[/set_variable] | |
[set_variable] | |
name="all_bats[$i].attacks_left" | |
value="$all_bats[$i].max_attacks" | |
[/set_variable] | |
[set_variable] | |
add=1 | |
name="i" | |
[/set_variable] | |
[/do] | |
[/while] | |
[clear_variable] | |
name="i" | |
[/clear_variable] | |
[store_unit] | |
variable="stored_ronry" | |
[filter] | |
id="Ronry" | |
[/filter] | |
[/store_unit] | |
[if] | |
[variable] | |
less_than=20 | |
name="stored_ronry.hitpoints" | |
[/variable] | |
[then] | |
[message] | |
image="wesnoth-icon.png" | |
message=_"Ronry quaffs a healing potion." | |
sound="potion.ogg" | |
speaker="narrator" | |
[/message] | |
[kill] | |
fire_event=no | |
id="Ronry" | |
[/kill] | |
[set_variable] | |
add=15 | |
name="stored_ronry.hitpoints" | |
[/set_variable] | |
[sound] | |
name="heal.wav" | |
[/sound] | |
[unstore_unit] | |
find_vacant=yes | |
variable="stored_ronry" | |
[/unstore_unit] | |
[redraw] | |
[/redraw] | |
[/then] | |
[/if] | |
[set_variable] | |
name="chapter" | |
value=3 | |
[/set_variable] | |
[kill] | |
side=2 | |
[/kill] | |
[end_turn] | |
[/end_turn] | |
[/then] | |
[/if] | |
[/then] | |
[/if] | |
[/event] | |
[event] | |
first_time_only=no | |
name="new_turn" | |
[if] | |
[variable] | |
equals=3 | |
name="chapter" | |
[/variable] | |
[then] | |
[unit] | |
facing="se" | |
gender="male" | |
id="Rashki" | |
name=_"Rashki" | |
side=3 | |
type="Assassin" | |
unrenamable=yes | |
x=13 | |
y=2 | |
[/unit] | |
[store_unit] | |
variable="stored_ronry" | |
[filter] | |
id="Ronry" | |
[/filter] | |
[/store_unit] | |
[move_unit] | |
fire_event=no | |
id="Ronry" | |
to_x=11 | |
to_y=20 | |
[/move_unit] | |
[store_unit] | |
kill=yes | |
variable="MODIFY_UNIT_store" | |
[filter] | |
id="Ronry" | |
[/filter] | |
[/store_unit] | |
[set_variable] | |
name="MODIFY_UNIT_i" | |
value=0 | |
[/set_variable] | |
[while] | |
[variable] | |
less_than="$MODIFY_UNIT_store.length" | |
name="MODIFY_UNIT_i" | |
[/variable] | |
[do] | |
[set_variable] | |
name="MODIFY_UNIT_store[$MODIFY_UNIT_i].facing" | |
value="se" | |
[/set_variable] | |
[unstore_unit] | |
find_vacant=no | |
variable="MODIFY_UNIT_store[$MODIFY_UNIT_i]" | |
[/unstore_unit] | |
[set_variable] | |
add=1 | |
name="MODIFY_UNIT_i" | |
[/set_variable] | |
[/do] | |
[/while] | |
[clear_variable] | |
name="MODIFY_UNIT_i" | |
[/clear_variable] | |
[clear_variable] | |
name="MODIFY_UNIT_store,MODIFY_UNIT_i" | |
[/clear_variable] | |
[move_unit] | |
fire_event=no | |
id="Clammie" | |
to_x=12 | |
to_y=20 | |
[/move_unit] | |
[store_unit] | |
kill=yes | |
variable="MODIFY_UNIT_store" | |
[filter] | |
id="Clammie" | |
[/filter] | |
[/store_unit] | |
[set_variable] | |
name="MODIFY_UNIT_i" | |
value=0 | |
[/set_variable] | |
[while] | |
[variable] | |
less_than="$MODIFY_UNIT_store.length" | |
name="MODIFY_UNIT_i" | |
[/variable] | |
[do] | |
[set_variable] | |
name="MODIFY_UNIT_store[$MODIFY_UNIT_i].facing" | |
value="se" | |
[/set_variable] | |
[unstore_unit] | |
find_vacant=no | |
variable="MODIFY_UNIT_store[$MODIFY_UNIT_i]" | |
[/unstore_unit] | |
[set_variable] | |
add=1 | |
name="MODIFY_UNIT_i" | |
[/set_variable] | |
[/do] | |
[/while] | |
[clear_variable] | |
name="MODIFY_UNIT_i" | |
[/clear_variable] | |
[clear_variable] | |
name="MODIFY_UNIT_store,MODIFY_UNIT_i" | |
[/clear_variable] | |
[item] | |
image="items/chest.png" | |
x=13 | |
y=21 | |
[/item] | |
[sound] | |
name="open-chest.wav" | |
[/sound] | |
[set_variable] | |
name="i" | |
value=0 | |
[/set_variable] | |
[while] | |
[variable] | |
less_than="$all_bats.length" | |
name="i" | |
[/variable] | |
[do] | |
[move_unit] | |
fire_event=no | |
to_x=13 | |
to_y=21 | |
x="$all_bats[$i].x" | |
y="$all_bats[$i].y" | |
[/move_unit] | |
[kill] | |
x=13 | |
y=21 | |
[/kill] | |
[sound] | |
name="bat-flapping.wav" | |
[/sound] | |
[set_variable] | |
add=1 | |
name="i" | |
[/set_variable] | |
[/do] | |
[/while] | |
[clear_variable] | |
name="i" | |
[/clear_variable] | |
[kill] | |
race="bats" | |
[/kill] | |
[sound] | |
name="open-chest.wav" | |
[/sound] | |
[remove_item] | |
image="items/chest.png" | |
x=13 | |
y=21 | |
[/remove_item] | |
[move_unit] | |
fire_event=no | |
id="Ronry" | |
to_x=14 | |
to_y=2 | |
[/move_unit] | |
[store_unit] | |
kill=yes | |
variable="MODIFY_UNIT_store" | |
[filter] | |
id="Ronry" | |
[/filter] | |
[/store_unit] | |
[set_variable] | |
name="MODIFY_UNIT_i" | |
value=0 | |
[/set_variable] | |
[while] | |
[variable] | |
less_than="$MODIFY_UNIT_store.length" | |
name="MODIFY_UNIT_i" | |
[/variable] | |
[do] | |
[set_variable] | |
name="MODIFY_UNIT_store[$MODIFY_UNIT_i].facing" | |
value="nw" | |
[/set_variable] | |
[unstore_unit] | |
find_vacant=no | |
variable="MODIFY_UNIT_store[$MODIFY_UNIT_i]" | |
[/unstore_unit] | |
[set_variable] | |
add=1 | |
name="MODIFY_UNIT_i" | |
[/set_variable] | |
[/do] | |
[/while] | |
[clear_variable] | |
name="MODIFY_UNIT_i" | |
[/clear_variable] | |
[clear_variable] | |
name="MODIFY_UNIT_store,MODIFY_UNIT_i" | |
[/clear_variable] | |
[move_unit] | |
fire_event=no | |
id="Clammie" | |
to_x=13 | |
to_y=8 | |
[/move_unit] | |
[item] | |
image="items/chest.png" | |
x=13 | |
y=8 | |
[/item] | |
[sound] | |
name="miss-3.ogg" | |
[/sound] | |
[delay] | |
time=500 | |
[/delay] | |
[move_unit] | |
fire_event=no | |
id="Clammie" | |
to_x=15 | |
to_y=3 | |
[/move_unit] | |
[store_unit] | |
kill=yes | |
variable="MODIFY_UNIT_store" | |
[filter] | |
id="Clammie" | |
[/filter] | |
[/store_unit] | |
[set_variable] | |
name="MODIFY_UNIT_i" | |
value=0 | |
[/set_variable] | |
[while] | |
[variable] | |
less_than="$MODIFY_UNIT_store.length" | |
name="MODIFY_UNIT_i" | |
[/variable] | |
[do] | |
[set_variable] | |
name="MODIFY_UNIT_store[$MODIFY_UNIT_i].facing" | |
value="nw" | |
[/set_variable] | |
[unstore_unit] | |
find_vacant=no | |
variable="MODIFY_UNIT_store[$MODIFY_UNIT_i]" | |
[/unstore_unit] | |
[set_variable] | |
add=1 | |
name="MODIFY_UNIT_i" | |
[/set_variable] | |
[/do] | |
[/while] | |
[clear_variable] | |
name="MODIFY_UNIT_i" | |
[/clear_variable] | |
[clear_variable] | |
name="MODIFY_UNIT_store,MODIFY_UNIT_i" | |
[/clear_variable] | |
[music] | |
append=no | |
immediate=yes | |
name="revelation.ogg" | |
[/music] | |
[message] | |
#textdomain wesnoth | |
message=_"Are you the one they call Ronry?" | |
speaker="Rashki" | |
[/message] | |
[message] | |
message=_"Who asks?" | |
speaker="Ronry" | |
[/message] | |
[message] | |
message=_"My name is Rashki. I understand you have a powerful toxin for sale. The drop of death." | |
speaker="Rashki" | |
[/message] | |
[message] | |
message=_"No, it's not for sale. The poison I discovered shall only be used for good purposes, not evil." | |
speaker="Ronry" | |
[/message] | |
[message] | |
message=_"But I only wish to kill evil creatures!" | |
speaker="Rashki" | |
[/message] | |
[message] | |
message=_"The drop of death shall not be bought and sold like a market trinket! If I sold it for ten gold pieces, what would stop you from selling it to another for twenty? Am I to trust you, and all other men who buy it, when I can barely trust myself with its power?" | |
speaker="Ronry" | |
[/message] | |
[message] | |
message=_"If you will not accept my gold, you will take my blades." | |
speaker="Rashki" | |
[/message] | |
[animate_unit] | |
flag="attack" | |
hits=yes | |
with_bars=no | |
[filter] | |
id="Rashki" | |
[/filter] | |
[primary_attack] | |
name="knife" | |
[/primary_attack] | |
[facing] | |
[filter] | |
id="Ronry" | |
[/filter] | |
[/facing] | |
[animate] | |
flag="defend" | |
hits=yes | |
with_bars=no | |
[filter_second] | |
id="Ronry" | |
[/filter_second] | |
[/animate] | |
[/animate_unit] | |
[store_unit] | |
kill=yes | |
variable="stored_ronry" | |
[filter] | |
id="Ronry" | |
[/filter] | |
[/store_unit] | |
[set_variable] | |
name="stored_ronry.status.poisoned" | |
value=true | |
[/set_variable] | |
[set_variable] | |
name="stored_ronry.status.petrified" | |
value=true | |
[/set_variable] | |
[unstore_unit] | |
find_vacant=yes | |
variable="stored_ronry" | |
[/unstore_unit] | |
[redraw] | |
[/redraw] | |
[move_unit] | |
fire_event=no | |
id="Rashki" | |
to_x=11 | |
to_y=1 | |
[/move_unit] | |
[store_unit] | |
kill=yes | |
variable="stored_rashki" | |
[filter] | |
id="Rashki" | |
[/filter] | |
[/store_unit] | |
[message] | |
message=_"Paralyzing poison! Clammie, quickly go to the shed and unlock the cabinet .. I need the green bottle immediately!" | |
speaker="Ronry" | |
[/message] | |
[objectives] | |
note=_"Search the nearby area. WARNING: Ronry can be killed by this poison! " + | |
_"Early finish bonus." + | |
_" | |
40% of finishing gold carried over to the next scenario." | |
side=1 | |
summary=_"New Objectives:" | |
[objective] | |
condition="win" | |
description=_"Get antidote for Ronry before he dies" | |
[/objective] | |
[objective] | |
condition="lose" | |
description=_"Death of Clammie" | |
[/objective] | |
[objective] | |
condition="lose" | |
description=_"Death of Ronry" | |
[/objective] | |
[objective] | |
condition="lose" | |
description=_"Turns run out" | |
[/objective] | |
[/objectives] | |
[set_variable] | |
name="turns" | |
value=10 | |
[/set_variable] | |
[set_variable] | |
add="$turn_number" | |
name="turns" | |
[/set_variable] | |
[modify_turns] | |
value="$turns" | |
[/modify_turns] | |
[scroll_to] | |
check_fogged=false | |
x=5 | |
y=2 | |
[/scroll_to] | |
[item] | |
halo="items/gohere.png" | |
x=5 | |
y=2 | |
[/item] | |
[redraw] | |
[/redraw] | |
[delay] | |
time=150 | |
[/delay] | |
[remove_item] | |
x=5 | |
y=2 | |
[/remove_item] | |
[item] | |
image="" | |
x=5 | |
y=2 | |
[/item] | |
[redraw] | |
[/redraw] | |
[delay] | |
time=150 | |
[/delay] | |
[item] | |
halo="items/gohere.png" | |
x=5 | |
y=2 | |
[/item] | |
[redraw] | |
[/redraw] | |
[delay] | |
time=150 | |
[/delay] | |
[remove_item] | |
x=5 | |
y=2 | |
[/remove_item] | |
[item] | |
image="" | |
x=5 | |
y=2 | |
[/item] | |
[redraw] | |
[/redraw] | |
[delay] | |
time=150 | |
[/delay] | |
[item] | |
halo="items/gohere.png" | |
x=5 | |
y=2 | |
[/item] | |
[redraw] | |
[/redraw] | |
[delay] | |
time=150 | |
[/delay] | |
[remove_item] | |
x=5 | |
y=2 | |
[/remove_item] | |
[item] | |
image="" | |
x=5 | |
y=2 | |
[/item] | |
[redraw] | |
[/redraw] | |
[scroll_to] | |
check_fogged=false | |
x=8 | |
y=3 | |
[/scroll_to] | |
[item] | |
halo="items/gohere.png" | |
x=8 | |
y=3 | |
[/item] | |
[redraw] | |
[/redraw] | |
[delay] | |
time=150 | |
[/delay] | |
[remove_item] | |
x=8 | |
y=3 | |
[/remove_item] | |
[item] | |
image="" | |
x=8 | |
y=3 | |
[/item] | |
[redraw] | |
[/redraw] | |
[delay] | |
time=150 | |
[/delay] | |
[item] | |
halo="items/gohere.png" | |
x=8 | |
y=3 | |
[/item] | |
[redraw] | |
[/redraw] | |
[delay] | |
time=150 | |
[/delay] | |
[remove_item] | |
x=8 | |
y=3 | |
[/remove_item] | |
[item] | |
image="" | |
x=8 | |
y=3 | |
[/item] | |
[redraw] | |
[/redraw] | |
[delay] | |
time=150 | |
[/delay] | |
[item] | |
halo="items/gohere.png" | |
x=8 | |
y=3 | |
[/item] | |
[redraw] | |
[/redraw] | |
[delay] | |
time=150 | |
[/delay] | |
[remove_item] | |
x=8 | |
y=3 | |
[/remove_item] | |
[item] | |
image="" | |
x=8 | |
y=3 | |
[/item] | |
[redraw] | |
[/redraw] | |
[scroll_to] | |
check_fogged=false | |
x=20 | |
y=6 | |
[/scroll_to] | |
[item] | |
halo="items/gohere.png" | |
x=20 | |
y=6 | |
[/item] | |
[redraw] | |
[/redraw] | |
[delay] | |
time=150 | |
[/delay] | |
[remove_item] | |
x=20 | |
y=6 | |
[/remove_item] | |
[item] | |
image="" | |
x=20 | |
y=6 | |
[/item] | |
[redraw] | |
[/redraw] | |
[delay] | |
time=150 | |
[/delay] | |
[item] | |
halo="items/gohere.png" | |
x=20 | |
y=6 | |
[/item] | |
[redraw] | |
[/redraw] | |
[delay] | |
time=150 | |
[/delay] | |
[remove_item] | |
x=20 | |
y=6 | |
[/remove_item] | |
[item] | |
image="" | |
x=20 | |
y=6 | |
[/item] | |
[redraw] | |
[/redraw] | |
[delay] | |
time=150 | |
[/delay] | |
[item] | |
halo="items/gohere.png" | |
x=20 | |
y=6 | |
[/item] | |
[redraw] | |
[/redraw] | |
[delay] | |
time=150 | |
[/delay] | |
[remove_item] | |
x=20 | |
y=6 | |
[/remove_item] | |
[item] | |
image="" | |
x=20 | |
y=6 | |
[/item] | |
[redraw] | |
[/redraw] | |
[scroll_to] | |
check_fogged=false | |
x=21 | |
y=5 | |
[/scroll_to] | |
[item] | |
halo="items/gohere.png" | |
x=21 | |
y=5 | |
[/item] | |
[redraw] | |
[/redraw] | |
[delay] | |
time=150 | |
[/delay] | |
[remove_item] | |
x=21 | |
y=5 | |
[/remove_item] | |
[item] | |
image="scenery/leanto.png" | |
x=21 | |
y=5 | |
[/item] | |
[redraw] | |
[/redraw] | |
[delay] | |
time=150 | |
[/delay] | |
[item] | |
halo="items/gohere.png" | |
x=21 | |
y=5 | |
[/item] | |
[redraw] | |
[/redraw] | |
[delay] | |
time=150 | |
[/delay] | |
[remove_item] | |
x=21 | |
y=5 | |
[/remove_item] | |
[item] | |
image="scenery/leanto.png" | |
x=21 | |
y=5 | |
[/item] | |
[redraw] | |
[/redraw] | |
[delay] | |
time=150 | |
[/delay] | |
[item] | |
halo="items/gohere.png" | |
x=21 | |
y=5 | |
[/item] | |
[redraw] | |
[/redraw] | |
[delay] | |
time=150 | |
[/delay] | |
[remove_item] | |
x=21 | |
y=5 | |
[/remove_item] | |
[item] | |
image="scenery/leanto.png" | |
x=21 | |
y=5 | |
[/item] | |
[redraw] | |
[/redraw] | |
[scroll_to] | |
check_fogged=false | |
x=21 | |
y=1 | |
[/scroll_to] | |
[item] | |
halo="items/gohere.png" | |
x=21 | |
y=1 | |
[/item] | |
[redraw] | |
[/redraw] | |
[delay] | |
time=150 | |
[/delay] | |
[remove_item] | |
x=21 | |
y=1 | |
[/remove_item] | |
[item] | |
image="" | |
x=21 | |
y=1 | |
[/item] | |
[redraw] | |
[/redraw] | |
[delay] | |
time=150 | |
[/delay] | |
[item] | |
halo="items/gohere.png" | |
x=21 | |
y=1 | |
[/item] | |
[redraw] | |
[/redraw] | |
[delay] | |
time=150 | |
[/delay] | |
[remove_item] | |
x=21 | |
y=1 | |
[/remove_item] | |
[item] | |
image="" | |
x=21 | |
y=1 | |
[/item] | |
[redraw] | |
[/redraw] | |
[delay] | |
time=150 | |
[/delay] | |
[item] | |
halo="items/gohere.png" | |
x=21 | |
y=1 | |
[/item] | |
[redraw] | |
[/redraw] | |
[delay] | |
time=150 | |
[/delay] | |
[remove_item] | |
x=21 | |
y=1 | |
[/remove_item] | |
[item] | |
image="" | |
x=21 | |
y=1 | |
[/item] | |
[redraw] | |
[/redraw] | |
[terrain] | |
terrain="Gll^Wm" | |
x=21 | |
y=1 | |
[/terrain] | |
[set_variable] | |
name="chapter" | |
value=4 | |
[/set_variable] | |
[/then] | |
[/if] | |
[/event] | |
[event] | |
first_time_only=no | |
name="turn refresh" | |
[if] | |
[variable] | |
equals=4 | |
name="chapter" | |
[/variable] | |
[variable] | |
name="side_number" | |
numerical_equals=1 | |
[/variable] | |
[then] | |
[store_unit] | |
kill=yes | |
variable="stored_ronry" | |
[filter] | |
id="Ronry" | |
[/filter] | |
[/store_unit] | |
[set_variable] | |
add=-4 | |
name="stored_ronry.hitpoints" | |
[/set_variable] | |
[unstore_unit] | |
find_vacant=yes | |
red=255 | |
#textdomain wesnoth-swamplings | |
text=_"4" | |
variable="stored_ronry" | |
[/unstore_unit] | |
[sound] | |
name="poison.ogg" | |
[/sound] | |
[redraw] | |
[/redraw] | |
[if] | |
[variable] | |
less_than_equal_to=0 | |
name="stored_ronry.hitpoints" | |
[/variable] | |
[then] | |
[kill] | |
animate=yes | |
fire_event=yes | |
id="Ronry" | |
[/kill] | |
[/then] | |
[/if] | |
[/then] | |
[/if] | |
[/event] | |
[event] | |
first_time_only=yes | |
name="moveto" | |
[filter] | |
id="Clammie" | |
x="$shedpos[$shed].x" | |
y="$shedpos[$shed].y" | |
[/filter] | |
[if] | |
[variable] | |
equals=4 | |
name="chapter" | |
[/variable] | |
[then] | |
[fire_event] | |
name="shed_found" | |
[/fire_event] | |
[/then] | |
[/if] | |
[/event] | |
[event] | |
name="shed_found" | |
[message] | |
message=_"I wonder if this is it." | |
speaker="Clammie" | |
[/message] | |
[object] | |
description=_"A locked cabinet." | |
duration="level" | |
image="items/chest-plain-closed.png" | |
name=_"Cabinet" | |
[/object] | |
[message] | |
message=_"But where is the key?" | |
speaker="Clammie" | |
[/message] | |
[message] | |
message=_"Hurry, Clammie!" | |
speaker="Ronry" | |
[/message] | |
[move_unit] | |
fire_event=no | |
id="Clammie" | |
to_x=16 | |
to_y=2 | |
[/move_unit] | |
[item] | |
image="items/chest-plain-closed.png" | |
x=17 | |
y=2 | |
[/item] | |
[message] | |
message=_"The green bottle! Hurry!" | |
speaker="Ronry" | |
[/message] | |
[message] | |
image="wesnoth-icon.png" | |
message=_"With little time left, you break open the cabinet." | |
speaker="narrator" | |
[/message] | |
[remove_item] | |
image="items/chest-plain-closed.png" | |
x=17 | |
y=2 | |
[/remove_item] | |
[sound] | |
name="fist.ogg" | |
[/sound] | |
[item] | |
image="items/chest-plain-open.png" | |
x=17 | |
y=2 | |
[/item] | |
[message] | |
image="wesnoth-icon.png" | |
message=_"Which potion do you pick?" | |
speaker="narrator" | |
[option] | |
message=_"&items/potion-grey.png=This?" | |
[/option] | |
[option] | |
message=_"&items/potion-grey.png=This?" | |
[/option] | |
[option] | |
image="items/potion-grey.png" | |
message=_"&items/potion-grey.png=This?" | |
[/option] | |
[/message] | |
[message] | |
message=_"I've forgotten, goblins can't see colors! This is surely the end!" | |
speaker="Ronry" | |
[/message] | |
[message] | |
message=_"One smells of duckweed, the next of cattail and bromeliad. The third of milkweed." | |
speaker="Clammie" | |
[/message] | |
[message] | |
message=_"Yes, the milkweed! Quickly!" | |
speaker="Ronry" | |
[/message] | |
[object] | |
description=_"This ointment has amazing curative powers! Uncorking the bottle is unnecessary. It even heals nearby allies." | |
duration="level" | |
image="items/potion-green.png" | |
name=_"Healer Ointment" | |
[filter] | |
id="Clammie" | |
[/filter] | |
[effect] | |
apply_to="new_ability" | |
description=_"Healer Ointment" | |
icon="items/potion-green.png" | |
[abilities] | |
[heals] | |
affect_allies=yes | |
affect_self=no | |
#textdomain wesnoth-help | |
description=_"A curer can cure a unit of poison, although that unit will receive no additional healing on the turn it is cured of the poison." | |
female_name=_"female^cures" | |
id="curing" | |
name=_"cures" | |
poison="cured" | |
[affect_adjacent] | |
adjacent="n,ne,se,s,sw,nw" | |
[/affect_adjacent] | |
[/heals] | |
[heals] | |
affect_allies=yes | |
affect_self=no | |
description=_"This unit combines herbal remedies with magic to heal units more quickly than is normally possible on the battlefield. | |
A unit cared for by this healer may heal up to 8 HP per turn, or stop poison from taking effect for that turn. | |
A poisoned unit cannot be cured of its poison by a healer, and must seek the care of a village or a unit that can cure." | |
female_name=_"female^heals +8" | |
id="healing" | |
name=_"heals +8" | |
poison="slowed" | |
value=8 | |
[affect_adjacent] | |
adjacent="n,ne,se,s,sw,nw" | |
[/affect_adjacent] | |
[/heals] | |
[regenerate] | |
affect_self=yes | |
description=_"The unit will heal itself 8 HP per turn. If it is poisoned, it will remove the poison instead of healing." | |
female_name=_"female^regenerates" | |
id="regenerates" | |
name=_"regenerates" | |
poison="cured" | |
value=8 | |
[/regenerate] | |
[/abilities] | |
[/effect] | |
[/object] | |
[message] | |
#textdomain wesnoth-swamplings | |
message=_"I feel great power radiating from this bottle! Ronry, what on earth is this made from?" | |
speaker="Clammie" | |
[/message] | |
[kill] | |
animate=yes | |
id="Ronry" | |
[/kill] | |
[unstore_unit] | |
variable="stored_rashki" | |
[filter] | |
id="Rashki" | |
x=9 | |
y=1 | |
[/filter] | |
[/unstore_unit] | |
[move_unit] | |
fire_event=no | |
id="Rashki" | |
to_x=15 | |
to_y=2 | |
[/move_unit] | |
[message] | |
message=_"Very wise, little goblin. You almost saved his life. Is that the death drop in your hands?" | |
speaker="Rashki" | |
[/message] | |
[move_unit] | |
fire_event=no | |
id="Clammie" | |
to_x=16 | |
to_y=3 | |
[/move_unit] | |
[move_unit] | |
fire_event=no | |
id="Rashki" | |
to_x=15 | |
to_y=3 | |
[/move_unit] | |
[store_unit] | |
kill=yes | |
variable="MODIFY_UNIT_store" | |
[filter] | |
id="Clammie" | |
[/filter] | |
[/store_unit] | |
[set_variable] | |
name="MODIFY_UNIT_i" | |
value=0 | |
[/set_variable] | |
[while] | |
[variable] | |
less_than="$MODIFY_UNIT_store.length" | |
name="MODIFY_UNIT_i" | |
[/variable] | |
[do] | |
[set_variable] | |
name="MODIFY_UNIT_store[$MODIFY_UNIT_i].facing" | |
value="nw" | |
[/set_variable] | |
[unstore_unit] | |
find_vacant=no | |
variable="MODIFY_UNIT_store[$MODIFY_UNIT_i]" | |
[/unstore_unit] | |
[set_variable] | |
add=1 | |
name="MODIFY_UNIT_i" | |
[/set_variable] | |
[/do] | |
[/while] | |
[clear_variable] | |
name="MODIFY_UNIT_i" | |
[/clear_variable] | |
[clear_variable] | |
name="MODIFY_UNIT_store,MODIFY_UNIT_i" | |
[/clear_variable] | |
[message] | |
message=_"You have killed the only one who can answer your questions, wise Rashki." | |
speaker="Clammie" | |
[/message] | |
[move_unit] | |
fire_event=no | |
id="Clammie" | |
to_x=15 | |
to_y=5 | |
[/move_unit] | |
[move_unit] | |
fire_event=no | |
id="Rashki" | |
to_x=15 | |
to_y=4 | |
[/move_unit] | |
[message] | |
message=_"Then let us experiment." | |
speaker="Rashki" | |
[/message] | |
[message] | |
image="wesnoth-icon.png" | |
message=_"Rashki dips his dagger in the bottle and then slashes you!" | |
speaker="narrator" | |
[/message] | |
[animate_unit] | |
flag="attack" | |
hits=yes | |
with_bars=no | |
[filter] | |
id="Rashki" | |
[/filter] | |
[primary_attack] | |
name="dagger" | |
[/primary_attack] | |
[facing] | |
[filter] | |
id="Clammie" | |
[/filter] | |
[/facing] | |
[animate] | |
flag="defend" | |
hits=yes | |
with_bars=no | |
[filter] | |
id="Clammie" | |
[/filter] | |
[facing] | |
[filter] | |
id="Rashki" | |
[/filter] | |
[/facing] | |
[/animate] | |
[/animate_unit] | |
[store_unit] | |
variable="stored_clammie" | |
[filter] | |
id="Clammie" | |
[/filter] | |
[/store_unit] | |
[set_variable] | |
add=-4 | |
name="stored_clammie.hitpoints" | |
[/set_variable] | |
[unstore_unit] | |
find_vacant=no | |
red=255 | |
text=_"4" | |
variable="stored_clammie" | |
[/unstore_unit] | |
[clear_variable] | |
name="stored_clammie" | |
[/clear_variable] | |
[redraw] | |
[/redraw] | |
[delay] | |
time=1000 | |
[/delay] | |
[message] | |
message=_"You're not dead, therefore it's not what I'm after. Where did you find this bottle?" | |
speaker="Rashki" | |
[/message] | |
[move_unit] | |
fire_event=no | |
id="Clammie" | |
to_x=12 | |
to_y=8 | |
[/move_unit] | |
[store_unit] | |
kill=yes | |
variable="MODIFY_UNIT_store" | |
[filter] | |
id="Clammie" | |
[/filter] | |
[/store_unit] | |
[set_variable] | |
name="MODIFY_UNIT_i" | |
value=0 | |
[/set_variable] | |
[while] | |
[variable] | |
less_than="$MODIFY_UNIT_store.length" | |
name="MODIFY_UNIT_i" | |
[/variable] | |
[do] | |
[set_variable] | |
name="MODIFY_UNIT_store[$MODIFY_UNIT_i].facing" | |
value="ne" | |
[/set_variable] | |
[unstore_unit] | |
find_vacant=no | |
variable="MODIFY_UNIT_store[$MODIFY_UNIT_i]" | |
[/unstore_unit] | |
[set_variable] | |
add=1 | |
name="MODIFY_UNIT_i" | |
[/set_variable] | |
[/do] | |
[/while] | |
[clear_variable] | |
name="MODIFY_UNIT_i" | |
[/clear_variable] | |
[clear_variable] | |
name="MODIFY_UNIT_store,MODIFY_UNIT_i" | |
[/clear_variable] | |
[message] | |
message=_"In the box over here." | |
speaker="Clammie" | |
[/message] | |
[move_unit] | |
fire_event=no | |
id="Rashki" | |
to_x=13 | |
to_y=8 | |
[/move_unit] | |
[scroll_to_unit] | |
id="Rashki" | |
[/scroll_to_unit] | |
[sound] | |
name="open-chest.wav" | |
[/sound] | |
[sound] | |
name="bat-flapping.wav" | |
[/sound] | |
[modify_side] | |
hidden=no | |
[filter_side] | |
side=3 | |
[/filter_side] | |
[/modify_side] | |
[set_variable] | |
name="i" | |
value=0 | |
[/set_variable] | |
[while] | |
[variable] | |
less_than="$all_bats.length" | |
name="i" | |
[/variable] | |
[do] | |
[set_variable] | |
name="all_bats[$i].goto_x" | |
value=0 | |
[/set_variable] | |
[set_variable] | |
name="all_bats[$i].goto_y" | |
value=0 | |
[/set_variable] | |
[unstore_unit] | |
find_vacant=yes | |
variable="all_bats[$i]" | |
x=13 | |
y=8 | |
[/unstore_unit] | |
[set_variable] | |
add=1 | |
name="i" | |
[/set_variable] | |
[/do] | |
[/while] | |
[clear_variable] | |
name="i" | |
[/clear_variable] | |
[redraw] | |
[/redraw] | |
[message] | |
message=_"!" | |
speaker="Rashki" | |
[/message] | |
[modify_side] | |
hidden=yes | |
[filter_side] | |
side=2 | |
[/filter_side] | |
[/modify_side] | |
[modify_side] | |
hidden=no | |
[filter_side] | |
side=3 | |
[/filter_side] | |
[/modify_side] | |
[set_variable] | |
name="turns" | |
value=7 | |
[/set_variable] | |
[set_variable] | |
add="$turn_number" | |
name="turns" | |
[/set_variable] | |
[modify_turns] | |
value="$turns" | |
[/modify_turns] | |
[set_variable] | |
name="chapter" | |
value=5 | |
[/set_variable] | |
[delay] | |
time=250 | |
[/delay] | |
[objectives] | |
#textdomain wesnoth | |
note=_"Early finish bonus." + | |
_" | |
40% of finishing gold carried over to the next scenario." | |
side=1 | |
#textdomain wesnoth-swamplings | |
summary=_"New Objectives:" | |
[objective] | |
condition="win" | |
description=_"Defeat Rashki" | |
[/objective] | |
[objective] | |
condition="lose" | |
description=_"Death of Clammie" | |
[/objective] | |
[objective] | |
condition="lose" | |
description=_"Turns run out" | |
[/objective] | |
[/objectives] | |
[/event] | |
[event] | |
name="attacker hits" | |
[filter_second] | |
id="Ronry" | |
[/filter_second] | |
[message] | |
message=_"There's one with teeth!" | |
speaker="Ronry" | |
[/message] | |
[/event] | |
[event] | |
name="last breath" | |
[filter] | |
id="Clammie" | |
[/filter] | |
[message] | |
message=_"But there is so much more--" | |
speaker="Clammie" | |
[/message] | |
[endlevel] | |
result="defeat" | |
[/endlevel] | |
[/event] | |
[event] | |
name="last breath" | |
[filter] | |
id="Ronry" | |
[/filter] | |
[message] | |
message=_"Ah! What an absurd way to die!" | |
speaker="Ronry" | |
[/message] | |
[endlevel] | |
result="defeat" | |
[/endlevel] | |
[/event] | |
[event] | |
name="time over" | |
[message] | |
message=_"Out of time!" | |
speaker="Clammie" | |
[/message] | |
[endlevel] | |
result="defeat" | |
[/endlevel] | |
[/event] | |
[event] | |
name="last breath" | |
[filter] | |
id="Rashki" | |
[/filter] | |
[message] | |
message=_"Undone by a lowly swamp goblin and his pet bats! I never laid eyes on the damned death drops, but I am surely their first victim!" | |
speaker="Rashki" | |
[/message] | |
[message] | |
message=_"You miscount, wise slayer." | |
speaker="Clammie" | |
[/message] | |
[kill] | |
animate=yes | |
id="Rashki" | |
[/kill] | |
[clear_variable] | |
name="hesaidthis,chapter,shed,shedpos,stored_ronry,stored_rashki,Clammie_killed,advice_from_Ronry,turns,bat_num,all_bats,side_2_units_charmed" | |
[/clear_variable] | |
[endlevel] | |
bonus=yes | |
carryover_add=yes | |
carryover_percentage=40 | |
result="victory" | |
[/endlevel] | |
[/event] | |
[music] | |
ms_after=0 | |
ms_before=0 | |
name="data/add-ons/Swamplings/music/nr-sad.ogg" | |
[/music] | |
[variables] | |
side_number=1 | |
turn_number=1 | |
x1=0 | |
x2=0 | |
y1=0 | |
y2=0 | |
[/variables] | |
[/replay_start] | |
[carryover_sides] | |
difficulty="" | |
next_scenario="" | |
random_calls=0 | |
random_seed=1698981164 | |
[side] | |
add=no | |
color=1 | |
current_player="Clammie" | |
gold=0 | |
name="Clammie" | |
previous_recruits="" | |
save_id="Clammie" | |
[/side] | |
[end_level_data] | |
bonus=no | |
carryover_add=no | |
carryover_percentage=100 | |
prescenario_save=yes | |
replay_save=yes | |
[/end_level_data] | |
[variables] | |
side_number=1 | |
turn_number=1 | |
x1=0 | |
x2=0 | |
y1=0 | |
y2=0 | |
[/variables] | |
[/carryover_sides] | |
[carryover_sides_start] | |
difficulty="NORMAL" | |
next_scenario="02_Healer_And_Slayer" | |
random_calls=0 | |
random_seed=1698981164 | |
[side] | |
add=no | |
color=1 | |
current_player="Clammie" | |
gold=200 | |
name="Clammie" | |
previous_recruits="Goblin Spearman Sw" | |
save_id="Clammie" | |
[unit] | |
advances_to="Goblin Trumpeter" | |
alignment="chaotic" | |
alpha=256 | |
attacks_left=1 | |
canrecruit=yes | |
cost=13 | |
#textdomain wesnoth-swamplings | |
description=_"Standard-bearers are an oddity amongst goblins. A goblin who has survived enough battles to be considered a veteran is rare enough, and it is rarer still for the other goblins to recognize and respect his veteran status. Nonetheless, a rouser's frenzied goading effectively steels the less veteran fighters to strive harder and longer before they die." + | |
#textdomain wesnoth-help | |
_" | |
Special Notes:" + | |
_" The leadership of this unit enables adjacent units of the same side to deal more damage in combat, though this only applies to units of lower level." | |
ellipse="misc/ellipse-leader" | |
experience=0 | |
extra_recruit="" | |
facing="se" | |
flag_rgb="magenta" | |
gender="male" | |
goto_x=-999 | |
goto_y=-999 | |
hitpoints=31 | |
id="Clammie" | |
image="units/goblins/rouser.png" | |
jamming=0 | |
#textdomain wesnoth-swamplings | |
language_name=_"Goblin Rouser" | |
level=1 | |
max_attacks=1 | |
max_experience=30 | |
max_hitpoints=31 | |
max_moves=5 | |
moves=5 | |
name=_"Clammie" | |
overlays="" | |
profile="portraits/goblins/transparent/rouser.png" | |
race="goblin" | |
random_traits=no | |
resting=no | |
role="" | |
side=1 | |
small_profile="portraits/goblins/rouser.png" | |
type="Goblin Rouser Sw" | |
undead_variation="goblin" | |
underlying_id=1 | |
unrenamable=yes | |
upkeep="full" | |
usage="fighter" | |
variation="" | |
vision=-1 | |
zoc=yes | |
[portrait] | |
image="portraits/goblins/transparent/rouser.png" | |
mirror=false | |
side="left" | |
size=400 | |
[/portrait] | |
[portrait] | |
image="portraits/goblins/transparent/rouser.png" | |
mirror=true | |
side="right" | |
size=400 | |
[/portrait] | |
[abilities] | |
[leadership] | |
affect_self=no | |
cumulative=no | |
#textdomain wesnoth-help | |
description=_"This unit can lead our own units that are next to it, making them fight better. | |
Adjacent own units of lower level will do more damage in battle. When a unit adjacent to, of a lower level than, and on the same side as a unit with Leadership engages in combat, its attacks do 25% more damage times the difference in their levels." | |
female_name=_"female^leadership" | |
id="leadership" | |
name=_"leadership" | |
value=25 | |
[affect_adjacent] | |
adjacent="n,ne,se,s,sw,nw" | |
[filter] | |
level=0 | |
[/filter] | |
[/affect_adjacent] | |
[/leadership] | |
[/abilities] | |
[movement_costs] | |
castle=1 | |
cave=2 | |
flat=1 | |
forest=2 | |
frozen=2 | |
fungus=3 | |
hills=1 | |
mountains=2 | |
reef=2 | |
sand=2 | |
shallow_water=3 | |
swamp_water=2 | |
village=1 | |
[/movement_costs] | |
[defense] | |
castle=40 | |
cave=60 | |
flat=60 | |
forest=50 | |
frozen=80 | |
fungus=60 | |
hills=50 | |
mountains=40 | |
reef=70 | |
sand=70 | |
shallow_water=80 | |
swamp_water=50 | |
village=40 | |
[/defense] | |
[resistance] | |
arcane=100 | |
blade=100 | |
cold=100 | |
fire=100 | |
impact=100 | |
pierce=100 | |
[/resistance] | |
[variables] | |
[/variables] | |
[filter_recall] | |
[/filter_recall] | |
[status] | |
[/status] | |
[attack] | |
damage=7 | |
#textdomain wesnoth-swamplings | |
description=_"spear" | |
icon="attacks/spear-orcish.png" | |
name="spear" | |
number=3 | |
range="melee" | |
type="pierce" | |
[/attack] | |
[modifications] | |
[trait] | |
availability="any" | |
description=_"Better defense and quicker in swamp" | |
female_name=_"female^swamp savvy" | |
id="swamp_savvy" | |
male_name=_"swamp savvy" | |
[effect] | |
apply_to="movement_costs" | |
replace=yes | |
[movement_costs] | |
swamp_water=2 | |
[/movement_costs] | |
[/effect] | |
[effect] | |
apply_to="defense" | |
replace=yes | |
[defense] | |
swamp_water=50 | |
[/defense] | |
[/effect] | |
[/trait] | |
[/modifications] | |
[/unit] | |
[/side] | |
[end_level_data] | |
bonus=no | |
carryover_add=no | |
carryover_percentage=100 | |
prescenario_save=yes | |
replay_save=yes | |
[/end_level_data] | |
[variables] | |
side_number=1 | |
turn_number=1 | |
x1=0 | |
x2=0 | |
y1=0 | |
y2=0 | |
[/variables] | |
[/carryover_sides_start] | |
[replay] | |
[command] | |
sent=yes | |
[start] | |
[/start] | |
[checkup] | |
[result] | |
random_calls=15 | |
[/result] | |
[/checkup] | |
[/command] | |
[command] | |
dependent=yes | |
from_side="server" | |
[random_seed] | |
new_seed=957633650 | |
[/random_seed] | |
[/command] | |
[upload_log] | |
[ai_log] | |
ai_id1="ai_default_rca" | |
ai_id2="ai_default_rca" | |
ai_id3="ai_default_rca" | |
faction1="Clammie" | |
faction2="" | |
faction3="" | |
version="1.12.0+dev (6ac4625-Clean)" | |
[turn_info] | |
event="TURN_START" | |
gold=200 | |
side=1 | |
turn=1 | |
units=2 | |
units_cost=53 | |
villages=3 | |
[/turn_info] | |
[/ai_log] | |
[/upload_log] | |
[command] | |
[init_side] | |
side_number=1 | |
[/init_side] | |
[checkup] | |
[result] | |
random_calls=0 | |
[/result] | |
[/checkup] | |
[/command] | |
[/replay] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment