[Ver b1.4]¡¡ [Ver b1.3]¡¡ [Ver b1.2.1]¡¡ [Ver b1.1]¡¡ [Ver b1.0]¡¡
ÂпÍÀï°Ê³°¤Ç¤â¤É¤Á¤é¤«¤¬²ø²æ¤ò¤¹¤ë¤È¾¡ÇÔ¤¬·è¤·¤Æ¤·¤Þ¤¦ÉÔ¶ñ¹ç¤ò½¤Àµ¤·¤Þ¤¹¡£
sub injury_check:
$battleisover = 1 if !$F{dg};
¢
$battleisover = 1 if $F{md} eq 'fight_player';
²ø²æ¤Î¾õÂÖ¤¬¾¡ÇԤ˱ƶÁ¤¹¤ë¤Î¤Ïº£¤Î¤È¤³¤íÂпÍÀï¤À¤±¤ß¤¿¤¤¤Ê¤Î¤ÇÂпÍÀï¤Ç¤À¤±over
ÅêÚ³Éð´ï¤ÇÀèÀ©¹¶·â¤ò¤¹¤ë¤È¥Þ¥¤¥Ê¥¹¥À¥á¡¼¥¸¤¬½Ð¤ë¤³¤È¤¬¤¢¤ëÉÔ¶ñ¹ç¤ò½¤Àµ¤·¤Þ¤¹¡£
sub throw_weapon:
$ADM -= $DGD;
¢
$ADM -= $DGD;
$ADM = 0 if $ADM < 0;
º¸¼êÉð´ï¡¦Êä½õÁõÈ÷¤¬²õ¤ì¤ë¤È¤¡¢Âå¤ï¤ê¤Ë¼çÁõÈ÷¤¬²õ¤ì¤ëÉÔ¶ñ¹ç¤ò½¤Àµ¤·¤Þ¤¹¡£
¤Ä¤¤¤Ç¤ËÁõÈ÷¤¬²õ¤ì¤Æ¤â½â¡¦³õ¥Ü¡¼¥Ê¥¹¤¬¾Ã¤¨¤Ê¤¤ÉÔ¶ñ¹ç¤â½¤Àµ¤·¤Þ¤¹¡£
sub destruction_check:
my $V;
¢
my $V;
my $T;
$T = $e eq 'rh' && $S->{WO} == 3 ? 'lh' :
$e eq 'rh' && $S->{WO} == 5 ? 'sb' : $e;
sub destruction_check:
return if $S->{$e} eq '';
¢
return if $S->{$T} eq '';
sub destruction_check:
undef %{$S->{$E}};
$S->{$e} = '';
¤òºï½ü
sub destruction_check:
$S->{BI}{$e} = 1;
¢
undef %{$S->{$E}};
$S->{$T} = '';
$S->{BI}{$T} = 1;
¤¢¤ó¤Þ¤ê¥¹¥Þ¡¼¥È¤¸¤ã¤Ê¤¤¤«¤â¡£&get_equipment¤Ç$S->{Rh}{eq} = 'rh'¤ß¤¿¤¤¤Ê¤³¤È¤¹¤ë¤È¤«¡£
¥¹¥¥ë¡Ö¥¸¥ã¥°¥ê¥ó¥°¡×¤¬µ¡Ç½¤·¤Æ¤¤¤Ê¤¤ÉÔ¶ñ¹ç¤ò½¤Àµ¤·¤Þ¤¹¡£
sub change_weapon:
elsif ($S->{WO} == 1 && $S->{Rh}{ql}{Th} && !$S->{SK}{Jg}) {
¢
elsif ($S->{WO} == 1 && $S->{Rh}{ql}{Th} && !$S->{Sk}{Jg}) {
'{SK}' ¢ª '{Sk}'
ÅêÚ³Éð´ï¤Ç¤ÎÀèÀ©¤ÇÁê¼ê¤ÎÁõÈ÷¡¦¥¹¥¥ë¤¬¤Û¤È¤ó¤É̵»ë¤µ¤ì¤Æ¤·¤Þ¤¦ÉÔ¶ñ¹ç?¤ò½¤Àµ¤·¤Þ¤¹¡£
Missing Link¤Ë¤ÆÆ±Íͤν¤Àµ¤¬¤¢¤ê¤Þ¤·¤¿¤Î¤Ç¤½¤Á¤é¤ò¡¼
Éð´ï¤¬¤Ê¤¯¤Æ¤â¥¹¥¥ë¡ÖϢ³ÀÚ¤ê¡×¤¬È¯À¸¤¹¤ëÉÔ¶ñ¹ç¤ò½¤Àµ¤·¤Þ¤¹¡£
sub concrete_battle:
if ($A->{Sk}{Ss} && &skill_roll($A,$set::sSs,$A->{in} * 4)) {
¢
if ($A->{Sk}{Ss} && $A->{Rh}{nm} && $A->{WP} && &skill_roll($A,$set::sSs,$A->{in} * 4)) {
ºîÀ®¤Ç¡¢¿åÉÓ¤ò»È¤Ã¤Æ¤âºîÀ®²ó¿ôʬ¸º¤é¤Ê¤¤ÉÔ¶ñ¹ç?¤ò½¤Àµ¤·¤Þ¤¹¡£
sub consumption_check:
if (--$Si->{db} <= 0) {
¢
$V ||= 1;
$Si->{db} -= $V;
if ($Si->{db} <= 0) {
»ÅÍͤ«¤É¤¦¤«¤è¤¯¤ï¤«¤ó¤Ê¤¤¤Î¤ÇÊüÃÖ¤·¤Æ¤¿¤±¤ÉËâË¡ÉӤߤ¿¤¤¤Ê¤Î¤Ç°ì±þ
ºîÀ®¤Ç¡¢¥°¥ì¡¼¥É¤ÎÀßÄꤵ¤ì¤Æ¤¤¤ëºîÀ®ÉʤΥ°¥ì¡¼¥É¤¬1¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦ÉÔ¶ñ¹ç¤ò½¤Àµ¤·¤Þ¤¹¡£
sub compose_after:
$I->{Gd} ||= 1;
¢
$I->{Gd} ||= $Ui->{dt}{gd};
$I->{Gd} ||= 1;
¥°¥ì¡¼¥É¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤ÏÀßÄêÃͤ¬²¼¸Â¤Ë¤Ê¤ë¤è¤¦¤Ë
¢¨
Missing Link¤ÎÀ÷ÎÁ¤ò»È¤Ã¤ÆÉÛ¤ò¿¥¤Ã¤Æ¤â¥°¥ì¡¼¥É¤¬ÊѲ½¤·¤Ê¤¤ÉÔ¶ñ¹ç¤Î½¤Àµ
¤ÈÈï¤Ã¤Æ¤Þ¤¹¤¬¡¢Ä´ºÞ¤È¼£ÎŤνàÈ÷¤Ë¤âƱ¤¸ÌäÂ꤬¤¢¤ë¤Î¤Ç¤³¤Î½¤Àµ¤â¤¢¤ï¤»¤Æ¹Ô¤Ã¤Æ¤¯¤À¤µ¤¤¡£
ÀßÄê¥ß¥¹¤È»×¤ï¤ì¤ë²Õ½ê¤ò½¤Àµ¤·¤Þ¤¹¡£
¥í¡¼¥¹¥È¥Á¥¥ó¤Î²èÁü¤¬É½¼¨¤µ¤ì¤Ê¤¤¡£¤Ä¤¤¤Ç¤ËÅý°ì¡£Èù̯¤ÊÌäÂê?
Missing Link¤Ë¤Æ¤è¤ê¾ÜºÙ¤Ê½¤Àµ¤¬¤¢¤ê¤Þ¤·¤¿¤Î¤Ç¤½¤Á¤é¤ò¡¼
¾ë¤Ç¡¢¥¯¥é¥¹¥Á¥§¥ó¥¸¤Î¥Ü¡¼¥Ê¥¹¤ÇǽÎÏÃͤξå¸Â°Ê¾å¤Ë¥¹¥Æ¡¼¥¿¥¹¤ò¥¢¥Ã¥×¤Ç¤¤ëÉÔ¶ñ¹ç¤ò½¤Àµ¤·¤Þ¤¹¡£
sub castle_after:
$I->{$_} += $L->{$_};
&reload_gage($_,'F');
&M("$set::lab{$_}¤¬ $L->{$_} Áý²Ã¤·¤Þ¤·¤¿¡£");
¢
$Y = $I->{tc} + $I->{st} + $I->{dx} + $I->{in} + $I->{cn};
if ($Y >= $set::tsx) {
$M += $L->{$_};
next;
}
$Y = $I->{$_} + $L->{$_} > $set::stx ? $I->{$_} + $L->{$_} - $set::stx : 0;
$L->{$_} -= $Y;
if ($L->{$_}) {
$I->{$_} += $L->{$_};
&reload_gage($_,'F');
&M("$set::lab{$_}¤¬ $L->{$_} Áý²Ã¤·¤Þ¤·¤¿¡£");
}
if ($Y) {
$I->{lb} += $Y;
&M("$set::lab{$_}¤ÏºÇÂç¤Ë㤷¤Æ¤¤¤ë¤¿¤á¡¢Âå¤ï¤ê¤Ë¥Ü¡¼¥Ê¥¹¥Ý¥¤¥ó¥È¤¬ $Y Áý²Ã¤·¤Þ¤·¤¿¡£");
}
sub castle_after:
if ($L->{st}) {
$I->{Mbg} += $L->{st};
&M("»ý¤Æ¤ë¥¢¥¤¥Æ¥à¤Î½ÅÎ̤¬ $L->{st}$set::wgt Áý²Ã¤·¤Þ¤·¤¿¡£");
}
¢
if ($L->{st}) {
$I->{Mbg} += $L->{st};
&M("»ý¤Æ¤ë¥¢¥¤¥Æ¥à¤Î½ÅÎ̤¬ $L->{st}$set::wgt Áý²Ã¤·¤Þ¤·¤¿¡£");
}
if ($M) {
$I->{lb} += $M;
&M("Á´ÂÎǽ\ÎÏÃͤ¬¾å¸Â¤Ë㤷¤Æ¤¤¤ë¤¿¤á¡¢Âå¤ï¤ê¤Ë¥Ü¡¼¥Ê¥¹¥Ý¥¤¥ó¥È¤¬ $M Áý²Ã¤·¤Þ¤·¤¿¡£");
}
ÀÚ¤ê¼Î¤Æ¤ë¤Î¤Ï¤â¤Ã¤¿¤¤¤Ê¤¤¤«¤È»×¤¤¡¢¾å¸Â¤òͤ¨¤¿Ê¬¤Ï¥Ü¡¼¥Ê¥¹¥Ý¥¤¥ó¥È¤Ë¿¶¤êʬ¤±¤Æ¤ß¤Þ¤·¤¿¡£
°Ç»Ô¤Ç¡¢ºß¸Ë¤¬¤Ê¤¤¤È¤¤ËÂçÎ̤˥¢¥¤¥Æ¥à¤òÇä¤ë¤Èºß¸Ë¾å¸Â¤òͤ¨¤Æ¤·¤Þ¤¦ÉÔ¶ñ¹ç¤ò½¤Àµ¤·¤Þ¤¹¡£
sub sell_after:
$Ii->{sp} = $Ii->{rs} = '';
$UI{$id} = {%$Ii};
¢
$Ii->{sp} = $Ii->{rs} = '';
$UI{$id} = {%$Ii};
&change_status($UI{$id},'qn',0,0,$set::mix);
Àî¤Ç¡¢¿å¤òµâ¤à¤È¤¶õ¤Î¿åÉÓ¤¬²õ¤ì¤Ê¤¤ÉÔ¶ñ¹ç¤ò½¤Àµ¤·¤Þ¤¹¡£
sub water:
&M("$Ii->{nm}¤¬²õ¤ì¤Þ¤·¤¿¡£");
¢
&M("$Ii->{nm}¤¬²õ¤ì¤Þ¤·¤¿¡£");
$Ii = $I->{Bg}[$F{wt}];
$I->{Bg}[$F{wt}] = $FI{$Ii->{id}};¤Ç¥ê¥Õ¥¡¥ì¥ó¥¹¤¬²õ¤ì¤ë¤Î¤Ç¤³¤³¤Ç·Ò¤®¤Ê¤ª¤·¡¼¡£
¤³¤³¤Ç²õ¤ì¤ë¤Î¤Ç¥á¥Ã¥»¡¼¥¸¤¤ì¤¤¤Ëɽ¼¨¤µ¤ì¤ë¤Î¤Ç¤³¤ó¤Ê´¶¤¸¤Ç¡£
<tr>
<td nowrap>¥Ö¡¼¥á¥é¥ó</td>
:
:
<td nowrap>ÌÚ¤ÎËÀ</td>
¢
<tr>
<td nowrap>¥Ö¡¼¥á¥é¥ó</td>
:
:
<td nowrap>ÌÚ¤ÎÈÄ</td>
<tr>
<td nowrap>¥µ¥È¥¦¥¥Ó</td>
:
:
<td></td>
</tr>
¢
<tr>
<td nowrap>¾®Çþ</td>
<td><img src="../itemimage/wheat.gif" width=16 height=16></td>
<td nowrap>Mt</td>
<td nowrap>Wheat</td>
<td nowrap> </td>
<td>ÀᱤÇÈÔ¤¤¤Æ¾®ÇþÊ´¤Ë¤¹¤ë¡£</td>
</tr>
<tr>
<td nowrap>¥µ¥È¥¦¥¥Ó</td>
:
:
<td></td>
</tr>
<tr>
<td nowrap>¥µ¥½¥ê</td>
<td><img src="../itemimage/scorpion.gif" width=16 height=16></td>
<td nowrap>Mt</td>
<td nowrap>Scorpion</td>
<td nowrap></td>
<td></td>
</tr>
¢
<tr>
<td nowrap>¥Ü¥¿¥ó</td>
<td><img src="../itemimage/buttons.gif" width=16 height=16></td>
<td nowrap>Mt</td>
<td nowrap>Buttons</td>
<td></td>
</tr>
<tr>
<td nowrap>·¿»æ</td>
<td><img src="../itemimage/dresspattern.gif" width=16 height=16></td>
<td nowrap>Mt</td>
<td nowrap>Dresspattern</td>
<td></td>
</tr>
<tr>
<td nowrap>ÉÛÀÚ¤ì</td>
<td><img src="../itemimage/cutofcloth.gif" width=16 height=16></td>
<td nowrap>Mt</td>
<td nowrap>Pieceofcloth</td>
<td nowrap></td>
<td></td>
</tr>
<tr>
<td nowrap>¥¤¡¼¥¹¥È¶Ý</td>
:
:
<td></td>
</tr>
¢
<tr>
<td nowrap>¥¤¡¼¥¹¥È¶Ý</td>
:
:
<td></td>
</tr>
<tr>
<td nowrap>ÀÖ¤¤ÈëÌô</td>
<td><img src="../itemimage/redliquid.gif" width=16 height=16></td>
<td nowrap>Mt</td>
<td nowrap>Redpotion</td>
<td nowrap>ÀÖ¤¤±ÕÂÎ+¥¾¥ó¥Ó¤Î¿´Â¡</td>
<td></td>
</tr>
¥¤¥á¡¼¥¸²èÁü¤ÎÊѹ¹¤ÇÊѹ¹ÎÁ¶â¤¬É½¼¨¤µ¤ì¤Ê¤¤ÉÔ¶ñ¹ç¤ò½¤Àµ¤·¤Þ¤¹¡£
# ¤½¤Î¾ Others ###################################### # $fcp = 500; # ¥¤¥á¡¼¥¸²èÁü¤ÎÊѹ¹ÎÁ¶â
ÄɲÃ
¥ª¡¼¥Ö¤Î¥È¥ì¡¼¥É¤Ç¡¢¥È¥ì¡¼¥É¸å¤Î¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Ê¤¤ÉÔ¶ñ¹ç¤ò½¤Àµ¤·¤Þ¤¹¡£
&partner('',"$set::orb{x}¤ò¥È¥ì¡¼¥É¤·¤Þ¤·¤¿");
¢
&get_words($U);
&partner($U->{w10},"$set::orb{x}¤ò¥È¥ì¡¼¥É¤·¤Þ¤·¤¿");
Äê´üÁ¥¤ÎͽÌó¼Ô¤¬2¿Í°Ê¾å¤¤¤ë¤È¹Ò³¤¤Ç¤¤Ê¤¤ÉÔ¶ñ¹ç¤ò½¤Àµ¤·¤Þ¤¹¡£
¾¤ÎÃÏ¤Ø°ÜÆ°¤Ç¡¢¥É¥ì¥¹¤¬²õ¤ì¤Æ¤â²Ùʪ¤«¤é¾Ã¤¨¤Ê¤¤ÉÔ¶ñ¹ç¤ò½¤Àµ¤·¤Þ¤¹¡£
sub dress_bonus:
&break_check($I,'bd');
¢
&get_item($I);
&set_item($I) if &break_check($I,'bd');
³¤Â±¤ÎÅç¤Çõº÷¤¬½ÐÍè¤Ê¤¤¤¿¤á¡¢¹Ò³¤¤Î°Ù¤Î½ê»ý¶â¤¬ÉÔ¤¹¤ë¤È¿Èư¤¤¬¼è¤ì¤Ê¤¯¤Ê¤ëÉÔ¶ñ¹ç¤ò½¤Àµ¤·¤Þ¤¹¡£
¥È¥ë¥à¥É¥¢¸ø¹ñ¤Îõº÷¥Ç¡¼¥¿¤òÄɲÃ
Missing Link¤Ë¤ÆÆ±Íͤν¤Àµ¤¬¤¢¤ê¤Þ¤·¤¿¤Î¤Ç¤½¤Á¤é¤ò¡¼
rand(x)+y¤Î¥À¥¤¥¹·×»»¤Ç¡¢x¤¬1°Ê²¼¤Î¾ì¹ç¤Ë+y¤¬Äɲ䵤ì¤Ê¤¤ÉÔ¶ñ¹ç¤ò½¤Àµ¤·¤Þ¤¹¡£
sub roll_dice:
if ($dice < 2) { return 1 }
while ($roll--) {
$V += int(rand($dice)) + 1;
}
¢
if ($dice < 2) { $V = 1 }
else {
while ($roll--) {
$V += int(rand($dice)) + 1;
}
}
»ÅÍͤ«¤Ê¡¼¤È»×¤Ã¤Æ¤Þ¤·¤¿¤¬¡¢ÀïÆ®»þsub basic_offense¤Ç$S->{AT}¤¬$S->{tc}¤è¤ê1Â礤¤¤È¤¤Ë¡¢¤³¤ÎÉÔ¶ñ¹ç¤¬±Æ¶Á¤·¤Æ¹¶·âÎÏ1¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦¤Î¤Ç½¤Àµ¡£
¥ì¥Ù¥ë¥¢¥Ã¥×¥Ü¡¼¥Ê¥¹¤Ç¡¢Á´ÂÎǽÎÏÃͤξå¸Â¤Ë㤷¤Æ¤¤¤ë¤È¥Ü¡¼¥Ê¥¹¥Ý¥¤¥ó¥È¤ò´¹¶â¤Ç¤¤Ê¤¤ÉÔ¶ñ¹ç¤ò½¤Àµ¤·¤Þ¤¹¡£
sub levelup_after:
if ($V >= $set::tsx) {
if ($set::xvu) {
$I->{Mvt} += $set::xvu;
&reload_gage('vt','V');
&M("Á´ÂÎǽÎÏÃͤ¬¾å¸Â¤Ë㤷¤¿°Ù¡¢¤³¤ì°Ê¾åǽÎÏÃͤò¾å¤²¤ë¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡£Âå¤ï¤ê¤Ë$set::lab{vt}¤¬$set::xvuÁý²Ã¤·¤Þ¤¹¡£");
}
else {
&say("Á´ÂÎǽÎÏÃͤ¬¾å¸Â¤Ë㤷¤Þ¤·¤¿¡£¤³¤ì°Ê¾å¤Ï¾å¤²¤ë¤³¤È¤¬¤Ç¤¤Þ¤»¤ó¡£",'levelup_before');
}
}
elsif ($F{tp} eq 'gl') {
$I->{gl} += $set::xmu;
&reload_data('gl');
&M("$set::lab{gl}¤¬$set::xmuÁý²Ã¤·¤Þ¤·¤¿¡£");
}
¢
if ($F{tp} eq 'gl') {
$I->{gl} += $set::xmu;
&reload_data('gl');
&M("$set::lab{gl}¤¬$set::xmuÁý²Ã¤·¤Þ¤·¤¿¡£");
}
elsif ($V >= $set::tsx) {
if ($set::xvu) {
$I->{Mvt} += $set::xvu;
&reload_gage('vt','V');
&M("Á´ÂÎǽÎÏÃͤ¬¾å¸Â¤Ë㤷¤¿°Ù¡¢¤³¤ì°Ê¾åǽÎÏÃͤò¾å¤²¤ë¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡£Âå¤ï¤ê¤Ë$set::lab{vt}¤¬$set::xvuÁý²Ã¤·¤Þ¤¹¡£");
}
else {
&say("Á´ÂÎǽÎÏÃͤ¬¾å¸Â¤Ë㤷¤Þ¤·¤¿¡£¤³¤ì°Ê¾å¤Ï¾å¤²¤ë¤³¤È¤¬¤Ç¤¤Þ¤»¤ó¡£",'levelup_before');
}
}
¾ò·ïʬ´ô¤Î½ç½ø¤òÆþ¤ìÂØ¤¨¡£
¥ì¥Ù¥ë¥¢¥Ã¥×¥Ü¡¼¥Ê¥¹¤Ç¤Îɽ¼¨¤ò½¤Àµ¤·¤Þ¤¹¡£
sub levelup_before:
<tt>¸½ºß¤Î¥Ý¡¼¥Ê¥¹¥Ý¥¤¥ó¥È¡§$I->{lb}</tt><br>
¢
<tt>¸½ºß¤Î¥Ü¡¼¥Ê¥¹¥Ý¥¤¥ó¥È¡§$I->{lb}</tt><br>
¥Ý¡¼¥Ê¥¹¥Ý¥¤¥ó¥È ¢ª ¥Ü¡¼¥Ê¥¹¥Ý¥¤¥ó¥È
sub levelup_before:
<input type=radio class=radio name=tp value=gl> $set::lab{gl}¤ò$set::xmuÁý¤ä¤¹<br>
¢
<input type=radio class=radio name=tp value=gl> $set::lab{gl}¤ò $set::xmu$set::mny Áý¤ä¤¹<br>
sub levelup_after:
&M("$set::lab{gl}¤¬$set::xmuÁý²Ã¤·¤Þ¤·¤¿¡£");
¢
&M("$set::lab{gl}¤¬ $set::xmu$set::mny Áý²Ã¤·¤Þ¤·¤¿¡£");
¤»¤Ã¤«¤¯Ä̲ߤÎÀßÄê($set::mny)¤¬¤¢¤ë¤Î¤Ç¡£
sub levelup_after: ǽÎÏ ¢ ǽ\ÎÏ
ʸ»ú²½¤±¤·¤Æ¤·¤Þ¤¦¡£3²Õ½êÁ´¤ÆÃÖ¤´¹¤¨¡£
¥¹¥Æ¡¼¥¿¥¹¤òÊÑÆ°¤µ¤»¤¿¸å¤Î¥Ð¡¼¤ÎŤµ¤¬Àµ¤·¤¯¤Ê¤¤ÉÔ¶ñ¹ç¤ò½¤Àµ¤·¤Þ¤¹¡£
function FixedGage:
val *= 2;
¢
val *= 3;
¥Õ¥ì¥ó¥ÉÀßÄê¤Ç¤Îɽ¼¨¤ò½¤Àµ¤·¤Þ¤¹¡£
sub friends_after:
&say('ÅÐÏ¿¤ÏºÇÂç$set::frx̾¤Þ¤Ç¤Ç¤¹','friends_before');
¢
&say("ÅÐÏ¿¤ÏºÇÂç$set::frx̾¤Þ¤Ç¤Ç¤¹",'friends_before');
̵µ¤ÎϾõÂÖ¤ÇVIT¾ÃÈñÎ̤¬1Áý¤¨¤º¤Ë1¸º¤Ã¤Æ¤·¤Þ¤¦ÉÔ¶ñ¹ç¤ò½¤Àµ¤·¤Þ¤¹¡£
sub friends_after:
$V += 1 if $T eq 'vt' && $S->{Cd}{En} && $V < 0;
¢
$V -= 1 if $T eq 'vt' && $S->{Cd}{En} && $V < 0;
¥¤¥ó¥Õ¥©¥á¡¼¥·¥ç¥óºîÀ®¤Çʸ»ú¼ÂÂλ²¾È¤¬»È¤¨¤ë¤è¤¦¤Ë(ÌäÂ꤬µ¯¤³¤ê¤½¤¦¤Ê¤Î¤Ç¤ä¤é¤Ê¤¤¤Û¤¦¤¬¤¤¤¤¤«¤â)
sub edit_information:
$t1 =~ s/<br>/\n/g;
¢
$t1 =~ s/<br>/\n/g;
$t1 =~ s/&/&/g;
sub make_information:
$F{in} =~ s/</</g;
$F{in} =~ s/>/>/g;
¢
$F{in} =~ s/</</g;
$F{in} =~ s/>/>/g;
$F{in} =~ s/&/&/g;
sub decode:
$V =~ s/</</g;
$V =~ s/>/>/g;
¢
$V =~ s/&/&/g;
$V =~ s/</</g;
$V =~ s/>/>/g;
¥Û¡¼¥à¥Ú¡¼¥¸¤ËÌá¤ë¥ê¥ó¥¯¤¬¤Ê¤¤¤è¤¦¤Êµ¤¤¬¤·¤¿¤Î¤Ç¡£
sub rights:
print qq|<br>Edit¡§$set::edt\n| if $set::edt;
¢
print qq|<br><a href="$set::rtn">Edit¡§$set::edt</a>\n| if $set::edt;
Spetial Thanks¤Î¥¢¥ó¥«¡¼¤ò̵¸ú¤Ë¡£
sub rights:
print qq|<a href="#" onClick="GetView('creators')">$creators_label</a>\n| if !$set::stv;
¢
print qq|<a href="#" onClick="GetView('creators');return false">$creators_label</a>\n| if !$set::stv;
»àË´¤·¤Æ¤¤¤ë¤È¤¤ÏVIT¤ò²óÉü¤·¤Ê¤¤¤è¤¦¤Ë¡£
sub main:
# VIT¤Î²óÉü
$I->{Vt} = int((time - $precode) / $set::rcv) / 10;
$I->{vt} += $I->{Vt};
$I->{vt} = $I->{Mvt} if $I->{vt} > $I->{Mvt};
¢
# VIT¤Î²óÉü
if ($I->{da} ne 'Dd' && $set::rcv) {
$I->{Vt} = int((time - $precode) / $set::rcv) / 10;
$I->{vt} += $I->{Vt};
$I->{vt} = $I->{Mvt} if $I->{vt} > $I->{Mvt};
}
ÀïÆ®»þ¤Î¥á¥Ã¥»¡¼¥¸¤ò¤Á¤ç¤Ã¤ÈÀ°·Á¤·¤Æ¤ß¤ë¡£
sub fight_player:
&M("$I->{Nm}¤¬Ë½\Áö¤·¤¿¡ª");
¢
&M("$I->{Nm}¤¬Ë½\Áö¤·¤¿¡ª");
&M();
sub fight_player:
&concrete_battle($A,$D,'¤Î¹¶·â¡£');
&concrete_battle($D,$A,'¤Î¹¶·â¡£');
¢
&concrete_battle($A,$D,'¤Î¹¶·â¡£');
&concrete_battle($D,$A,'¤Î¹¶·â¡£');
&M();
sub fight_player:
&concrete_battle($A,$D,'¤Î¥«¥¦¥ó¥¿¡¼¡ª');
¢
&concrete_battle($A,$D,'¤Î¥«¥¦¥ó¥¿¡¼¡ª');
&M();
sub first_battle:
if ($S->{Sk}{Sa}) {
&concrete_battle($S,$O,'¤Ë¤è¤ë°ÇƤ¤Á¡ª',1);
}
elsif ($V1) {
&initiative($V1);
if ($A->{Rh}{cl} eq 'Bo') {
&concrete_battle($A,$D,'¤ÎÀèÀ©¹¶·â¡ª',1);
}
}
elsif ($V2) {
&initiative($V2);
&throw_weapon($A,$D,"¤Ï$A->{Rh}{nm}¤òÅꤲ¤¿¡ª",1);
}
elsif ($V3) {
&initiative($V3);
if (&skill_roll($A,$set::sQg,$A->{in} * 3)) {
&concrete_battle($A,$D,"¤Ï$SK{Qg}¤òÊü¤Ã¤¿¡ª",1);
}
}
elsif ($V4) {
&initiative($V4);
if (&skill_roll($A,$set::sQd,$A->{in} * 3)) {
&concrete_battle($A,$D,"¤Î$SK{Qd}¡ª",1);
$V5 = $V4 * -1;
$set::frd--;
}
}
¢
if ($S->{Sk}{Sa}) {
&concrete_battle($S,$O,'¤Ë¤è¤ë°ÇƤ¤Á¡ª',1);
&M();
}
elsif ($V1) {
&initiative($V1);
if ($A->{Rh}{cl} eq 'Bo') {
&concrete_battle($A,$D,'¤ÎÀèÀ©¹¶·â¡ª',1);
&M();
}
}
elsif ($V2) {
&initiative($V2);
&throw_weapon($A,$D,"¤Ï$A->{Rh}{nm}¤òÅꤲ¤¿¡ª",1);
&M();
}
elsif ($V3) {
&initiative($V3);
if (&skill_roll($A,$set::sQg,$A->{in} * 3)) {
&concrete_battle($A,$D,"¤Ï$SK{Qg}¤òÊü¤Ã¤¿¡ª",1);
&M();
}
}
elsif ($V4) {
&initiative($V4);
if (&skill_roll($A,$set::sQd,$A->{in} * 3)) {
&concrete_battle($A,$D,"¤Î$SK{Qd}¡ª",1);
&M();
$V5 = $V4 * -1;
$set::frd--;
}
}
¸òÀï¤Î¸å¤Ë &M() ¤Ç²þ¹Ô¤òÆþ¤ì¤Þ¤·¤¿
ÀÜ¿¨¤·¤¿Áê¼ê¤¬¥í¥°¥¤¥óÃæ¤Î¾ì¹ç¤ËÌá¤ë¥Ü¥¿¥ó¤òɽ¼¨¤·¤Æ¤ß¤ë¡£
sub login_check: my $T = shift; # true -> return true, false -> error ¢ my $T = shift; # mode -> say, true -> return true, false -> error
sub login_check:
if ($T) { return 1 }
¢
if ($T =~ /\D/) { &say("$S->{nm}¤Ï¸½ºß¥í¥°¥¤¥óÃæ¤Ç¤¹",$T) }
if ($T) { return 1 }
sub bounty_after:
&login_check($U);
¢
&login_check($U,'bounty_before');
sub buy_before:
&login_check($U);
¢
&login_check($U,'contact_before');
sub buy_after:
&login_check($U);
¢
&login_check($U,'contact_before');
sub contact_after:
&login_check($U);
¢
&login_check($U,'contact_before');
sub cure_before:
&login_check($U);
¢
&login_check($U,'contact_before');
sub cure_after:
&login_check($U);
¢
&login_check($U,'contact_before');
sub destone:
&login_check($U);
¢
&login_check($U,'contact_before');
sub fight_player:
&login_check($U);
¢
&login_check($U,'contact_before');
sub trade_before:
&login_check($U);
¢
&login_check($U,'contact_before');
¥â¥ó¥¹¥¿¡¼¤Î½Ð¤ëÃϰè¤Ç¤ª¶â¤ò½¦¤¨¤ë¤è¤¦¤Ë¤·¤Æ¤ß¤ë¡£
sub find:
&found($I,"monster_$I->{pl}",$set::fvt,'õº÷','¤Ä¼ê¤ËÆþ¤ì¤Þ¤·¤¿',0,'monster');
¢
&found($I,"monster_$I->{pl}",$set::fvt,'õº÷','¤Ä¼ê¤ËÆþ¤ì¤Þ¤·¤¿',1,'monster');
sub find:
&reload_data('gl') if !$I->{Pl}{ev}{Ms};
¢
&reload_data('gl');
ÀïÆ®¡¦À¸»º»þ¤Ë°ìÄê¤Î³ÎΨ¤ÇÁõÈ÷¤ÎÂѵ×ÎϤò¸º¾¯¤µ¤»¤Þ¤¹¡£
ÀïÆ®»þ¤ÏÁõÈ÷¤·¤Æ¤¤¤ëÁ´¤Æ¤Î¥¢¥¤¥Æ¥à¤ÎÂѵ×ÎϤ¬¸º¾¯¤·¤Þ¤¹¡£
À¸»º»þ¤Ï»ÈÍѤ·¤¿ÁõÈ÷ÉʤÎÂѵ×ÎϤ¬¸º¾¯¤·¤Þ¤¹¡£
# ¤½¤Î¾ Others ###################################### # $edb = 10; # À¸»º»þ¤ÎÁõÈ÷Âѵ×ÅÙ¸º¾¯³ÎΨ(n%) $fdb = 10; # ÀïÆ®»þ¤ÎÁõÈ÷Âѵ×ÅÙ¸º¾¯³ÎΨ(n%)
# Sub Set Equipment #
sub set_equipment {
my $S = shift;
my $Si = shift;
$S->{$Si->{eq}} = "$Si->{nm}/$Si->{cl}/$Si->{ql}/$Si->{ef}/$Si->{db}/$Si->{im}/$Si->{gd}/$Si->{pl}/$Si->{cr}";
}
¤òÄɲá£
sub break_check:
undef $S->{$E};
&reload_data($e);
return 1;
}
¢
undef $S->{$E};
&reload_data($e);
return 1;
}
elsif (&roll_dice(100) <= $set::edb) {
foreach $Ii (@{$S->{Bg}}) {
if ($Ii->{eq} eq $e) {
&M("$S->{$E}{nm}¤ÎÂѵ×ÎϤ¬²¼¤¬¤ê¤Þ¤·¤¿¡£");
$Ii->{db}--;
&set_equipment($S,$Ii);
last;
}
}
return 1;
}
sub consumption_check:
else {
&change_status($I,'bg',-$Si->{wt});
$Si->{qn} = 0;
}
$I->{$Si->{eq}} = '';
&reload_data($Si->{eq});
}
¢
else {
&change_status($I,'bg',-$Si->{wt});
$Si->{qn} = 0;
}
$I->{$Si->{eq}} = '';
&reload_data($Si->{eq});
}
elsif (&roll_dice(100) <= $set::edb) {
&M("$Si->{nm}¤ÎÂѵ×ÎϤ¬²¼¤¬¤ê¤Þ¤·¤¿¡£");
$Si->{db}--;
&set_equipment($I,$Si);
}
sub fitting_room:
$I->{$E} = "$Si->{nm}/$Si->{cl}/$Si->{ql}/$Si->{ef}/$Si->{db}/$Si->{im}/$Si->{gd}/$Si->{pl}/$Si->{cr}";
$Si->{sp} = $Si->{rs} = '';
$Si->{eq} = $E;
¢
$Si->{sp} = $Si->{rs} = '';
$Si->{eq} = $E;
&set_equipment($I,$Si);
sub fight_player:
# Ã¥¼è¥Á¥§¥Ã¥¯ #
&steal_check($I) if !$U->{Op}{Sc};
¢
# Ã¥¼è¥Á¥§¥Ã¥¯ #
&steal_check($I) if !$U->{Op}{Sc};
# ÁõÈ÷Âѵ×ÅÙ¸º¾¯¥Á¥§¥Ã¥¯ #
&equip_wear_check($I);
&equip_wear_check($U);
&M();
sub fight_creature:
&baggage_check($I) if ref $I->{BI};
¢
&equip_wear_check($I);
&baggage_check($I) if ref $I->{BI};
sub baggage_check:
next if !$F;
¢
next if !$F;
if ($F == 2) {
if (--$Ii->{db} > 0) {
&set_equipment($S,$Ii);
}
else {
$S->{ucfirst($Ii->{eq})}{db}--;
&destruction_check($S,$Ii->{eq});
$F = 1;
}
}
next if $F == 2;
# Sub Equip Wear Check #
sub equip_wear_check {
my $S = shift;
my ($e,$E);
return if !$set::fdb;
return if $S->{Op}{Ub};
undef $S->{WO};
foreach $e (keys %set::eqp) {
$E = ucfirst($e);
next if $S->{$e} eq '';
next if $S->{BI}{$e};
if (&roll_dice(100) <= $set::fdb) {
$S->{BI}{$e} = 2;
&get_equipment($S,$e);
&M("$S->{Nm}¤Î$S->{$E}{nm}¤ÎÂѵ×ÎϤ¬¸º¾¯¤·¤¿¡£");
}
}
}
¤òÄɲÃ
¶ä¹Ô¤Ë»ØÄê¸Ä¿ô¼è°ú/¶ä¹Ô¼«Æ°À°Íýµ¡Ç½Äɲá£
function GetValue:
document.loginform.ps.value = GetCookie("ps");
¢
document.loginform.ps.value = GetCookie("ps");
document.loginform.bk.value = GetCookie("bk");
function BankAutoCheck() {
document.bank.bk.checked = GetCookie("bk") != "" ? true : false;
}
¤òÄɲÃ
sub set_cookie:
$ck = "id\:$F{id}\,ps\:$F{ps}\,";
¢
$ck = "id\:$F{id}\,ps\:$F{ps}\,bk\:$F{bk}\,";
sub bank_before:
$t1 .= qq|<input type=checkbox name=o$i class=checkbox> |;
$t1 .= &decorate_item($Ii);
¢
$t1 .= qq|<tr>\n<td>\n|;
$t1 .= qq|<input type=checkbox name=o$i class=checkbox> |;
$t1 .= &decorate_item($Ii);
$t1 .= qq|</td>\n<td class=r>|;
$Ii->{qn} ||= 1;
$t1 .= qq|<input type=textbox name=ot$i class=textbox size=5 value=$Ii->{qn}>|;
$t1 .= qq|</td>\n</tr>\n|;
sub bank_before:
$t2 .= qq|<input type=checkbox name=$i class=checkbox> |;
$t2 .= &decorate_item($Ii);
¢
$t2 .= qq|<tr>\n<td>\n|;
$t2 .= qq|<input type=checkbox name=$i class=checkbox> |;
$t2 .= &decorate_item($Ii);
$t2 .= qq|</td>\n<td class=r>|;
$Ii->{qn} ||= 1;
$t2 .= qq|<input type=textbox name=it$i class=textbox size=5 value=$Ii->{qn}>|;
$t2 .= qq|</td>\n</tr>\n|;
sub bank_before:
&header(CSS=>'sub',JavaScript=>'GetView');
¢
&header(CSS=>'sub',JavaScript=>'GetCookie,GetView',Body=>' onLoad="BankAutoCheck();"');
sub bank_before:
<form method=post action=$set::cgi_url>
¢
<form name=bank method=post action=$set::cgi_url>
sub bank_before:
$I->{Sp}{Bk}{nm}¤«¤é¥¢¥¤¥Æ¥à¤ò½Ð¤¹<br>
<br>
$t1
¢
<table class=item>
<tr class=first>
<td>$I->{Sp}{Bk}{nm}¤«¤é¥¢¥¤¥Æ¥à¤ò½Ð¤¹</td>
<td class=r>°ú½Ð¸Ä¿ô</td>
</tr>
$t1
</table>
sub bank_before:
$I->{Sp}{Bk}{nm}¤Ë¥¢¥¤¥Æ¥à¤òÊݴɤ¹¤ë<br>
<br>
$t2
¢
<table class=item>
<tr class=first>
<td>$I->{Sp}{Bk}{nm}¤Ë¥¢¥¤¥Æ¥à¤òÊݴɤ¹¤ë</td>
<td class=r>ÍÂÆþ¸Ä¿ô</td>
</tr>
$t2
</table>
sub bank_before:
<tt>²Ùʪ¥¹¥í¥Ã¥È¡§$I->{bs}</tt><br>
¢
<tt>²Ùʪ¥¹¥í¥Ã¥È¡§$I->{bs}</tt><br>
<tt>¥Ñ¥Ã¥¯¥¹¥¥ë¡§$I->{pc}</tt>
sub bank_before:
<select id=mode name=md class=select onChange="DisableObject('input','o','mode','bank_after','normal');">
¢
<tt>¶ä¹Ô¼«Æ°À°Íý¡§<input type=checkbox name=bk class=checkbox></tt><br>
<br>
<select id=mode name=md class=select onChange="DisableObject('input','o','mode','bank_after','normal');">
sub bank_after: my $Ui; ¢ my $Ui; my $Si;
sub bank_after:
&say("$Ii->{nm}¤ÏÁõÈ÷Ãæ¤Ç¤¹¡£",'bank_before') if $Ii->{eq};
¢
&say("$Ii->{nm}¤ÏÁõÈ÷Ãæ¤Ç¤¹¡£",'bank_before') if $Ii->{eq};
&say("$Ii->{nm}¡§¿ôÃͰʳ°¤Ï»ÈÍѽÐÍè¤Þ¤»¤ó¡£",'bank_before') if $F{"it$i"} =~ /\D/;
sub bank_after:
$I->{bg} -= $Ii->{qn} * $Ii->{wt};
$Ii->{sp} = $Ii->{rs} = '';
push(@{$U->{Bg}},$Ii);
undef $Ii;
¢
$F{"it$i"} = $Ii->{qn} if $F{"it$i"} > $Ii->{qn};
$F{"it$i"} = 1 if $F{"it$i"} <= 0;
$I->{bg} -= $F{"it$i"} * $Ii->{wt};
$Ii->{sp} = $Ii->{rs} = '';
$Ii->{qn} -= $F{"it$i"};
$Si = {%$Ii};
$Si->{qn} = $F{"it$i"};
push(@{$U->{Bg}},$Si);
if (!$Ii->{qn}) { undef $Ii }
sub bank_after:
$U->{Sl}--;
$I->{bg} += $Ui->{qn} * $Ui->{wt};
push(@{$I->{Bg}},$Ui);
undef $Ui;
¢
&say("$Ui->{nm}¡§¿ôÃͰʳ°¤Ï»ÈÍѽÐÍè¤Þ¤»¤ó¡£",'bank_before') if $F{"ot$i"} =~ /\D/;
$F{"ot$i"} = $Ui->{qn} if $F{"ot$i"} > $Ui->{qn};
$F{"ot$i"} = 1 if $F{"ot$i"} <= 0;
$I->{bg} += $F{"ot$i"} * $Ui->{wt};
$Ui->{qn} -= $F{"ot$i"};
$Si = {%$Ui};
$Si->{qn} = $F{"ot$i"};
push(@{$I->{Bg}},$Si);
if (!$Ui->{qn}) { undef $Ui; $U->{Sl}-- }
sub bank_after:
&say("$I->{Sp}{Bk}{nm}¥¹¥í¥Ã¥È¤¬¤¤¤Ã¤Ñ¤¤¤Ç¤¹¡£",'bank_before') if $U->{Sl} > $I->{bk};
¢
if ($F{bk}) {
require "$set::lib_dir/pack.cgi";
&auto_pack($I,$U->{Bg},$U);
}
&say("$I->{Sp}{Bk}{nm}¥¹¥í¥Ã¥È¤¬¤¤¤Ã¤Ñ¤¤¤Ç¤¹¡£",'bank_before') if $U->{Sl} > $I->{bk};
sub bank_after:
&set_user($I);
¢
&set_user($I);
&set_cookie;
sub top: <input type=hidden name=md value="main"> ¢ <input type=hidden name=md value="main"> <input type=hidden name=bk>
/* ¥¢¥¤¥Æ¥à */
.item {
width: 100%;
}
.item .first td {
padding-bottom: 5px;
font-size: 11px;
font-family: monospace;
color: #005533;
}
.item td {
margin: 0;
padding: 0;
font-size: 12px;
}
.item td.r {
vertical-align: bottom;
}
¤òÄɲÃ
¥¢¥¤¥Æ¥à¤Î¹ØÆþ¥Õ¥©¡¼¥à¤òÅý°ì¤·¤Æ¤ß¤ë¡£
»Ô¾ì¡¦°Ç»Ô¡¦ÇÀ¾ì¡¦¥Ñ¡¼¥È¥Ê¡¼¤Ç¡¢¹ØÆþ¥Õ¥©¡¼¥à¤Î»ÅÍͤòÅý°ì¤·¤Þ¤¹¡£
Ç㤤¤¿¤¤¥¢¥¤¥Æ¥à¤Ë¥Á¥§¥Ã¥¯¤òÆþ¤ì¡¢Íߤ·¤¤¿ô¤ò»ØÄꤷ¤Æ¹ØÆþ¤·¤Þ¤¹¡£
Ê£¿ô¤Î¼ïÎà¤Î¥¢¥¤¥Æ¥à¤òƱ»þ¤Ë¹ØÆþ¤¹¤ë¤³¤È¤¬½ÐÍè¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¥Ñ¥Ã¥¯¥¹¥¥ë¤òͤ¨¤¿¥Ñ¥Ã¥¯¤òµö²Ä¤¹¤ë¤«¤ÎÀßÄ꤬½ÐÍè¤Þ¤¹¡£
¹ØÆþ¸Ä¿ô¤ò»ØÄê¤Ç¤¤ë¤è¤¦¤Ë¤¹¤ë¤«¤ÎÀßÄ꤬½ÐÍè¤Þ¤¹¡£
¡ÖÃÍÃʤòÀßÄꤹ¤ë¡×¤Çñ²Á¤òÆþÎϤ¹¤ë¤«Á´ÂβÁ³Ê¤òÆþÎϤ¹¤ë¤«¤ÎÀßÄ꤬½ÐÍè¤Þ¤¹¡£
# »Ô¾ì Market ######################################## #
$uop = 1; # ÃÍÃʤòÀßÄꤹ¤ë¤Çñ²Á¤òÆþÎϤ¹¤ë(yes=1,no=0)
%mpc = (Mk=>0,Fm=>0, # »Ô¾ì,ÇÀ¾ì,°Ç»Ô,ÂÐ¿Í¤Ç¤Î¹ØÆþ¤Ç¥Ñ¥Ã¥¯¥¹¥¥ë¤òͤ¨¤Æ¤Î¥Ñ¥Ã¥¯¤òµö²Ä¤¹¤ë(yes=1,no=0)
Bm=>0,Xx=>0);
%mif = (Mk=>1,Fm=>1, # »Ô¾ì,ÇÀ¾ì,°Ç»Ô,ÂÐ¿Í¤Ç¤Î¹ØÆþ¤Ç¹ØÆþ¸Ä¿ô¤ò»ØÄê½ÐÍè¤ë¤è¤¦¤Ë¤¹¤ë(yes=1,no=0)
Bm=>1,Xx=>1);
'Bm' => { 'nm' => '°Ç»Ô'},
¢
'Bm' => { 'md' => 'blackmarket_before',
'nm' => '°Ç»Ô'},
# --------------------------------------------------- #
# Script of Saga III Purchase.cgi Version 2 (2.0)
#
# --------------------------------------------------- #
# Sub Purchase Item #
sub purchase_item {
my $V1 = shift; # item ref [catalog]
my $V2 = shift; # item ref
my $P = shift; # place
my $R = shift; # return mode
my $T;
my $G;
my $M;
my $Ii;
my $Ui;
my $buyitemflag;
my ($i,$n);
my ($keychck,$keytext);
$I->{Ap} ||= 1;
$R ||= $I->{Sp}{$P}{md};
$T = $P eq 'Xx' ? 2 :
$P eq 'Bm' ? 1 : 0;
$G = !$T || $T == 2 && !$set::mif{$P} ? 1 : 0;
foreach $Ui (@$V1) {
$Ui = $V2->{$Ui} if $V2;
$i++;
$keychck = $T == 2 ? "$i-$Ui->{id}-$Ui->{sp}" : "$Ui->{id}_$Ui->{gd}";
$keytext = $T == 2 ? "t-$i-$Ui->{id}-$Ui->{sp}" : "t_$Ui->{id}_$Ui->{gd}";
$F{$keytext} = !$set::mif{$P} ? $T == 2 ? $Ui->{qn} : 1 : $F{$keytext};
next if !$F{$keychck} || !$F{$keytext};
if ($T == 1 && $F{dl}) {
$Ui->{qn} = 0;
$buyitemflag = 1;
$M .= "´ÉÍý¼Ô¸¢¸Â¤Ë¤è¤ê$Ui->{nm}¤òºï½ü¤·¤Þ¤·¤¿<br>\n";
&M("´ÉÍý¼Ô¸¢¸Â¤Ë¤è¤ê$Ui->{nm}¤òºï½ü¤·¤Þ¤·¤¿") && next;
}
&error('Price Error') if $T == 2 && !$Ui->{sp};
&error('Quantity Error') if !$Ui->{qn};
if ($F{$keytext} =~ /\D/) {
$T == 2 && &M("$Ui->{nm}¡§¿ôÃͰʳ°¤Ï»ÈÍѽÐÍè¤Þ¤»¤ó") && next;
&say("$Ui->{nm}¡§¿ôÃͰʳ°¤Ï»ÈÍѽÐÍè¤Þ¤»¤ó",$R);
}
$F{$keytext} = $Ui->{qn} if $T && $F{$keytext} > $Ui->{qn};
$Ui->{Qn} = $T ? $F{$keytext} : $Ui->{qn} * $F{$keytext};
$Ui->{Wt} = $Ui->{wt} * $Ui->{Qn};
$Ui->{sp} = $T != 2 ? $T == 1 ? $Ui->{bp} * $set::mtp + $set::mpp : $Ui->{bp} : $Ui->{sp};
$Ui->{sp}/= $Ui->{qn} if $T == 2 && !$set::uop;
$Ui->{sP} = int($Ui->{sp});
$Ui->{Sp} = $Ui->{sP} * $Ui->{Qn};
$Ui->{SP} = $G ? int($Ui->{sP} * $Ui->{qn} * $I->{Ap})
: int($Ui->{sP} * $I->{Ap}) * $Ui->{Qn};
$Ui->{SP}*= $F{$keytext} if !$T;
if ($Ui->{rs} && $Ui->{rs} ne $I->{id}) {
$T == 2 && &M("$Ui->{nm}¤Ï¾¤Î¿Í¤Ëͽ\Ìó¤µ¤ì¤Æ¤¤¤Þ¤¹¡£") && next;
&say("$Ui->{nm}¤Ï¾¤Î¿Í¤Ëͽ\Ìó¤µ¤ì¤Æ¤¤¤Þ¤¹",$R);
}
elsif ($I->{bg} + $Ui->{Wt} > $I->{Mbg}) {
$T == 2 && &M("¤³¤ì°Ê¾å¤Ï½Å¤¯¤Æ»ý¤Æ¤Þ¤»¤ó¡£") && next;
&say('¤³¤ì°Ê¾å¤Ï½Å¤¯¤Æ»ý¤Æ¤Þ¤»¤ó',$R);
}
elsif ($Ui->{SP} > $I->{gl}) {
$T == 2 && &M("$Ui->{nm}¤òÇ㤦¤ª¶â¤¬¤¢¤ê¤Þ¤»¤ó¡£") && next;
&say('¤ª¶â¤¬Â¤ê¤Þ¤»¤ó',$R);
}
undef $I->{BG};
# ¥Ñ¥Ã¥¯ÉԲĥ¢¥¤¥Æ¥à¤Î¾ì¹ç¥Ð¥é¤ÇÄɲà #
if (&item_class_check($Ui) ne 'M') {
$Ii = {%$Ui};
$Ii->{sp} = '';
$Ii->{rs} = '';
push (@{$I->{BG}},$Ii) foreach 1 .. $F{$keytext};
}
# ¥Ñ¥Ã¥¯¥¹¥¥ë¤òͤ¨¤Æ¤Î¥Ñ¥Ã¥¯¤¬µö²Ä¤µ¤ì¤Æ¤¤¤ë¾ì¹ç #
elsif ($set::mpc{$P}) {
$Ii = {%$Ui};
$Ii->{qn} = $Ui->{Qn};
$Ii->{sp} = '';
$Ii->{rs} = '';
push (@{$I->{BG}},$Ii);
}
# ¥Ñ¥Ã¥¯¥¹¥¥ë¤òͤ¨¤Æ¤Î¥Ñ¥Ã¥¯¤¬µö²Ä¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç #
else {
$Ui->{QN} = $Ui->{Qn};
$Ui->{qN} = !$T ? $Ui->{qn} : 1; # ¥Õ¥é¥°¤¬¤Ê¤±¤ì¤Ð¥Ñ¥Ã¥¯¤Î¾õÂÖ¤ò¤Ò¤È¤Ä¤È¤·¤Æ¡¢¤½¤¦¤Ç¤Ê¤±¤ì¤Ð¥Ð¥é¤ÇȽÄê
# ¹ØÆþ¸Ä¿ô¤Ö¤ó²Ùʪ¤Ë¼ý¤Þ¤ë¤Þ¤ÇÄɲà #
while ($Ui->{QN} > 0) {
# ¥Ñ¥Ã¥¯¥¹¥¥ë¤ò¥Á¥§¥Ã¥¯¤·¡¢¤Ç¤¤ë¤À¤±¥Ñ¥Ã¥¯ #
foreach (1 .. $F{$keytext}) {
$n = $_;
$n-- && last if $Ui->{qN} * $n > $I->{pc};
}
$n = 1 if $n < 1;
$Ii = {%$Ui};
$Ii->{qn} = $Ui->{qN} * $n;
$Ii->{sp} = '';
$Ii->{rs} = '';
push (@{$I->{BG}},$Ii);
$F{$keytext} -= $n;
$Ui->{QN} -= $Ii->{qn};
}
}
if (@{$I->{Bg}} + @{$I->{BG}} > $I->{bs}) {
$T == 2 && &M("²Ùʪ¥¹¥í¥Ã¥È¤¬°ìÇդǤ¹¡£") && next;
&say("²Ùʪ¥¹¥í¥Ã¥È¤¬°ìÇդǤ¹",$R);
}
push (@{$I->{Bg}},@{$I->{BG}});
$M .= &beat_price($Ui) if $T == 2;
&change_status($U,'gl',$Ui->{Sp});
&change_status($I,'bg',$Ui->{Wt});
&change_status($I,'gl',-$Ui->{SP});
&change_status($U,'bg',-$Ui->{Wt});
$Ui->{qn}-= $Ui->{Qn};
$Ui->{sp}*= $Ui->{qn} if $T == 2 && !$set::uop;
$Ui->{Im} = &item_image($Ui);
$M .= "$Ui->{Im}$I->{nm}¤Ï$Ui->{nm}¤ò$Ui->{Qn}¤Ä¡¢$Ui->{Sp} $set::mny¤Ç¹ØÆþ¤·¤Þ¤·¤¿¡£<br>\n";
&M("$Ui->{Im}$Ui->{nm}¤ò$Ui->{Qn}¤Ä¡¢$Ui->{SP} $set::mny¤Ç¹ØÆþ¤·¤Þ¤·¤¿¡£");
$buyitemflag = 1;
}
return $buyitemflag ? $M : '';
}
# Sub Purchase Pet #
sub purchase_pet {
my $V1 = shift; # item ref [catalog]
my $V2 = shift; # item ref
my $P = shift; # place
my $R = shift; # return mode
my $T;
my $Q;
my $Ii;
my $Ui;
my $buypetsflag;
my ($i,$n);
my ($keychck,$keytext);
$I->{Ap} ||= 1;
$R ||= $I->{Sp}{$P}{md};
$T = $P eq 'Xx' ? 2 :
$P eq 'Bm' ? 1 : 0;
$Q = $T == 2 || !$set::mif{$P} ? 1 : 0;
foreach $Up (@$V1) {
$Up = $V2->{$Up} if $V2;
$i++;
$keychck = $T == 2 ? "$i-$Up->{id}-$Up->{sp}" : "$Up->{id}_$Up->{gd}";
$keytext = $T == 2 ? "t-$i-$Up->{id}-$Up->{sp}" : "t_$Up->{id}_$Up->{gd}";
$F{$keytext} = 1 if $Q;
next if !$F{$keychck} || !$F{$keytext};
&error('Price Error') if $T == 2 && !$Up->{sp};
if ($T == 1 && $F{dl}) {
$Up->{id} = '';
$buypetsflag = 1;
$M .= "´ÉÍý¼Ô¸¢¸Â¤Ë¤è¤ê$Up->{nm}¤òºï½ü¤·¤Þ¤·¤¿<br>\n";
&M("´ÉÍý¼Ô¸¢¸Â¤Ë¤è¤ê$Up->{nm}¤òºï½ü¤·¤Þ¤·¤¿") && next;
}
if ($F{$keytext} =~ /\D/) {
$T == 2 && &M("$Ui->{nm}¡§¿ôÃͰʳ°¤Ï»ÈÍѽÐÍè¤Þ¤»¤ó") && next;
&say("$Ui->{nm}¡§¿ôÃͰʳ°¤Ï»ÈÍѽÐÍè¤Þ¤»¤ó",$R);
}
$Up->{Qn} = $F{$keytext};
$Up->{Sl} = $Up->{sl} * $Up->{Qn};
$Up->{sp} = $T != 2 ? $T == 1 ? $Ui->{bp} * $set::mtp + $set::mpp : $Up->{bp} : $Up->{sp};
$Up->{Sp} = $Up->{sp} * $Up->{Qn};
$Up->{SP} = int($Up->{sp} * $I->{Ap}) * $Up->{Qn};
if ($Up->{rs} && $Up->{rs} ne $I->{id}) {
$T == 2 && &M("$Up->{nm}¤Ï¾¤Î¿Í¤Ëͽ\Ìó¤µ¤ì¤Æ¤¤¤Þ¤¹¡£") && next;
&say("$Up->{nm}¤Ï¾¤Î¿Í¤Ëͽ\Ìó¤µ¤ì¤Æ¤¤¤Þ¤¹",$R);
}
elsif ($I->{px} + $Up->{Sl} > $I->{Mpx}) {
&M("$Up->{nm}¤Î¤¿¤á¤Î¥¹¥í¥Ã¥È¤¬¶õ¤¤¤Æ¤¤¤Þ¤»¤ó¡£") && next;
&say("¥¹¥í¥Ã¥È¤Î¶õ¤¤¬Â¤ê¤Þ¤»¤ó",$R);
}
elsif ($Up->{SP} > $I->{gl}) {
$T == 2 && &M("$Up->{nm}¤òÇ㤦¤ª¶â¤¬¤¢¤ê¤Þ¤»¤ó¡£") && next;
&say('¤ª¶â¤¬Â¤ê¤Þ¤»¤ó',$R);
}
$M .= &beat_price($Up);
&change_status($U,'gl',$Up->{Sp});
&change_status($I,'px',$Up->{Sl});
&change_status($I,'gl',-$Up->{SP});
&change_status($U,'px',-$Up->{Sl});
$Up->{Im} = &item_image($Up);
$M .= "$Up->{Im}$I->{nm}¤Ï$Up->{nm}¤ò$Up->{Sp} $set::mny¤Ç¹ØÆþ¤·¤Þ¤·¤¿¡£<br>\n";
&M("$Up->{Im}$Up->{nm}¤ò$Up->{Qn}ɤ¡¢$Up->{SP} $set::mny¤Ç¹ØÆþ¤·¤Þ¤·¤¿¡£");
$Up->{sp} = '';
$Up->{rs} = '';
foreach (1 .. $F{$keytext}) {
if ($T != 2) {
$Up->{up} = $Up->{bt} = time;
$Up->{pd} = time if $Up->{pd};
$Up->{ch} = &roll_dice(4) - 1;
}
push (@{$I->{Pt}},{%$Up});
}
$Up->{id} = '';
$buypetsflag = 1;
}
return $buypetsflag ? $M : '';
}
# Beat the Price #
sub beat_price {
my $Si = shift;
# ÃÍÀÚ¤ê #
if ($I->{Sk}{Bp} && &roll_dice(100 + $I->{Map} - $I->{ap}) <= $set::sBp) {
$Si->{sp} -= int($Si->{sp} * $set::uBp / 100);
$Si->{Sp} -= int($Si->{Sp} * $set::uBp / 100);
&M("$U->{nm}¤Ï$Si->{nm}¤ò$set::uBp%°ú¤¤Î$Si->{Sp} $set::mny¤Ë¤·¤Æ¤¯¤ì¤Þ¤·¤¿¡£");
return "$Si->{nm}¤ò$set::uBp%°ú¤¤Ë¤·¤Æ¤¢¤²¤Þ¤·¤¿¡£<br>\n";
}
return '';
}
# --------------------------------------------------- #
1;
¾å¤ò purchase.cgi ¤È¤¤¤¦Ì¾Á°¤ÇÊݸ¡£library¤Ë¼ýǼ
sub decorate_item: my $T = shift; # Blackmarket = 1 ¢ my $T = shift; # Buy, Blackmarket = 1, Market = 2
sub decorate_item:
$Z = $Si->{wt} if $T;
¢
$Z = $Si->{wt} if $T == 1;
sub decorate_item:
$V .= " x $W" if $W > 1 && !$T
¢
$V .= " x $W" if $W > 1 && (!$Y || $T == 2);
sub decorate_item:
$V .= " ¡Ê$Z$set::wgt¡Ë" if $Z;
$V .= "¡¦¡¦¡¦ºß¸Ë $W" if $T;
¢
$V .= "¡¦¡¦¡¦ºß¸Ë $W" if $Y && $W && $T != 2;
$V .= " ¡Ê$Z$set::wgt¡Ë" if $Z;
sub blackmarket_before:
&say("¤á¤Ü¤·¤¤¾¦ÉʤϤʤ¤¤è¤¦¤Ç¤¹¡¦¡¦¡¦",'market') if !@{$U->{Bg}};
¢
&say("¤á¤Ü¤·¤¤¾¦ÉʤϤʤ¤¤è¤¦¤Ç¤¹¡¦¡¦¡¦",'market') if !@{$U->{Bg}};
$t1 .= <<" END_OF_HTML" if $set::mif{Bm};
<tr class=first>
<td colspan=2 class=r>¹ØÆþ¸Ä¿ô</td>
</tr>
END_OF_HTML
sub blackmarket_before:
$t1 .= qq|<input type=radio name=ui class=radio value="$Ui->{id}_$Ui->{gd}"> |;
$t1 .= &decorate_item($Ui,1);
¢
$t1 .= qq|<tr>\n<td>\n|;
$t1 .= qq|<input type=checkbox name=$Ui->{id}_$Ui->{gd} class=checkbox> |;
$t1 .= &decorate_item($Ui,1);
$t1 .= qq|</td>\n<td class=r>|;
$t1 .= qq|<input type=textbox name=t_$Ui->{id}_$Ui->{gd} class=textbox size=5 value=1>| if $set::mif{Bm};
$t1 .= qq|</td>\n</tr>\n|;
sub blackmarket_before:
$t1 .= qq|<p><input type=checkbox name=dl class=checkbox> Çã¤ï¤º¤Ëºï½ü¤¹¤ë</p>\n| if $I->{Sk}{Rm};
¢
$t1 .= qq|<tr><td colspan=2><br><input type=checkbox name=dl class=checkbox> Çã¤ï¤º¤Ëºï½ü¤¹¤ë</td></tr>\n| if $I->{Sk}{Rm};
&get_item($I);
sub blackmarket_before:
$t1
¢
<table class=item>
$t1
</table>
sub blackmarket_before:
¸Ä¿ô¡§<input type=textbox name=hm class=textbox size=2 value="1"><br>
¤òºï½ü
sub blackmarket_before:
¥¢¥¤¥Æ¥àÁí½ÅÎÌ¡§$I->{bg}/$I->{Mbg} $set::wgt<br>
¢
¥¢¥¤¥Æ¥àÁí½ÅÎÌ¡§$I->{bg}/$I->{Mbg} $set::wgt<br>
²Ùʪ¥¹¥í¥Ã¥È¡§$I->{Bs}/$I->{bs}<br>
¥Ñ¥Ã¥¯¥¹¥¥ë¡§$I->{pc}<br>
sub blackmarket_after:
my $Ii;
my $Ui;
&say("¸Ä¿ô¤Ë¤Ï¿ôÃͰʳ°»ÈÍѤǤ¤Þ¤»¤ó",'blackmarket_before') if $F{hm} =~ /[^\d]/;
&say("¸Ä¿ô¤òÀßÄꤷ¤Æ²¼¤µ¤¤",'blackmarket_before') if !$F{hm};
&say("¾¦Éʤ¬ÁªÂò¤µ¤ì¤Æ¤¤¤Þ¤»¤ó",'blackmarket_before') if !$F{ui};
$F{hm} = int($F{hm});
¤òºï½ü
sub blackmarket_after:
&lock($I->{Pl}{bm});
&get_item($I);
&get_item($U,1);
foreach $Ui (@{$U->{Bg}}) {
if ($F{ui} eq "$Ui->{id}_$Ui->{gd}") {
if ($F{dl}) { $Ui->{qn} = 0; last }
$F{hm} = $Ui->{qn} if $F{hm} > $Ui->{qn};
$Ui->{Sp} = int(($Ui->{bp} * $set::mtp + $set::mpp) * $I->{Ap}) * $F{hm};
&say('¤³¤ì°Ê¾å¤Ï½Å¤¯¤Æ»ý¤Æ¤Þ¤»¤ó','blackmarket_before') if $I->{bg} + $Ui->{wt} * $F{hm} > $I->{Mbg};
&say('¤ª¶â¤¬Â¤ê¤Þ¤»¤ó','blackmarket_before') if $Ui->{Sp} > $I->{gl};
&change_status($I,'gl',-$Ui->{Sp});
&change_status($I,'bg',$Ui->{wt} * $F{hm});
$Ui->{Im} = &item_image($Ui);
&M("$Ui->{Im}$Ui->{nm}¤ò$F{hm}¤Ä¹ØÆþ¤·¤Þ¤·¤¿¡£");
$Ii = {%$Ui};
$Ui->{qn}-= $F{hm};
$Ii->{qn} = $F{hm};
push (@{$I->{Bg}},$Ii);
undef $F{ui};
last;
}
}
# &say('Çä¤êÀÚ¤ì¤Ç¤¹','blackmarket_before') if !$F{ui};
&sort_item($I);
&set_item($I);
&set_item($U,1);
¢
require "$set::lib_dir/purchase.cgi";
&lock($I->{Pl}{bm});
&get_item($I);
&get_item($U,1);
if (&purchase_item($U->{Bg},'','Bm')) {
&sort_item($I);
&set_item($I);
&set_item($U,1);
}
sub buy_before:
$t1 .= "<input type=checkbox name=$i-$Ui->{id}-$Ui->{sp} class=checkbox> ";
$t1 .= &decorate_item($Ui);
¢
$t1 .= qq|<tr>\n<td>\n|;
$t1 .= qq|<input type=checkbox name=$i-$Ui->{id}-$Ui->{sp} class=checkbox> |;
if ($set::mif{Xx}) {
$Ui->{Sp} = $set::uop ? $Ui->{sp} : int($Ui->{sp} / $Ui->{qn});
$t1 .= &decorate_item($Ui,1);
$t1 .= qq|</td>\n<td class=r>|;
$t1 .= qq|<input type=textbox name=t-$i-$Ui->{id}-$Ui->{sp} class=textbox size=5 value=1>|;
}
else {
$Ui->{Sp} = $set::uop ? $Ui->{sp} * $Ui->{qn} : $Ui->{sp};
$t1 .= &decorate_item($Ui,2);
}
$t1 .= qq|</td>\n</tr>\n|;
sub buy_before:
$t2 .= "<input type=checkbox name=$i-$Up->{id}-$Up->{sp} class=checkbox> ";
$t2 .= &decorate_item($Up);
¢
$t2 .= qq|<tr>\n<td>\n|;
$t2 .= qq|<input type=checkbox name=$i-$Up->{id}-$Up->{sp} class=checkbox> |;
$t2 .= &decorate_item($Up,1);
$t2 .= qq|</td>\n</tr>\n|;
sub buy_before:
&get_code;
¢
$t1 = <<" END_OF_HTML" if $t1 && $set::mif{Xx};
<tr class=first>
<td colspan=2 class=r>¹ØÆþ¸Ä¿ô</td>
</tr>
$t1
END_OF_HTML
&get_code;
&get_item($I);
sub buy_before:
$t1
¢
<table class=item>
$t1
</table>
sub buy_before:
¥¢¥¤¥Æ¥àÁí½ÅÎÌ¡§$I->{bg}/$I->{Mbg} $set::wgt<br>
¢
¥¢¥¤¥Æ¥àÁí½ÅÎÌ¡§$I->{bg}/$I->{Mbg} $set::wgt<br>
²Ùʪ¥¹¥í¥Ã¥È¡§$I->{Bs}/$I->{bs}<br>
¥Ñ¥Ã¥¯¥¹¥¥ë¡§$I->{pc}<br>
sub buy_before:
$t2
¢
<br>
<table class=item>
$t2
</table>
sub buy_after: my $i; my ($Ii,$Ui,$Ip,$Up,$V); my $buyitemflag; my $buypetsflag; ¢ my $M;
sub buy_after:
&get_item($I);
&get_item($U);
&set_code;
foreach $Ui (@{$U->{Bg}}) {
$i++;
$Ui->{sp} ||= $Ui->{bp} * $Ui->{qn} + $set::lip if $U->{Sk}{Vm};
next if !$F{"$i-$Ui->{id}-$Ui->{sp}"};
&error('Price Error') if !$Ui->{sp};
$Ui->{Wt} = $Ui->{wt} * $Ui->{qn};
$Ui->{Sp} = int($Ui->{sp} * $I->{Ap});
if (@{$I->{Bg}} >= $I->{bs}) {
&M("²Ùʪ¥¹¥í¥Ã¥È¤¬°ìÇդǤ¹¡£") && last;
}
elsif ($Ui->{rs} && $Ui->{rs} ne $I->{id}) {
&M("$Ui->{nm}¤Ï¾¤Î¿Í¤Ëͽ\Ìó¤µ¤ì¤Æ¤¤¤Þ¤¹¡£") && next;
}
elsif ($I->{bg} + $Ui->{Wt} > $I->{Mbg}) {
&M("¤³¤ì°Ê¾å¤Ï½Å¤¯¤Æ»ý¤Æ¤Þ¤»¤ó¡£") && next;
}
elsif ($Ui->{Sp} > $I->{gl}) {
&M("$Ui->{nm}¤òÇ㤦¤ª¶â¤¬¤¢¤ê¤Þ¤»¤ó¡£") && next;
}
$M .= &beat_price($Ui);
&change_status($U,'gl',$Ui->{sp});
&change_status($I,'bg',$Ui->{Wt});
&change_status($I,'gl',-$Ui->{Sp});
&change_status($U,'bg',-$Ui->{Wt});
$Ui->{Im} = &item_image($Ui);
$M .= "$Ui->{Im}$I->{nm}¤Ï$Ui->{nm}¤ò$Ui->{qn}¤Ä¡¢$Ui->{sp} $set::mny¤Ç¹ØÆþ¤·¤Þ¤·¤¿¡£<br>\n";
&M("$Ui->{Im}$Ui->{nm}¤ò$Ui->{qn}¤Ä¹ØÆþ¤·¤Þ¤·¤¿¡£");
$Ui->{sp} = '';
$Ui->{rs} = '';
$Ii = {%{$Ui}};
push (@{$I->{Bg}},$Ii);
$Ui->{qn} = 0;
$buyitemflag = 1;
}
if ($buyitemflag) {
&sort_item($I);
&set_item($I);
&set_item($U) if !$U->{Sk}{Ms}; # Mass Selling
}
&get_pet($I);
&get_pet($U);
undef $i;
foreach $Up (@{$U->{Pt}}) {
$i++;
next if !$F{"$i-$Up->{id}-$Up->{sp}"};
&error('Price Error') if !$Up->{sp};
$Up->{Sp} = int($Up->{sp} * $I->{Ap});
if ($Up->{rs} && $Up->{rs} ne $I->{id}) {
&M("$Up->{nm}¤Ï¾¤Î¿Í¤Ëͽ\Ìó¤µ¤ì¤Æ¤¤¤Þ¤¹¡£") && next;
}
elsif ($I->{px} + $Up->{sl} > $I->{Mpx}) {
&M("$Up->{nm}¤Î¤¿¤á¤Î¥¹¥í¥Ã¥È¤¬¶õ¤¤¤Æ¤¤¤Þ¤»¤ó¡£") && next;
}
elsif ($Up->{Sp} > $I->{gl}) {
&M("$Up->{nm}¤òÇ㤦¤ª¶â¤¬¤¢¤ê¤Þ¤»¤ó¡£") && next;
}
$M .= &beat_price($Up);
&change_status($U,'gl',$Up->{sp});
&change_status($I,'px',$Up->{sl});
&change_status($I,'gl',-$Up->{Sp});
&change_status($U,'px',-$Up->{sl});
$Up->{Im} = &item_image($Up);
$M .= "$Up->{Im}$I->{nm}¤Ï$Up->{nm}¤ò$Up->{sp} $set::mny¤Ç¹ØÆþ¤·¤Þ¤·¤¿¡£<br>\n";
&M("$Up->{Im}$Up->{nm}¤ò¹ØÆþ¤·¤Þ¤·¤¿¡£");
$Up->{sp} = '';
$Up->{rs} = '';
$Ip = {%{$Up}};
push (@{$I->{Pt}},$Ip);
$Up->{id} = '';
$buypetsflag = 1;
}
if ($buypetsflag) {
&sort_pet($I);
&set_pet($I);
&set_pet($U);
}
¢
&set_code;
require "$set::lib_dir/purchase.cgi";
&get_item($I);
&get_item($U);
if ($M .= &purchase_item($U->{Bg},'','Xx')) {
&sort_item($I);
&set_item($I);
&set_item($U) if !$U->{Sk}{Ms}; # Mass Selling
}
&get_pet($I);
&get_pet($U);
if ($M .= &purchase_pet($U->{Pt},'','Xx')) {
&sort_pet($I);
&set_pet($I);
&set_pet($U);
}
# Beat the Price #
sub beat_price {
my $Si = shift;
# ÃÍÀÚ¤ê #
if ($I->{Sk}{Bp} && &roll_dice(100 + $I->{Map} - $I->{ap}) <= $set::sBp) {
$Si->{sp} -= int($Si->{sp} * $set::uBp / 100);
$Si->{Sp} -= int($Si->{Sp} * $set::uBp / 100);
&M("$U->{nm}¤Ï$Si->{nm}¤ò$set::uBp%°ú¤¤Î$Si->{Sp} $set::mny¤Ë¤·¤Æ¤¯¤ì¤Þ¤·¤¿¡£");
return "$Si->{nm}¤ò$set::uBp%°ú¤¤Ë¤·¤Æ¤¢¤²¤Þ¤·¤¿¡£<br>\n";
}
return '';
}
¤òºï½ü
library/purchase.cgi¤Î¤Û¤¦¤Ë°Üư¤·¤Þ¤·¤¿
sub farm_before:
$t1 .= qq|<input type=checkbox name=$Ui->{id} class=checkbox> |;
$t1 .= &decorate_item($Ui);
¢
$t1 .= qq|<tr>\n<td>\n|;
$t1 .= qq|<input type=checkbox name=$Ui->{id}_$Ui->{gd} class=checkbox> |;
$t1 .= &decorate_item($Ui,2);
if ($set::mif{Fm}) {
$t1 .= qq|</td>\n<td class=r>|;
$t1 .= qq|x <input type=textbox name=t_$Ui->{id}_$Ui->{gd} class=textbox size=5 value=1>|;
}
$t1 .= qq|</td>\n</tr>\n|;
sub farm_before:
foreach $Up (@{$LC{$I->{pl}}}) {
¢
$t1 = $t1 && $set::mif{Fm} ? qq|<td class=r>¹ØÆþ¸Ä¿ô</td>\n</tr>\n$t1| : qq|</tr>\n$t1|;
$t1 = <<" END_OF_HTML";
<tr class=first>
<td>ÇÀ¾ì¤ÇÈÎÇ䤷¤Æ¤¤¤ë¥¢¥¤¥Æ¥à</td>
$t1
END_OF_HTML
foreach $Up (@{$LC{$I->{pl}}}) {
sub farm_before:
$t2 .= qq|<input type=checkbox name=$Up->{id} class=checkbox> |;
$t2 .= &decorate_item($Up);
¢
$t2 .= qq|<tr>\n<td>\n|;
$t2 .= qq|<input type=checkbox name=$Up->{id}_$Ui->{gd} class=checkbox> |;
$t2 .= &decorate_item($Up,2);
if ($set::mif{Fm}) {
$t2 .= qq|</td>\n<td class=r>|;
$t2 .= qq|x <input type=textbox name=t_$Up->{id}_$Up->{gd} class=textbox size=5 value=1>|;
}
$t2 .= qq|</td>\n</tr>\n|;
sub farm_before:
&get_code;
¢
$t2 = $t2 && $set::mif{Fm} ? qq|<td class=r>¹ØÆþƬ¿ô</td>\n</tr>\n$t2| : qq|</tr>\n$t2|;
$t2 = <<" END_OF_HTML";
<tr class=first>
<td>ÇÀ¾ì¤ÇÈÎÇ䤷¤Æ¤¤¤ëưʪ</td>
$t2
END_OF_HTML
&get_code;
&get_item($I);
sub farm_before:
<tt>ÇÀ¾ì¤ÇÈÎÇ䤷¤Æ¤¤¤ë¥¢¥¤¥Æ¥à</tt><br>
$t1
¢
<table class=item>
$t1
</table>
sub farm_before:
<div class=r><tt>¥¢¥¤¥Æ¥àÁí½ÅÎÌ¡§$I->{bg}/$I->{Mbg} $set::wgt</tt></div>
¢
<div class=r><tt>
¥¢¥¤¥Æ¥àÁí½ÅÎÌ¡§$I->{bg}/$I->{Mbg} $set::wgt<br>
²Ùʪ¥¹¥í¥Ã¥È¡§$I->{Bs}/$I->{bs}<br>
¥Ñ¥Ã¥¯¥¹¥¥ë¡§$I->{pc}
</tt></div>
sub farm_before:
<tt>ÇÀ¾ì¤ÇÈÎÇ䤷¤Æ¤¤¤ëưʪ</tt><br>
$t2
¢
<table class=item>
$t2
</table>
sub farm_after: my $Ii; my $Ui; my $Up; my $buyitemflag; my $buypetsflag; ¤òºï½ü
sub farm_after:
&get_appearance($I);
¢
&get_appearance($I);
&get_place($I);
sub farm_after:
&get_item($I);
foreach $Ui (@{$IC{$I->{pl}}}) {
$Ui = $FI{$Ui};
next if !$F{$Ui->{id}};
# $Ui->{Sp} = $Ui->{bp} * $Ui->{qn};
$Ui->{Sp} = int($Ui->{bp} * $Ui->{qn} * $I->{Ap});
&say('¤³¤ì°Ê¾å¤Ï½Å¤¯¤Æ»ý¤Æ¤Þ¤»¤ó','farm_before') if $I->{bg} + $Ui->{wt} * $Ui->{qn} > $I->{Mbg};
&say('¤ª¶â¤¬Â¤ê¤Þ¤»¤ó','farm_before') if $Ui->{Sp} > $I->{gl};
&say("²Ùʪ¥¹¥í¥Ã¥È¤¬°ìÇդǤ¹",'farm_before') if @{$I->{Bg}} >= $I->{bs};
&change_status($I,'gl',-$Ui->{Sp});
&change_status($I,'bg',$Ui->{wt} * $Ui->{qn});
$Ui->{Im} = &item_image($Ui);
&M("$Ui->{Im}$Ui->{nm}¤ò$Ui->{qn}¤Ä¹ØÆþ¤·¤Þ¤·¤¿¡£");
push (@{$I->{Bg}},$Ui);
$buyitemflag = 1;
}
if ($buyitemflag) {
&sort_item($I);
&set_item($I);
}
&get_pet($I);
foreach $Up (@{$LC{$I->{pl}}}) {
$Up = $FL{$Up};
next if !$F{$Up->{id}};
$Up->{Sp} = $Up->{bp};
&say('¥¹¥í¥Ã¥È¤¬¶õ¤¤¤Æ¤¤¤Þ¤»¤ó','farm_before') if $I->{px} + $Up->{sl} > $I->{Mpx};
&say('¤ª¶â¤¬Â¤ê¤Þ¤»¤ó','farm_before') if $Up->{Sp} > $I->{gl};
&change_status($I,'gl',-$Up->{Sp});
&change_status($I,'px',$Up->{sl});
$Up->{Im} = &item_image($Up);
&M("$Up->{Im}$Up->{nm}¤ò¹ØÆþ¤·¤Þ¤·¤¿¡£");
$Up->{up} = $Up->{bt} = time;
$Up->{pd} = time if $Up->{pd};
$Up->{ch} = &roll_dice(5) - 1;
push (@{$I->{Pt}},$Up);
$buypetsflag = 1;
}
if ($buypetsflag) {
&sort_pet($I);
&set_pet($I);
}
¢
require "$set::lib_dir/purchase.cgi";
&get_item($I);
if (&purchase_item($IC{$I->{pl}},\%FI,'Fm')) {
&sort_item($I);
&set_item($I);
}
&get_pet($I);
if (&purchase_pet($LC{$I->{pl}},\%FL,'Fm')) {
&sort_pet($I);
&set_pet($I);
}
sub shopping_before:
$Ui->{Sp} = $Ui->{bp};
$t1 .= qq|<input type=radio name=ui class=radio value="$Ui->{id}"> |;
$t1 .= &decorate_item($Ui);
¢
$Ui->{Sp} = $Ui->{bp} * $Ui->{qn};
$t1 .= qq|<tr>\n<td>\n|;
$t1 .= qq|<input type=checkbox name=$Ui->{id}_$Ui->{gd} class=checkbox> |;
$t1 .= &decorate_item($Ui,2);
if ($set::mif{Mk}) {
$t1 .= qq|</td>\n<td class=r>|;
$t1 .= qq|x <input type=textbox name=t_$Ui->{id}_$Ui->{gd} class=textbox size=5 value=1>|;
}
$t1 .= qq|</td>\n</tr>\n|;
sub shopping_before:
&get_code;
¢
$t1 = <<" END_OF_HTML" if $t1 && $set::mif{Bm};
<tr class=first>
<td colspan=2 class=r>¹ØÆþ¸Ä¿ô</td>
</tr>
$t1
END_OF_HTML
&get_code;
&get_item($I);
sub shopping_before:
$t1
¢
<table class=item>
$t1
</table>
sub shopping_before:
¸Ä¿ô¡§<input type=textbox name=hm class=textbox size=2 value="1"><br>
¤òºï½ü
sub shopping_before:
¥¢¥¤¥Æ¥àÁí½ÅÎÌ¡§$I->{bg}/$I->{Mbg} $set::wgt<br>
¢
¥¢¥¤¥Æ¥àÁí½ÅÎÌ¡§$I->{bg}/$I->{Mbg} $set::wgt<br>
²Ùʪ¥¹¥í¥Ã¥È¡§$I->{Bs}/$I->{bs}<br>
¥Ñ¥Ã¥¯¥¹¥¥ë¡§$I->{pc}<br>
sub shopping_after:
my $Ii;
my $Ui;
&say("¸Ä¿ô¤Ë¤Ï¿ôÃͰʳ°»ÈÍѤǤ¤Þ¤»¤ó",'shopping_before') if $F{hm} =~ /[^\d]/;
&say("¸Ä¿ô¤òÀßÄꤷ¤Æ²¼¤µ¤¤",'shopping_before') if !$F{hm};
&say("¾¦Éʤ¬ÁªÂò¤µ¤ì¤Æ¤¤¤Þ¤»¤ó",'shopping_before') if !$F{ui};
$F{hm} = int($F{hm});
¤òºï½ü
sub shopping_after:
foreach $Ui (@{$IC{$I->{pl}}}) {
$Ui = $FI{$Ui};
if ($F{ui} eq $Ui->{id}) {
$Ui->{Sp} = int($Ui->{bp} * $I->{Ap}) * $F{hm};
&say('¤³¤ì°Ê¾å¤Ï½Å¤¯¤Æ»ý¤Æ¤Þ¤»¤ó','shopping_before') if $I->{bg} + $Ui->{wt} * $F{hm} > $I->{Mbg};
&say('¤ª¶â¤¬Â¤ê¤Þ¤»¤ó','shopping_before') if $Ui->{Sp} > $I->{gl};
&change_status($I,'gl',-$Ui->{Sp});
&change_status($I,'bg',$Ui->{wt} * $F{hm});
$Ui->{Im} = &item_image($Ui);
&M("$Ui->{Im}$Ui->{nm}¤ò$F{hm}¤Ä¹ØÆþ¤·¤Þ¤·¤¿¡£");
# ¥Ð¥é¤ÇÄɲÃ
if (&item_class_check($Ui) ne 'M') {
$Ui->{qn} = 1;
for (1..$F{hm}) { push(@{$I->{Bg}},$Ui) }
}
# ¥Ñ¥Ã¥¯¤ÇÄɲÃ
else {
$Ui->{qn} = $F{hm};
push(@{$I->{Bg}},$Ui);
}
&say("²Ùʪ¥¹¥í¥Ã¥È¤¬°ìÇդǤ¹",'shopping_before') if @{$I->{Bg}} > $I->{bs};
last;
}
}
&sort_item($I);
&set_item($I);
¢
require "$set::lib_dir/purchase.cgi";
if (&purchase_item($IC{$I->{pl}},\%FI,'Mk','shopping_before')) {
&sort_item($I);
&set_item($I);
}
$t1 .= &decorate_item($Ii);
¢
if ($set::mif{Xx}) {
$Ii->{Sp} = $set::uop ? $Ii->{sp} : int($Ii->{sp} / $Ii->{qn});
$t1 .= &decorate_item($Ii);
}
else {
$Ii->{Sp} = $set::uop ? $Ii->{sp} * $Ii->{qn} : $Ii->{sp};
$t1 .= &decorate_item($Ii,2);
}
$t1 .= &decorate_item($Ii);
¢
if ($set::mif{Xx}) {
$Ii->{Sp} = $set::uop ? $Ii->{sp} : int($Ii->{sp} / $Ii->{qn});
$t1 .= &decorate_item($Ii);
}
else {
$Ii->{Sp} = $set::uop ? $Ii->{sp} * $Ii->{qn} : $Ii->{sp};
$t1 .= &decorate_item($Ii,2);
}
sub playerlist:
$t2 .= "x$Ui->{qn}" if $Ui->{qn} > 1;
push(@T,"$t2=$Ui->{sp}$set::mny");
¢
$t2 = "[$t2=$Ui->{sp}$set::mny]" if $set::mif{Xx};
$t2 .= "x$Ui->{qn}" if $Ui->{qn} > 1;
$t2 .= "=$Ui->{sp}$set::mny" if !$set::mif{Xx};
push(@T,$t2);
sub sales_information:
&playerlist_decorate_item($T);
¢
&playerlist_decorate_item($T);
$T->{qn} ||= 1;
$T->{sp} = $set::mif{Xx} && !$set::uop ? int($T->{sp} / $T->{qn}) :
!$set::mif{Xx} && $set::uop ? $T->{sp} * $T->{qn} : $T->{sp};
sub price_before:
my ($t1,$t2);
¢
my ($t1,$t2,$t3);
$t3 = $set::uop ? '¤Ò¤È¤ÄÅö¤¿¤ê¤Î' : '';
sub price_before:
$Ii->{qn} = 1 if $F{fl} eq 'pet';
$Ii->{Sp} = $Ii->{bp} * $Ii->{qn} + $set::lip;
$t1 .= qq|<input type=textbox name=$i class=textbox size=5 value="$Ii->{Sp}"> |;
$t1 .= &decorate_item($Ii);
¢
if ($set::uop) {
$Ii->{Sp} = $Ii->{bp} + $set::lip;
$t1 .= qq|<input type=textbox name=$i class=textbox size=5 value="$Ii->{Sp}"> |;
$t1 .= &decorate_item($Ii,1);
}
else {
$Ii->{qn} = 1 if $F{fl} eq 'pet';
$Ii->{Sp} = $Ii->{bp} * $Ii->{qn} + $set::lip;
$t1 .= qq|<input type=textbox name=$i class=textbox size=5 value="$Ii->{Sp}"> |;
$t1 .= &decorate_item($Ii,2);
}
sub price_before:
<tt>¿ôÃͤòÆþÎϤ·¤ÆÃÍÃʤòÀßÄꤷ¤Æ²¼¤µ¤¤¡£<br>ɽ\¼¨¤µ¤ì¤ëÃÍÃʤϺÇÄãÈÎÇä²Á³Ê</tt><br>
¢
<tt>¿ôÃͤòÆþÎϤ·¤Æ$t3ÃÍÃʤòÀßÄꤷ¤Æ²¼¤µ¤¤¡£<br>ɽ\¼¨¤µ¤ì¤ëÃÍÃʤϺÇÄãÈÎÇä²Á³Ê</tt><br>
sub price_after:
next if !$F{$i};
¢
next if !$F{$i};
$Ii->{Bp} = $set::uop ? $Ii->{bp} : $Ii->{bp} * $Ii->{qn};
sub price_after:
elsif ($F{$i} < $Ii->{bp} * $Ii->{qn} + $set::lip) {
¢
elsif ($F{$i} < $Ii->{Bp} + $set::lip) {
sub sell_before:
$t1 .= &decorate_item($Ii);
¢
$t1 .= &decorate_item($Ii,2);
/* ¥¢¥¤¥Æ¥à */
.item {
width: 100%;
}
.item .first td {
padding-bottom: 5px;
font-size: 11px;
font-family: monospace;
color: #005533;
}
.item td {
margin: 0;
padding: 0;
font-size: 12px;
}
.item td.r {
vertical-align: bottom;
}
¤òÄɲÃ
¶ä¹Ô¤Ë»ØÄê¸Ä¿ô¼è°ú/¶ä¹Ô¼«Æ°À°Íýµ¡Ç½ÄɲäÇÄɲä·¤¿¤â¤Î¤ÈƱ¤¸¤Ç¤¹
ÂÐÀïÁê¼ê¤ÎÍúÎò¤Ë¼«Ê¬¤¬ºÜ¤Ã¤Æ¤¤¤Æ¤â»þ´Ö·Ð²á¤·¤Æ¤¤¤ì¤ÐºÆÀï²Äǽ¤Ë¤·¤Æ¤ß¤ë¡£
# ÀïÆ® Fight ######################################### # $elt = 24; # ÀïÆ®Áê¼ê¤ÎÍúÎò¤Ë¤¢¤Ã¤Æ¤ân»þ´Ö·Ð²á¤·¤Æ¤¤¤ì¤ÐÀïÆ®²Äǽ¤Ë¤¹¤ë(yes=»þ´Ö,no=0)
sub fight_player:
@Den = grep { $_ eq $I->{id} } @Uen;
¢
@Den = grep { $_->[0] eq $I->{id} &&
(!$set::elt || time - $_->[1] < $set::elt * 3600) } map { [split /:/] } @Uen;
sub fight_player:
$U->{en} = join(',',$I->{id},@Uen);
¢
$U->{en} = join(',',"$I->{id}:".time,@Uen);
ÇÀ¾ì¤Ç¤âAPP¤Ë¤è¤Ã¤ÆÈÎÇä²Á³Ê¤¬ÊÑÆ°¤¹¤ë¤è¤¦¤Ë¤·¤Æ¤ß¤ë¡£
# Sub Farm Before # ¢ require "$set::lib_dir/status.cgi"; # Sub Farm Before #
sub farm_before:
&dead_check($I,'CLOSE');
¢
&dead_check($I,'CLOSE');
&get_appearance($I);
sub farm_after:
$I = &get_user('I');
¢
$I = &get_user('I');
&get_appearance($I);
sub farm_after:
$Ui->{Sp} = $Ui->{bp} * $Ui->{qn};
¢
$Ui->{Sp} = int($Ui->{bp} * $Ui->{qn} * $I->{Ap});
¥ª¡¼¥Ö¤Î½ê»ý¸Ä¿ô¤È¤ê¤Ê¤¤¥ª¡¼¥Ö¤òɽ¼¨¤·¤Æ¤ß¤ë¡£
sub orb_before: my ($t1,$t2); ¢ my ($t1,$t2,$t3);
sub orb_before:
@{$I->{Ob}} = split(//,$I->{ob});
¢
@{$I->{Ob}} = split(//,$I->{ob});
$total = @{$I->{Ob}};
sub orb_before:
&get_code;
¢
foreach ('a' .. 'l') {
$t3 .= &orb_image($_) if $I->{ob} !~ s/$_//i;
}
$t3 ||= '¤Ê¤·';
&get_code;
sub orb_before:
$t1
<br>
¢
$t1
<br>
<tt>½ê»ý¤·¤Æ¤¤¤ë$set::orb{x}</tt>
$total/$set::mob<br>
<tt>ÉÔ¤·¤Æ¤¤¤ë$set::orb{x}</tt>
$t3<br>
<br>
Ëɶñ¥ê¥¹¥È¤ËÁõÈ÷¡¦ºîÀ®¤ÎɬÍ×ǽÎÏÃͤò·ÇºÜ¡£
armor.lzh¡§¥À¥¦¥ó¥í¡¼¥É¤·¤Æ¤ª»È¤¤¤¯¤À¤µ¤¤
Ê£¿ô¥ª¡¼¥Ö¥È¥ì¡¼¥É¤ò¼ÂÁõ¤·¤Æ¤ß¤ë¡£
sub trade_before:
my $checked;
¤È
$checked = ' checked';
¤È
$checked = '';
¤òÁ´¤Æºï½ü
sub trade_before:
$t1 .= qq|<input type=radio name=Iob class=radio value="$_"$checked> |;
¢
$t1 .= "<input type=checkbox name=I$_ class=checkbox> ";
$t1 .= "<input type=text size=2 name=tI$_ class=textbox value=1> ";
sub trade_before:
$t2 .= qq|<input type=radio name=Uob class=radio value="$_"$checked> |;
¢
$t2 .= "<input type=checkbox name=U$_ class=checkbox> ";
$t2 .= "<input type=text size=2 name=tU$_ class=textbox value=1> ";
sub trade_before:
<tt>¤½¤ì¤¾¤ì¥È¥ì¡¼¥É¤¹¤ë$set::orb{x}¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤¡£</tt><br>
¢
<tt>¤½¤ì¤¾¤ì¥È¥ì¡¼¥É¤¹¤ë$set::orb{x}¤Ë¥Á¥§¥Ã¥¯¤òÆþ¤ì¡¢¸Ä¿ô¤ò¤¢¤ï¤»¤Æ$set::okb¥Ü¥¿¥ó¤ò²¡¤·¤Æ¤·¤Æ¤¯¤À¤µ¤¤¡£</tt><br>
sub trade_after:
sub trade_after {
¢
sub trade_after {
my ($t1,$t2);
my ($Itc,$Utc,$count);
sub trade_after:
unless ($I->{ob} =~ s/$F{Iob}// || $I->{ob} =~ s/$F{Iob}//i) { &say('¥È¥ì¡¼¥É¤Ë¼ºÇÔ¤·¤Þ¤·¤¿','trade_before') }
else { @{$I->{Ob}} = split(//,$I->{ob}.uc($F{Uob})) }
&set_orb($I);
unless ($U->{ob} =~ s/$F{Uob}//) { &say('¥È¥ì¡¼¥É¤Ë¼ºÇÔ¤·¤Þ¤·¤¿','trade_before') }
else { @{$U->{Ob}} = split(//,$U->{ob}.uc($F{Iob})) }
&set_orb($U);
¢
foreach ('a' .. 'l') {
$count = 0;
while ($F{"I$_"} && $count < $F{"tI$_"}) {
$I->{ob} =~ s/$_// || $I->{ob} =~ s/$_//i || &say("$U->{nm}¤ËÅϤ¹$set::orb{$_}$set::orb{x}¤¬Â¤ê¤Þ¤»¤ó",'trade_before');
$t1 .= &orb_image($_);
$U->{ob} .= uc($_);
$Itc++;
$count++;
}
$count = 0;
while ($F{"U$_"} && $count < $F{"tU$_"}) {
$U->{ob} =~ s/$_// || &say("$I->{nm}¤ËÅϤ¹$set::orb{$_}$set::orb{x}¤¬Â¤ê¤Þ¤»¤ó",'trade_before');
$t2 .= &orb_image($_);
$I->{ob} .= uc($_);
$Utc++;
$count++;
}
}
&say("¥È¥ì¡¼¥É¤¹¤ë$set::orb{x}¤Î¿ô¤¬°ìÃפ·¤Þ¤»¤ó",'trade_before') if $Itc != $Utc;
@{$I->{Ob}} = split(//,$I->{ob});
@{$U->{Ob}} = split(//,$U->{ob});
&set_orb($I);
&set_orb($U);
sub trade_after:
lc $F{Iob};
lc $F{Uob};
&set_record("$I->{nm}¤¬$set::orb{$F{Iob}}$set::orb{x}¤ò$U->{nm}¤Î$set::orb{$F{Uob}}$set::orb{x}¤È¥È¥ì¡¼¥É¤·¤Þ¤·¤¿¡£");
&partner('',"$set::orb{x}¤ò¥È¥ì¡¼¥É¤·¤Þ¤·¤¿");
¢
&set_record("$I->{nm}¤¬$set::orb{x}¤Î¥È¥ì¡¼¥É¤ËÍè¤Þ¤·¤¿¡£<br>\n$t1¡§$I->{nm}¤Î½Ð¤·¤¿$set::orb{x}<br>\n$t2¡§$U->{nm}¤Î½Ð¤·¤¿$set::orb{x}");
&partner($U->{w10},"$set::orb{x}¤ò¥È¥ì¡¼¥É¤·¤Þ¤·¤¿¡£<br>\n$t1¡§$I->{nm}¤Î½Ð¤·¤¿$set::orb{x}<br>\n$t2¡§$U->{nm}¤Î½Ð¤·¤¿$set::orb{x}");
¤¤¤Ä¤â¤Î2ÇܺîÀ®¤ËÀ®¸ù¤·¤¿¤é³ÍÆÀ·Ð¸³Ãͤâ2Çܤˤ·¤Æ¤ß¤ë¡£
# ¹çÀ® Compose ####################################### # $dex = 2; # ¥À¥Ö¥ë¥í¡¼¥ë¤ËÀ®¸ù¤·¤¿¤È¤¤Ï³ÍÆÀ·Ð¸³ÃͤònÇܤˤ¹¤ë
sub compose_after:
&double_roll($I,$Ui->{dt}) if $Ui->{dt}{cl} =~ /(Fd|Mt)/;
¢
&double_roll($I,$Ui->{dt}) if $Ui->{dt}{cl} =~ /(Fd|Mt)/;
$Ui->{ex} = int($Ui->{ex} * $set::dex) if $I->{DB};
sub double_roll:
$Si->{qn} *= $set::ddu;
¢
$S->{DB} = 1;
±þÍѤǥ¨¥¯¥»¥ì¥ó¥È¥í¡¼¥ë¤Î¤È¤¤â½ÐÍè¤Þ¤¹¤Í¡£
ÅêÚ³Éð´ï¤Ç¤ÎÀèÀ©¹¶·â¤Î¥À¥á¡¼¥¸¤ò¸º¾¯¤µ¤»¤Æ¤ß¤ë¡£
¡ÖÅêÚ³Éð´ï¤Ç¤ÎÀèÀ©¤ÇÁê¼ê¤ÎÁõÈ÷¡¦¥¹¥¥ë¤¬¤Û¤È¤ó¤É̵»ë¤µ¤ì¤Æ¤·¤Þ¤¦¡×¤Î½¤Àµ¤òÀè¤Ë¹Ô¤¦É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
sub concrete_battle:
$ADM += $A->{tc} if $F == 2;
¢
$ADM += &roll_dice($A->{tc}) if $F == 2;
$A->{tc}¤Î¥×¥é¥¹Ãͤò¥é¥ó¥À¥à¤Ë¡£
¥é¥ó¥À¥à¤Ê¤Î¤ÇÅêÚ³Éð´ï¤Ç¤ÎÀèÀ©¤Ï¤«¤Ê¤ê¥à¥é¤Î¤¢¤ë¥¢¥¯¥·¥ç¥ó¤Ë¤Ê¤ê¤Þ¤¹¡£¥Ð¥é¥ó¥¹·ë¹½ÊѤï¤ë¤Ï¤º¤Ê¤Î¤ÇÃí°Õ¡£
¥À¥ó¥¸¥ç¥ó¤Ç¡¢²ÙʪÂÞ¤«¤é¡ÖÁ´¤Æ¤ò¥Ñ¥Ã¥¯¤¹¤ë¡×¤òÁªÂò¤Ç¤¤ë¤è¤¦¤Ë¤·¤Æ¤ß¤ë¡£
sub dungeon_bag:
<option value="pack">¥Ñ¥Ã¥¯¤Ë¤¹¤ë</option>
¢
<option value="pack_all">Á´¤Æ¤ò¥Ñ¥Ã¥¯¤Ë¤¹¤ë</option>
¥Õ¥ì¥ó¥É¤Î¸½ºßÃϤòÃϿޤËɽ¼¨¤·¤Æ¤ß¤ë¡£
¥Õ¥ì¥ó¥É¤Î¸½ºßÃϤòÃϿޤËɽ¼¨¤·¤Þ¤¹¡£
¼«Ê¬¤ò¥Õ¥ì¥ó¥ÉÅÐÏ¿¤·¤Æ¤¤¤ë¥×¥ì¥¤¥ä¡¼¤ÎÃϿޤ˼«Ê¬¤Î¸½ºßÃϤòɽ¼¨¤¹¤ë¤«¤ÎÀßÄê¤â¤Ç¤¤Þ¤¹¡£
sub main:
<input type=hidden name=x value="$X">
<input type=hidden name=y value="$Y">
<input type=hidden name=sx value="$I->{sx}">
¢
<input type=hidden name=id value="$F{id}">
<input type=hidden name=ps value="$F{ps}">
sub map¤ò°Ê²¼¤ËÃÖ¤´¹¤¨
# Sub Map #
sub map {
my $V;
my ($X,$Y,$Z);
my %V;
my @FR;
$I = &get_user('I');
@FR = split(/,/,$I->{fr});
shift @FR;
push(@{$V{$I->{pl}}},[$I->{id},$I->{nm},$I->{sx}]);
foreach (@FR) {
($U->{id},$U->{nm}) = split(/\//);
next unless -e "$set::Udt_dir/$U->{id}.cgi";
$U = &get_user('U',$U->{id},'unlocked') or next;
$Z = (split(/,/,$U->{fr},2))[0];
push(@{$V{$U->{pl}}},[$U->{id},$U->{nm},$U->{sx}]) if $Z eq 'on' || $Z eq 'only' && grep { (split /\//)[0] eq $U->{id} } @FR;
}
&header(CSS=>'map',JavaScript=>'Set,MapProgram,MapInformation,MapData',Body=>' onLoad="SetMap()"');
print qq|<div id=box class=map style="visibility:hidden"></div>\n|;
print qq|<span id=map></span>\n|;
require "$set::dat_dir/place.cgi";
foreach $V (keys %V) {
($X,$Y) = split(/,/,$PL{$V}{lc});
print qq|<span style="position:absolute;top:$Y;left:$X">|;
foreach $Z (@{$V{$V}}) {
print qq|<img src=$set::mim_dir/$Z->[2].gif id="$Z->[0]" onMouseOver="Information(this.id,event,'$Z->[0]/$Z->[1]')" onMouseOut="Information(0)">| if $Z->[2];
}
print qq|</span>\n|;
}
&footer;
}
sub mail_before:
($U->{id},$U->{nm}) = split(/\//);
¢
next unless /\//;
($U->{id},$U->{nm}) = split(/\//);
sub friends_before: my $t1; ¢ my ($t1,$t2); my ($V,$T); my @FR;
sub friends_before:
$I = &get_user('I');
¢
$I = &get_user('I');
($T,@FR) = split(/,/,$I->{fr});
sub friends_before:
$t1 = "¸½ºß¤Ïï¤â¤¤¤Þ¤»¤ó¡£" if !$t1;
¢
$t1 = "¸½ºß¤Ïï¤â¤¤¤Þ¤»¤ó¡£<br>" if !$t1;
$V = $T eq 'on' ? ' checked' : '';
$t2 .= "<input type=radio class=radio name=map value=on$V>Á´¤Æ¤Î¥×¥ì¥¤¥ä¡¼¤ËÄÌÃÎ<br>";
$V = $T eq 'only' ? ' checked' : '';
$t2 .= "<input type=radio class=radio name=map value=only$V>¥Õ¥ì¥ó¥ÉÅÐÏ¿¼Ô¤Ë¤Î¤ßÄÌÃÎ<br>";
$V = $T eq 'off' ? ' checked' : '';
$t2 .= "<input type=radio class=radio name=map value=off$V>ÄÌÃΤ·¤Ê¤¤<br>";
sub friends_before:
$t1
<br>
¢
$t1
<br>
¸½ºßÃÏÄÌÃÎÀßÄê<br>
<tt>¼«Ê¬¤ò¥Õ¥ì¥ó¥ÉÅÐÏ¿¤·¤Æ¤¤¤ë¥×¥ì¥¤¥ä¡¼¤ÎÃϿޤ˸½ºßÃϤòɽ\¼¨¤¹¤ë¤«¤ÎÀßÄê¤òÊѹ¹¤·¤Þ¤¹¡£</tt><br>
$t2
<br>
sub friends_after:
my $FR;
my @FR;
$I = &get_user('I');
@FR = map { $_->[0] }
grep { $F{$_->[1]} }
map { [$_,(split(/\//))] } split(/,/,$I->{fr});
¢
my $FR;
my @FR;
my $T;
$I = &get_user('I');
($T,@FR) = split(/,/,$I->{fr});
@FR = map { $_->[0] }
grep { $F{$_->[1]} }
map { [$_,(split(/\//))] } @FR;
sub friends_after:
$I->{fr} = join(',',@FR);
¢
$T = $F{map} eq 'on' ? 'on' :
$F{map} eq 'only' ? 'only' : 'off';
$I->{fr} = join(',',$T,@FR);
function Information:
function Information(index,e) {
¢
function Information(index,e,text) {
function Information:
target.innerHTML = msg[index];
¢
target.innerHTML = text ? text : msg[index];
function Information: target.innerHTML = msg[index]; ¢ target.innerHTML = text ? text : msg[index];
function Information: target.document.write(msg[index]); ¢ target.document.write(text ? text : msg[index]);
¥°¥ì¡¼¥É¤òʸ»ú¤Çɽ¼¨¤·¤Æ¤ß¤ë¡£
¥°¥ì¡¼¥É2°Ê¾å¤Î¥¢¥¤¥Æ¥à¤ò¡ÖÌÚ¤ÎÈÄ:G2¡×¤Î¤è¤¦¤Ëɽ¼¨¤·¤Þ¤¹¡£
¿§Ê¬¤±¤µ¤ì¤Æ¤¤¤Æ¤âʬ¤«¤ê¤Ë¤¯¤¤»þ¤Ë¤ä¤Ã¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
sub decorate_item:
$V = $Si->{Nm} ? $Si->{Nm} : $Si->{nm};
¢
$V = $Si->{Nm} ? $Si->{Nm} : $Si->{nm};
$V .= ":G$Si->{gd}" if $Si->{gd} > 1;