diff src/th06/ecl_vm.rs @ 725:fbf89cba04e2

ecl_vm: some work on spellcard 11
author Gauvain "GovanifY" Roussel-Tarbouriech <gauvain@govanify.com>
date Tue, 29 Oct 2019 15:41:23 +0100
parents 8acaf45b47d0
children 414f8611f344
line wrap: on
line diff
--- a/src/th06/ecl_vm.rs
+++ b/src/th06/ecl_vm.rs
@@ -1029,6 +1029,29 @@ impl EclRunner {
                         self._setval(-10004, n)
                         */
                     }
+                    11 => {
+                        self.get_prng().borrow_mut().get_f64();
+                        //TODO: the game does that
+                        //drop_particle(&PARTICLES_ARRAY,0xc,enemy->pos,1,0xffffffff);
+                        //self._game.new_effect((enemy.x, enemy.y), 17)
+                        /*
+                        for bullet in game.bullets {
+                            if bullet._bullet_type.state != 0 && bullet._bullet_type.state != 5 && (30. <= (bullet.sprites[0].additional_infos)->height) && bullet.speed == 0. {
+                                bullet.flags = bullet.flags | 0x10;
+                                //TODO: reverse this field and effect
+                                bullet->field_0x5ba = 2;
+                                new_effect(GAME_OBJECT,(sprite *)bullet, (int)bullet->sprites[0].sometimes_copy_of_UNK1 + (int)bullet->field_0x5ba);
+                                bullet.speed=0.01;
+                                bullet.frame=0x78;
+                                let mut angle = self.get_prng().borrow_mut().get_f64() * (2*std::f64::consts::PI) - std::f64::consts::PI;
+                                bullet->attributes[0] = cos(angle) * 0.01000000;
+                                bullet->attributes[1] = sin(angle) * 0.01000000;
+
+
+                            }
+                        }
+                        */
+                    }
                     13 => {
                         if self.frame.ints1[3] % 6 == 0 {
                             let mut _angle=self.frame.floats[2];