Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const int SPR_BOOK_VERT = 62;
- const int SPR_BOOK_HORIZ= 63;
- const int SFX_BOOK = 0;
- const int BOOK_SCRIPT =171;
- //We want wands that slash!
- item script Run_Wand(int dummy, int item_ID){
- lweapon magic;
- lweapon wand;
- int spr;
- if(Link->Dir==DIR_DOWN||
- Link->Dir==DIR_UP)
- spr= SPR_BOOK_VERT;
- else
- spr= SPR_BOOK_HORIZ;
- int damage = 8;
- if(NumLWeaponsOf(LW_SCRIPT1)==0)
- wand = FireLWeapon(LW_SCRIPT1,Link->X+InFrontX(Link->Dir,2), Link->Y+InFrontY(Link->Dir,2),
- __DirtoRad(Link->Dir), 0, 0, spr, SFX_BOOK, 0);
- int Cost;
- Cost = 8;
- if(CountFFCsRunning(BOOK_SCRIPT)==0 && Link->MP>Cost){
- int Args[8] = {damage,Cost,item_ID};
- NewFFCScript(BOOK_SCRIPT, Args);
- }
- }
- ffc script Magic_Book{
- void run(int damage, int Cost, int item_ID){
- bool InputAbility(){
- if(GetEquipmentA()==item_ID)
- return Link->InputA;
- else if(GetEquipmentB()==item_ID)
- return Link->InputB;
- }
- this->Data = GH_INVISIBLE_COMBO;
- lweapon beam_1;
- float angle;;
- int X_Dist= 32;
- int Y_Dist= 32;
- while(InputAbility() && Link->MP>=Cost){
- if(Link->Dir==DIR_UP)
- angle = 270;
- else if(Link->Dir==DIR_DOWN)
- angle = 90;
- else if(Link->Dir==DIR_RIGHT)
- angle = 0;
- else
- angle = 180;
- beam_1= FireLWeapon(LW_FIRE, Link->X+VectorX(X_Dist,angle),
- Link->Y+VectorY(Y_Dist,angle),
- DegtoRad(angle),0, damage, SPR_FIRE,
- SFX_FIRE,0);
- if(Link->Dir==DIR_LEFT){
- if((Link->X-X_Dist)>0)
- X_Dist+=16;
- else
- X_Dist= 32;
- }
- else if(Link->Dir==DIR_RIGHT){
- if((Link->X+X_Dist)<240)
- X_Dist+=16;
- else
- X_Dist= 32;
- }
- else
- X_Dist= 32;
- if(Link->Dir==DIR_UP){
- if((Link->Y-Y_Dist)>0)
- Y_Dist+=16;
- else
- Y_Dist= 32;
- }
- else if(Link->Dir==DIR_DOWN){
- if((Link->Y+Y_Dist)<160)
- Y_Dist+=16;
- else
- Y_Dist= 32;
- }
- else
- Y_Dist= 32;
- SetLWeaponLifespan(beam_1,LWL_TIMER,60);
- SetLWeaponDeathEffect(beam_1,LWD_VANISH,0);
- Link->MP-=Cost;
- Waitframes(10);
- }
- RemoveLWeaponType(LW_SCRIPT1);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement