added Jetryl's animation for Shyde healing

This commit is contained in:
Dave White 2004-06-13 03:43:16 +00:00
parent 06af7d01c4
commit 46e811f7d7
21 changed files with 35 additions and 8 deletions

View file

@ -1,7 +1,7 @@
[scenario]
name="Mountain Pass"
turns=30
map_data="{maps/Heir_To_The_Throne/Mountain_Pass}"
turns=24
{DAWN}
{MORNING}
@ -84,7 +84,7 @@ Defeat:
leader_value=10
aggression=1.0
[/ai]
{GOLD 150 250 350}
{GOLD 50 100 200}
{INCOME 15 30 50}
team_name=mages
[/side]

View file

@ -3,7 +3,8 @@ name=Elvish Shyde
race=elf
gender=female
image=elvish-shyde.png
image_healing=elvish-shyde-healing.png
image_healing=null
image_halo_healing=elvish-shyde-healing1.png:100,elvish-shyde-healing2.png:100,elvish-shyde-healing3.png:100,elvish-shyde-healing4.png:100,elvish-shyde-healing5.png:100,elvish-shyde-healing6.png:100,elvish-shyde-healing7.png:100,elvish-shyde-healing8.png:100,elvish-shyde-healing9.png:100,elvish-shyde-healing10.png:100,elvish-shyde-healing11.png:100,elvish-shyde-healing12.png:100
hitpoints=46
movement_type=woodlandfloat
movement=6

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View file

@ -369,7 +369,6 @@ SDL_Rect draw_text_line(SDL_Surface *gui_surface, const SDL_Rect& area, int size
}
if(dest.x + dest.w > area.x + area.w) {
std::cerr << "Error: text with ellipsis does not fit !\n";
dest.w = area.x + area.w - dest.x;
}

View file

@ -80,7 +80,9 @@ LEVEL_RESULT play_game(display& disp, game_state& state, config& game_config,
starting_pos = state.starting_pos;
scenario = &starting_pos;
} else {
std::cerr << "loading scenario: '" << state.scenario << "'\n";
scenario = game_config.find_child(type,"id",state.scenario);
std::cerr << "scenario found: " << (scenario != NULL ? "yes" : "no") << "\n";
}
if(!recorder.at_end()) {
@ -753,6 +755,9 @@ int play_game(int argc, char** argv)
string_table["bad_save_message"] + ": " + e.message + "\n",
gui::OK_ONLY);
continue;
} catch(io_exception& e) {
gui::show_dialog(disp,NULL,"","File I/O Error while reading the game",gui::OK_ONLY);
continue;
}
recorder = replay(state.replay_data);

View file

@ -194,6 +194,8 @@ bool gamestatus::next_turn()
game_state read_game(const game_data& data, const config* cfg)
{
std::cerr << "reading scenario: '" << cfg->write() << "'\n";
log_scope("read_game");
game_state res;
res.label = (*cfg)["label"];
@ -201,6 +203,8 @@ game_state read_game(const game_data& data, const config* cfg)
res.gold = atoi((*cfg)["gold"].c_str());
res.scenario = (*cfg)["scenario"];
std::cerr << "scenario: '" << res.scenario << "'\n";
res.difficulty = (*cfg)["difficulty"];
if(res.difficulty.empty())
res.difficulty = "NORMAL";
@ -365,6 +369,11 @@ void load_game(const game_data& data, const std::string& name, game_state& state
}
config cfg(file_data);
if(cfg.empty()) {
throw gamestatus::load_game_failed();
}
state = read_game(data,&cfg);
}

View file

@ -1047,6 +1047,19 @@ std::string default_generate_map(size_t width, size_t height, size_t island_size
terrain[x-1][y+1] = 'C';
terrain[x+1][y-1] = 'C';
terrain[x+1][y+1] = 'C';
//remove all labels under the castle tiles
if(labels != NULL) {
labels->erase(location(x-width/3,y-height/3);
labels->erase(location(x-1-width/3,y-height/3);
labels->erase(location(x+1-width/3,y-height/3);
labels->erase(location(x-width/3,y-1-height/3);
labels->erase(location(x-width/3,y+1-height/3);
labels->erase(location(x-1-width/3,y-1-height/3);
labels->erase(location(x-1-width/3,y+1-height/3);
labels->erase(location(x+1-width/3,y-1-height/3);
labels->erase(location(x+1-width/3,y+1-height/3);
}
}
std::cerr << "placed castles\n";

View file

@ -515,8 +515,8 @@ int show_dialog(display& disp, SDL_Surface* image,
const int border_padding = 10;
int frame_width = maximum<int>(total_width + border_padding*2,above_left_preview_pane_width + above_right_preview_pane_width);
int frame_height = maximum<int>(int(preview_pane_height),total_height + border_padding*2);
int frame_width = maximum<int>(total_width,above_left_preview_pane_width + above_right_preview_pane_width);
int frame_height = maximum<int>(total_height,int(preview_pane_height));
int xframe = maximum<int>(0,xloc >= 0 ? xloc : scr->w/2 - (frame_width + left_preview_pane_width + right_preview_pane_width)/2);
int yframe = maximum<int>(0,yloc >= 0 ? yloc : scr->h/2 - (frame_height + above_preview_pane_height)/2);

View file

@ -1,4 +1,5 @@
#include "statistics.hpp"
#include "util.hpp"
namespace {
@ -269,8 +270,7 @@ void attack_context::attack_result(attack_context::ATTACK_RESULT res)
if(stats_disabled > 0)
return;
attacker_res.resize(attacker_res.size()+1);
attacker_res[attacker_res.size()-1] = (res == MISSES ? '0' : '1');
push_back(attacker_res,(res == MISSES ? '0' : '1'));
attacker_stats().damage_inflicted += bat_stats.damage_defender_takes;
defender_stats().damage_taken += bat_stats.damage_defender_takes;