// beamer.txt
//
// by Jeremy "Terror's Martyr" LeVeque
//
// This script causes the monster to be inert- it won't, for example,
// attack, nor will it cast spells.  If you give a monster this script,
// don't expect it to do much of anything that its stats tell you.
// Instead, the boss will shoot out two "beams" at all visible party
// members each turn.  Dangerous.
//
// 1 - Gravity (-100 HP, Slow)
// 2 - Fire (-100 HP, 100 Curse)
// 3 - Lightning (-100 HP, -Prot)
// 4 - Darkness (-200 HP, Negation)
// 5 - Arcane (-100 HP, -50 SP)
// 6 - Cocoon (Poison, Web)


begincreaturescript;

variables;

short attack1;

body;

beginstate INIT_STATE;
	break;

beginstate DEAD_STATE;
	break;

beginstate START_STATE; 

attack1 = get_ran(1,1,6);

	if(attack1 == 1){
if(char_ok(0) == TRUE && can_see_loc(char_loc_x(0),char_loc_y(0)) == TRUE){
put_jagged_zap(my_loc_x(),my_loc_y(),char_loc_x(0),char_loc_y(0),2);
		}
if(char_ok(1) == TRUE && can_see_loc(char_loc_x(1),char_loc_y(1)) == TRUE){
put_jagged_zap(my_loc_x(),my_loc_y(),char_loc_x(1),char_loc_y(1),2);
		}
if(char_ok(2) == TRUE && can_see_loc(char_loc_x(2),char_loc_y(2)) == TRUE){
put_jagged_zap(my_loc_x(),my_loc_y(),char_loc_x(2),char_loc_y(2),2);
		}
if(char_ok(3) == TRUE && can_see_loc(char_loc_x(3),char_loc_y(3)) == TRUE){
put_jagged_zap(my_loc_x(),my_loc_y(),char_loc_x(3),char_loc_y(3),2);
		}
if(char_ok(4) == TRUE && can_see_loc(char_loc_x(4),char_loc_y(4)) == TRUE){
put_jagged_zap(my_loc_x(),my_loc_y(),char_loc_x(4),char_loc_y(4),2);
		}
if(char_ok(5) == TRUE && can_see_loc(char_loc_x(5),char_loc_y(5)) == TRUE){
put_jagged_zap(my_loc_x(),my_loc_y(),char_loc_x(5),char_loc_y(5),2);
		}
if(char_ok(0) == TRUE && can_see_loc(char_loc_x(0),char_loc_y(0)) == TRUE){
		damage_char(0,100,4);
		set_char_status(0,3,-100,1,0);
}

if(char_ok(1) == TRUE && can_see_loc(char_loc_x(1),char_loc_y(1)) == TRUE){
		damage_char(1,100,4);
		set_char_status(1,3,-100,1,0);
}

if(char_ok(2) == TRUE && can_see_loc(char_loc_x(2),char_loc_y(2)) == TRUE){
		damage_char(2,100,4);
		set_char_status(2,3,-100,1,0);
}

if(char_ok(3) == TRUE && can_see_loc(char_loc_x(3),char_loc_y(3)) == TRUE){
		damage_char(3,100,4);
		set_char_status(3,3,-100,1,0);
}

if(char_ok(4) == TRUE && can_see_loc(char_loc_x(4),char_loc_y(4)) == TRUE){
		damage_char(4,100,4);
		set_char_status(4,3,-100,1,0);
}

if(char_ok(5) == TRUE && can_see_loc(char_loc_x(5),char_loc_y(5)) == TRUE){
		damage_char(5,100,4);
		set_char_status(5,3,-100,1,0);
}

if(can_see_loc(char_loc_x(0),char_loc_y(0)) == TRUE || can_see_loc(char_loc_x(1),char_loc_y(1)) == TRUE || can_see_loc(char_loc_x(2),char_loc_y(2)) == TRUE || can_see_loc(char_loc_x(3),char_loc_y(3)) == TRUE || can_see_loc(char_loc_x(4),char_loc_y(4)) == TRUE || can_see_loc(char_loc_x(5),char_loc_y(5)) == TRUE){
		print_str_color("A Gravity Wave strikes the party!",1);
}
			}

	if(attack1 == 2){
if(char_ok(0) == TRUE && can_see_loc(char_loc_x(0),char_loc_y(0)) == TRUE){
put_jagged_zap(my_loc_x(),my_loc_y(),char_loc_x(0),char_loc_y(0),0);
		}
if(char_ok(1) == TRUE && can_see_loc(char_loc_x(1),char_loc_y(1)) == TRUE){
put_jagged_zap(my_loc_x(),my_loc_y(),char_loc_x(1),char_loc_y(1),0);
		}
if(char_ok(2) == TRUE && can_see_loc(char_loc_x(2),char_loc_y(2)) == TRUE){
put_jagged_zap(my_loc_x(),my_loc_y(),char_loc_x(2),char_loc_y(2),0);
		}
if(char_ok(3) == TRUE && can_see_loc(char_loc_x(3),char_loc_y(3)) == TRUE){
put_jagged_zap(my_loc_x(),my_loc_y(),char_loc_x(3),char_loc_y(3),0);
		}
if(char_ok(4) == TRUE && can_see_loc(char_loc_x(4),char_loc_y(4)) == TRUE){
put_jagged_zap(my_loc_x(),my_loc_y(),char_loc_x(4),char_loc_y(4),0);
		}
if(char_ok(5) == TRUE && can_see_loc(char_loc_x(5),char_loc_y(5)) == TRUE){
put_jagged_zap(my_loc_x(),my_loc_y(),char_loc_x(5),char_loc_y(5),0);
		}

if(char_ok(0) == TRUE && can_see_loc(char_loc_x(0),char_loc_y(0)) == TRUE){
		damage_char(0,100,1);
		set_char_status(0,1,-100,1,0);
}

if(char_ok(1) == TRUE && can_see_loc(char_loc_x(1),char_loc_y(1)) == TRUE){
		damage_char(1,100,1);
		set_char_status(1,1,-100,1,0);
}

if(char_ok(2) == TRUE && can_see_loc(char_loc_x(2),char_loc_y(2)) == TRUE){
		damage_char(2,100,1);
		set_char_status(2,1,-100,1,0);
}

if(char_ok(3) == TRUE && can_see_loc(char_loc_x(3),char_loc_y(3)) == TRUE){
		damage_char(3,100,1);
		set_char_status(3,1,-100,1,0);
}

if(char_ok(4) == TRUE && can_see_loc(char_loc_x(4),char_loc_y(4)) == TRUE){
		damage_char(4,100,1);
		set_char_status(4,1,-100,1,0);
}

if(char_ok(5) == TRUE && can_see_loc(char_loc_x(5),char_loc_y(5)) == TRUE){
		damage_char(5,100,1);
		set_char_status(5,1,-100,1,0);
}

if(can_see_loc(char_loc_x(0),char_loc_y(0)) == TRUE || can_see_loc(char_loc_x(1),char_loc_y(1)) == TRUE || can_see_loc(char_loc_x(2),char_loc_y(2)) == TRUE || can_see_loc(char_loc_x(3),char_loc_y(3)) == TRUE || can_see_loc(char_loc_x(4),char_loc_y(4)) == TRUE || can_see_loc(char_loc_x(5),char_loc_y(5)) == TRUE){
		print_str_color("A Fireblast strikes the party!",1);
}
			}

	if(attack1 == 3){
if(char_ok(0) == TRUE && can_see_loc(char_loc_x(0),char_loc_y(0)) == TRUE){
put_jagged_zap(my_loc_x(),my_loc_y(),char_loc_x(0),char_loc_y(0),6);
		}
if(char_ok(1) == TRUE && can_see_loc(char_loc_x(1),char_loc_y(1)) == TRUE){
put_jagged_zap(my_loc_x(),my_loc_y(),char_loc_x(1),char_loc_y(1),6);
		}
if(char_ok(2) == TRUE && can_see_loc(char_loc_x(2),char_loc_y(2)) == TRUE){
put_jagged_zap(my_loc_x(),my_loc_y(),char_loc_x(2),char_loc_y(2),6);
		}
if(char_ok(3) == TRUE && can_see_loc(char_loc_x(3),char_loc_y(3)) == TRUE){
put_jagged_zap(my_loc_x(),my_loc_y(),char_loc_x(3),char_loc_y(3),6);
		}
if(char_ok(4) == TRUE && can_see_loc(char_loc_x(4),char_loc_y(4)) == TRUE){
put_jagged_zap(my_loc_x(),my_loc_y(),char_loc_x(4),char_loc_y(4),6);
		}
if(char_ok(5) == TRUE && can_see_loc(char_loc_x(5),char_loc_y(5)) == TRUE){
put_jagged_zap(my_loc_x(),my_loc_y(),char_loc_x(5),char_loc_y(5),6);
		}

if(char_ok(0) == TRUE && can_see_loc(char_loc_x(0),char_loc_y(0)) == TRUE){
		set_char_status(0,5,-250,1,0);
		set_char_status(0,2,-250,1,0);
		set_char_status(0,4,-250,1,0);
		set_char_status(0,17,-250,1,0);
		damage_char(0,100,3);
}

if(char_ok(1) == TRUE && can_see_loc(char_loc_x(1),char_loc_y(1)) == TRUE){
		set_char_status(1,5,-250,1,0);
		set_char_status(1,2,-250,1,0);
		set_char_status(1,4,-250,1,0);
		set_char_status(1,17,-250,1,0);
		damage_char(1,100,3);
}

if(char_ok(2) == TRUE && can_see_loc(char_loc_x(2),char_loc_y(2)) == TRUE){
		set_char_status(2,5,-250,1,0);
		set_char_status(2,2,-250,1,0);
		set_char_status(2,4,-250,1,0);
		set_char_status(2,17,-250,1,0);
		damage_char(2,100,3);
}

if(char_ok(3) == TRUE && can_see_loc(char_loc_x(3),char_loc_y(3)) == TRUE){
		set_char_status(3,5,-250,1,0);
		set_char_status(3,2,-250,1,0);
		set_char_status(3,4,-250,1,0);
		set_char_status(3,17,-250,1,0);
		damage_char(3,100,3);
}

if(char_ok(4) == TRUE && can_see_loc(char_loc_x(4),char_loc_y(4)) == TRUE){
		set_char_status(4,5,-250,1,0);
		set_char_status(4,2,-250,1,0);
		set_char_status(4,4,-250,1,0);
		set_char_status(4,17,-250,1,0);
		damage_char(4,100,3);
}

if(char_ok(5) == TRUE && can_see_loc(char_loc_x(5),char_loc_y(5)) == TRUE){
		set_char_status(5,5,-250,1,0);
		set_char_status(5,2,-250,1,0);
		set_char_status(5,4,-250,1,0);
		set_char_status(5,17,-250,1,0);
		damage_char(5,100,3);
}

if(can_see_loc(char_loc_x(0),char_loc_y(0)) == TRUE || can_see_loc(char_loc_x(1),char_loc_y(1)) == TRUE || can_see_loc(char_loc_x(2),char_loc_y(2)) == TRUE || can_see_loc(char_loc_x(3),char_loc_y(3)) == TRUE || can_see_loc(char_loc_x(4),char_loc_y(4)) == TRUE || can_see_loc(char_loc_x(5),char_loc_y(5)) == TRUE){
		print_str_color("A Lightning Bolt strikes the party!",1);
}
			}

	if(attack1 == 4){
if(char_ok(0) == TRUE && can_see_loc(char_loc_x(0),char_loc_y(0)) == TRUE){
put_jagged_zap(my_loc_x(),my_loc_y(),char_loc_x(0),char_loc_y(0),5);
		}
if(char_ok(1) == TRUE && can_see_loc(char_loc_x(1),char_loc_y(1)) == TRUE){
put_jagged_zap(my_loc_x(),my_loc_y(),char_loc_x(1),char_loc_y(1),5);
		}
if(char_ok(2) == TRUE && can_see_loc(char_loc_x(2),char_loc_y(2)) == TRUE){
put_jagged_zap(my_loc_x(),my_loc_y(),char_loc_x(2),char_loc_y(2),5);
		}
if(char_ok(3) == TRUE && can_see_loc(char_loc_x(3),char_loc_y(3)) == TRUE){
put_jagged_zap(my_loc_x(),my_loc_y(),char_loc_x(3),char_loc_y(3),5);
		}
if(char_ok(4) == TRUE && can_see_loc(char_loc_x(4),char_loc_y(4)) == TRUE){
put_jagged_zap(my_loc_x(),my_loc_y(),char_loc_x(4),char_loc_y(4),5);
		}
if(char_ok(5) == TRUE && can_see_loc(char_loc_x(5),char_loc_y(5)) == TRUE){
put_jagged_zap(my_loc_x(),my_loc_y(),char_loc_x(5),char_loc_y(5),5);
		}

if(char_ok(0) == TRUE && can_see_loc(char_loc_x(0),char_loc_y(0)) == TRUE){
		set_char_status(0,30,10,0,0);
		set_char_status(0,9,10,0,0);
		set_char_status(0,10,5,0,0);
		damage_char(0,200,4);
}

if(char_ok(1) == TRUE && can_see_loc(char_loc_x(1),char_loc_y(1)) == TRUE){
		set_char_status(1,30,10,0,0);
		set_char_status(1,9,10,0,0);
		set_char_status(1,10,5,0,0);
		damage_char(1,200,4);
}

if(char_ok(2) == TRUE && can_see_loc(char_loc_x(2),char_loc_y(2)) == TRUE){
		set_char_status(2,30,10,0,0);
		set_char_status(2,9,10,0,0);
		set_char_status(2,10,5,0,0);
		damage_char(2,200,4);
}

if(char_ok(3) == TRUE && can_see_loc(char_loc_x(3),char_loc_y(3)) == TRUE){
		set_char_status(3,30,10,0,0);
		set_char_status(3,9,10,0,0);
		set_char_status(3,10,5,0,0);
		damage_char(3,200,4);
}

if(char_ok(4) == TRUE && can_see_loc(char_loc_x(4),char_loc_y(4)) == TRUE){
		set_char_status(4,30,10,0,0);
		set_char_status(4,9,10,0,0);
		set_char_status(4,10,5,0,0);
		damage_char(4,200,4);
}

if(char_ok(5) == TRUE && can_see_loc(char_loc_x(5),char_loc_y(5)) == TRUE){
		set_char_status(5,30,10,0,0);
		set_char_status(5,9,10,0,0);
		set_char_status(5,10,5,0,0);
		damage_char(5,200,4);
}

if(can_see_loc(char_loc_x(0),char_loc_y(0)) == TRUE || can_see_loc(char_loc_x(1),char_loc_y(1)) == TRUE || can_see_loc(char_loc_x(2),char_loc_y(2)) == TRUE || can_see_loc(char_loc_x(3),char_loc_y(3)) == TRUE || can_see_loc(char_loc_x(4),char_loc_y(4)) == TRUE || can_see_loc(char_loc_x(5),char_loc_y(5)) == TRUE){
		print_str_color("A Dark Lance strikes the party!",1);
}
			}

	if(attack1 == 5){
if(char_ok(0) == TRUE && can_see_loc(char_loc_x(0),char_loc_y(0)) == TRUE){
put_jagged_zap(my_loc_x(),my_loc_y(),char_loc_x(0),char_loc_y(0),3);
		}
if(char_ok(1) == TRUE && can_see_loc(char_loc_x(1),char_loc_y(1)) == TRUE){
put_jagged_zap(my_loc_x(),my_loc_y(),char_loc_x(1),char_loc_y(1),3);
		}
if(char_ok(2) == TRUE && can_see_loc(char_loc_x(2),char_loc_y(2)) == TRUE){
put_jagged_zap(my_loc_x(),my_loc_y(),char_loc_x(2),char_loc_y(2),3);
		}
if(char_ok(3) == TRUE && can_see_loc(char_loc_x(3),char_loc_y(3)) == TRUE){
put_jagged_zap(my_loc_x(),my_loc_y(),char_loc_x(3),char_loc_y(3),3);
		}
if(char_ok(4) == TRUE && can_see_loc(char_loc_x(4),char_loc_y(4)) == TRUE){
put_jagged_zap(my_loc_x(),my_loc_y(),char_loc_x(4),char_loc_y(4),3);
		}
if(char_ok(5) == TRUE && can_see_loc(char_loc_x(5),char_loc_y(5)) == TRUE){
put_jagged_zap(my_loc_x(),my_loc_y(),char_loc_x(5),char_loc_y(5),3);
		}

if(char_ok(0) == TRUE && can_see_loc(char_loc_x(0),char_loc_y(0)) == TRUE){
		change_char_energy(0,-50);
		damage_char(0,100,3);
}

if(char_ok(1) == TRUE && can_see_loc(char_loc_x(1),char_loc_y(1)) == TRUE){
		change_char_energy(1,-50);
		damage_char(1,100,3);
}

if(char_ok(2) == TRUE && can_see_loc(char_loc_x(2),char_loc_y(2)) == TRUE){
		change_char_energy(1000,-50);
		damage_char(1000,100,3);
}

if(char_ok(3) == TRUE && can_see_loc(char_loc_x(3),char_loc_y(3)) == TRUE){
		change_char_energy(3,-50);
		damage_char(3,100,3);
}

if(char_ok(4) == TRUE && can_see_loc(char_loc_x(4),char_loc_y(4)) == TRUE){
		change_char_energy(4,-50);
		damage_char(4,100,3);
}

if(char_ok(5) == TRUE && can_see_loc(char_loc_x(5),char_loc_y(5)) == TRUE){
		change_char_energy(5,-50);
		damage_char(5,100,3);
}

if(can_see_loc(char_loc_x(0),char_loc_y(0)) == TRUE || can_see_loc(char_loc_x(1),char_loc_y(1)) == TRUE || can_see_loc(char_loc_x(2),char_loc_y(2)) == TRUE || can_see_loc(char_loc_x(3),char_loc_y(3)) == TRUE || can_see_loc(char_loc_x(4),char_loc_y(4)) == TRUE || can_see_loc(char_loc_x(5),char_loc_y(5)) == TRUE){
		print_str_color("An Arcane Blast strikes the party!",1);
}
			}

	if(attack1 == 6){
if(char_ok(0) == TRUE && can_see_loc(char_loc_x(0),char_loc_y(0)) == TRUE){
put_jagged_zap(my_loc_x(),my_loc_y(),char_loc_x(0),char_loc_y(0),4);
		}
if(char_ok(1) == TRUE && can_see_loc(char_loc_x(1),char_loc_y(1)) == TRUE){
put_jagged_zap(my_loc_x(),my_loc_y(),char_loc_x(1),char_loc_y(1),4);
		}
if(char_ok(2) == TRUE && can_see_loc(char_loc_x(2),char_loc_y(2)) == TRUE){
put_jagged_zap(my_loc_x(),my_loc_y(),char_loc_x(2),char_loc_y(2),4);
		}
if(char_ok(3) == TRUE && can_see_loc(char_loc_x(3),char_loc_y(3)) == TRUE){
put_jagged_zap(my_loc_x(),my_loc_y(),char_loc_x(3),char_loc_y(3),4);
		}
if(char_ok(4) == TRUE && can_see_loc(char_loc_x(4),char_loc_y(4)) == TRUE){
put_jagged_zap(my_loc_x(),my_loc_y(),char_loc_x(4),char_loc_y(4),4);
		}
if(char_ok(5) == TRUE && can_see_loc(char_loc_x(5),char_loc_y(5)) == TRUE){
put_jagged_zap(my_loc_x(),my_loc_y(),char_loc_x(5),char_loc_y(5),4);
		}

if(char_ok(0) == TRUE && can_see_loc(char_loc_x(0),char_loc_y(0)) == TRUE){
		set_char_status(0,0,100,0,0);
		set_char_status(0,6,4,0,0);
}

if(char_ok(1) == TRUE && can_see_loc(char_loc_x(1),char_loc_y(1)) == TRUE){
		set_char_status(1,0,100,0,0);
		set_char_status(1,6,4,0,0);
}

if(char_ok(2) == TRUE && can_see_loc(char_loc_x(2),char_loc_y(2)) == TRUE){
		set_char_status(2,0,100,0,0);
		set_char_status(2,6,4,0,0);
}

if(char_ok(3) == TRUE && can_see_loc(char_loc_x(3),char_loc_y(3)) == TRUE){
		set_char_status(1000,0,100,0,0);
		set_char_status(1000,6,4,0,0);
}

if(char_ok(4) == TRUE && can_see_loc(char_loc_x(4),char_loc_y(4)) == TRUE){
		set_char_status(4,0,100,0,0);
		set_char_status(4,6,4,0,0);
}

if(char_ok(5) == TRUE && can_see_loc(char_loc_x(5),char_loc_y(5)) == TRUE){
		set_char_status(5,0,100,0,0);
		set_char_status(5,6,4,0,0);
}

if(can_see_loc(char_loc_x(0),char_loc_y(0)) == TRUE || can_see_loc(char_loc_x(1),char_loc_y(1)) == TRUE || can_see_loc(char_loc_x(2),char_loc_y(2)) == TRUE || can_see_loc(char_loc_x(3),char_loc_y(3)) == TRUE || can_see_loc(char_loc_x(4),char_loc_y(4)) == TRUE || can_see_loc(char_loc_x(5),char_loc_y(5)) == TRUE){
		print_str_color("Liquid Poison strikes the party!",1);
}
			}

	set_character_pose(ME,1);
	run_animation();
	force_instant_terrain_redraw();
	pause(3);
	set_character_pose(ME,2);
	force_instant_terrain_redraw();

break;
