Skip to content

Commit

Permalink
Bug fixes: gate/stop time and Gaxlon.
Browse files Browse the repository at this point in the history
  • Loading branch information
victords committed Feb 13, 2021
1 parent b8a3561 commit d3c0724
Show file tree
Hide file tree
Showing 5 changed files with 36 additions and 26 deletions.
2 changes: 1 addition & 1 deletion bomb.rb
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ class Bomb < GameObject

attr_reader :type, :name, :hp, :saved_hp, :facing_right, :can_use_ability, :cooldown, :will_explode, :exploding,
:poison_timer, :invulnerable, :invulnerable_time, :invulnerable_timer
attr_accessor :active, :power, :slipping, :sticking, :poisoned, :shielded
attr_accessor :active, :power, :slipping, :sticking, :poisoned, :shielded, :in_vortex

def initialize(type, hp)
case type
Expand Down
2 changes: 1 addition & 1 deletion data/stage/7/5-6
Original file line number Diff line number Diff line change
@@ -1 +1 @@
173,38,4,14,s15#16,17!#_2;f54;f55;_3;f54;f55;_2;w10;b11;w12;_25;w10;b11;w12;_13;w13;_13;w10;b11;w12;_22;w10;b11;w12;_33;w10;b11;w12;_26;w10;b11*13;_2;f54;f55;_3;f54;f55;_2;w10;b11;w12;_25;w10;b11;w12;_13;w13;_13;w10;b11;w12;_22;w10;b11;w12;_33;w10;b11;w12;_26;w10;b11*13;_2;f54;f55;_3;f54;f55;_2;w10;b11;w12;_25;w10;b11;w12;_13;w13;_13;w10;b11;w12;_22;w10;b11;w12;_33;w10;b11;w12;_26;w10;b11*13;_2;f54;f55;_3;f54;f55;_2;w10;b11;w12;_25;w10;b11;w12;_13;w13;_13;w10;b11;w12;_22;w20;w21;w22;_33;w10;b11;w12;_26;w10;b11*13;_2;f54;f55;_3;f54;f55;_2;w10;b11;w12;_25;w10;b11;w12;_13;w23;_13;w20;w21;w22;_58;w10;b11;w12;_26;w10;b11*13;_2;f54;f55;_3;f54;f55;_2;w10;b11;w12;_25;w10;b11;w12;_53;@25:23,$;_34;w10;b11;w12;_26;w10;b11*13;_2;f54;f55;_3;f54;f55;_2;w10;b11;w12;_25;w10;b11;w12;_27;@25:22,$;_1;@25:23,$;_58;w10;b11;w12;_14;w03;_11;w10;b11*13;_2;f54;f55;_3;f54;f55;_2;w10;b11;w12;_25;w10;b11;w12;_53;@25:23,$;_34;w10;b11;w12;_14;w13;_11;w10;b11*13;_2;f54;f55;_3;f54;f55;_2;w10;b11;w12;_25;w10;b11;w12;_27;@25:22,$;_1;@25:23,$;_58;w20;w21;w22;_14;w23;_11;w10;b11*13;_2;f54;f55;_3;f54;f55;_2;w10;b11;w12;_25;w10;b11;w12;_53;@25:23,$;_63;w10;b11*13;_2;f54;f55;_3;f54;f55;_2;w10;b11;w12;_25;w20;w21;w22;_27;@25:22,$;_1;@25:23,$;_13;w30;w31*3;w32;_41;@25:25,$;_15;@25:25,$;_11;w10;b11*13;_2;f54;f55;_3;f54;f55;_2;w10;b11;w12;_59;w30;w31*3;w32;_17;@25:23,$;_63;w10;b11*13;_2;f54;f55;_3;f54;f55;_2;w10;b11;w12;_25;@25:21,$;_1;@25:22,$;_27;w00;w01;w02;_59;@25:25,$;_15;@25:25,$;_11;w10;b11*13;_2;f54;f55;_3;f54;f55;_2;w10;b11;w12;_55;w10;b11;w12;_23;@25:23,$;_63;w10;b11*13;_2;f54;f55;_3;f54;f55;_2;w10;b11;w12;_25;@25:21,$;_1;@25:22,$;_27;w10;b11;w12;_59;@25:25,$;_15;@25:25,$;_11;w10;b11*13;_2;f54;f55;_3;f54;f55;_2;w10;b11;w12;_55;w10;b11;w12;_10;w30;w32;_10;w00;w01;w02;_41;p40;p41*3;p42;_8;p40;p41*3;p42;_3;w10;b11*13;_2;f54;f55;_3;f54;f55;_2;w10;b11;w12;_25;@25:21,$;_1;@25:22,$;_13;w03;_13;w10;b11;w12;_22;w10;b11;w12;_34;@25:25,$;_6;b43;b44*3;b45;_4;w00;w01;w02;_1;b43;b44*3;b45;_3;w10;b11*13;_2;f54;f55;_3;f54;f55;_2;w10;b11;w12;_34;p40;p41*3;p42;_2;w13;_2;p40;p41*3;p42;_6;w10;b11;w12;_22;w10;b11;w12;_35;w00;w01*3;w31*8;w32;@25:25;_1;w10;b11;w21;w14;b43w31;b44w32;b44@25:25;b44w00;b45w01;w01*2;w05;b11*14;_2;f54;f55;_3;f54;f55;_2;w10;b11;w12;_25;w00;w01;w02;_1;w00;w31;w02;_1;@5;b43@5;b44@5;b44@5;b44@5;b45@5;@5;@5;w13;@5;@5;b43@5;b44@5;b44@5;b44@5;b45@5;@5;_1;w00;w31;w02;_1;w10;b11;w12;_3;w30;w32;_17;w10;b11;w12;_34;w24;b11;w21;b11;w12;_3;@25:25;_3;@25:25;_3;w10;w12;_2;b43;b44@25:25;b44;b44w10;b11*18;_2;f54;f55;_3;f54;f55;_2;w10;b11;w12;_25;w10;b11;w12;_1;w13;_1;w13;_1;w30;b43w31;b44w31;b44w31;b44w31;b45w31;w31;w15;b11;w14;w31;b43w31;b44w31;b44w31;b44w31;b45w31;w32;_1;w13;_1;w13;_1;w10;b11;w12;_19;w30;w32;_1;w10;b11;w12;_33;w24;b11;w22;b67;w20;w12;_1;@25:25;_3;@25:25;_3;@25:25;_1;w10;w12;_1;@25:25;w00;w01;w05;b11*19;_2;f54;f55;_3;f54;f55;_2;w10;b11;w12;_13;@125:50,16:75,10:113,19:140,14$21,20:33,20:27,20$50,16:60,16$87,9:75,10$99,19:113,19:127,19:120,20:106,20$153,14%13,27:27,16:38,27:27,35$20,26:27,25:34,27$47,23:53,20:46,17:63,23:57,20:64,17$72,22:72,16:79,11:88,11:93,15:93,21:87,35:78,35$106,29:120,29$133,21:137,26;_11;w10;b11;w12;_1;w13;_1;w13;_2;b43;b44*3;b45;_2;w13;_2;b43;b44*3;b45;_2;w13;_1;w13;_1;w10;b11;w12;_22;w10;b11;w12;_1;p40;p41;p42;_11;p40;p41;p42;_11;p40;p41;p42;_1;w10;w12;b67@2:2;b67*2;w13;@25:25;_1;w00;w01*7;w05;b11;w12;@25:25;_1;w20;w21*5;b11*16;_2;f54;f55;_3;f54;f55;_2;w10;b11;w12;_5;p40;p41*3;p42;_1;p40;p41*3;p42;_1;p40;p41*3;p42;_3;w10;b11;w12;_1;w13;@21;w13;@5;@5;b43@5;b44@5;b44@5;b44@5;b45@5;_2;w13;_2;b43@5;b44@5;b44@5;b44@5;b45@5;@5;@5;w13;@21;w13;_1;w10;b11;w12;_22;w10;b11*2;w14;w31*3;w02;_3;p40;p41;p42;_3;w00;w31*3;w02;_3;p40;p41;p42;_3;w00;w31*3;w15;b11;w12;b67;b67!25;b67;w13;_1;@25:25;w20;w21*8;b11;w12;_1;@25:25;_3;@25:25;_2;w10;b11*15;_2;f54;f55;_3;f54;f55;_2;w10;b11;w12;_5;b43;b44*3;b45;_1;b43;b44*3;b45;_1;b43;b44*3;b45;_3;w10;b11;w12;_1;w13;_1;w10;w14;w31;b43w31;b44w31;b44w31;b44w31;w32;_2;w13;_2;w30;b44w31;b44w31;b44w31;b45w31;w31;w15;w12;_1;w13;_1;w10;b11;w12;_6;w30;w32;_14;w10;b11;w12;_4;w20;w25;_2;b43;b44;b45;_2;w24;w22;_3;w20;w25;_2;b43;b44;b45;_2;w24;w22;_4;w10;w12;b67*3;w13;_3;@25:25;_1;@25:25;_1;@25:25;_3;w10;w12;_3;@25:25;_3;@25:25;w10;b11*15;_2;f54;f55;_3;f54;f55;_2;w10;b11;w12;_5;b43;b44*3;b45;_1;b43;b44*2;b44@5;b45;_1;b43;b44*3;b45;_3;w10;b11;w12;_1;w13;_1;w13;_2;b43;b44*3;b45;_2;w13;_2;b43;b44*3;b45;_2;w13;_1;w13;_1;w10;b11;w12;_15;w30;w32;_5;w10;b11;w12;_5;w20;w25;_1;b43;b44;b45;_1;w24;w22;_5;w20;w25;_1;b43;b44;b45;_1;w24;w22;_5;w10;b11;w25;b77;w24;b11;w04;w01*7;w02;@25:25;_1;w10;b11;w04;w01*5;w02;_1;w10;b11*15;_2;f64;f65;_3;f64;f65;_2;w20;w21;w22;_5;b43;b44@5;b44*2;b45;_1;b43;b44*2;w33;b45;_1;b43@5;b44*3;b45;_3;w20;w21;w22;_1;w23;@21:$;w13;_2;b43@5;b44@5;b44@5;b44@5;b45@5;@5;@5;w13;@5;@5;b43@5;b44@5;b44@5;b44@5;b45@5;_2;w13;@21:$;w23;_1;w20;w21;w22;_22;w20;w21;w22;_6;w20;w14;w31*3;w15;w22;_7;w20;w14;w31*3;w15;w22;_6;w20;w21;w22;_1;w20;w21*9;w22;_2;w10;b11;w21*6;w12;@25:25;w20;w21;b11*14;_2;f74;f75;_3;f74;f75;_3;@123:7,,$;_6;b43;w33;b44*2;b45@5;_1;b43;b44*3;b45;_1;w33;b44*2;b44@5;b45;_4;@123:8,,$;_4;w13;_2;w30;b44w31;b44w31;b44w31;b45w31;w31;w15;w21;w14;w31;b43w31;b44w31;b44w31;b44w31;w32;_2;w13;_4;@123:9,,$;_24;@123:10,,$;_10;b60;_13;b60;_10;@123:11,,$;_11;@25:25;_1;@25:25;_1;w10;w12;_2;@25:25;_1;@25:25;_1;w13;_1;@25:25;_1;w10;b11*13;_1;b90;f84;f85;_3;f84;f85;b91;_9;b43;b44*3;w33;_1;b43;b44@5;b44*2;b45;_1;b43;b44*2;w33;b45;_9;w13;_2;b43;b44*3;b45;_5;b43;b44*3;b45;_2;w13;_32;p40;p41;p42;_5;b70;_5;p40;p41;p42;_5;b70;_5;p40;p41;p42;_13;w00;w01*3;w05;b11;w12;_1;@25:25;w00;w02;_2;w10;w25;_2;w10;b11*13;_1;b60;_7;b60;_9;b43;b44*3;b45;_1;b43;w33;b44*2;b45;_1;b43;b44*3;b45;_8;@21;w13;@5;@5;b43@5;b44@5;b44@5;b44@5;b45@5;@5;@5;_1;@5;@5;b43@5;b44@5;b44@5;b44@5;b45@5;@5;@5;w13;@21;_31;b43;b44;b45;_5;b70;_5;b43;b44;b45;_5;b70;_5;b43;b44;b45;_13;w20;w21*5;w22;_2;w10;w12;_1;@25:25;w20;w22;_1;@25:25;w10;b11*13;_1;b70;_3;@02:25;_3;b70;_9;b43;b44*3;b45;_1;b43;b44*3;b45;_1;b43;b44*3;b45;_9;w20;w14;w31;b43w31;b44w31;b44w31;b44w31;b45w31;w31;w32;_1;w30;w31;b43w31;b44w31;b44w31;b44w31;b45w31;w31;w15;w22;_16;w00;w02;_14;b43;b44;b45;_5;b70;_5;b43;b44;b45;_5;b70;_5;b43;b44;b45;_7;p40;p41;p42;_12;w10;w12;_2;@25:25;_3;w10;b11*13;_1;b80;_3;!20;_3;b80;_9;b43;b44*3;b45;_1;b43;b44;b44!21;b44;b45;_1;b43;b44*3;b45;_3;@34:4;_8;b43;b44*3;b45;_2;!22;_2;b43;b44*3;b45;_6;@34:5;_3;!23;_8;w10;w12;_10;@34:6;_3;b43;b44;b45;_1;@17:0,,0;@17:0,,15;@17:0,,30;_1;b80;_1;@17:0,,45;@17:0,,60;@17:0,,75;_1;b43;b44!24;b45;_1;@17:0,,75;@17:0,,60;@17:0,,45;_1;b80;_1;@17:0,,30;@17:0,,15;@17:0,,0;_1;b43;b44;b45;_1;@34:7;_5;b43;b44;b45;_12;w10;w12;@25:25;_3;@25:25;_1;w10;b11*13;w01*23;w02;p40;p41*5;p42;w00;w01*42;w02;_7;w10;w12;_7;w00;w01*58;w05;b11*2;w04;w01*4;w05;b11*37;w12;b43;b44*5;b45;w10;b11*42;w12;_7;w10;w12;_7;w10;b11*104;w12;b43;b44*5;b45;w10;b11*42;w12;_7;w10;w12;_7;w10;b11*104;w12;b43;b44*5;b45;w10;b11*42;w12;_7;w10;w12;_7;w10;b11*104;w12;b43;b44*5;b45;w10;b11*42;w12;_7;w10;w12;_7;w10;b11*104;w12;b43;b44*5;b45;w10;b11*42;w12;@21;@21;@21;@21;@21;@21;@21;w10;w12;@21;@21;@21;@21;@21;@21;@21;w10;b11*104;w12;b43;b44*5;b45;w10;b11*42;w12;@21:$;@21:$;@21:$;@21:$;@21:$;@21:$;@21:$;w10;w12;@21:$;@21:$;@21:$;@21:$;@21:$;@21:$;@21:$;w10;b11*104;w12;b43;b44*5;b45;w10;b11*42;w12;@21;@21;@21;@21;@21;@21;@21;w10;w12;@21;@21;@21;@21;@21;@21;@21;w10;b11*81#
173,38,4,14,s15#16,17!#_2;f54;f55;_3;f54;f55;_2;w10;b11;w12;_25;w10;b11;w12;_13;w13;_13;w10;b11;w12;_22;w10;b11;w12;_33;w10;b11;w12;_26;w10;b11*13;_2;f54;f55;_3;f54;f55;_2;w10;b11;w12;_25;w10;b11;w12;_13;w13;_13;w10;b11;w12;_22;w10;b11;w12;_33;w10;b11;w12;_26;w10;b11*13;_2;f54;f55;_3;f54;f55;_2;w10;b11;w12;_25;w10;b11;w12;_13;w13;_13;w10;b11;w12;_22;w10;b11;w12;_33;w10;b11;w12;_26;w10;b11*13;_2;f54;f55;_3;f54;f55;_2;w10;b11;w12;_25;w10;b11;w12;_13;w13;_13;w10;b11;w12;_22;w20;w21;w22;_33;w10;b11;w12;_26;w10;b11*13;_2;f54;f55;_3;f54;f55;_2;w10;b11;w12;_25;w10;b11;w12;_13;w23;_13;w20;w21;w22;_58;w10;b11;w12;_26;w10;b11*13;_2;f54;f55;_3;f54;f55;_2;w10;b11;w12;_25;w10;b11;w12;_53;@25:23,$;_34;w10;b11;w12;_26;w10;b11*13;_2;f54;f55;_3;f54;f55;_2;w10;b11;w12;_25;w10;b11;w12;_27;@25:22,$;_1;@25:23,$;_58;w10;b11;w12;_14;w03;_11;w10;b11*13;_2;f54;f55;_3;f54;f55;_2;w10;b11;w12;_25;w10;b11;w12;_53;@25:23,$;_34;w10;b11;w12;_14;w13;_11;w10;b11*13;_2;f54;f55;_3;f54;f55;_2;w10;b11;w12;_25;w10;b11;w12;_27;@25:22,$;_1;@25:23,$;_58;w20;w21;w22;_14;w23;_11;w10;b11*13;_2;f54;f55;_3;f54;f55;_2;w10;b11;w12;_25;w10;b11;w12;_53;@25:23,$;_63;w10;b11*13;_2;f54;f55;_3;f54;f55;_2;w10;b11;w12;_25;w20;w21;w22;_27;@25:22,$;_1;@25:23,$;_13;w30;w31*3;w32;_41;@25:25,$;_15;@25:25,$;_11;w10;b11*13;_2;f54;f55;_3;f54;f55;_2;w10;b11;w12;_59;w30;w31*3;w32;_17;@25:23,$;_63;w10;b11*13;_2;f54;f55;_3;f54;f55;_2;w10;b11;w12;_25;@25:21,$;_1;@25:22,$;_27;w00;w01;w02;_59;@25:25,$;_15;@25:25,$;_11;w10;b11*13;_2;f54;f55;_3;f54;f55;_2;w10;b11;w12;_55;w10;b11;w12;_23;@25:23,$;_63;w10;b11*13;_2;f54;f55;_3;f54;f55;_2;w10;b11;w12;_25;@25:21,$;_1;@25:22,$;_27;w10;b11;w12;_59;@25:25,$;_15;@25:25,$;_11;w10;b11*13;_2;f54;f55;_3;f54;f55;_2;w10;b11;w12;_55;w10;b11;w12;_10;w30;w32;_10;w00;w01;w02;_41;p40;p41*3;p42;_8;p40;p41*3;p42;_3;w10;b11*13;_2;f54;f55;_3;f54;f55;_2;w10;b11;w12;_25;@25:21,$;_1;@25:22,$;_13;w03;_13;w10;b11;w12;_22;w10;b11;w12;_34;@25:25,$;_6;b43;b44*3;b45;_4;w00;w01;w02;_1;b43;b44*3;b45;_3;w10;b11*13;_2;f54;f55;_3;f54;f55;_2;w10;b11;w12;_34;p40;p41*3;p42;_2;w13;_2;p40;p41*3;p42;_6;w10;b11;w12;_22;w10;b11;w12;_35;w00;w01*3;w31*8;w32;@25:25;_1;w10;b11;w21;w14;b43w31;b44w32;b44@25:25;b44w00;b45w01;w01*2;w05;b11*14;_2;f54;f55;_3;f54;f55;_2;w10;b11;w12;_25;w00;w01;w02;_1;w00;w31;w02;_1;@5;b43@5;b44@5;b44@5;b44@5;b45@5;@5;@5;w13;@5;@5;b43@5;b44@5;b44@5;b44@5;b45@5;@5;_1;w00;w31;w02;_1;w10;b11;w12;_3;w30;w32;_17;w10;b11;w12;_34;w24;b11;w21;b11;w12;_3;@25:25;_3;@25:25;_3;w10;w12;_2;b43;b44@25:25;b44;b44w10;b11*18;_2;f54;f55;_3;f54;f55;_2;w10;b11*2;b37;_23;b07;b11*2;w12;_1;w13;_1;w13;_1;w30;b43w31;b44w31;b44w31;b44w31;b45w31;w31;w15;b11;w14;w31;b43w31;b44w31;b44w31;b44w31;b45w31;w32;_1;w13;_1;w13;_1;w10;b11;w12;_19;w30;w32;_1;w10;b11;w12;_33;w24;b11;w22;b67;w20;w12;_1;@25:25;_3;@25:25;_3;@25:25;_1;w10;w12;_1;@25:25;w00;w01;w05;b11*19;_2;f54;f55;_3;f54;f55;_2;w10;b11*3;b48;b49;_9;@125:50,16:75,10:113,19:140,14$20,20:32,20:26,20$50,16:60,16$87,9:75,10$99,19:113,19:127,19:120,20:106,20$153,14%13,27:27,16:38,27:27,35$19,26:26,25:33,27$47,23:53,20:46,17:63,23:57,20:64,17$72,22:72,16:79,11:88,11:93,15:93,21:87,35:78,35$106,29:120,29$133,21:137,26;_9;b46;b47;b11*3;w12;_1;w13;_1;w13;_2;b43;b44*3;b45;_2;w13;_2;b43;b44*3;b45;_2;w13;_1;w13;_1;w10;b11;w12;_22;w10;b11;w12;_1;p40;p41;p42;_11;p40;p41;p42;_11;p40;p41;p42;_1;w10;w12;b67@2:2;b67*2;w13;@25:25;_1;w00;w01*7;w05;b11;w12;@25:25;_1;w20;w21*5;b11*16;_2;f54;f55;_3;f54;f55;_2;w10;b11*3;w21*2;w32;p40;p41*3;p42;_1;p40;p41*3;p42;_1;p40;p41*3;p42;w30;w21*2;b11*3;w12;_1;w13;@21;w13;@5;@5;b43@5;b44@5;b44@5;b44@5;b45@5;_2;w13;_2;b43@5;b44@5;b44@5;b44@5;b45@5;@5;@5;w13;@21;w13;_1;w10;b11;w12;_22;w10;b11*2;w14;w31*3;w02;_3;p40;p41;p42;_3;w00;w31*3;w02;_3;p40;p41;p42;_3;w00;w31*3;w15;b11;w12;b67;b67!25;b67;w13;_1;@25:25;w20;w21*8;b11;w12;_1;@25:25;_3;@25:25;_2;w10;b11*15;_2;f54;f55;_3;f54;f55;_2;w10;b11*2;w22;_3;b43;b44*3;b45;_1;b43;b44*3;b45;_1;b43;b44*3;b45;_3;w20;b11*2;w12;_1;w13;_1;w10;w14;w31;b43w31;b44w31;b44w31;b44w31;w32;_2;w13;_2;w30;b44w31;b44w31;b44w31;b45w31;w31;w15;w12;_1;w13;_1;w10;b11;w12;_6;w30;w32;_14;w10;b11;w12;_4;w20;w25;_2;b43;b44;b45;_2;w24;w22;_3;w20;w25;_2;b43;b44;b45;_2;w24;w22;_4;w10;w12;b67*3;w13;_3;@25:25;_1;@25:25;_1;@25:25;_3;w10;w12;_3;@25:25;_3;@25:25;w10;b11*15;_2;f54;f55;_3;f54;f55;_2;w10;b11;w12;_1;!26;_2;b43;b44*3;b45;_1;b43;b44*2;b44@5;b45;_1;b43;b44*3;b45;_2;!21;_1;w10;b11;w12;_1;w13;_1;w13;_2;b43;b44*3;b45;_2;w13;_2;b43;b44*3;b45;_2;w13;_1;w13;_1;w10;b11;w12;_15;w30;w32;_5;w10;b11;w12;_5;w20;w25;_1;b43;b44;b45;_1;w24;w22;_5;w20;w25;_1;b43;b44;b45;_1;w24;w22;_5;w10;b11;w25;b77;w24;b11;w04;w01*7;w02;@25:25;_1;w10;b11;w04;w01*5;w02;_1;w10;b11*15;_2;f64;f65;_3;f64;f65;_2;w20;w21;w22;_4;b43;b44@5;b44*2;b45;_1;b43;b44*2;w33;b45;_1;b43@5;b44*3;b45;_4;w20;w21;w22;_1;w23;@21:$;w13;_2;b43@5;b44@5;b44@5;b44@5;b45@5;@5;@5;w13;@5;@5;b43@5;b44@5;b44@5;b44@5;b45@5;_2;w13;@21:$;w23;_1;w20;w21;w22;_22;w20;w21;w22;_6;w20;w14;w31*3;w15;w22;_7;w20;w14;w31*3;w15;w22;_6;w20;w21;w22;_1;w20;w21*9;w22;_2;w10;b11;w21*6;w12;@25:25;w20;w21;b11*14;_2;f74;f75;_3;f74;f75;_3;@123:7,,$;_5;b43;w33;b44*2;b45@5;_1;b43;b44*3;b45;_1;w33;b44*2;b44@5;b45;_5;@123:8,,$;_4;w13;_2;w30;b44w31;b44w31;b44w31;b45w31;w31;w15;w21;w14;w31;b43w31;b44w31;b44w31;b44w31;w32;_2;w13;_4;@123:9,,$;_24;@123:10,,$;_10;b60;_13;b60;_10;@123:11,,$;_11;@25:25;_1;@25:25;_1;w10;w12;_2;@25:25;_1;@25:25;_1;w13;_1;@25:25;_1;w10;b11*13;_1;b90;f84;f85;_3;f84;f85;b91;_8;b43;b44*3;w33;_1;b43;b44@5;b44*2;b45;_1;b43;b44*2;w33;b45;_10;w13;_2;b43;b44*3;b45;_5;b43;b44*3;b45;_2;w13;_32;p40;p41;p42;_5;b70;_5;p40;p41;p42;_5;b70;_5;p40;p41;p42;_13;w00;w01*3;w05;b11;w12;_1;@25:25;w00;w02;_2;w10;w25;_2;w10;b11*13;_1;b60;_7;b60;_8;b43;b44*3;b45;_1;b43;w33;b44*2;b45;_1;b43;b44*3;b45;_9;@21;w13;@5;@5;b43@5;b44@5;b44@5;b44@5;b45@5;@5;@5;_1;@5;@5;b43@5;b44@5;b44@5;b44@5;b45@5;@5;@5;w13;@21;_31;b43;b44;b45;_5;b70;_5;b43;b44;b45;_5;b70;_5;b43;b44;b45;_13;w20;w21*5;w22;_2;w10;w12;_1;@25:25;w20;w22;_1;@25:25;w10;b11*13;_1;b70;_3;@02:25;_3;b70;_8;b43;b44*3;b45;_1;b43;b44*3;b45;_1;b43;b44*3;b45;_10;w20;w14;w31;b43w31;b44w31;b44w31;b44w31;b45w31;w31;w32;_1;w30;w31;b43w31;b44w31;b44w31;b44w31;b45w31;w31;w15;w22;_16;w00;w02;_14;b43;b44;b45;_5;b70;_5;b43;b44;b45;_5;b70;_5;b43;b44;b45;_7;p40;p41;p42;_12;w10;w12;_2;@25:25;_3;w10;b11*13;_1;b80;_3;!20;_3;b80;_8;b43;b44*3;b45;_1;b43;b44*3;b45;_1;b43;b44*3;b45;_4;@34:4;_8;b43;b44*3;b45;_2;!22;_2;b43;b44*3;b45;_6;@34:5;_3;!23;_8;w10;w12;_10;@34:6;_3;b43;b44;b45;_1;@17:0,,0;@17:0,,15;@17:0,,30;_1;b80;_1;@17:0,,45;@17:0,,60;@17:0,,75;_1;b43;b44!24;b45;_1;@17:0,,75;@17:0,,60;@17:0,,45;_1;b80;_1;@17:0,,30;@17:0,,15;@17:0,,0;_1;b43;b44;b45;_1;@34:7;_5;b43;b44;b45;_12;w10;w12;@25:25;_3;@25:25;_1;w10;b11*13;w01*22;w02;p40;p41*5;p42;w00;w01*43;w02;_7;w10;w12;_7;w00;w01*58;w05;b11*2;w04;w01*4;w05;b11*36;w12;b43;b44*5;b45;w10;b11*43;w12;_7;w10;w12;_7;w10;b11*103;w12;b43;b44*5;b45;w10;b11*43;w12;_7;w10;w12;_7;w10;b11*103;w12;b43;b44*5;b45;w10;b11*43;w12;_7;w10;w12;_7;w10;b11*103;w12;b43;b44*5;b45;w10;b11*43;w12;_7;w10;w12;_7;w10;b11*103;w12;b43;b44*5;b45;w10;b11*43;w12;@21;@21;@21;@21;@21;@21;@21;w10;w12;@21;@21;@21;@21;@21;@21;@21;w10;b11*103;w12;b43;b44*5;b45;w10;b11*43;w12;@21:$;@21:$;@21:$;@21:$;@21:$;@21:$;@21:$;w10;w12;@21:$;@21:$;@21:$;@21:$;@21:$;@21:$;@21:$;w10;b11*103;w12;b43;b44*5;b45;w10;b11*43;w12;@21;@21;@21;@21;@21;@21;@21;w10;w12;@21;@21;@21;@21;@21;@21;@21;w10;b11*81#l21:36,20;l11:38,19;r21:15,20;r11:14,19
19 changes: 13 additions & 6 deletions elements.rb
Original file line number Diff line number Diff line change
Expand Up @@ -643,11 +643,11 @@ def update(section)
@h += @closed ? -16 : 16
SB.play_sound(Res.sound(:wallOpen)) if section.map.cam.intersect?(@active_bounds)
if @closed and @h == 0
section.unset_fixed_camera
section.unset_fixed_camera if section.fixed_camera
section.obstacles.delete(self)
@dead = true
elsif not @closed and @h == @max_size
section.unset_fixed_camera
section.unset_fixed_camera if section.fixed_camera
@active_bounds.y = @y
@active_bounds.h = @h
@active = false
Expand Down Expand Up @@ -1005,17 +1005,20 @@ def update(section)
@angle += 5
@angle = 0 if @angle == 360

