Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Magic Stream Link
- if(PressWeapon(86) || PressWeapon(22)){
- G[G_STREAMANGLE] = 0;
- G[G_SHOTCOUNTER]= 0;
- if(G[G_STREAM_GRACEPERIOD] == 0){
- G[G_STREAMDURATION] = 0;
- G[G_STREAM_MPCOST] = 0;
- }
- if(Link->Dir==DIR_UP)
- G[G_STREAMANGLE] = -90;
- else if(Link->Dir==DIR_DOWN)
- G[G_STREAMANGLE] = 90;
- else if(Link->Dir==DIR_LEFT)
- G[G_STREAMANGLE] = 180;
- }
- if(G[G_STREAMDURATION] >= 60){
- G[G_STREAM_MPCOST] = Floor(G[G_STREAMDURATION]/60 * G[G_MAGIC_COST_MULTIPLIER]);
- G[G_STREAM_MPCOST] = Clamp(G[G_STREAM_MPCOST], 0, 4)*G[G_MAGIC_COST_MULTIPLIER];
- }
- if((InputWeapon(86) || InputWeapon(22))&& (G[G_STREAMDELAY] <= 0 || G[G_STREAM_GRACEPERIOD] >0) &&Link->MP>=G[G_STREAM_MPCOST]){
- G[G_STREAM_GRACEPERIOD] = 10;
- G[G_STREAM_ANGLEDIR] = 0;
- if(Link->Dir==DIR_UP)
- G[G_STREAM_ANGLEDIR] = -90;
- else if(Link->Dir==DIR_DOWN)
- G[G_STREAM_ANGLEDIR] = 90;
- else if(Link->Dir==DIR_LEFT)
- G[G_STREAM_ANGLEDIR] = 180;
- G[G_SHOTCOUNTER] = (G[G_SHOTCOUNTER]+1)%360;
- G[G_STREAMANGLE] = TurnAngle(G[G_STREAMANGLE], G[G_STREAM_ANGLEDIR], 2.5);
- if(G[G_STREAMDURATION] % 30 == 0){
- if(G[G_STREAM_MPCOST] == 0)
- Game->PlaySound(91);
- else if(G[G_STREAM_MPCOST] == 1 * G[G_MAGIC_COST_MULTIPLIER])
- Game->PlaySound(92);
- else if(G[G_STREAM_MPCOST] == 2 * G[G_MAGIC_COST_MULTIPLIER])
- Game->PlaySound(93);
- else if(G[G_STREAM_MPCOST] == 3 * G[G_MAGIC_COST_MULTIPLIER])
- Game->PlaySound(94);
- else if(G[G_STREAM_MPCOST] == 4 * G[G_MAGIC_COST_MULTIPLIER])
- Game->PlaySound(95);
- }
- if(G[G_SHOTCOUNTER]%8 == 0)
- Link->MP -= G[G_STREAM_MPCOST];
- if(G[G_SHOTCOUNTER]%4==0){
- lweapon shot = CreateLWeaponAt(LW_MAGIC, G[G_FIRING_X], G[G_FIRING_Y]);
- shot->Angular = true;
- shot->Angle = DegtoRad(G[G_STREAMANGLE]);
- shot->Dir = AngleDir4(G[G_STREAMANGLE]);
- shot->Step = 400;
- G[G_TIME_SINCE_LAST_SPELL] = 0;
- shot->Damage = 2*G[G_WEAPON_MULTIPLIER] + G[G_STREAM_MPCOST]*G[G_WEAPON_MULTIPLIER]/G[G_MAGIC_COST_MULTIPLIER]/2;
- shot->Damage = Clamp(shot->Damage, 2*G[G_WEAPON_MULTIPLIER], 4*G[G_WEAPON_MULTIPLIER]);
- if(Link->Item[FLECT_RING])
- shot->Damage = 100 + G[G_STREAM_MPCOST]*G[G_WEAPON_MULTIPLIER]/G[G_MAGIC_COST_MULTIPLIER]/2;
- if(Link->Item[186] || Link->Item[187])
- shot->UseSprite(200);
- else
- shot->UseSprite(175);
- shot->Misc[CLW_TIMER] = 13;
- if(Link->Item[22])
- shot->Misc[CLW_TIMER] = 21;
- if(Link->Item[ZELDA_RING])
- shot->Misc[CLW_TIMER] = 0;
- SetLWeaponHitbox(shot, 4, 4, 8, 8);
- }
- G[G_STREAMDURATION]++;
- G[G_STREAMDELAY] = -1;
- }
- else if(G[G_STREAM_GRACEPERIOD] >0){
- if(G[G_STREAM_GRACEPERIOD] == 1)
- G[G_STREAMDELAY] = -1;
- G[G_STREAM_GRACEPERIOD]--;
- }
- else if(G[G_STREAMDELAY] == -1){
- //G[G_STREAMDELAY] = 40;
- G[G_STREAMDELAY] = 1;
- }
- else if(G[G_STREAMDELAY] >0 && !LargeMapSubscreen && G[G_SUBSCREENOPEN] == I_FALSE){
- G[G_STREAMDELAY]--;
- if(G[G_STREAMDELAY] == 1)
- Game->PlaySound(90);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement