mindsweeper/00/202.txt
2024-05-18 15:26:53 -05:00

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