Skip to content

Commit

Permalink
Add visual effects of spells on players, fix swirl not preserving #patch
Browse files Browse the repository at this point in the history
  • Loading branch information
roostarreksio committed Jul 24, 2020
1 parent a76f6ab commit a3e0c32
Show file tree
Hide file tree
Showing 3 changed files with 63 additions and 27 deletions.
90 changes: 63 additions & 27 deletions Dane/Game/Przygoda/Labirynt/Labirynt.cnv
Original file line number Diff line number Diff line change
Expand Up @@ -217,6 +217,8 @@ OBJECT=VARPLAYERCHANGED
VARPLAYERCHANGED:TYPE=INTEGER
VARPLAYERCHANGED:VALUE=0


#ADD POSITION TRACKING FUNCTION ON PLAYER MOVEMENT
OBJECT=ANNPLAYER0
ANNPLAYER0:TYPE=ANIMO
ANNPLAYER0:VISIBLE=FALSE
Expand All @@ -229,19 +231,33 @@ ANNPLAYER0:RELEASE=TRUE
ANNPLAYER0:MONITORCOLLISION=FALSE
ANNPLAYER0:MONITORCOLLISIONALPHA=FALSE
ANNPLAYER0:ONFINISHED={VARSTRING0^SET(THIS^GETNAME());BEHPLAYERCOLL^RUN();VARSTRING1^SET(THIS^GETNAME());VARSTRING2^SET(THIS^GETEVENTNAME());@IF("VARPLAYERNAME","_","VARSTRING1","BFITMP2","BFITMP3");}
ANNPLAYER0:ONFRAMECHANGED^UP={THIS^MOVE(0,-5);VARSTRING0^SET(THIS^GETNAME());BEHPLAYERCOLL^RUN();}
ANNPLAYER0:ONFRAMECHANGED^DOWN={THIS^MOVE(0,5);VARSTRING0^SET(THIS^GETNAME());BEHPLAYERCOLL^RUN();}
ANNPLAYER0:ONFRAMECHANGED^LEFT={THIS^MOVE(-5,0);VARSTRING0^SET(THIS^GETNAME());BEHPLAYERCOLL^RUN();}
ANNPLAYER0:ONFRAMECHANGED^RIGHT={THIS^MOVE(5,0);VARSTRING0^SET(THIS^GETNAME());BEHPLAYERCOLL^RUN();}
ANNPLAYER0:ONFRAMECHANGED^UP_FROG={THIS^MOVE(0,-5);VARSTRING0^SET(THIS^GETNAME());BEHPLAYERCOLL^RUN();}
ANNPLAYER0:ONFRAMECHANGED^DOWN_FROG={THIS^MOVE(0,5);VARSTRING0^SET(THIS^GETNAME());BEHPLAYERCOLL^RUN();}
ANNPLAYER0:ONFRAMECHANGED^LEFT_FROG={THIS^MOVE(-5,0);VARSTRING0^SET(THIS^GETNAME());BEHPLAYERCOLL^RUN();}
ANNPLAYER0:ONFRAMECHANGED^RIGHT_FROG={THIS^MOVE(5,0);VARSTRING0^SET(THIS^GETNAME());BEHPLAYERCOLL^RUN();}
ANNPLAYER0:ONFRAMECHANGED^LADDER_UP={THIS^MOVE(0,-5);VARSTRING0^SET(THIS^GETNAME());BEHPLAYERCOLL^RUN();}
ANNPLAYER0:ONFRAMECHANGED^UP={THIS^MOVE(0,-5);VARSTRING0^SET(THIS^GETNAME());BEHPLAYERCOLL^RUN();BEHPLAYERCURSE^RUN(THIS^GETNAME());}
ANNPLAYER0:ONFRAMECHANGED^DOWN={THIS^MOVE(0,5);VARSTRING0^SET(THIS^GETNAME());BEHPLAYERCOLL^RUN();BEHPLAYERCURSE^RUN(THIS^GETNAME());}
ANNPLAYER0:ONFRAMECHANGED^LEFT={THIS^MOVE(-5,0);VARSTRING0^SET(THIS^GETNAME());BEHPLAYERCOLL^RUN();BEHPLAYERCURSE^RUN(THIS^GETNAME());}
ANNPLAYER0:ONFRAMECHANGED^RIGHT={THIS^MOVE(5,0);VARSTRING0^SET(THIS^GETNAME());BEHPLAYERCOLL^RUN();BEHPLAYERCURSE^RUN(THIS^GETNAME());}
ANNPLAYER0:ONFRAMECHANGED^UP_FROG={THIS^MOVE(0,-5);VARSTRING0^SET(THIS^GETNAME());BEHPLAYERCOLL^RUN();BEHPLAYERCURSE^RUN(THIS^GETNAME());}
ANNPLAYER0:ONFRAMECHANGED^DOWN_FROG={THIS^MOVE(0,5);VARSTRING0^SET(THIS^GETNAME());BEHPLAYERCOLL^RUN();BEHPLAYERCURSE^RUN(THIS^GETNAME());}
ANNPLAYER0:ONFRAMECHANGED^LEFT_FROG={THIS^MOVE(-5,0);VARSTRING0^SET(THIS^GETNAME());BEHPLAYERCOLL^RUN();BEHPLAYERCURSE^RUN(THIS^GETNAME());}
ANNPLAYER0:ONFRAMECHANGED^RIGHT_FROG={THIS^MOVE(5,0);VARSTRING0^SET(THIS^GETNAME());BEHPLAYERCOLL^RUN();BEHPLAYERCURSE^RUN(THIS^GETNAME());}
ANNPLAYER0:ONFRAMECHANGED^LADDER_UP={THIS^MOVE(0,-5);VARSTRING0^SET(THIS^GETNAME());BEHPLAYERCOLL^RUN();BEHPLAYERCURSE^RUN(THIS^GETNAME());}
ANNPLAYER0:ONFRAMECHANGED^LADDER_DOWN={THIS^MOVE(0,5);VARSTRING0^SET(THIS^GETNAME());BEHPLAYERCOLL^RUN();}
ANNPLAYER0:ONFINISHED^WAIT={THIS^PLAY("WAIT");VARSTRING0^SET(THIS^GETNAME());BEHPLAYERCOLL^RUN();}
ANNPLAYER0:ONFINISHED^PRISONER={THIS^PLAY("PRISONER");}