return if section.fixed_camera

b = SB.player.bomb
if @transporting
b.move_free @aim, 1.5 if @timer < 30
@timer += 1
if @timer == 30
section.add_effect(Effect.new(@x - 3, @y - 3, :fx_transport, 2, 2, 7, [0, 1, 2, 3], 28))
section.start_warp(@entrance)
b.in_vortex = false
elsif @timer == 60
@transporting = false
end
elsif b.collide? self
elsif b.collide?(self)
b.stop
b.active = false
SB.play_sound(Res.sound(:portal))
Expand Down Expand Up @@ -2492,14 +2495,14 @@ def initialize(x, y, args, section, switch)
end

def update(section)
# stop when section.set_fixed_camera is called
return if SB.stage.stopped && section.active_object != self || @opened

unless @inited
section.obstacles << self
@inited = true
end

# stop unless when section.set_fixed_camera is called by self
return if SB.stage.stopped && section.active_object != self || @opened

b = SB.player.bomb

if @active
Expand Down Expand Up @@ -2582,6 +2585,10 @@ def draw(map, section)
def is_visible(map)
@active || map.cam.intersect?(@active_bounds)
end

def stop_time_immune?
true
end
end

class BattleArena
Expand Down
37 changes: 20 additions & 17 deletions enemies.rb
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ def set_active_bounds(section)
end
end

