//Scriptd Din's Fire; v0.1.1; 8th September, 2019; ZoriaRPG item script dinsfire { const int MAX_FIRES = 8; const int POWER = 4; const int STEP = 100; void run(int firesfx) { int old_hyof = Hero->HitYOffset; Hero->HitYOffset = -32768; lweapon fires[MAX_FIRES]; int indx = 0; for(int flamecounter=((-1)*(MAX_FIRES/2))+1; flamecounter<=((MAX_FIRES/2)+1); flamecounter++) { Audio->PlaySound(firesfx); lweapon fl = Screen->CreateLWeapon(LW_FIRE); fl->X = Link->Xl fl->Y = Link->Y fl->Power = POWER; fl->Dir = (flamecounterStep = STEP; fl->Angular = true; fl->Angle = (flamecounter*PI/(MAX_FIRES/2.0)); fl->Misc[17] = 1; fires[indx] = fl; ++indx; } while(1) { int firesalive; Hero->Action = LA_HOLD2LAND; Hero->HeldItem = this->ID; for ( int q = 0; q < MAX_FIRES; ++q ) { if ( fires[q]->isValid() ) { ++firesalive; } } if ( firesalive ) { Waitframe(); } else break; } Hero->Action = LA_NONE; Hero->HitYOffset = old_hyof; Quit(); } }