OBJECT=ANNPLAYER0CURSE
ANNPLAYER0CURSE:TYPE=ANIMO
ANNPLAYER0CURSE:VISIBLE=FALSE
ANNPLAYER0CURSE:FILENAME=PLAYERCURSE0.ANN
ANNPLAYER0CURSE:TOCANVAS=TRUE
ANNPLAYER0CURSE:PRIORITY=301
ANNPLAYER0CURSE:FPS=16
ANNPLAYER0CURSE:PRELOAD=TRUE
ANNPLAYER0CURSE:RELEASE=TRUE
ANNPLAYER0CURSE:MONITORCOLLISION=FALSE
ANNPLAYER0CURSE:MONITORCOLLISIONALPHA=FALSE


#ADD POSITION TRACKING FUNCTION ON PLAYER MOVEMENT
OBJECT=ANNPLAYER1
ANNPLAYER1:TYPE=ANIMO
ANNPLAYER1:VISIBLE=FALSE
Expand All @@ -254,19 +270,31 @@ ANNPLAYER1:RELEASE=TRUE
ANNPLAYER1:MONITORCOLLISION=FALSE
ANNPLAYER1:MONITORCOLLISIONALPHA=FALSE
ANNPLAYER1:ONFINISHED={VARSTRING0^SET(THIS^GETNAME());BEHPLAYERCOLL^RUN();VARSTRING1^SET(THIS^GETNAME());VARSTRING2^SET(THIS^GETEVENTNAME());@IF("VARPLAYERNAME","_","VARSTRING1","BFITMP6","BFITMP7");}
ANNPLAYER1:ONFRAMECHANGED^UP={THIS^MOVE(0,-5);VARSTRING0^SET(THIS^GETNAME());BEHPLAYERCOLL^RUN();}
ANNPLAYER1:ONFRAMECHANGED^DOWN={THIS^MOVE(0,5);VARSTRING0^SET(THIS^GETNAME());BEHPLAYERCOLL^RUN();}
ANNPLAYER1:ONFRAMECHANGED^LEFT={THIS^MOVE(-5,0);VARSTRING0^SET(THIS^GETNAME());BEHPLAYERCOLL^RUN();}
ANNPLAYER1:ONFRAMECHANGED^RIGHT={THIS^MOVE(5,0);VARSTRING0^SET(THIS^GETNAME());BEHPLAYERCOLL^RUN();}
ANNPLAYER1:ONFRAMECHANGED^UP_FROG={THIS^MOVE(0,-5);VARSTRING0^SET(THIS^GETNAME());BEHPLAYERCOLL^RUN();}
ANNPLAYER1:ONFRAMECHANGED^DOWN_FROG={THIS^MOVE(0,5);VARSTRING0^SET(THIS^GETNAME());BEHPLAYERCOLL^RUN();}
ANNPLAYER1:ONFRAMECHANGED^LEFT_FROG={THIS^MOVE(-5,0);VARSTRING0^SET(THIS^GETNAME());BEHPLAYERCOLL^RUN();}
ANNPLAYER1:ONFRAMECHANGED^RIGHT_FROG={THIS^MOVE(5,0);VARSTRING0^SET(THIS^GETNAME());BEHPLAYERCOLL^RUN();}
ANNPLAYER1:ONFRAMECHANGED^LADDER_UP={THIS^MOVE(0,-5);VARSTRING0^SET(THIS^GETNAME());BEHPLAYERCOLL^RUN();}
ANNPLAYER1:ONFRAMECHANGED^LADDER_DOWN={THIS^MOVE(0,5);VARSTRING0^SET(THIS^GETNAME());BEHPLAYERCOLL^RUN();}
ANNPLAYER1:ONFRAMECHANGED^UP={THIS^MOVE(0,-5);VARSTRING0^SET(THIS^GETNAME());BEHPLAYERCOLL^RUN();BEHPLAYERCURSE^RUN(THIS^GETNAME());}
ANNPLAYER1:ONFRAMECHANGED^DOWN={THIS^MOVE(0,5);VARSTRING0^SET(THIS^GETNAME());BEHPLAYERCOLL^RUN();BEHPLAYERCURSE^RUN(THIS^GETNAME());}
ANNPLAYER1:ONFRAMECHANGED^LEFT={THIS^MOVE(-5,0);VARSTRING0^SET(THIS^GETNAME());BEHPLAYERCOLL^RUN();BEHPLAYERCURSE^RUN(THIS^GETNAME());}
ANNPLAYER1:ONFRAMECHANGED^RIGHT={THIS^MOVE(5,0);VARSTRING0^SET(THIS^GETNAME());BEHPLAYERCOLL^RUN();BEHPLAYERCURSE^RUN(THIS^GETNAME());}
ANNPLAYER1:ONFRAMECHANGED^UP_FROG={THIS^MOVE(0,-5);VARSTRING0^SET(THIS^GETNAME());BEHPLAYERCOLL^RUN();BEHPLAYERCURSE^RUN(THIS^GETNAME());}
ANNPLAYER1:ONFRAMECHANGED^DOWN_FROG={THIS^MOVE(0,5);VARSTRING0^SET(THIS^GETNAME());BEHPLAYERCOLL^RUN();BEHPLAYERCURSE^RUN(THIS^GETNAME());}
ANNPLAYER1:ONFRAMECHANGED^LEFT_FROG={THIS^MOVE(-5,0);VARSTRING0^SET(THIS^GETNAME());BEHPLAYERCOLL^RUN();BEHPLAYERCURSE^RUN(THIS^GETNAME());}
ANNPLAYER1:ONFRAMECHANGED^RIGHT_FROG={THIS^MOVE(5,0);VARSTRING0^SET(THIS^GETNAME());BEHPLAYERCOLL^RUN();BEHPLAYERCURSE^RUN(THIS^GETNAME());}
ANNPLAYER1:ONFRAMECHANGED^LADDER_UP={THIS^MOVE(0,-5);VARSTRING0^SET(THIS^GETNAME());BEHPLAYERCOLL^RUN();BEHPLAYERCURSE^RUN(THIS^GETNAME());}
ANNPLAYER1:ONFRAMECHANGED^LADDER_DOWN={THIS^MOVE(0,5);VARSTRING0^SET(THIS^GETNAME());BEHPLAYERCOLL^RUN();BEHPLAYERCURSE^RUN(THIS^GETNAME());}
ANNPLAYER1:ONFINISHED^WAIT={THIS^PLAY("WAIT");VARSTRING0^SET(THIS^GETNAME());BEHPLAYERCOLL^RUN();}
ANNPLAYER1:ONFINISHED^PRISONER={THIS^PLAY("PRISONER");}

