home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ring.yamanashi.ac.jp/pub/pc/freem/action/
/
action.zip
/
TQAP.zip
/
Usr
/
Magic.tonyu
< prev
next >
Wrap
Text File
|
2007-06-04
|
2KB
|
118 lines
extends DxChar;
p=-1;
anim=newAnimation();
if ($Location.sungeki!=1){
for (jiki in $chars){
if (jiki is Mychar) break;
}
}
if ($Location.sungeki==1){
for (jiki in $chars){
if (jiki is Puppet) break;
}
}
if (jiki.magic==0){
_x=(jiki.x+jiki.f*32)/32;
_y= jiki.y/32;
blockset_judge=setOKorNOT();
if (blockset_judge && isforbidden()){
jiki.magic=1;
$mplayer.play($se_pyoro68);
x=trunc(_x)*32+16;
y=trunc(_y)*32+16;
anim.swing($pat_effect01+0,$pat_effect01+2,3);
updateEx(30);
anim.stop();
p=-1;
$map.set(_x,_y,$pat_block+7);
updateEx(100);
if (blockset_judge==1) $map.set(_x,_y,$pat_block+0);
if (blockset_judge==2) $map.set(_x,_y,$pat_block+5);
jiki.magic=0;
}
else {
$mplayer.play($se_cursor00_a);
update();
}
}
function isblock(tile){
var tile_bk1,tile_bk2;
var value;
tile_bk1=$pat_block+30;
tile_bk2=$pat_block+59;
value=(tile>=tile_bk1 && tile<=tile_bk2);
return value;
}
function isback(tile){
var tile_bg1,tile_bg2;
var value;
tile_bg1=$pat_block+0 ;
tile_bg2=$pat_block+4;
value=(tile>=tile_bg1 && tile<=tile_bg2);
return value;
}
function isforbidden(){
var tile_fb;
var tile1,tile2;
var value;
tile_fb=$pat_block+2;
tile1=$map.get( jiki.x/32,jiki.y/32);
tile2=$map.get((jiki.x+jiki.f*32)/32,jiki.y/32);
value=(tile1!=tile_fb && tile2!=tile_fb);
return value;
}
function setOKorNOT(){
var tile;
var OK1,OK2,OK3,OK4,OK5,OK6;
var value;
tile=$map.get((jiki.x+jiki.f*32)/32,jiki.y/32);
OK1=$pat_block+0;
OK2=$pat_block+6;
OK3=$pat_block+8;
OK4=$pat_block+3;
OK5=$pat_block+4;
OK6=$pat_block+5;
value=(tile==OK1 || tile==OK2 || tile==OK3);
value=(tile==OK4 || tile==OK5 || tile==OK6 || value);
if (tile==OK6) value=2;
return value;
}
function onUpdate(){
while(1) {if (jiki.pause==0) break;update();}
}