def update(section, tolerance = nil)
def update(section, tolerance = nil, check_active = false)
if @dying
@control_timer += 1
@dead = true if @control_timer == 150
Expand All @@ -73,7 +73,7 @@ def update(section, tolerance = nil)
b = SB.player.bomb
if b.over?(self, tolerance)
hit_by_bomb(section)
elsif b.collide?(self)
elsif b.collide?(self) && (b.active || !check_active)
b.hit
end
unless @invulnerable
Expand Down Expand Up @@ -3121,22 +3121,21 @@ def update(section)
obstacles = section.get_obstacles(@x, @y, @w, @h)

if @invulnerable
super_update(section)
super_update(section, nil, true)
move(forces, obstacles, section.ramps)
@speed.x = 0 if @bottom
return
end

b = SB.player.bomb
unless SB.player.dead?
if b.over?(self)
hit_by_bomb(section, true)
elsif b.collide?(self) && b.active
b.hit
end
if b.explode?(self, nil, @y + @h) || section.projectile_hit?(self)
hit_by_bomb(section)
else
if b.collide?(self)
b.hit
end
if b.explode?(self, nil, @y + @h) || section.projectile_hit?(self)
hit(section)
end
end
end

Expand Down Expand Up @@ -3251,7 +3250,7 @@ def update(section)
@timer -= 60
end
end
else
elsif !@invulnerable
should_spawn = false
if @hp == 1 && @subpoint_index == 0
forces = jump_to(@jump_points[5][0])
Expand All @@ -3278,7 +3277,6 @@ def update(section)