OBJECT=ANNPLAYER1CURSE
ANNPLAYER1CURSE:TYPE=ANIMO
ANNPLAYER1CURSE:VISIBLE=FALSE
ANNPLAYER1CURSE:FILENAME=PLAYERCURSE1.ANN
ANNPLAYER1CURSE:TOCANVAS=TRUE
ANNPLAYER1CURSE:PRIORITY=301
ANNPLAYER1CURSE:FPS=16
ANNPLAYER1CURSE:PRELOAD=TRUE
ANNPLAYER1CURSE:RELEASE=TRUE
ANNPLAYER1CURSE:MONITORCOLLISION=FALSE
ANNPLAYER1CURSE:MONITORCOLLISIONALPHA=FALSE

OBJECT=ANNPLAYERMASK
ANNPLAYERMASK:TYPE=ANIMO
ANNPLAYERMASK:VISIBLE=TRUE
Expand Down Expand Up @@ -1200,9 +1228,10 @@ BEHPLAYERSPELL:CODE={VARINT0^SET(*VARPLAYERNAME^GETCENTERX());VARINT1^SET(*VARPL
#PATCHED
#ALWAYS MAKE THE PLAYER "AWAKE" AND THUS FIX PLAYER STAYING ASLEEP FOR ETERNITY
#REPLACE SPELL-SPECIFIC CONDITIONALS WITH MORE GENERAL ONES AS ARRAYPLAYERSSTATE[x] HOLDS ONLY ONE SPELL AT A TIME
#STOP CURSE ANIMATION PLAYING
OBJECT=BEHPLAYERRESUME
BEHPLAYERRESUME:TYPE=BEHAVIOUR
BEHPLAYERRESUME:CODE={VARPLAYERELAPSE^SET(THIS^GETNAME());VARCLONE^SET(THIS^GETCLONEINDEX());VARSTRING0^SET(["ANNPLAYER"+[VARCLONE-1]]);VARSPELLNAME^SET(ARRAYPLAYERSSTATE^GET([VARCLONE-1]));ARRAYPLAYERSSTATE^CHANGEAT([VARCLONE-1],"NULL");*VARSTRING0^SETFPS(30);VARMOUSESPEED^SET(1);ARRAYKEYBOARD^REMOVEALL();ARRAYKEYBOARD^ADD("UP","DOWN","LEFT","RIGHT");*VARSTRING0^PLAY("IDLE");BFITMP222^RUN();}
BEHPLAYERRESUME:CODE={VARPLAYERELAPSE^SET(THIS^GETNAME());VARCLONE^SET(THIS^GETCLONEINDEX());VARSTRING0^SET(["ANNPLAYER"+[VARCLONE-1]]);VARSPELLNAME^SET(ARRAYPLAYERSSTATE^GET([VARCLONE-1]));ARRAYPLAYERSSTATE^CHANGEAT([VARCLONE-1],"NULL");*VARSTRING0^SETFPS(30);VARMOUSESPEED^SET(1);ARRAYKEYBOARD^REMOVEALL();ARRAYKEYBOARD^ADD("UP","DOWN","LEFT","RIGHT");*VARSTRING0^PLAY("IDLE");BFITMP222^RUN();*[VARSTRING0+"CURSE"]^PLAY("IDLE");}


OBJECT=BEHSPELLREADY
Expand Down Expand Up @@ -1251,13 +1280,18 @@ OBJECT=BEHENEMYCURSE
BEHENEMYCURSE:TYPE=BEHAVIOUR
BEHENEMYCURSE:CODE={VARSTRING0^SET($1);VARSTRING1^SET(VARSTRING0);VARINT0^SET(*VARSTRING0^GETCLONEINDEX());VARSTRING1^CUT(0,VARSTRING1^FIND("_"));VARSTRING2^SET([VARSTRING1+"CURSE_"+VARINT0]);*VARSTRING2^SETPOSITION(*VARSTRING0^GETCENTERX(),*VARSTRING0^GETCENTERY());}


#TRACK PLAYER POSITION AND APPLY IT TO CURSE ANIMATION
OBJECT=BEHPLAYERCURSE
BEHPLAYERCURSE:TYPE=BEHAVIOUR
BEHPLAYERCURSE:CODE={VARSTRING0^SET($1);VARSTRING2^SET([VARSTRING0+"CURSE"]);*VARSTRING2^SETPOSITION(*VARSTRING0^GETPOSITIONX(),*VARSTRING0^GETPOSITIONY());}

#PATCHED
#REPLACE SPELL-SPECIFIC CONDITIONALS WITH MORE GENERAL ONES AS ARRAYENEMYxSTATE[y] HOLDS ONLY ONE SPELL AT A TIME
OBJECT=BEHENEMYRESUME
BEHENEMYRESUME:TYPE=BEHAVIOUR
BEHENEMYRESUME:CODE={VARENEMYELAPSE^SET(THIS^GETNAME());VARENEMYNR^SET(VARENEMYELAPSE^GET(8));VARCLONE^SET(THIS^GETCLONEINDEX());VARCURSE^SET(["ANNENEMY"+VARENEMYNR+"CURSE_"+VARCLONE]);VARENEMYNAME^SET(["ANNENEMY"+VARENEMYNR+"_"+VARCLONE]);VARARRAYNAME^SET(["ARRAYENEMY"+VARENEMYNR+"STATE"]);VARSPELLNAME^SET(*VARARRAYNAME^GET([VARCLONE-1]));*VARCURSE^PLAY("IDLE");@IF("*VARENEMYNAME^ISPLAYING()!'TRUE","{*VARENEMYNAME^PLAY("IDLE");}","");@IF("*VARENEMYNAME^GETEVENTNAME()^FIND("_FROG")","!_","-1","BFITMP244","");*VARARRAYNAME^CHANGEAT([VARCLONE-1],"NULL");*VARENEMYNAME^SETFPS(16);}


OBJECT=BEHMOVESPELL
BEHMOVESPELL:TYPE=BEHAVIOUR
BEHMOVESPELL:CODE={VARSTRING0^SET(THIS^GETNAME());VARSTRING1^SET(CANVASOBSERVER^GETGRAPHICSAT(THIS^GETCENTERX(),THIS^GETCENTERY(),FALSE,125,130,FALSE));VARSTRING2^SET(VARSTRING1^GET(3));@IF("VARSTRING1'"IMGMASK"||VARSTRING2'"B"||VARSTRING2'"S"","BFITMP245","");VARSTRING1^SET(CANVASOBSERVER^GETGRAPHICSAT(THIS^GETCENTERX(),THIS^GETCENTERY(),FALSE,300,300,FALSE));@IF(VARSTRING1^GET(3),"_",""E"","BFITMP246","");@IF(VARSTRING1^GET(3),"_",""P"","BFITMP247","");}
Expand Down Expand Up @@ -1296,9 +1330,10 @@ BEHUPDATEMENU:CODE={@LOOP("{VARSTRING0^SET(ARRAYPLAYERS^GET(_I_));VARSTRING1^SET

#PATCHED
#MAKE USE OF NEWLY ADDED VARSUPPRESSIONEVENT MECHANISM IN ORDER TO MAKE PLAYER CHANGING SAFER AND PRESERVE SPELL EFFECTS
#FIX PRESERVING CIRCLES AND WHIRLS EFFECT IF INACTIVE PLAYER WAS HIT WITH A DIFFERENT SPELL
OBJECT=BEHONCHANGEDPLAYER
BEHONCHANGEDPLAYER:TYPE=BEHAVIOUR
BEHONCHANGEDPLAYER:CODE={VARINT1^SET([ARRAYPLAYERS^FIND(VARPLAYERNAME)+1]);@IF(*["ANNPLAYERDARKELAPSE_"+VARINT1]^ISPLAYING(),"_","TRUE","BFITMP276","");VARSTRING0^SET(ARRAYPLAYERS^GET(VARINT0));VARSTRING1^SET(*VARSTRING0^GETEVENTNAME());@IF("VARSTRING1","_",""PRISONER"","BFITMP277","");VARSTRING0^SET(*VARPLAYERNAME^GETEVENTNAME());@IF(VARSTRING0^FIND("IDLE"),"_","-1","BFITMP280","");@IF(ARRAYPLAYERSSTATE^GET(VARINT0),"_",""SWIRL"","BFITMP281","BFITMP282");@IF(*["ANNPLAYERDARKELAPSE_"+[VARINT0+1]]^ISPLAYING(),"_","TRUE","BFITMP283","");VARLASTMOVE^SET(*VARPLAYERNAME^GETFRAMENAME(*VARPLAYERNAME^GETEVENTNAME(),0));@IF("*VARPLAYERNAME^ISPLAYING()'TRUE","{VARSUPPRESSIONEVENT^SET(*VARPLAYERNAME^GETEVENTNAME());*VARPLAYERNAME^PLAY(VARSUPPRESSIONEVENT);}","");VARPLAYERNAME^SET(ARRAYPLAYERS^GET(VARINT0));VARMASKNAME^SET(["ANNPLAYERMASK_"+[VARINT0+1]]);VARLASTMOVE^SET(*VARPLAYERNAME^GETFRAMENAME(*VARPLAYERNAME^GETEVENTNAME(),0));@IF("VARINT0'0||VARINT0'1","BFITMP284","BFITMP285");@IF(SEQLAB^ISPLAYING(),"_","FALSE","BFITMP286","");VARPLAYERCHANGED^SET(1);BEHUPDATEMENU^RUN();}
BEHONCHANGEDPLAYER:CODE={VARINT1^SET([ARRAYPLAYERS^FIND(VARPLAYERNAME)+1]);@IF(*["ANNPLAYERDARKELAPSE_"+VARINT1]^ISPLAYING(),"_","TRUE","BFITMP276","");VARSTRING0^SET(ARRAYPLAYERS^GET(VARINT0));@IF(*[VARSTRING0+"CURSE"]^ISPLAYING("SWIRL"),"_","TRUE","BFITMP281","BFITMP282");VARSTRING1^SET(*VARSTRING0^GETEVENTNAME());@IF("VARSTRING1","_",""PRISONER"","BFITMP277","");VARSTRING0^SET(*VARPLAYERNAME^GETEVENTNAME());@IF(VARSTRING0^FIND("IDLE"),"_","-1","BFITMP280","");@IF(*["ANNPLAYERDARKELAPSE_"+[VARINT0+1]]^ISPLAYING(),"_","TRUE","BFITMP283","");VARLASTMOVE^SET(*VARPLAYERNAME^GETFRAMENAME(*VARPLAYERNAME^GETEVENTNAME(),0));@IF("*VARPLAYERNAME^ISPLAYING()'TRUE","{VARSUPPRESSIONEVENT^SET(*VARPLAYERNAME^GETEVENTNAME());*VARPLAYERNAME^PLAY(VARSUPPRESSIONEVENT);}","");VARPLAYERNAME^SET(ARRAYPLAYERS^GET(VARINT0));VARMASKNAME^SET(["ANNPLAYERMASK_"+[VARINT0+1]]);VARLASTMOVE^SET(*VARPLAYERNAME^GETFRAMENAME(*VARPLAYERNAME^GETEVENTNAME(),0));@IF("VARINT0'0||VARINT0'1","BFITMP284","BFITMP285");@IF(SEQLAB^ISPLAYING(),"_","FALSE","BFITMP286","");VARPLAYERCHANGED^SET(1);BEHUPDATEMENU^RUN();}

#PATCHED
#ADD FRAME NAME CHECKING TO KNOW WHEN TO MAKE AN ENEMY SHOOT A SPELL
Expand Down Expand Up @@ -1884,19 +1919,20 @@ BFITMP258:CODE={ARRAYKEYBOARD^REMOVEALL();ARRAYKEYBOARD^ADD("DOWN","UP","RIGHT",

#PATCHED
#MAKE THE MOUSE SPEED DEBUFF APPEAR ONLY IF REKSIO IS HIT WITH THE SWIRL SPELL
#ADD SPELL GRAPHICAL EFFECT
OBJECT=BFITMP259
BFITMP259:TYPE=BEHAVIOUR
BFITMP259:CODE={ARRAYPLAYERSSTATE^CHANGEAT(VARINT0,VARSPELLNAME);@IF("VARSTRING1'"ANNPLAYER0"","{VARMOUSESPEED^SET(10);}","");@IF("VARPLAYERNAME","_","VARSTRING1","BFITMP258","");@BREAK();};

BFITMP259:CODE={ARRAYPLAYERSSTATE^CHANGEAT(VARINT0,VARSPELLNAME);*[VARSTRING1+"CURSE"]^PLAY("SWIRL");@IF("VARSTRING1'"ANNPLAYER0"","{VARMOUSESPEED^SET(10);}","");@IF("VARPLAYERNAME","_","VARSTRING1","BFITMP258","");@BREAK();};

#ADD SPELL GRAPHICAL EFFECT
OBJECT=BFITMP260
BFITMP260:TYPE=BEHAVIOUR
BFITMP260:CODE={ARRAYPLAYERSSTATE^CHANGEAT(VARINT0,VARSPELLNAME);*VARSTRING1^SETFPS(16);@BREAK();}

BFITMP260:CODE={ARRAYPLAYERSSTATE^CHANGEAT(VARINT0,VARSPELLNAME);*[VARSTRING1+"CURSE"]^PLAY("FLY");*VARSTRING1^SETFPS(16);@BREAK();}

#ADD SPELL GRAPHICAL EFFECT
OBJECT=BFITMP261
BFITMP261:TYPE=BEHAVIOUR
BFITMP261:CODE={ARRAYPLAYERSSTATE^CHANGEAT(VARINT0,VARSPELLNAME);*VARSTRING1^SETFPS(4);@BREAK();}
BFITMP261:CODE={ARRAYPLAYERSSTATE^CHANGEAT(VARINT0,VARSPELLNAME);@IF(*[VARSTRING1+"CURSE"]^ISPLAYING("SWIRL"),"!_","TRUE","{*[VARSTRING1+"CURSE"]^PLAY("BUDYN");}","");*VARSTRING1^SETFPS(4);@BREAK();}

#PATCHED
#NULLIFY SPELL EFFECTS IF THE HIT PLAYER IS A FROG BY DEFINITION (DWARFS)
Expand Down
Binary file added Dane/Game/Przygoda/Labirynt/PlayerCurse0.ann
Binary file not shown.
Binary file added Dane/Game/Przygoda/Labirynt/PlayerCurse1.ann
Binary file not shown.

0 comments on commit a3e0c32

Please sign in to comment.