local map = ...
local game = map:get_game()
local hero = map:get_hero()

function map:on_started()
  ladder_ground:set_modified_ground("ladder")
end

function map:on_opening_transition_finished()
  game:simulate_command_pressed("right")
end

function shallow_water_zone:on_activated()
  assert_equal(hero:get_ground_below(), "shallow_water")
  assert_equal(hero:get_movement():get_speed(), 70)  -- 88 * 4 / 5
  hero:set_walking_speed(200)
  assert_equal(hero:get_walking_speed(), 200)
  assert_equal(hero:get_movement():get_speed(), 160)  -- 200 * 4 / 5
  hero:set_walking_speed(88)  -- reset for next test
end

function grass_zone:on_activated()
  assert_equal(hero:get_ground_below(), "grass")
  assert_equal(hero:get_movement():get_speed(), 70)  -- 88 * 4 / 5
  hero:set_walking_speed(200)
  assert_equal(hero:get_walking_speed(), 200)
  assert_equal(hero:get_movement():get_speed(), 160)  -- 200 * 4 / 5
  hero:set_walking_speed(88)  -- reset for next test
end

function ladder_zone:on_activated()
  assert_equal(hero:get_ground_below(), "ladder")
  assert_equal(hero:get_movement():get_speed(), 52)  -- 88 * 3 / 5
  hero:set_walking_speed(200)
  assert_equal(hero:get_walking_speed(), 200)
  assert_equal(hero:get_movement():get_speed(), 120)  -- 200 * 3 / 5
  sol.main.exit()
end
