@@ -3384,7 +3384,8 @@ void ProcessFlashTop(Missile &missile)
33843384
33853385void ProcessFlameWave (Missile &missile)
33863386{
3387- constexpr int ExpLight[14 ] = { 2 , 3 , 4 , 5 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 12 };
3387+ constexpr int ExpLightLen = 12 ;
3388+ constexpr int ExpLight[ExpLightLen] = { 2 , 3 , 4 , 5 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 };
33883389
33893390 // Adjust missile's position for processing
33903391 missile.position .tile += Direction::North;
@@ -3402,18 +3403,12 @@ void ProcessFlameWave(Missile &missile)
34023403 if (missile.duration == 0 ) {
34033404 missile._miDelFlag = true ;
34043405 AddUnLight (missile._mlid );
3405- }
3406- if (missile._mimfnum != 0 || missile.duration == 0 ) {
3407- if (missile.position .tile != Point { missile.var3 , missile.var4 }) {
3408- missile.var3 = missile.position .tile .x ;
3409- missile.var4 = missile.position .tile .y ;
3410- ChangeLight (missile._mlid , missile.position .tile , 8 );
3411- }
34123406 } else {
34133407 if (missile.var2 == 0 )
34143408 missile._mlid = AddLight (missile.position .tile , ExpLight[0 ]);
34153409 ChangeLight (missile._mlid , missile.position .tile , ExpLight[missile.var2 ]);
3416- missile.var2 ++;
3410+ if (missile.var2 < ExpLightLen - 1 )
3411+ missile.var2 ++;
34173412 }
34183413 // Adjust missile's position for rendering
34193414 missile.position .tile += Direction::South;
0 commit comments