Mercurial > touhou
diff src/th06/ecl_vm.rs @ 724:8acaf45b47d0
ecl_vm: added spellcard 13
author | Gauvain "GovanifY" Roussel-Tarbouriech <gauvain@govanify.com> |
---|---|
date | Tue, 29 Oct 2019 14:39:03 +0100 |
parents | 420cec4005b5 |
children | fbf89cba04e2 |
line wrap: on
line diff
--- a/src/th06/ecl_vm.rs +++ b/src/th06/ecl_vm.rs @@ -1029,6 +1029,28 @@ impl EclRunner { self._setval(-10004, n) */ } + 13 => { + if self.frame.ints1[3] % 6 == 0 { + let mut _angle=self.frame.floats[2]; + /* + (type_, anim, sprite_idx_offset, bullets_per_shot, number_of_shots, + speed, speed2, launch_angle, angle, flags) = self._enemy.bullet_attributes + for i in range(arg) { + //TODO: distance is obtained directly by copying bullet attributes + //in memory + launch_pos = (192 + cos(_angle) * _distance, + 224 + sin(_angle) * _distance); + + bullet_attributes = (type_, anim, sprite_idx_offset, + bullets_per_shot, number_of_shots, + speed, speed2, + _angle + self.frame.floats[1], angle, flags); + enemy.fire(launch_pos=launch_pos,bullet_attributes=bullet_attributes); + _angle += 2*std::f64::consts::PI/arg; + }*/ + } + self.frame.ints1[3] += 1; + } 14 => { // Lävatein let mut enemy = self.enemy.borrow_mut(); self.frame.ints1[3] = 0;