Commit d1d623ec authored by Nemo Ma's avatar Nemo Ma Committed by GitHub

Merge pull request #5 from hikawiier/waaagh

Elements
好活当赏:30RP
parents e538d938 ec76bd36
......@@ -126,7 +126,22 @@ if($hp > 0){
$mode = 'rest';
}
} elseif($command == 'itemmain') {
$mode = $itemcmd;
if(($club == 20 && $itemcmd == 'itemmix') || ($club != 20 && ($itemcmd == 'elementmix' || $itemcmd == 'elementbag')))
{
$log .= "你的手突然掐住了你的头左右摇摆!<br><span class='yellow'>“你还想要干什么,啊?你还想要干什么!!”</span><br>看来你的手和脑子之间起了一点小摩擦。<br><br>";
$mode = 'command';
}
else
{
if($club == 20)
{
global $elements_info;
include_once GAME_ROOT.'./include/game/elementmix.func.php';
$emax = get_emix_itme_max();
foreach($elements_info as $e_key=>$e_info) ${'etaginfo'.$e_key} ="<span title=\"".print_elements_tags($e_key)."\">";
}
$mode = $itemcmd;
}
} elseif($command == 'song') {
$sname=trim(trim($art,'【'),'】');
include_once GAME_ROOT.'./include/game/song.inc.php';
......@@ -247,6 +262,11 @@ if($hp > 0){
else{itemmerge($merge1,$merge2);}
} elseif($command == 'itemmove') {
itemmove($from,$to);
} elseif(strpos($command,'split_itm') === 0) {
//把道具分解为元素 在数据库里注销道具的流程已经在discover()里走完了
$split_item = substr($command,9);
include_once GAME_ROOT . './include/game/elementmix.func.php';
split_item_to_elements($split_item);
} elseif(strpos($command,'drop') === 0) {
$drop_item = substr($command,4);
itemdrop($drop_item);
......@@ -280,6 +300,45 @@ if($hp > 0){
itemmix($mixlist,$itemselect);
else itemmix($mixlist);
}
} elseif($command == 'elementmix') {
if($club == 20)
{
$e_mixlist = Array();
foreach($elements_info as $e_key=>$e_info)
{
global ${'element'.$e_key};
$m_e_key = $e_key + 1;//这样就不用污染原本的js了
${'emitm'.$e_key.'_num'} = round( ${'emitm'.$e_key.'_num'});
if(${'mitm'.$m_e_key}>=0 && ${'element'.$e_key} && ${'emitm'.$e_key.'_num'}>0 && ${'emitm'.$e_key.'_num'}<=${'element'.$e_key})
{
//打入参与合成的元素编号与数量
$e_mixlist[$e_key] = ${'emitm'.$e_key.'_num'};
}
}
if(count($e_mixlist)>0)
{
$er = ($lvl>=15 && $emitme_r && $change_emr==1) ? $emitme_r : NULL;
$emr = ($lvl>=5 && $emitme_max_r && $change_emax==1) ? $emitme_max_r : NULL;
include_once GAME_ROOT.'./include/game/elementmix.func.php';
element_mix($e_mixlist,$emr,$er);
}
else
{
$log.="至少要放入一份元素。<br>";
}
}
else
{
$log.="你挠了挠头,没搞懂自己到底要干什么。<br>";
}
$mode='command';
} elseif($command == 'elementbag') {
if($club == 20)
{
include_once GAME_ROOT.'./include/game/elementmix.func.php';
print_elements_info();
}
$mode='command';
} elseif($command == 'itemencase') {
if(strpos($arbsk,'^')!==false && $arbs && $arbe){
$ilist = array();
......
This diff is collapsed.
......@@ -2599,7 +2599,7 @@ $npcinfo = array
'itme5' => 300,
'itms5' => 500,
'itmsk5' => 'v',
'itm6' => '<span class="spitem" title="这个武器在主动攻击对手时,将可以复制对手的武器。注意:对手武器数值太高时会失败,后果自负!">临摹装置</span>',
'itm6' => '临摹装置',
'itmk6' => 'WC',
'itme6' => 300,
'itms6' => 500,
......@@ -2790,7 +2790,7 @@ $npcinfo = array
'itme4' => 999,
'itms4' => '∞',
'itmsk4' => 'Z',
'itm6' => '<span class="spitem" title="这个武器一定会对敌人造成350点伤害,但对防御非常高的敌人除外。">魔法蜂针</span>',
'itm6' => '魔法蜂针',
'itmk6' => 'WGK',
'itme6' => 350,
'itms6' => 350,
......
This diff is collapsed.
......@@ -224,6 +224,80 @@ table.admin td.tdtitle {
.neonyellow{animation: yellowflicker 1.5s infinite alternate;font: bold 10pt "微软雅黑" serif;line-height:16px}
.neonorange{animation: orangeflicker 1.5s infinite alternate;font: bold 10pt "微软雅黑" serif;line-height:16px}
.mtgcolorless {
text-shadow: 0px 0px 2px rgba(137, 137, 137, 0.706), 0px 0px 3px #f5f5f586, 0px 0px 4px rgb(255, 255, 255);
animation: fadeInOut 2s ease-in-out infinite;
}
.mtgred {
text-shadow: 0px 0px 2px #af1d1d, 0px 0px 3px #BD4624, 0px 0px 4px red;
animation: fadeInOut 2s ease-in-out infinite;
}
.mtgblue {
text-shadow: 0px 0px 2px #378bc6, 0px 0px 3px #0da0a0, 0px 0px 4px #0a4fd0;
animation: fadeInOut 2s ease-in-out infinite;
}
.mtggreen {
text-shadow: 0px 0px 2px #5bd387, 0px 0px 3px #1bbb1b, 0px 0px 4px #269803;
animation: fadeInOut 2s ease-in-out infinite;
}
.mtgwhite {
text-shadow: 0px 0px 2px #ffffdd, 0px 0px 3px #ededc4, 0px 0px 4px #cfcf9f;
animation: fadeInOut 2s ease-in-out infinite;
}
.mtgblack {
text-shadow: 0px 0px 2px #9015c1, 0px 0px 3px #9242a2, 0px 0px 4px #4a0854;
animation: fadeInOut 2s ease-in-out infinite;
}
@keyframes fadeInOut {
0% {
filter: brightness(89%) blur(0.3px);
}
50% {
filter: brightness(122%) blur(0px);
}
100% {
filter: brightness(89%) blur(0.3px);
}
}
.sparkle {
animation: sparklefade 2s ease-in-out infinite;
}
@keyframes sparklefade {
0% {
filter: sepia(100%) brightness(88%) blur(0.3px);
}
50% {
filter: sepia(100%) brightness(133%) blur(0px);
}
100% {
filter: sepia(100%) brightness(88%) blur(0.3px);
}
}
.rainbow {
text-shadow: 0 0 10px #fff, 0 0 20px #fff, 0 0 30px #e60073, 0 0 40px #e60073, 0 0 50px #e60073, 0 0 60px #e60073, 0 0 70px #e60073;
animation: rainbowshimmer 2s ease-in-out infinite;
}
@keyframes rainbowshimmer {
0% {
text-shadow: 0 0 10px #fff, 0 0 20px #fff, 0 0 30px #e60073, 0 0 40px #e60073, 0 0 50px #e60073, 0 0 60px #e60073, 0 0 70px #e60073;
}
20% {
text-shadow: 0 0 10px #fff, 0 0 20px #fff, 0 0 30px #00ff00, 0 0 40px #00ff00, 0 0 50px #00ff00, 0 0 60px #00ff00, 0 0 70px #00ff00;
}
40% {
text-shadow: 0 0 10px #fff, 0 0 20px #fff, 0 0 30px #ffff00, 0 0 40px #ffff00, 0 0 50px #ffff00, 0 0 60px #ffff00, 0 0 70px #ffff00;
}
60% {
text-shadow: 0 0 10px #fff, 0 0 20px #fff, 0 0 30px #0000ff, 0 0 40px #0000ff, 0 0 50px #0000ff, 0 0 60px #0000ff, 0 0 70px #0000ff;
}
80% {
text-shadow: 0 0 10px #fff, 0 0 20px #fff, 0 0 30px #ff00ff, 0 0 40px #ff00ff, 0 0 50px #ff00ff, 0 0 60px #ff00ff, 0 0 70px #ff00ff;
}
100% {
text-shadow: 0 0 10px #fff, 0 0 20px #fff, 0 0 30px #e60073, 0 0 40px #e60073, 0 0 50px #e60073, 0 0 60px #e60073, 0 0 70px #e60073;
}
}
#main {
white-space:nowrap;
vertical-align:middle;
......@@ -269,4 +343,15 @@ background-image: url("../../img/footer_line.gif");
.auto-style1 {
border-width: 0px;
}
#gamecmd input.range{
background:linear-gradient(-75deg,rgba(248, 205, 247, 0.6),rgba(255, 255, 255, 0.6));
border-radius:4px;
margin-top: 11px;
margin-bottom: 4px;
width: 100%;
height: 12px;
outline:none;
box-shadow:0 0 6px rgba(246, 219, 251, 0.6);
}
\ No newline at end of file
......@@ -3,6 +3,7 @@
define('CURSCRIPT', 'help');
require './include/common.inc.php';
require './include/game.func.php';
$mixfile = config('mixitem',$gamecfg);
$shopfile = config('shopitem',$gamecfg);
......@@ -17,6 +18,88 @@ $writefile = GAME_ROOT.TPLDIR.'/mixhelp.htm';
include_once config('npc',$gamecfg);
for ($i=0; $i<=20; $i++) $p[$i]=$i;
for ($i=1; $i<=6; $i++) $itemlst[$i]=$i;
foreach ($npcinfo as $i => $npcs)
{
if(!empty($npcs))
{
foreach (Array('arb','arh','ara','arf','art','itm0','itm1','itm2','itm3','itm4','itm5','itm6') as $value)
{
if($npcinfo[$i][$value]) $npcinfo[$i][$value] = parse_itm_desc($npcinfo[$i][$value]);
}
foreach (Array('arbk','arhk','arak','arfk','artk','itmk0','itmk1','itmk2','itmk3','itmk4','itmk5','itmk6') as $value)
{
if($npcinfo[$i][$value])
{
foreach($iteminfo as $info_key => $info_value)
{
if(strpos($npcinfo[$i][$value],$info_key)===0){
$npcinfo[$i][$value] = parse_itm_desc($info_key,'k');;
break;
}
}
}
}
foreach(Array('arbsk','arhsk','arask','arfsk','artsk','itmsk0','itmsk1','itmsk2','itmsk3','itmsk4','itmsk5','itmsk6') as $value)
{
if($npcinfo[$i][$value])
{
$npcinfo[$i][$value][$value.'_words'] = '';
$tmpsk = get_itmsk_array($npcinfo[$i][$value]);
foreach($tmpsk as $sk)
{
if(!empty($npcinfo[$i][$value][$value.'_words']))
{
$npcinfo[$i][$value.'_words'] .= "+".parse_itm_desc($sk,'sk');
}
else
{
$npcinfo[$i][$value.'_words'] = parse_itm_desc($sk,'sk');
}
}
}
}
foreach($npcs['sub'] as $n => $npc)
{
foreach(Array('wep','arb','arh','ara','arf','art','itm0','itm1','itm2','itm3','itm4','itm5','itm6') as $value)
{
if($npcinfo[$i]['sub'][$n][$value]) $npcinfo[$i]['sub'][$n][$value] = parse_itm_desc($npcinfo[$i]['sub'][$n][$value]);
}
foreach(Array('wepk','arbk','arhk','arak','arfk','artk','itmk0','itmk1','itmk2','itmk3','itmk4','itmk5','itmk6') as $value)
{
if($npcinfo[$i]['sub'][$n][$value])
{
foreach($iteminfo as $info_key => $info_value)
{
if(strpos($npcinfo[$i]['sub'][$n][$value],$info_key)===0){
$npcinfo[$i]['sub'][$n][$value] = parse_itm_desc($info_key,'k');;
break;
}
}
}
}
foreach(Array('wepsk','arbsk','arhsk','arask','arfsk','artsk','itmsk0','itmsk1','itmsk2','itmsk3','itmsk4','itmsk5','itmsk6') as $value)
{
if($npcinfo[$i]['sub'][$n][$value])
{
$npcinfo[$i]['sub'][$n][$value.'_words'] = '';
$tmpsk = get_itmsk_array($npcinfo[$i]['sub'][$n][$value]);
foreach($tmpsk as $sk)
{
if(!empty($npcinfo[$i]['sub'][$n][$value.'_words']))
{
$npcinfo[$i]['sub'][$n][$value.'_words'] .= "+".parse_itm_desc($sk,'sk');
}
else
{
$npcinfo[$i]['sub'][$n][$value.'_words'] = parse_itm_desc($sk,'sk');
}
}
}
}
}
}
}
// $ty1[1]=6; $ty1[2]=5; $ty1[3]=1; $ty1[4]=9; $ty1[5]=88;
// $ty2[1]=11;
// $ty3[1]=2; $ty3[2]=90;
......@@ -42,21 +125,31 @@ if(filemtime($mixfile) > filemtime($writefile) || filemtime($shopfile) > filemti
$mixitem = array();
foreach($mixinfo as $mix){
if($mix['class'] !== 'hidden'){
//名字
$mix['result'][0] = parse_itm_desc($mix['result'][0]);
//类别
foreach($iteminfo as $info_key => $info_value){
if(strpos($mix['result'][1],$info_key)===0){
$mixitmk = $info_value;
$mixitmk = parse_itm_desc($info_key,'k');
break;
}
}
//属性
$mixitmsk = '';
if(!empty($mix['result'][4]) && !is_numeric($mix['result'][4])){
for ($j = 0; $j < strlen($mix['result'][4]); $j++) {
/*for ($j = 0; $j < strlen($mix['result'][4]); $j++) {
$sub = substr($mix['result'][4],$j,1);
if(!empty($sub)){
$mixitmsk .= $itemspkinfo[$sub].'+';
}
}
if(!empty($mixitmsk)){$mixitmsk = substr($mixitmsk,0,-1);}
if(!empty($mixitmsk)){$mixitmsk = substr($mixitmsk,0,-1);}*/
$mix_sk = get_itmsk_array($mix['result'][4]); $mixitmsk = '';
foreach($mix_sk as $sk_value)
{
if(!empty($mixitmsk)) $mixitmsk .= '+'.parse_itm_desc($sk_value,'sk');
else $mixitmsk = parse_itm_desc($sk_value,'sk');
}
}
$mixitem[$mix['class']][] = array('stuff' => $mix['stuff'], 'result' => array($mix['result'][0],$mixitmk,$mix['result'][2],$mix['result'][3],$mixitmsk));
}
......
......@@ -4,7 +4,65 @@ if(!defined('IN_GAME')) {
exit('Access Denied');
}
//将sk转为数组格式 只会转换登记过的属性
function get_itmsk_array($sk_value)
{
global $itemspkinfo;
$ret = Array();
$i = 0;
while ($i < strlen($sk_value))
{
$sub = substr($sk_value,$i,1);
$i++;
if(!empty($sub) && array_key_exists($sub,$itemspkinfo)) array_push($ret,$sub);
}
return $ret;
}
//还原itmsk为字符串 $max_length:字符串长度上限
function get_itmsk_strlen($sk_value,$max_length=5)
{
global $itemspkinfo;
$ret = ''; $sk_count = 0;
foreach($sk_value as $sk)
{
if(array_key_exists($sk,$itemspkinfo))
{
$ret.=$sk;
$sk_count+=strlen($sk);
}
if($sk_count>=$max_length) break;
}
return $ret;
}
//为显示在主界面、尸体发现界面、游戏帮助界面的道具名、道具类、道具属性添加额外描述
function parse_itm_desc($n,$t='m')
{
global $iteminfo,$itemspkinfo;
global $iteminfo_tooltip,$itemkinfo_tooltip,$itemspkinfo_tooltip;
$s = "<span "; unset($p1); unset($p2);
switch($t)
{
//处理类别
case $t=='k':
if($itemkinfo_tooltip[$n]['title']) $p1 = "title=\"".$itemkinfo_tooltip[$n]['title']."\"";
if($itemkinfo_tooltip[$n]['class']) $p2 = "class=\"".$itemkinfo_tooltip[$n]['class']."\"";
$n = $iteminfo[$n];
break;
//处理属性
case $t=='sk':
if($itemspkinfo_tooltip[$n]['title']) $p1 = "title=\"".$itemspkinfo_tooltip[$n]['title']."\"";
if($itemspkinfo_tooltip[$n]['class']) $p2 = "class=\"".$itemspkinfo_tooltip[$n]['class']."\"";
$n = $itemspkinfo[$n];
break;
//处理名字
default:
if($iteminfo_tooltip[$n]['title']) $p1 = "title=\"".$iteminfo_tooltip[$n]['title']."\"";
if($iteminfo_tooltip[$n]['class']) $p2 = "class=\"".$iteminfo_tooltip[$n]['class']."\"";
}
$p3 = " >"; $e = "</span>";
$ret = $s.$p1.$p2.$p3.$n.$e;
return $ret;
}
function init_playerdata(){
global $lvl,$baseexp,$exp,$gd,$icon,$arbe,$arhe,$arae,$arfe,$weather,$fog,$weps,$arbs,$log,$upexp,$lvlupexp,$iconImg,$ardef;
......@@ -35,39 +93,45 @@ function init_profile(){
global $itemspkinfo,$wepsk,$arbsk,$arhsk,$arask,$arfsk,$artsk,$itmsk0,$itmsk1,$itmsk2,$itmsk3,$itmsk4,$itmsk5,$itmsk6;
global $nospk,$wepsk_words,$arbsk_words,$arhsk_words,$arask_words,$arfsk_words,$artsk_words,$itmsk0_words,$itmsk1_words,$itmsk2_words,$itmsk3_words,$itmsk4_words,$itmsk5_words,$itmsk6_words;
global $wepk_words,$arbk_words,$arhk_words,$arak_words,$arfk_words,$artk_words,$itmk0_words,$itmk1_words,$itmk2_words,$itmk3_words,$itmk4_words,$itmk5_words,$itmk6_words;
global $wep,$arb,$arh,$ara,$arf,$art,$itm0,$itm1,$itm2,$itm3,$itm4,$itm5,$itm6;
foreach (Array('wep','arb','arh','ara','arf','art','itm0','itm1','itm2','itm3','itm4','itm5','itm6') as $value)
{
${$value} = parse_itm_desc(${$value});
}
foreach (Array('wepk','arbk','arhk','arak','arfk','artk','itmk0','itmk1','itmk2','itmk3','itmk4','itmk5','itmk6') as $k_value) {
if(${$k_value}){
if(${$k_value})
{
${$k_value.'_words'} = '';
foreach($iteminfo as $info_key => $info_value){
foreach($iteminfo as $info_key => $info_value)
{
if(strpos(${$k_value},$info_key)===0){
${$k_value.'_words'} = $info_value;
${$k_value.'_words'} = parse_itm_desc($info_key,'k');
break;
}
}
} else {
${$k_value.'_words'} = '';
}
}
foreach (Array('wepsk','arbsk','arhsk','arask','arfsk','artsk','itmsk0','itmsk1','itmsk2','itmsk3','itmsk4','itmsk5','itmsk6') as $sk_value) {
if(${$sk_value} && is_numeric(${$sk_value}) === false){
${$sk_value.'_words'} = '';
for ($i = 0; $i < strlen($sk_value); $i++) {
$sub = substr(${$sk_value},$i,1);
if(!empty($sub)){
if(!empty(${$sk_value.'_words'})){
${$sk_value.'_words'} .= '+'.$itemspkinfo[$sub];
}else{
${$sk_value.'_words'} = $itemspkinfo[$sub];
}
}
//取我数组斧来
$tmpsk = get_itmsk_array(${$sk_value});
foreach($tmpsk as $sk)
{
if(!empty(${$sk_value.'_words'}))
{
${$sk_value.'_words'} .= "+".parse_itm_desc($sk,'sk');
}
else
{
${$sk_value.'_words'} = parse_itm_desc($sk,'sk');
}
}
} else {
${$sk_value.'_words'} =$nospk;
}
......
......@@ -80,7 +80,8 @@ function findteam(&$w_pdata){
function findcorpse(&$w_pdata){
global $log,$mode,$main,$battle_title,$cmd,$iteminfo,$itemspkinfo;
global $w_type,$w_name,$w_gd,$w_sNo,$w_icon,$w_hp,$w_mhp,$w_wep,$w_wepk,$w_wepe,$w_lvl,$w_pose,$w_tactic,$w_inf;//,$itmsk0;
global $club;
$battle_title = '发现尸体';
extract($w_pdata,EXTR_PREFIX_ALL,'w');
init_battle(1);
......@@ -111,11 +112,15 @@ function findcorpse(&$w_pdata){
{
$main = 'battle';
$log .= '你发现了<span class="red">'.$w_name.'</span>的尸体!<br>';
foreach (Array('wep','arb','arh','ara','arf','art','itm0','itm1','itm2','itm3','itm4','itm5','itm6') as $w_value)
{
${$w_value} = parse_itm_desc(${$w_value});
}
foreach (Array('w_wepk','w_arbk','w_arhk','w_arak','w_arfk','w_artk','w_itmk0','w_itmk1','w_itmk2','w_itmk3','w_itmk4','w_itmk5','w_itmk6') as $w_k_value) {
if(${$w_k_value}){
foreach($iteminfo as $info_key => $info_value){
if(strpos(${$w_k_value},$info_key)===0){
${$w_k_value.'_words'} = $info_value;
${$w_k_value.'_words'} = parse_itm_desc($info_key,'k');
break;
}
}
......@@ -123,15 +128,19 @@ function findcorpse(&$w_pdata){
}
foreach (Array('w_wepsk','w_arbsk','w_arhsk','w_arask','w_arfsk','w_artsk','w_itmsk0','w_itmsk1','w_itmsk2','w_itmsk3','w_itmsk4','w_itmsk5','w_itmsk6') as $w_sk_value) {
${$w_sk_value.'_words'} = '';
if(${$w_sk_value} && ! is_numeric(${$w_sk_value})){
for ($i = 0; $i < strlen($w_sk_value)-1; $i++) {
if(${$w_sk_value} && ! is_numeric(${$w_sk_value}))
{
$tmp_wsk = get_itmsk_array(${$w_sk_value});
foreach($tmp_wsk as $sk)
{
${$w_sk_value.'_words'} .= parse_itm_desc($sk,'sk');
}
/*for ($i = 0; $i < strlen($w_sk_value)-1; $i++) {
$sub = substr(${$w_sk_value},$i,1);
if(!empty($sub)){
${$w_sk_value.'_words'} .= $itemspkinfo[$sub];
}
}
}*/
}
}
include template('corpse');
......
This diff is collapsed.
......@@ -5,7 +5,7 @@ if (! defined ( 'IN_GAME' )) {
}
function itemuse($itmn) {
global $mode, $log, $nosta, $pid, $name, $state, $now,$nick,$achievement;
global $mode, $log, $nosta, $pid, $name, $state, $now,$nick,$achievement,$club;
if ($itmn < 1 || $itmn > 6) {
$log .= '此道具不存在,请重新选择。';
$mode = 'command';
......@@ -1732,6 +1732,62 @@ function itemuse($itmn) {
$itm = $itmk = $itmsk = '';
$itme = $itms = 0;
death ( 's_escape', '', 0, $itm );
} elseif ($itm == '测试用元素口袋'){
global $elements_info;
$log.="【DEBUG】你不知道从哪里摸出来一大堆元素!<br>";
foreach($elements_info as $e_key=>$e_info)
{
global ${'element'.$e_key};
${'element'.$e_key} += 100000;
$log.="获得了100000份".$elements_info[$e_key]."!<br>";
}
//初始化元素合成缓存文件
include_once GAME_ROOT.'./include/game/elementmix.func.php';
create_emix_cache_file();
} elseif ($itm == '测试用元素大师社团卡'){
//-----------------------//
//这是一张测试用卡 冴冴可以挑一些用得上的放在使用社团卡后执行的事件里
global $elements_info,$sparkle;
//未选择社团情况下才可以用社团卡
if($club)
{
$log.="你已经是有身份的人了!不能再使用社团卡。<br>";
}
//反正是测试用的 发段怪log
$log.="你拿起<span class='yellow'>$itm</span>左右端详着……<br>
你将目光扫过卡片上若隐若现的纹理,突然发现这张卡内似乎别有洞天。<br>
透过纹理,你看到一群奇装异服的小人们,围坐在一处颇具古典风格的露天广场上。<br>
广场中央有一人,正抬手指天,慷慨陈词。<br>
你听不到它们在说什么,但演讲者那极富感染力的动作勾起了你的好奇心,<br>
你不由自主得沿着它指的方向望去——<br>
<br>
洁白如镜的天穹上,倒映出的是你的脸。<br>
<br>
你赶忙移开视线,但小人们已经发现了你。<br>
从广场再到远处的平原上,数以十计、百计、千计、万计,
一眼望不到头的小人们从你视野的尽头涌出,挤向你所在的方向。<br>
就在此时,你突然感到手心一烫,下意识地便将手里的卡片丢了出去。<br>
眼前亦真亦幻的怪异景象登时消失不见了。<br>
<br>
你低下头,发现卡片已经被烧掉一半了,<br>
在被火焰烧灼得卷曲起的边缘处,漏出了某样东西的一角。<br>
你捡起卡片,甩了甩,便看到一个足足有卡片五倍甚至四倍大的东西从里面掉了出来!<br>";
$log.="<br>获得了<span class='sparkle'>{$sparkle}元素口袋{$sparkle}</span>!<br>";
$log.="……这到底是怎么一回事呢?<br><br>";
//社团变更
$club = 20;
//获取初始元素与第一条配方
$dice = rand(0,5);
global ${'element'.$dice};
${'element'.$dice} += 200+$dice;
//初始化元素合成缓存文件
include_once GAME_ROOT.'./include/game/elementmix.func.php';
create_emix_cache_file();
//销毁道具
$itm = $itmk = $itmsk = '';
$itme = $itms = 0;
//-----------------------//
} elseif ($itm == '提示纸条A') {
$log .= '你读着纸条上的内容:<br>“执行官其实都是幻影,那个红暮的身上应该有召唤幻影的玩意。”<br>“用那个东西然后打倒幻影的话能用游戏解除钥匙出去吧。”<br>';
} elseif ($itm == '提示纸条B') {
......@@ -1882,11 +1938,37 @@ function itemuse($itmn) {
$log .= " <span class=\"yellow\">$itm</span> 该如何使用呢?<br>";
}
//元素大师使用提示纸条的特殊效果:
if($club == 20 && strpos($itmk,'Y')===0 && strpos($itm,'提示纸条')!==false)
{
$log.="<br>就在你读完内容打算把纸条收起来时,你愕然发现纸条背面竟然还有字!<br><br>";
include_once config('elementmix',$gamecfg);
$log.= $emix_slip[array_rand($emix_slip)];
//除商店纸条外:提供一条元素特征(TODO)、或一条固定配方、或一条随机属性组合
if(!preg_match('/(A|B|C|D)/',$itm))
{
$log .= "“附:见面有缘,再送你一条提示吧:”<br>";
/*** TODO:把这一块封装进一个函数里 ***/
$log .= "<span class='yellow'>“将带有";
global $itemspkinfo;
include_once GAME_ROOT.'./include/game/elementmix.func.php';
$s_list = merge_random_emix_list(1); $s_id = array_rand($s_list);
foreach($s_list[$s_id]['stuff'] as $skey) $log .= "【$itemspkinfo[$skey]】";
$s_result = $itemspkinfo[$random_submix_list[$s_id]['result']];
$log .= "特征的元素组合起来,就有机会组合出【{$s_result}】属性。”</span><br>";
/*** TODO:把这一块封装进一个函数里 ***/
}
//阅后即焚
$log .="<br>……说这么多鬼记得住啊!<br>你思考了一下,决定把{$itm}吃进肚子里,以便慢慢消化其中的知识。<br>";
$itms--;
}
if (($itms <= 0) && ($itm)) {
$log .= "<span class=\"red\">$itm</span> 用光了。<br>";
$itm = $itmk = $itmsk = '';
$itme = $itms = 0;
}
} else {
$log .= "你使用了道具 <span class=\"yellow\">$itm</span> 。<br>但是什么也没有发生。<br>";
}
......
......@@ -178,6 +178,7 @@ function trap(){
function itemfind() {
global $mode,$log,$itm0,$itmk0,$itms0,$itmsk0;
global $club;
if(!$itm0||!$itmk0||!$itms0){
$log .= '获取物品信息错误!';
$mode = 'command';
......@@ -995,6 +996,7 @@ function itembuy($item,$shop,$bnum=1) {
function getcorpse($item){
global $db,$tablepre,$log,$mode;
global $itm0,$itmk0,$itme0,$itms0,$itmsk0,$money,$pls,$action;
global $club;
$corpseid = strpos($action,'corpse')===0 ? str_replace('corpse','',$action) : str_replace('pacorpse','',$action);
if(!$corpseid || strpos($action,'corpse')===false){
$log .= '<span class="yellow">你没有遇到尸体,或已经离开现场!</span><br>';
......@@ -1024,6 +1026,22 @@ function getcorpse($item){
$mode = 'command';
return;
}
if($item == 'element_split')
{
if($club != 20)
{
$log.="你还想对这具可怜的尸体干什么?麻烦给死者一点基本的尊重!<br>";
$action = '';
$mode = 'command';
return;
}
include_once GAME_ROOT.'./include/game/elementmix.func.php';
split_corpse_to_elements($edata);
$action = '';
$mode = 'command';
return;
}
if($item == 'wep') {
$itm0 = $edata['wep'];
......
......@@ -61,6 +61,8 @@ function itemmixchooser(){
}
}
}
if($('change_emr') != null && $('change_emr').checked) $('change_emr').value=1;
if($('change_emax') != null && $('change_emax').checked) $('change_emax').value=1;
}
//icon select
......@@ -275,7 +277,7 @@ function showData(sdata){
if(shwData['timer'] && typeof(timerid)=='undefined'){
demiSecTimerStarter(shwData['timer']);
}
if ($('HsUipfcGhU')) //ˢҳ
if ($('HsUipfcGhU')) //ˢ��ҳ����
{
window.location.reload();
}
......@@ -337,4 +339,25 @@ function openShutManager(oSourceObj,oTargetObj,shutAble,oOpenTip,oShutTip){
}
}
//元素合成界面的ajax效果 仅作美化使用
function getEmitmeR(type=0) {
if(type == 1)
{
var r = document.getElementById("emitme_max_r").value;
var e = document.getElementById("emax").value;
$('s_emitme_max').innerHTML = Math.round(e*(r/100));
}
else
{
var r = document.getElementById("emitme_r").value;
$('s_emitme_r').innerHTML = r;
$('s_emitms_r').innerHTML = 100-r;
$('sr_warning').innerHTML = '';
if(r>79 || r<21)
{
$('sr_warning').innerHTML = '警告:过度干预可能引发灾难性的后果!';
}
}
}
//1
......@@ -272,6 +272,10 @@ function nparse_news($start = 0, $range = 0 ){//$type = '') {
$newsinfo .= "<li>{$hour}{$min}{$sec}秒,<span class=\"lime\">{$a}做出了一个他自己可能会后悔很长一段时间的决定。</span><br>\n";
} elseif($news == 'present') {
$newsinfo .= "<li>{$hour}{$min}{$sec}秒,<span class=\"yellow\">{$a}打开了{$b},获得了{$c}!</span><br>\n";
} elseif($news == 'emix_success') {
$newsinfo .= "<li>{$hour}{$min}{$sec}秒,<span class=\"yellow\">{$a}用零散的元素组合出了{$b}!</span><br>\n";
} elseif($news == 'emix_failed') {
$newsinfo .= "<li>{$hour}{$min}{$sec}秒,<span class=\"red\">{$a}试图把零散的元素重新组合起来,但是失败了!哎呀呀、这可真是……</span><br>\n";
} else {
$newsinfo .= "<li>$time,$news,$a,$b,$c,$d<br>\n";
}
......
......@@ -29,7 +29,12 @@
<!--{/if}-->
<br>
<!--{if $club==19}--><span class="lime">报应点数:<span id="anum">$rp</span></span><br><!--{/if}-->
<!--{if $club==20}-->
<a onclick="$('mode').value='itemmain';$('command').value='elementbag';postCmd('gamecmd','command.php');this.disabled=true;"><span class="sparkle">{$sparkle}元素口袋{$sparkle}</span></a><br>
<input type="button" class="cmdbutton" id="elementmix" name="elementmix" value="元素合成" onclick="$('command').value='itemmain';$('subcmd').name='itemcmd';$('subcmd').value='elementmix';postCmd('gamecmd','command.php');this.disabled=true;">
<!--{else}-->
<input type="button" class="cmdbutton" id="itemmix" name="itemmix" value="道具合成" onclick="$('command').value='itemmain';$('subcmd').name='itemcmd';$('subcmd').value='itemmix';postCmd('gamecmd','command.php');this.disabled=true;">
<!--{/if}-->
<input type="button" class="cmdbutton" id="itemmerge" name="itemmerge" value="整理包裹" onclick="$('command').value='itemmain';$('subcmd').name='itemcmd';$('subcmd').value='itemmerge';postCmd('gamecmd','command.php');this.disabled=true;">
<!--{if strpos($artk,'ss')!==false}-->
<input type="button" class="cmdbutton" id="sp_weapon" name="sp_weapon" value="歌唱" onclick="$('command').value='song';$('subcmd').name='song';postCmd('gamecmd','command.php');this.disabled=true;">
......
想要从尸体上拾取什么?<br><br>
<input type="hidden" name="mode" value="corpse">
<input type="radio" name="command" id="menu" value="menu" <!--{if !$w_money}-->checked<!--{/if}-->><a onclick=sl('menu'); href="javascript:void(0);" >返回</a><br><br>
<!--{if $club==20}-->
<input type="radio" name="command" id="element_split" value="element_split" <!--{if !$w_money}-->checked<!--{/if}-->><a onclick=sl('element_split'); href="javascript:void(0);" >提炼元素</a><br>
<!--{/if}-->
<input type="radio" name="command" id="menu" value="menu" <!--{if !$w_money && $club!=20 }-->checked<!--{/if}-->><a onclick=sl('menu'); href="javascript:void(0);" >返回</a><br><br>
<!--{if $w_weps && $w_wepe}-->
<input type="radio" name="command" id="wep" value="wep"><a onclick=sl('wep'); href="javascript:void(0);" >$w_wep/$w_wepk_words/$w_wepe/$w_weps<!--{if $w_wepsk_words}-->/$w_wepsk_words<!--{/if}--></a><br>
<!--{/if}-->
......
你在你的小口袋里翻找起来……<br>
打算组合哪些元素?<br>
<input type="hidden" id="emax" name="emax" value="$emax">
<input type="hidden" name="mode" value="itemmain">
<input type="hidden" name="command" id="command" value="menu">
<br>
<!--元素选取模块-->
<!--{if $element0}-->
<input type="checkbox" id="mitm1" name="mitm1" value="-1"><a onclick="$('mitm1').click();" href="javascript:void(0);">$etaginfo0 $elements_info[0] 放入:</span></a>
<input type="number" style="width:50px" name="emitm0_num" value="$element0" min="0" max="$element0" oninput="if(value>$element0)value=$element0;if(value<0)value=0" /><br>
<!--{/if}-->
<!--{if $element1}-->
<input type="checkbox" id="mitm2" name="mitm2" value="-1"><a onclick="$('mitm2').click();" href="javascript:void(0);">$etaginfo1 $elements_info[1] 放入:</span></a>
<input type="number" style="width:50px" name="emitm1_num" value="$element1" min="0" max="$element1" oninput="if(value>$element1)value=$element1;if(value<0)value=0" /><br>
<!--{/if}-->
<!--{if $element2}-->
<input type="checkbox" id="mitm3" name="mitm3" value="-1"><a onclick="$('mitm3').click();" href="javascript:void(0);">$etaginfo2 $elements_info[2] 放入:</span></a>
<input type="number" style="width:50px" name="emitm2_num" value="$element2" min="0" max="$element2" oninput="if(value>$element2)value=$element2;if(value<0)value=0" /><br>
<!--{/if}-->
<!--{if $element3}-->
<input type="checkbox" id="mitm4" name="mitm4" value="-1"><a onclick="$('mitm4').click();" href="javascript:void(0);">$etaginfo3 $elements_info[3] 放入:</span></a>
<input type="number" style="width:50px" name="emitm3_num" value="$element3" min="0" max="$element3" oninput="if(value>$element3)value=$element3;if(value<0)value=0" /><br>
<!--{/if}-->
<!--{if $element4}-->
<input type="checkbox" id="mitm5" name="mitm5" value="-1"><a onclick="$('mitm5').click();" href="javascript:void(0);">$etaginfo4 $elements_info[4] 放入:</span></a>
<input type="number" style="width:50px" name="emitm4_num" value="$element4" min="0" max="$element4" oninput="if(value>$element4)value=$element4;if(value<0)value=0" /><br>
<!--{/if}-->
<!--{if $element5}-->
<input type="checkbox" id="mitm6" name="mitm6" value="-1"><a onclick="$('mitm6').click();" href="javascript:void(0);">$etaginfo5 $elements_info[5] 放入:</span></a>
<input type="number" style="width:50px" name="emitm5_num" value="$element5" min="0" max="$element5" oninput="if(value>$element5)value=$element5;if(value<0)value=0" /><br>
<!--{/if}-->
<br>
<!--自带:通过投入元素数量的奇偶决定道具类别-->
<span class="yellow">&nbsp;&nbsp;【数术】</span><br>
&nbsp; › 投入份数<span class="lime">最多(±10)</span>的一种或多种元素<br>
会成为<span class="lime">主元素</span>,影响合成结果的<span class="lime">类型</span><br>
&nbsp; › 投入的主元素为<span class="redseed"></span>|<span class="blueseed"></span>数份时,元素会展<br>
<span class="redseed">第一</span>|<span class="blueseed">第二</span>个主特征。<br>
<br>
<!--5级后解锁:最大生成效果调节-->
<!--{if $lvl>=5}-->
<span class="yellow">&nbsp;&nbsp;【节制】</span><span class="grey">(勾选启用)</span><input type="checkbox" id="change_emr" name="change_emr" value="-1"><br>
&nbsp; › 你可以主动限制元素合成结果的<span class="lime">效耐上限</span><br>
&nbsp; › 当前:生成道具的效果+耐久上限<span class="yellow"><span id="s_emitme_max" name="s_emitme_max">$emax</span></span><br>
<input type="range" class="range" step="0.1" style="width:220px" id="emitme_max_r" name="emitme_max_r" min="1" max="100" value="100" onchange="getEmitmeR(1)"><br>
<br>
<!--{else}-->
<span class="grey">&nbsp;&nbsp;【节制】(5级后解锁):<br>
&nbsp; › 解锁后可以限制元素合成的<span class="lime">效耐上限</span><br></span>
<br>
<!--{/if}-->
<!--15级后解锁:效果、耐久比例调节-->
<!--{if $lvl>=15}-->
<span class="yellow">&nbsp;&nbsp;【预言】</span><span class="grey">(勾选启用)</span><input type="checkbox" id="change_emax" name="change_emax" value="-1"><br>
&nbsp; › 你能够干涉元素合成结果的<span class="lime">效耐占比</span><br>
&nbsp; › 当前:效果占比<span class="yellow"><span id="s_emitme_r" name="s_emitme_r">55</span>%】</span>&nbsp;耐久占比<span class="yellow"><span id="s_emitms_r" name="s_emitms_r">45</span>%】</span><br>
&nbsp; <span id="sr_warning" name="sr_warning" class="red"></span>
<input type="range" class="range" style="width:220px" id="emitme_r" name="emitme_r" min="2" max="98" value="55" onchange="getEmitmeR(0)"><br>
<br>
<!--{else}-->
<span class="grey">&nbsp;&nbsp;【预言】(15级后解锁):<br>
&nbsp; › 解锁后能够干涉元素合成结果的<span class="lime">效耐占比</span><br>
&nbsp; › 当前:效果、耐久占比会在<span class="lime">2%~98%</span>间浮动。</span><br>
<br>
<!--{/if}-->
<input type="button" class="cmdbutton" name="submit" value="提交" onclick="$('command').value='elementmix';itemmixchooser();postCmd('gamecmd','command.php');this.disabled=true;">
<input type="button" class="cmdbutton" name="submit" value="放弃" onclick="postCmd('gamecmd','command.php');this.disabled=true;">
\ No newline at end of file
......@@ -5,5 +5,9 @@
<br>
<input type="hidden" id="mode" name="mode" value="itemmain">
<input type="hidden" id="command" name="command" value="itemget">
<input type="button" class="cmdbutton" name="itemget" value="拾取" onclick="postCmd('gamecmd','command.php');this.disabled=true;"><br><br>
<input type="button" class="cmdbutton" name="itemget" value="拾取" onclick="postCmd('gamecmd','command.php');this.disabled=true;">
<!--{if $club==20}-->
&nbsp;&nbsp;<input type="button" class="cmdbutton" name="split_itm" value="提炼" onclick="$('command').value='split_itm0';postCmd('gamecmd','command.php');this.disabled=true;">
<!--{/if}-->
<br><br>
<input type="button" class="cmdbutton" name="dropitm0" value="丢弃" onclick="$('command').value='dropitm0';postCmd('gamecmd','command.php');this.disabled=true;">
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment