comparison 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
comparison
equal deleted inserted replaced
723:420cec4005b5 724:8acaf45b47d0
1027 //TODO: this variable might not always be correct! it uses the argument in 1027 //TODO: this variable might not always be correct! it uses the argument in
1028 //th06: *(int *)(param_1 + 0x9b0) = local_60; 1028 //th06: *(int *)(param_1 + 0x9b0) = local_60;
1029 self._setval(-10004, n) 1029 self._setval(-10004, n)
1030 */ 1030 */
1031 } 1031 }
1032 13 => {
1033 if self.frame.ints1[3] % 6 == 0 {
1034 let mut _angle=self.frame.floats[2];
1035 /*
1036 (type_, anim, sprite_idx_offset, bullets_per_shot, number_of_shots,
1037 speed, speed2, launch_angle, angle, flags) = self._enemy.bullet_attributes
1038 for i in range(arg) {
1039 //TODO: distance is obtained directly by copying bullet attributes
1040 //in memory
1041 launch_pos = (192 + cos(_angle) * _distance,
1042 224 + sin(_angle) * _distance);
1043
1044 bullet_attributes = (type_, anim, sprite_idx_offset,
1045 bullets_per_shot, number_of_shots,
1046 speed, speed2,
1047 _angle + self.frame.floats[1], angle, flags);
1048 enemy.fire(launch_pos=launch_pos,bullet_attributes=bullet_attributes);
1049 _angle += 2*std::f64::consts::PI/arg;
1050 }*/
1051 }
1052 self.frame.ints1[3] += 1;
1053 }
1032 14 => { // Lävatein 1054 14 => { // Lävatein
1033 let mut enemy = self.enemy.borrow_mut(); 1055 let mut enemy = self.enemy.borrow_mut();
1034 self.frame.ints1[3] = 0; 1056 self.frame.ints1[3] = 0;
1035 for laser in enemy.laser_by_id.values() { 1057 for laser in enemy.laser_by_id.values() {
1036 //for pos in laser.get_bullets_pos(){ 1058 //for pos in laser.get_bullets_pos(){