animate(@indices, @interval)
move(forces, obstacles, section.ramps, set_speed)
set_active_bounds(section)
@facing_right = @speed.x > 0
end
end
Expand All @@ -3302,7 +3300,6 @@ def add_spawn_effect(section, x, y)

def get_invulnerable
super
@speed.x = 0
@indices = [@img.size - 1]
set_animation(@img.size - 1)
end
Expand All @@ -3319,13 +3316,15 @@ def return_vulnerable
end
end

def hit_by_bomb(section)
def hit_by_bomb(section, bounce = false)
return if @invulnerable
super(section)
return if @hp <= 0
hit(section)
b = SB.player.bomb
entrance = @hp >= 8 ? 21 : @hp >= 6 ? 22 : @hp >= 4 ? 23 : 25
b.bounce(true) if bounce
return if @hp <= 0
entrance = @hp == 9 ? 26 : @hp == 8 ? 21 : @hp >= 6 ? 22 : @hp >= 4 ? 23 : @hp >= 2 ? 24 : 25
section.add(Vortex.new(b.x + b.w / 2 - 27, b.y + b.h / 2 - 27, "#{entrance},$", section))
b.in_vortex = true
end

def hit(section, amount = 1)
Expand All @@ -3337,4 +3336,8 @@ def draw(map, section)
super(map, section, 2, 2, 255, 0xffffff, nil, @facing_right ? :horiz : nil)
draw_boss
end

def is_visible(map)
true
end
end
2 changes: 1 addition & 1 deletion section.rb
Original file line number Diff line number Diff line change
Expand Up @@ -581,7 +581,7 @@ def set_fixed_camera(x, y)

def unset_fixed_camera
@fixed_camera = false
SB.player.bomb.active = true
SB.player.bomb.active = true unless SB.player.bomb.in_vortex
SB.stage.resume_time
end

Expand Down

0 comments on commit d3c0724

Please sign in to comment.