From 609780609172b7a7580a49f385087aa10bc1454d Mon Sep 17 00:00:00 2001 From: "chirs241097@gmail.com" Date: Sun, 6 Jul 2014 13:59:07 +0000 Subject: Fix bug that cause you unable to charge if you try to use clr directly after your clr's used up. Add Multpo's for Level 3/4/5/6, and level 7 partically. Fix stupid bug in Level4Part2 and other similiar parts. Fix several bugs in level 5/6. Reduce given-away score in level "Sine Wave". It wassssSssss too long! Fix typo... Blinking HangUpText *should* be fixed now... --- levels.h | 137 ++++++++++++++++++++++++++++++++++++++------------------------- 1 file changed, 82 insertions(+), 55 deletions(-) (limited to 'levels.h') diff --git a/levels.h b/levels.h index 2c45ecd..383598b 100644 --- a/levels.h +++ b/levels.h @@ -628,7 +628,7 @@ void Level4Part3() } else if (!doneredir) - for (int i=0;i8&&pos<23) laser[i].EnableColl=true; @@ -1206,7 +1208,7 @@ void Level5Part6() if (re.NextInt(1,1000)>=850) CreateBullet9(bullet[tbuls[j]].bulletpos.x,bullet[tbuls[j]].bulletpos.y,3,500,18,300); } - BulletEffect_Death(bullet[tbuls[j]],blue); + BulletEffect_Death(bullet[tbuls[j]],ColorToDWORD(blue)); bullet[tbuls[j]].exist=false; tbuls[j]=0; } @@ -1214,13 +1216,13 @@ void Level5Part6() void Level5Part7() { frameleft=ThirtySeconds;Dis8ref=true;tbrk=0; - if (towcnt!=33&&towcnt!=0)return ClearAll(); + if (towcnt!=33&&towcnt!=0)return ClearAll(false); DisableAllTower=false; if (IfShowTip) { IfShowTip=false; FadeTip=false; - Current_Position=2; + Current_Position=2;All2pnt(); ShowTip("Threatening effect of high speed bullets"); return; } @@ -1236,7 +1238,7 @@ void Level5Part7() tower[i].RendColor=tower[i].RendColor+0x01FFFFFF; else { - ++part;All2pnt(); + ++part;tcnt=0; return; } } @@ -1244,20 +1246,21 @@ void Level5Part8() { tbrk+=hge->Timer_GetDelta(); if (tbrk<=3)return; - tbrk=0;int tg; + tbrk=0;int tg;++tcnt; if (re.NextInt(1,1000)>=500)tg=CreateBullet9(200,12,8,300,12,200);else tg=CreateBullet9(600,12,8,300,12,200); bullet[tg].redir(playerpos); + if (tcnt>4)NewMultpo(),tcnt=0; } void Level5Part9() { frameleft=ThirtySeconds;Dis8ref=true;tbrk=0; - if (towcnt!=66&&towcnt!=0)return ClearAll(); + if (towcnt!=66&&towcnt!=0)return ClearAll(false); DisableAllTower=false; if (IfShowTip) { IfShowTip=false; FadeTip=false; - Current_Position=2; + Current_Position=2;All2pnt(); ShowTip("Do not panic!"); return; } @@ -1273,7 +1276,7 @@ void Level5Part9() tower[i].RendColor=tower[i].RendColor+0x01FFFFFF; else { - ++part;All2pnt(); + ++part;tcnt=0; return; } } @@ -1281,7 +1284,8 @@ void Level5Part10() { tbrk+=hge->Timer_GetDelta(); if (tbrk<=3)return; - tbrk=0; + tbrk=0;++tcnt; + if(tcnt>4)NewMultpo(),tcnt=0; for (int i=0;i<6;++i) { int p=CreateBullet2(playerpos.x+cos(i*pi/3.0f)*6,12+sin(i*pi/3.0f)*6,2,-pi/2); @@ -1466,12 +1470,12 @@ void Level5Part19() if (Current_Position==1) { ++part;All2pnt(); - ATarg.TargHide(); + ATarg.TargHide();tbrk=0; } } void Level5Part20() { - ntbrk+=hge->Timer_GetDelta(); + ntbrk+=hge->Timer_GetDelta();tbrk+=hge->Timer_GetDelta(); if(LOWFPS)ntrot+=16*pi/960.0f;else ntrot+=pi/960.0f; if(ntbrk<0.01)return; ntbrk=0;++ntcnt;if (ntcnt>15)ntcnt=0; @@ -1491,7 +1495,9 @@ void Level5Part20() bullet[a].redattrib=1;bullet[a].redir(vector2d(400,300)); bullet[a].bulletdir.x=-bullet[a].bulletdir.x; bullet[a].bulletdir.y=-bullet[a].bulletdir.y; + if(tbrk>5)NewMultpo(vector2d(400+250*sin(ntrot+i*2*pi/rtatr),300+250*cos(ntrot+i*2*pi/rtatr))); } + if(tbrk>5)tbrk=0; } void Level5Part21() { @@ -1566,11 +1572,12 @@ void Level6Part2() All2pnt();frameleft=TenSeconds; ++part;spcnt=2;sixrad=sixbrk=0; whicnt=1;DisableAllTower=false; + tbrk=0; } void Level6Part3() { sixbrk+=hge->Timer_GetDelta(); - if (sixrad>2*pi)return; + if (sixrad>2*pi){if(tbrk<1)NewMultpo(vector2d(400,300)),tbrk=100;return;} if (sixbrk<0.04)return; sixbrk=0; sixrad+=pi/25.0f; @@ -1585,11 +1592,12 @@ void Level6Part4() frameleft=TenSeconds;whrcnt=9; ++part;spcnt=3;sixrad=sixbrk=0; whicnt=1;DisableAllTower=false; + tbrk=0; } void Level6Part5() { sixbrk+=hge->Timer_GetDelta(); - if (sixrad>2*pi)return; + if (sixrad>2*pi){if(tbrk<1)NewMultpo(vector2d(400,300)),tbrk=100;return;} if (sixbrk<0.04)return; sixbrk=0; sixrad+=pi/25.0f; @@ -1601,14 +1609,14 @@ void Level6Part5() } void Level6Part6() { - frameleft=TenSeconds; + frameleft=TenSeconds;tbrk=0; ++part;spcnt=4;sixrad=sixbrk=0; whicnt=1;DisableAllTower=false; } void Level6Part7() { sixbrk+=hge->Timer_GetDelta(); - if (sixrad>2*pi)return; + if (sixrad>2*pi){if(tbrk<1)NewMultpo(vector2d(400,300)),tbrk=100;return;} if (sixbrk<0.04)return; sixbrk=0; sixrad+=pi/25.0f; @@ -1623,11 +1631,12 @@ void Level6Part8() frameleft=TenSeconds;whrcnt=6; ++part;spcnt=5;sixrad=sixbrk=0; whicnt=1;DisableAllTower=false; + tbrk=0; } void Level6Part9() { sixbrk+=hge->Timer_GetDelta(); - if (sixrad>2*pi)return; + if (sixrad>2*pi){if(tbrk<1)NewMultpo(vector2d(400,300)),tbrk=100;return;} if (sixbrk<0.04)return; sixbrk=0; sixrad+=pi/25.0f; @@ -1642,11 +1651,12 @@ void Level6Part10() frameleft=TenSeconds;whrcnt=6; ++part;spcnt=6;sixrad=sixbrk=0; whicnt=1;DisableAllTower=false; + tbrk=0; } void Level6Part11() { sixbrk+=hge->Timer_GetDelta(); - if (sixrad>2*pi)return; + if (sixrad>2*pi){if(tbrk<1)NewMultpo(vector2d(400,300)),tbrk=100;return;} if (sixbrk<0.04)return; sixbrk=0; sixrad+=pi/25.0f; @@ -1675,6 +1685,7 @@ void Level6Part12() if (Current_Position==1) { ++part;squashrev=false;All2pnt(); + tbrk=0; CreateTower3(10,10,400,2,1); CreateTower3(766,10,400,2,1); CreateTower3(10,566,400,2,1); @@ -1687,6 +1698,12 @@ void Level6Part12() } void Level6Part13() { + tbrk+=hge->Timer_GetDelta(); + if(tbrk>=12) + { + for(int i=1;i<=4;++i)NewMultpo(tower[i].towerpos); + tbrk=0; + } if (!squashrev) { if (!LOWFPS) @@ -1702,14 +1719,14 @@ void Level6Part13() } else { - tower[1].towerpos.x+=0.1; - tower[1].towerpos.y+=0.07354; - tower[2].towerpos.x-=0.1; - tower[2].towerpos.y+=0.07354; - tower[3].towerpos.x+=0.1; - tower[3].towerpos.y-=0.07354; - tower[4].towerpos.x-=0.1; - tower[4].towerpos.y-=0.07354; + tower[1].towerpos.x+=0.16; + tower[1].towerpos.y+=0.117664; + tower[2].towerpos.x-=0.16; + tower[2].towerpos.y+=0.117664; + tower[3].towerpos.x+=0.16; + tower[3].towerpos.y-=0.117664; + tower[4].towerpos.x-=0.16; + tower[4].towerpos.y-=0.117664; } } else @@ -1727,14 +1744,14 @@ void Level6Part13() } else { - tower[1].towerpos.x-=0.1; - tower[1].towerpos.y-=0.07354; - tower[2].towerpos.x+=0.1; - tower[2].towerpos.y-=0.07354; - tower[3].towerpos.x-=0.1; - tower[3].towerpos.y+=0.07354; - tower[4].towerpos.x+=0.1; - tower[4].towerpos.y+=0.07354; + tower[1].towerpos.x-=0.16; + tower[1].towerpos.y-=0.117664; + tower[2].towerpos.x+=0.16; + tower[2].towerpos.y-=0.117664; + tower[3].towerpos.x-=0.16; + tower[3].towerpos.y+=0.117664; + tower[4].towerpos.x+=0.16; + tower[4].towerpos.y+=0.117664; } } if (tower[1].towerpos.x>766||tower[1].towerpos.x<10)squashrev=!squashrev; @@ -1759,12 +1776,13 @@ void Level6Part14()//Avalanche } if (Current_Position==1) { - ++part;All2pnt();avabrk=1.0f;avacurbrk=0;dir=false; + ++part;All2pnt();avabrk=1.0f;avacurbrk=tbrk=0;dir=false; } } void Level6Part15() { avacurbrk+=hge->Timer_GetDelta(); + tbrk+=hge->Timer_GetDelta(); avabrk=((double)frameleft/(double)AMinute)*0.04f+0.01f; if (avacurbrk>avabrk) { @@ -1772,6 +1790,7 @@ void Level6Part15() int pnt=CreateBullet2(re.NextDouble(10,790),200,-6.25,3*pi/2.0f); bullet[pnt].limv=re.NextInt(2,8);bullet[pnt].bulletaccel=0.005; } + if (tbrk>6)NewMultpo(vector2d(re.NextDouble(20,780),re.NextDouble(20,150))),tbrk=0; } void Level6Part16() { @@ -1810,6 +1829,7 @@ void Level6Part17() else pnt=CreateBullet6(ATarg.targpos.x,ATarg.targpos.y,4,1000); bullet[pnt].dist=1;bullet[pnt].bulletdir=vector2d(0,0); + if(re.NextInt(0,19)==14)NewMultpo(); } } //begin hexagon @@ -2225,14 +2245,16 @@ void Level6Part30()//Hyperfluid! } if (Current_Position==1) { - ++part;All2pnt();avabrk=0.2f;avacurbrk=0;sixbrk=-1; + ++part;All2pnt();avabrk=0.2f;avacurbrk=0;sixbrk=-1;tbrk=0; } } -void Level6Part999999999()//well this isnot an easter egg! +void Level6Part999999999()//well this is not an easter egg! { avabrk=(frameleft/(double)AMinute)*0.15f+0.05f; avacurbrk+=hge->Timer_GetDelta(); sixbrk+=hge->Timer_GetDelta(); + tbrk+=hge->Timer_GetDelta(); + if(tbrk>10)tbrk=0,NewMultpo(vector2d(re.NextDouble(40,100),re.NextDouble(30,75))); if (avacurbrk>avabrk) { avacurbrk=0; @@ -2289,7 +2311,7 @@ void Level7Part1() for (int i=1;i<=17;++i)DBGColor=ColorTransfer(DBGColor,0xFF0B0916); if (DBGColor==0xFF0B0916) { - frameleft=AMinute,++part; + frameleft=AMinute,++part;tbrk=0; bgdbbrk=re.NextInt(5,20),bgbrk=0; avabrk=0.2f;avacurbrk=0;skystp=false; } @@ -2328,6 +2350,8 @@ void Level7Part2() avabrk=(frameleft/(double)AMinute)*0.15f+0.15f; avacurbrk+=hge->Timer_GetDelta(); sixbrk+=hge->Timer_GetDelta(); + tbrk+=hge->Timer_GetDelta(); + if (tbrk>10)tbrk=0,NewMultpo(vector2d(re.NextDouble(200,600),re.NextDouble(500,575))); if (avacurbrk>avabrk) { avacurbrk=0; @@ -2494,6 +2518,7 @@ void Level7Part7() avacurbrk+=hge->Timer_GetDelta(); if (avacurbrk>avabrk) { + if(re.NextInt(0,4)==0)NewMultpo(); avacurbrk=0; bool lasta,lastb; lasta=re.NextInt(1,1000)<500;lastb=re.NextInt(1,1000)<500; @@ -2565,6 +2590,7 @@ void Level7Part9() if (avacurbrk>avabrk) { avacurbrk=0; + if(re.NextInt(0,19)==7)NewMultpo(); double spd=((AMinute-frameleft)/(double)AMinute)+1; for(int i=0;i<((AMinute-frameleft)/(double)AMinute)*20;++i) sntang=re.NextDouble(-pi,-pi/2), @@ -2668,6 +2694,7 @@ void Level7Part13() while (GetDist(pos,playerpos)<100) pos=vector2d(re.NextDouble(0,800),re.NextDouble(0,600)); dfc[i].init(pos); + if(re.NextInt(0,7)==3)NewMultpo(pos); } break; } @@ -3858,36 +3885,36 @@ void Levelm2Part14() if(tbrk>0.075) { tbrk=0; + asssrd1+=pi/45; //right for(int i=0;i<5;++i) CreateBullet2(810,120*(i+1)+120*sin(asssrd1),2,0,true); - asssrd1+=pi/45; //right2 - if(assetime>30) + if(assetime>15) { for(int i=0;i<5;++i) CreateBullet2(810,120*(i+1)+120*sin(asssrd1+pi/12),2,0,true); } //left - if(assetime>60) + if(assetime>30) { for(int i=0;i<5;++i) CreateBullet2(-10,120*(i+1)+120*sin(asssrd1),2,pi,true); } //left2 - if(assetime>90) + if(assetime>45) { for(int i=0;i<5;++i) CreateBullet2(-10,120*(i+1)+120*sin(asssrd1+pi/12),2,pi,true); } - if(assetime>120) + if(assetime>60) { avacurbrk-=hge->Timer_GetDelta(); if(avacurbrk<0) { CreateBullet1(0,0,3,0);CreateBullet1(800,0,3,0); CreateBullet1(0,600,3,0);CreateBullet1(800,600,3,0); - avacurbrk=0.5-0.3*(assetime-120.0f)/60.0f; + avacurbrk=0.5-0.3*(assetime-60.0f)/60.0f; if(avacurbrk<0.1)avacurbrk=0.1; } } -- cgit v1.2.3