664 lines
18 KiB
Text
664 lines
18 KiB
Text
;スプライトセット
|
|
@stage_spset
|
|
spset "debug",800
|
|
spset "effect",801
|
|
spset "orgasm",891
|
|
spset "caption",893
|
|
if pageid=="stage" then
|
|
spset "character",895
|
|
spset "command",896
|
|
elseif pageid=="log" then
|
|
spset "command",895
|
|
spset "character",896
|
|
endif
|
|
spset "panel",897
|
|
spset "state",898
|
|
spset "bg",899
|
|
return
|
|
|
|
;スプライトセット全消去
|
|
@stage_spsetdelete
|
|
spsetdelete "debug"
|
|
spsetdelete "effect"
|
|
spsetdelete "orgasm"
|
|
spsetdelete "event"
|
|
spsetdelete "caption"
|
|
spsetdelete "character"
|
|
spsetdelete "command"
|
|
spsetdelete "panel"
|
|
spsetdelete "state"
|
|
spsetdelete "bg"
|
|
return
|
|
|
|
;ステージデプス合成
|
|
@trans_stdp
|
|
%s=str(depth)
|
|
zeropad 2,%s
|
|
stdp=str(stage)+%s
|
|
return
|
|
|
|
;冒頭演出
|
|
@caption_enter
|
|
sp "caption:stage",{name="img\panel\caption_"+str(stage)+"_0.png",a=255,x=0,y=0,z=0}
|
|
print #f,500
|
|
wait 1500
|
|
return
|
|
|
|
;キャプション
|
|
@caption_stage
|
|
sp "caption:stage",{name="img\panel\caption_"+st+"_1.png",a=255,x=22,y=21,z=0}
|
|
return
|
|
|
|
;パネル初期化
|
|
@panel_format
|
|
for %y=1 to 9
|
|
for %x=1 to 9
|
|
panel[%x][%y][0]=-1
|
|
if %y==1 and %x>=5 then panel[%x][%y][0]=1
|
|
if %y==2 and %x>=4 then panel[%x][%y][0]=1
|
|
if %y==3 and %x>=3 then panel[%x][%y][0]=1
|
|
if %y==4 and %x>=2 then panel[%x][%y][0]=1
|
|
if %y==5 and %x<=9 then panel[%x][%y][0]=1
|
|
if %y==6 and %x<=8 then panel[%x][%y][0]=1
|
|
if %y==7 and %x<=7 then panel[%x][%y][0]=1
|
|
if %y==8 and %x<=6 then panel[%x][%y][0]=1
|
|
if %y==9 and %x<=5 then panel[%x][%y][0]=1
|
|
panel[%x][%y][1]=0
|
|
panel[%x][%y][2]=0
|
|
panel[%x][%y][3]=0
|
|
panel[%x][%y][4]=0
|
|
next
|
|
next
|
|
for %lv=1 to 5
|
|
if fw[%lv]>0 then
|
|
for %i=1 to fw[%lv]
|
|
panelset_fw %lv
|
|
next
|
|
endif
|
|
next
|
|
if securityhole>0 then
|
|
for %i=1 to securityhole
|
|
panelset_securityhole
|
|
next
|
|
endif
|
|
panel_format_adj
|
|
return
|
|
|
|
;ファイアウォール抽選
|
|
@panelset_fw
|
|
param %lv
|
|
rmax=-1
|
|
for %y=1 to 9
|
|
for %x=1 to 9
|
|
if panel[%x][%y][0]==1 and panel[%x][%y][1]==0 then
|
|
rmax=rmax+1
|
|
slot[rmax]=%y*10+%x
|
|
endif
|
|
next
|
|
next
|
|
rnd %rval,0,rmax
|
|
%x=slot[%rval] mod 10
|
|
%y=floor(slot[%rval]/10)
|
|
panel[%x][%y][1]=%lv
|
|
return
|
|
|
|
;セキュリティーホール抽選
|
|
@panelset_securityhole
|
|
rmax=-1
|
|
for %y=1 to 9
|
|
for %x=1 to 9
|
|
if panel[%x][%y][1]>0 and panel[%x][%y][2]==0 then
|
|
rmax=rmax+1
|
|
slot[rmax]=%y*10+%x
|
|
endif
|
|
next
|
|
next
|
|
rnd %rval,0,rmax
|
|
%x=slot[%rval] mod 10
|
|
%y=floor(slot[%rval]/10)
|
|
panel[%x][%y][2]=1
|
|
return
|
|
|
|
;隣接値初期化
|
|
@panel_format_adj
|
|
for %y=1 to 9
|
|
for %x=1 to 9
|
|
panel[%x][%y][5]=0
|
|
panel[%x][%y][6]=0
|
|
if panel[%x][%y][1]<=0 then
|
|
if %x>1 then
|
|
if panel[%x-1][%y][1]>0 then panel[%x][%y][5]=panel[%x][%y][5]+panel[%x-1][%y][1]
|
|
if panel[%x-1][%y][1]>0 and panel[%x-1][%y][2]==1 then panel[%x][%y][6]=1
|
|
endif
|
|
if %y>1 then
|
|
if panel[%x][%y-1][1]>0 then panel[%x][%y][5]=panel[%x][%y][5]+panel[%x][%y-1][1]
|
|
if panel[%x][%y-1][1]>0 and panel[%x][%y-1][2]==1 then panel[%x][%y][6]=1
|
|
endif
|
|
if %y>1 and %x<9 then
|
|
if panel[%x+1][%y-1][1]>0 then panel[%x][%y][5]=panel[%x][%y][5]+panel[%x+1][%y-1][1]
|
|
if panel[%x+1][%y-1][1]>0 and panel[%x+1][%y-1][2]==1 then panel[%x][%y][6]=1
|
|
endif
|
|
if %x<9 then
|
|
if panel[%x+1][%y][1]>0 then panel[%x][%y][5]=panel[%x][%y][5]+panel[%x+1][%y][1]
|
|
if panel[%x+1][%y][1]>0 and panel[%x+1][%y][2]==1 then panel[%x][%y][6]=1
|
|
endif
|
|
if %y<9 then
|
|
if panel[%x][%y+1][1]>0 then panel[%x][%y][5]=panel[%x][%y][5]+panel[%x][%y+1][1]
|
|
if panel[%x][%y+1][1]>0 and panel[%x][%y+1][2]==1 then panel[%x][%y][6]=1
|
|
endif
|
|
if %y<9 and %x>1 then
|
|
if panel[%x-1][%y+1][1]>0 then panel[%x][%y][5]=panel[%x][%y][5]+panel[%x-1][%y+1][1]
|
|
if panel[%x-1][%y+1][1]>0 and panel[%x-1][%y+1][2]==1 then panel[%x][%y][6]=1
|
|
endif
|
|
endif
|
|
next
|
|
next
|
|
return
|
|
|
|
;パネル開放
|
|
@panel_open
|
|
param %x,%y
|
|
panel[%x][%y][0]=0
|
|
if panel[%x][%y][3]>0 then
|
|
mark[panel[%x][%y][3]]=mark[panel[%x][%y][3]]-1
|
|
panel[%x][%y][3]=0
|
|
state_fw
|
|
endif
|
|
spdelete "panel:hex"+str(%y)+str(%x)
|
|
spdeletes "command:hex"+str(%y)+str(%x)
|
|
if panel[%x][%y][1]>0 then panel_open_fw %x,%y
|
|
if panel[%x][%y][5]>0 then panel_open_adj %x,%y
|
|
if panel[%x][%y][1]==0 and panel[%x][%y][5]==0 then panel_blank_reserve %x,%y
|
|
if critical>=1 and panel[%x][%y][1]>0 then charge=charge+panel[%x][%y][1]
|
|
if hacking>0 and critical==0 then print #u,500,"img\rule_00.png"
|
|
if hack<5 then state_hacks_update 1
|
|
print #c
|
|
return
|
|
|
|
;ファイアウォールスプライト
|
|
@panel_open_fw
|
|
param %x,%y
|
|
%weak=""
|
|
if panel[%x][%y][2]==1 then %weak="_w"
|
|
sp "panel:hex"+str(%y*10+%x),{name="img\panel\panel_fw_"+str(panel[%x][%y][1])+%weak+".png",a=255,x=909+91*%x,y=-353+56*%x+112*%y,z=2}
|
|
return
|
|
|
|
;隣接値スプライト
|
|
@panel_open_adj
|
|
param %x,%y
|
|
if panel[%x][%y][6]==1 then
|
|
%color="m"
|
|
else
|
|
%color="w"
|
|
endif
|
|
%num=str(panel[%x][%y][5])
|
|
zeropad 2,%num
|
|
if panel[%x][%y][5]>=20 then
|
|
sp "panel:hex"+str(%y*10+%x)+"_2",{name="img\panel\num_l_"+%color+"_"+mid(%num,0,1)+".png",a=255,x=934+91*%x,y=-328+56*%x+112*%y,z=2}
|
|
sp "panel:hex"+str(%y*10+%x)+"_1",{name="img\panel\num_l_"+%color+"_"+mid(%num,1,1)+".png",a=255,x=969+91*%x,y=-328+56*%x+112*%y,z=2}
|
|
elseif panel[%x][%y][5]>=10 and panel[%x][%y][5]<=19 then
|
|
sp "panel:hex"+str(%y*10+%x)+"_2",{name="img\panel\num_l_"+%color+"_"+mid(%num,0,1)+".png",a=255,x=924+91*%x,y=-328+56*%x+112*%y,z=2}
|
|
sp "panel:hex"+str(%y*10+%x)+"_1",{name="img\panel\num_l_"+%color+"_"+mid(%num,1,1)+".png",a=255,x=959+91*%x,y=-328+56*%x+112*%y,z=2}
|
|
elseif panel[%x][%y][5]>=2 and panel[%x][%y][5]<=9 then
|
|
spdelete "panel:hex"+str(%y*10+%x)+"_2"
|
|
sp "panel:hex"+str(%y*10+%x)+"_1",{name="img\panel\num_l_"+%color+"_"+mid(%num,1,1)+".png",a=255,x=951+91*%x,y=-328+56*%x+112*%y,z=2}
|
|
elseif panel[%x][%y][5]==1 then
|
|
spdelete "panel:hex"+str(%y*10+%x)+"_2"
|
|
sp "panel:hex"+str(%y*10+%x)+"_1",{name="img\panel\num_l_"+%color+"_"+mid(%num,1,1)+".png",a=255,x=941+91*%x,y=-328+56*%x+112*%y,z=2}
|
|
elseif panel[%x][%y][5]==0 then
|
|
spdeletes "panel:hex"+str(%y*10+%x)
|
|
panel_blank_reserve %x,%y
|
|
endif
|
|
return
|
|
|
|
;空白自動開放
|
|
@panel_blank
|
|
param %x,%y
|
|
if %x>1 then
|
|
if panel[%x-1][%y][0]==1 then panel_blank_open %x,%y
|
|
endif
|
|
if %y>1 then
|
|
if panel[%x][%y-1][0]==1 then panel_blank_open %x,%y
|
|
endif
|
|
if %y>1 and %x<9 then
|
|
if panel[%x+1][%y-1][0]==1 then panel_blank_open %x,%y
|
|
endif
|
|
if %x<9 then
|
|
if panel[%x+1][%y][0]==1 then panel_blank_open %x,%y
|
|
endif
|
|
if %y<9 then
|
|
if panel[%x][%y+1][0]==1 then panel_blank_open %x,%y
|
|
endif
|
|
if %x>1 and %y<9 then
|
|
if panel[%x-1][%y+1][0]==1 then panel_blank_open %x,%y
|
|
endif
|
|
return
|
|
|
|
@panel_blank_open
|
|
param %cx,%cy
|
|
se1 "122"
|
|
%n=0
|
|
for %i=1 to 99
|
|
blank[%i]=0
|
|
next
|
|
@panel_blank_repeat
|
|
for %i=1 to 6
|
|
if %i==1 and %cx==1 then continue
|
|
if %i==2 and %cy==1 then continue
|
|
if %i==3 and %cx==9 then continue
|
|
if %i==3 and %cy==1 then continue
|
|
if %i==4 and %cx==9 then continue
|
|
if %i==5 and %cy==9 then continue
|
|
if %i==6 and %cx==1 then continue
|
|
if %i==6 and %cy==9 then continue
|
|
if %i==1 then %y=%cy:%x=%cx-1
|
|
if %i==2 then %y=%cy-1:%x=%cx
|
|
if %i==3 then %y=%cy-1:%x=%cx+1
|
|
if %i==4 then %y=%cy:%x=%cx+1
|
|
if %i==5 then %y=%cy+1:%x=%cx
|
|
if %i==6 then %y=%cy+1:%x=%cx-1
|
|
if panel[%x][%y][0]==1 then
|
|
panel_open %x,%y
|
|
if panel[%x][%y][5]==0 then
|
|
%n=%n+1
|
|
blank[%n]=%y*10+%x
|
|
endif
|
|
endif
|
|
next
|
|
for %i=1 to 99
|
|
if blank[%i]>0 then
|
|
exit
|
|
endif
|
|
next
|
|
if %i<=99 then
|
|
%cy=floor(blank[%i]/10)
|
|
%cx=blank[%i] mod 10
|
|
blank[%i]=0
|
|
goto @panel_blank_repeat
|
|
endif
|
|
return
|
|
|
|
;空白自動開放予約
|
|
@panel_blank_reserve
|
|
param %x,%y
|
|
blank_reserve=blank_reserve+1
|
|
blank_reserve[blank_reserve]=%y*10+%x
|
|
return
|
|
|
|
;ハッキング
|
|
@panel_hacking
|
|
param %x,%y
|
|
se1 "016"
|
|
hacking=panel[%x][%y][3]
|
|
if hack==5 then hacks=0
|
|
hack=hack-panel[%x][%y][3]
|
|
state_hacks
|
|
state_hack
|
|
sp "panel:hex"+str(%y*10+%x),{name="img\panel\panel_mark_0.png",a=255,x=909+91*%x,y=-353+56*%x+112*%y,z=2}
|
|
sp "effect:mark_0",{name="img\panel\panel_mark_"+str(hacking)+"_0.png",a=255,x=909+91*%x,y=-353+56*%x+112*%y,z=0}
|
|
sp "effect:mark_1",{name="img\panel\panel_mark_"+str(hacking)+"_1.png",a=255,x=909+91*%x,y=-353+56*%x+112*%y,z=0}
|
|
sp "effect:mark_2",{name="img\panel\panel_mark_"+str(hacking)+"_2.png",a=255,x=909+91*%x,y=-353+56*%x+112*%y,z=0}
|
|
for %i=1 to 25
|
|
spmovelt "effect:mark_0",966+91*%x,-299+56*%x+112*%y,1+0.1*%i,1+0.1*%i,0,250-10*%i
|
|
spmove "effect:mark_1",909+91*%x-2*%i,-353+56*%x+112*%y-1*%i,250-10*%i
|
|
spmove "effect:mark_2",909+91*%x+2*%i,-353+56*%x+112*%y+1*%i,250-10*%i
|
|
print #c
|
|
wait 1
|
|
next
|
|
spdeletes "effect:mark_"
|
|
sp "effect:spark",{name={"img\panel\effect_spark_"+str(hacking)+"_0.png","img\panel\effect_spark_"+str(hacking)+"_1.png","img\panel\effect_spark_"+str(hacking)+"_2.png","img\panel\effect_spark_"+str(hacking)+"_3.png","img\panel\effect_spark_"+str(hacking)+"_4.png","img\panel\effect_spark_"+str(hacking)+"_5.png","img\panel\effect_spark_"+str(hacking)+"_6.png","img\panel\effect_spark_"+str(hacking)+"_7.png","img\panel\effect_spark_"+str(hacking)+"_8.png","img\panel\effect_spark_"+str(hacking)+"_9.png","*1,1,#00000000"},a=255,x=468+91*%x,y=-1297+56*%x+112*%y,z=0,blend=1,animtime=50,animtype="delete"}
|
|
se1 "120"
|
|
se1 "500"
|
|
spwait "effect:spark"
|
|
return
|
|
|
|
;パネルアタック
|
|
@panel_attack
|
|
param %x,%y
|
|
if panel[%x][%y][2]==1 then panel_induced %x,%y
|
|
panel_explosion
|
|
@panel_attack_critical
|
|
if critical==1 then
|
|
critical=2
|
|
for %y=1 to 9
|
|
for %x=1 to 9
|
|
if panel[%x][%y][4]==1 then
|
|
panel[%x][%y][4]=0
|
|
panel_open %x,%y
|
|
if panel[%x][%y][2]==1 then panel_induced %x,%y
|
|
endif
|
|
next
|
|
next
|
|
print #u,500,"img\rule_00.png"
|
|
panel_explosion
|
|
endif
|
|
if critical==1 then goto @panel_attack_critical
|
|
return
|
|
|
|
;誘爆フラグ
|
|
@panel_induced
|
|
param %x,%y
|
|
critical=1
|
|
if %x>1 then
|
|
if panel[%x-1][%y][0]==1 then panel[%x-1][%y][4]=1
|
|
endif
|
|
if %y>1 then
|
|
if panel[%x][%y-1][0]==1 then panel[%x][%y-1][4]=1
|
|
endif
|
|
if %y>1 and %x<9 then
|
|
if panel[%x+1][%y-1][0]==1 then panel[%x+1][%y-1][4]=1
|
|
endif
|
|
if %x<9 then
|
|
if panel[%x+1][%y][0]==1 then panel[%x+1][%y][4]=1
|
|
endif
|
|
if %y<9 then
|
|
if panel[%x][%y+1][0]==1 then panel[%x][%y+1][4]=1
|
|
endif
|
|
if %y<9 and %x>1 then
|
|
if panel[%x-1][%y+1][0]==1 then panel[%x-1][%y+1][4]=1
|
|
endif
|
|
return
|
|
|
|
;パネル爆破
|
|
@panel_explosion
|
|
%spname=""
|
|
for %y=1 to 9
|
|
for %x=1 to 9
|
|
%flag=0
|
|
if panel[%x][%y][0]==0 and panel[%x][%y][1]>0 then
|
|
%flag=1
|
|
if complete==0 then panel_extinguishing %x,%y
|
|
endif
|
|
if panel[%x][%y][4]==1 then %flag=1
|
|
if %flag==1 then
|
|
sp "effect:explosion"+str(%y*10+%x),{name={"img\panel\effect_explosion_0.png","img\panel\effect_explosion_1.png","img\panel\effect_explosion_2.png","img\panel\effect_explosion_3.png","img\panel\effect_explosion_4.png","img\panel\effect_explosion_5.png","img\panel\effect_explosion_6.png","img\panel\effect_explosion_7.png","img\panel\effect_explosion_8.png","img\panel\effect_explosion_9.png","*1,1,#00000000"},a=255,x=870+91*%x,y=-395+56*%x+112*%y,z=0,blend=1,animtime=50,animtype="delete"}
|
|
%spname="effect:explosion"+str(%y*10+%x)
|
|
endif
|
|
next
|
|
next
|
|
if %spname<>"" then
|
|
se1 "604"
|
|
if critical==1 then se1 "126"
|
|
spwait %spname
|
|
endif
|
|
return
|
|
|
|
;パネル消火
|
|
@panel_extinguishing
|
|
param %x,%y
|
|
spdelete "panel:hex"+str(%y*10+%x)
|
|
sp "panel:burnt"+str(%y*10+%x),{name="img\panel\panel_fw_"+str(panel[%x][%y][1])+"_g.png",a=255,x=909+91*%x,y=-353+56*%x+112*%y,z=3}
|
|
fw[panel[%x][%y][1]]=fw[panel[%x][%y][1]]-1
|
|
state_fw
|
|
panel[%x][%y][1]=panel[%x][%y][1]*-1
|
|
panel_format_adj
|
|
panel_open_adj %x,%y
|
|
if %x>1 then
|
|
if panel[%x-1][%y][0]==0 and panel[%x-1][%y][1]<=0 then panel_open_adj %x-1,%y
|
|
endif
|
|
if %y>1 then
|
|
if panel[%x][%y-1][0]==0 and panel[%x][%y-1][1]<=0 then panel_open_adj %x,%y-1
|
|
endif
|
|
if %y>1 and %x<9 then
|
|
if panel[%x+1][%y-1][0]==0 and panel[%x+1][%y-1][1]<=0 then panel_open_adj %x+1,%y-1
|
|
endif
|
|
if %x<9 then
|
|
if panel[%x+1][%y][0]==0 and panel[%x+1][%y][1]<=0 then panel_open_adj %x+1,%y
|
|
endif
|
|
if %y<9 then
|
|
if panel[%x][%y+1][0]==0 and panel[%x][%y+1][1]<=0 then panel_open_adj %x,%y+1
|
|
endif
|
|
if %y<9 and %x>1 then
|
|
if panel[%x-1][%y+1][0]==0 and panel[%x-1][%y+1][1]<=0 then panel_open_adj %x-1,%y+1
|
|
endif
|
|
return
|
|
|
|
;マーク設置数初期化
|
|
@state_mark_format
|
|
for %i=1 to 5
|
|
mark[%i]=0
|
|
next
|
|
return
|
|
|
|
;ファイアウォール被弾
|
|
@panel_firewall
|
|
param %x,%y
|
|
if shield==0 then state_hp_update hacking-1*panel[%x][%y][1]
|
|
sp "panel:firewall_0",{name="img\panel\dsp_firewall_0.png",a=255,x=1035,y=477,z=0}
|
|
sp "panel:firewall_1",{name="img\panel\dsp_firewall_1.png",a=255,x=993,y=33,z=1}
|
|
se1 "118"
|
|
for %i=1 to 7
|
|
spvisible "panel:firewall_1",0
|
|
print #c
|
|
wait 30
|
|
spvisible "panel:firewall_1",1
|
|
print #c
|
|
wait 30
|
|
next
|
|
if shield==1 then
|
|
shield=0
|
|
se1 "117"
|
|
spdelete "state:hp_shield"
|
|
print #u,300,"img\rule_00.png"
|
|
endif
|
|
spdeletes "panel:firewall"
|
|
panel_extinguishing %x,%y
|
|
print #u,1000,"img\rule_06.png"
|
|
return
|
|
|
|
;ファイアウォール潜在数表示
|
|
@state_fw
|
|
spdeletes "state:fw"
|
|
for %i=1 to 5
|
|
if fw[%i]>0 then
|
|
sp "state:fw_icon_"+str(%i),{name="img\panel\fw_"+str(%i)+".png",a=255,x=1499+62*%i,y=17,z=0}
|
|
sp "state:fw_fw_"+str(%i),{name="img\panel\num_s_w_"+str(fw[%i])+".png",a=255,x=1545+62*%i,y=99,z=0}
|
|
sp "state:fw_slash"+str(%i),{name="*46,2,#ffffff",a=255,x=1526+62*%i,y=94,z=0}
|
|
endif
|
|
if mark[%i]>0 and mark[%i]<=9 and mark[%i]<=fw[%i] then
|
|
sp "state:fw_mark_"+str(%i),{name="img\panel\num_s_w_"+right(str(mark[%i]),1)+".png",a=255,x=1526+62*%i,y=63,z=0}
|
|
elseif mark[%i]>0 and mark[%i]<=9 and mark[%i]>fw[%i] then
|
|
sp "state:fw_mark_"+str(%i),{name="img\panel\num_s_r_"+right(str(mark[%i]),1)+".png",a=255,x=1526+62*%i,y=63,z=0}
|
|
elseif mark[%i]>9 then
|
|
sp "state:fw_mark_"+str(%i),{name="img\panel\num_s_r_0.png",a=255,x=1526+62*%i,y=63,z=0}
|
|
endif
|
|
next
|
|
return
|
|
|
|
;DEPTH表示
|
|
@state_depth
|
|
spdeletes "state:depth"
|
|
%s=str(depth)
|
|
zeropad 2,%s
|
|
if %s=="11" then %s="10"
|
|
if depth>0 then sp "state:depth_gauge",{name="img\panel\gauge_depth_"+%s+".png",a=255,x=1073,y=39,z=0}
|
|
if depth==11 then
|
|
sp "state:depth_num_1",{name="img\panel\num_l_p_e.png",a=255,x=1024,y=64,z=0}
|
|
elseif depth==10 then
|
|
sp "state:depth_num_2",{name="img\panel\num_l_p_1.png",a=255,x=995,y=64,z=0}
|
|
sp "state:depth_num_1",{name="img\panel\num_l_p_0.png",a=255,x=1030,y=64,z=0}
|
|
elseif depth==1 then
|
|
sp "state:depth_num_1",{name="img\panel\num_l_p_1.png",a=255,x=1012,y=64,z=0}
|
|
else
|
|
sp "state:depth_num_1",{name="img\panel\num_l_p_"+mid(%s,1,1)+".png",a=255,x=1022,y=64,z=0}
|
|
endif
|
|
return
|
|
|
|
;HP表示
|
|
@state_hp
|
|
spdeletes "state:hp_gauge"
|
|
%s=str(hp)
|
|
zeropad 2,%s
|
|
if hp>0 then sp "state:hp_gauge",{name="img\panel\gauge_hp_"+%s+".png",a=255,x=1587,y=991,z=1}
|
|
if hp==1 then %x=1779 else %x=1789
|
|
sp "state:hp_num",{name="img\panel\num_l_r_"+str(hp)+".png",a=255,x=%x,y=960,z=1}
|
|
return
|
|
|
|
;HP更新
|
|
@state_hp_update
|
|
param %n
|
|
hp=hp+%n
|
|
if hp>5 then hp=5
|
|
if hp<0 then hp=0
|
|
state_hp
|
|
return
|
|
|
|
;HACK表示
|
|
@state_hack
|
|
spdeletes "state:hack_gauge"
|
|
%s=str(hack)
|
|
zeropad 2,%s
|
|
if hack>0 then sp "state:hack_gauge",{name="img\panel\gauge_hack_"+%s+".png",a=255,x=1073,y=991,z=0}
|
|
if hack==1 then %x=1012 else %x=1022
|
|
sp "state:hack_num",{name="img\panel\num_l_m_"+str(hack)+".png",a=255,x=%x,y=960,z=0}
|
|
return
|
|
|
|
;HACK更新
|
|
@state_hack_update
|
|
param %up
|
|
hack=hack+%up
|
|
if hack>5 then hack=5
|
|
if hack<0 then hack=0
|
|
if hack==5 then hacks=0
|
|
state_hack
|
|
state_hacks
|
|
return
|
|
|
|
;HACKS表示
|
|
@state_hacks
|
|
spdeletes "state:hacks_gauge"
|
|
%s=str(hacks)
|
|
zeropad 2,%s
|
|
if hacks>0 then sp "state:hacks_gauge",{name="img\panel\gauge_hacks_"+%s+".png",a=255,x=1094,y=978,z=0}
|
|
return
|
|
|
|
;HACKS更新
|
|
@state_hacks_update
|
|
param %up
|
|
hacks=hacks+%up
|
|
if hacks==5 then
|
|
se1 "015"
|
|
hack=hack+1
|
|
state_hack
|
|
if hack<5 then hacks=0
|
|
endif
|
|
state_hacks
|
|
return
|
|
|
|
;ORGASM表示
|
|
@orgasm
|
|
param %org
|
|
if %org==0 then
|
|
spdelete "orgasm:gauge"
|
|
else
|
|
sp "orgasm:gauge",{name=">l800,20,"+str(%org)+",100,#ff00ea,#1b1b1b",a=255,x=33,y=1023,z=0}
|
|
endif
|
|
return
|
|
|
|
;ORGASM更新
|
|
@orgasm_update
|
|
param orgmode,%up
|
|
if org+%up==99 then %up=%up-1
|
|
se1 "125"
|
|
sp "orgasm:table_effect",{name="img\panel\orgasm_table_up.png",a=255,x=6,y=974,z=2}
|
|
print #f,300
|
|
@orgasm_update_repeat
|
|
for %i=1 to %up
|
|
org=org+1
|
|
%org=org
|
|
if %i==%up and %org==99 then %org=98
|
|
orgasm %org
|
|
print #c
|
|
if org<100 then wait 10
|
|
next
|
|
if org>=100 then
|
|
se1 "005"
|
|
se2 "710",0
|
|
sp "orgasm:table_effect",{name="img\panel\orgasm_table_max.png",a=255,x=6,y=974,z=2}
|
|
if orgnum<99 then orgasm_orgnum_update 1
|
|
print #c
|
|
sp "effect:flash",{name="*#ffffff",a=255,x=0,y=0,z=0}
|
|
print #f,1000
|
|
se2 "950",0
|
|
spvisible "effect:flash",0
|
|
atk=0
|
|
event "orgasm","orgasm_"+orgevn
|
|
if orgmode==1 then
|
|
spvisible "effect:flash",1
|
|
print #f,500
|
|
se2 "950",0
|
|
spvisible "effect:flash",0
|
|
print #f,500
|
|
spvisible "effect:flash",1
|
|
print #f,2000
|
|
se2 "950",0
|
|
spdelete "effect:flash"
|
|
spdelete "orgasm:table_effect"
|
|
spdelete "orgasm:gauge"
|
|
spsetvisible "orgasm",0
|
|
if pageid=="stage" then spdelete "event:mask"
|
|
spdelete "character:body"
|
|
print #f,500
|
|
org=0
|
|
return
|
|
endif
|
|
if pageid=="stage" then
|
|
shield=1
|
|
se1 "124"
|
|
sp "effect:hp_table",{name="img\panel\gauge_hp_table.png",a=255,x=1581,y=906,z=2}
|
|
%s=str(hp)
|
|
zeropad 2,%s
|
|
sp "effect:hp_gauge",{name="img\panel\gauge_hp_"+%s+".png",a=255,x=1587,y=991,z=1}
|
|
if hp==1 then %x=1779 else %x=1789
|
|
sp "effect:hp_num",{name="img\panel\num_l_r_"+str(hp)+".png",a=255,x=%x,y=960,z=1}
|
|
sp "effect:hp_shield",{name="img\panel\gauge_hp_shield.png",a=255,x=1578,y=904,z=0}
|
|
sp "state:hp_shield",{name="img\panel\gauge_hp_shield.png",a=255,x=1578,y=904,z=0}
|
|
print #f,500
|
|
endif
|
|
spdelete "effect:flash"
|
|
spdelete "orgasm:gauge"
|
|
%up=org-100
|
|
org=0
|
|
if %up>0 then
|
|
print #f,500
|
|
goto @orgasm_update_repeat
|
|
endif
|
|
spdelete "orgasm:table_effect"
|
|
else
|
|
spdelete "orgasm:table_effect"
|
|
print #f,300
|
|
endif
|
|
spdeletes "effect:"
|
|
return
|
|
|
|
;絶頂回数表示
|
|
@orgasm_orgnum
|
|
%s2=str(floor(orgnum/10))
|
|
%s1=str(orgnum mod 10)
|
|
if orgnum<10 then
|
|
spdelete "orgasm:orgnum_2"
|
|
else
|
|
sp "orgasm:orgnum_2",{name="img\panel\num_s_m_"+%s2+".png",a=255,x=856,y=1008,z=0}
|
|
endif
|
|
sp "orgasm:orgnum_1",{name="img\panel\num_s_m_"+%s1+".png",a=255,x=888,y=1008,z=0}
|
|
return
|
|
|
|
;絶頂回数更新
|
|
@orgasm_orgnum_update
|
|
param %up
|
|
orgnum=orgnum+%up
|
|
if orgnum>99 then orgnum=99
|
|
orgasm_orgnum
|
|
return
|
|
|
|
;キャラ表示
|
|
@character_body
|
|
pict_order=stdp
|
|
if diff<>"" and filechk("img\log\"+pict_order+diff+".png")==1 then pict_order=pict_order+diff
|
|
sp "character:body",{name="img\log\"+pict_order+".png",a=255,x=0,y=0,z=0}
|
|
return
|
|
|
|
;キャラマスク
|
|
@character_mask
|
|
sp "character:mask",{name="*#000000",a=200,x=0,y=0,z=1}
|
|
return
|