/// Idol taking Damage
speed = 0;
image_alpha = 0;
// Scoring (Normal)
with(obj_point) {instance_destroy();}
if instance_exists(obj_player) and !(obj_player.sprite_index = spr_shadow_crash_left or obj_player.sprite_index = spr_shadow_crash_right)
{
if obj_caption_game.enemy_points < 3200 {obj_caption_game.enemy_points = obj_caption_game.enemy_points * 2;}
if !(obj_player.sprite_index = spr_shadow_crash_left or obj_player.sprite_index = spr_shadow_crash_right)
{
shake_view = 2 * (obj_caption_game.enemy_points / 200);
score += obj_caption_game.enemy_points;
global.stars_eggstra += obj_caption_game.enemy_points;
p = instance_create(x,y,obj_point);
p.text = "+" + string(obj_caption_game.enemy_points);
}
}
// Effects (Punch and Counter)
scr_particle(choose(spr_part_collapse_1,spr_part_collapse_2),1);
if obj_player.sprite_index = spr_shadow_defense or obj_player.sprite_index = spr_blackon_insane
{
audio_play_sound(snd_knockout_2,0,0);
}
else if obj_player.sprite_index = spr_super_blackon
{
audio_play_sound(snd_enemy_hurt,0,0);
}
else
{
punch_sfx = audio_play_sound(choose(snd_punch_1,snd_punch_2,snd_punch_3,snd_punch_4),0,0);
if random(3) < 1 {audio_play_sound(choose(snd_idol_scream_1,snd_idol_scream_2,snd_idol_scream_3,snd_idol_scream_4),0,0);}
audio_stop_sound(snd_knuckle);
other.image_speed = 0;
obj_player.image_speed = 0;
other.p_spd = obj_player.speed;
obj_player.speed = 0;
other.alarm[0] = 5;
}
Cet extrait de code permet de rajouter des points au scoring du jeu lorsque le joueur attaque des obstacles, et génère un effet de mouvement ou des sons différents, dépendant du sprite du joueur.