45 lines
1.5 KiB
Plaintext
45 lines
1.5 KiB
Plaintext
/// @function: scr_pattern_fire( _pattern, _speed, _bullet );
|
|
/// @param _pattern {real}
|
|
/// @param _speed {real}
|
|
/// @param _bullet {object}
|
|
|
|
|
|
function scr_pattern_fire( _pattern, _speed, _bullet ) {
|
|
switch ( _pattern ) {
|
|
case PATTERN_STREAM:
|
|
exy = instance_create_layer( x, y, "enemy", _bullet );
|
|
with (exy) {
|
|
speed = _speed;
|
|
friction = -.05 * obj_wriggle.hyper_tier;
|
|
direction = point_direction( x, y, obj_wriggle.x, obj_wriggle.y );
|
|
}
|
|
if ( obj_wriggle.hyper_tier > HYPER_TIER_1 ) {
|
|
exy = instance_create_layer( x, y, "enemy", _bullet );
|
|
with (exy) {
|
|
speed = _speed;
|
|
friction = -.05 * obj_wriggle.hyper_tier;
|
|
direction = point_direction( x, y, obj_wriggle.x, obj_wriggle.y ) + 20;
|
|
}
|
|
exy = instance_create_layer( x, y, "enemy", _bullet );
|
|
with (exy) {
|
|
speed = _speed;
|
|
friction = -.05 * obj_wriggle.hyper_tier;
|
|
direction = point_direction( x, y, obj_wriggle.x, obj_wriggle.y ) - 20;
|
|
}
|
|
}
|
|
break;
|
|
case PATTERN_AIMED_WAVE:
|
|
for ( var i = 0; i < 5 + (obj_wriggle.hyper_tier * 2); i++ ) {
|
|
exy = instance_create_layer( x, y, "enemy", _bullet );
|
|
with (exy) {
|
|
speed = _speed;
|
|
friction = -.05 * obj_wriggle.hyper_tier;
|
|
direction = point_direction( x, y, obj_wriggle.x, obj_wriggle.y )
|
|
- (30 + 10 * obj_wriggle.hyper_tier) + ( i * (60 + 10 * obj_wriggle.hyper_tier) / (5 + obj_wriggle.hyper_tier * 2) );
|
|
}
|
|
}
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
} |