Файл: alinar.ru/JS/fight_v01.js
Строк: 383
<?php
// JavaScript Document
var OD = [
[0,35,25],
[0,35,50]
];
var od_is = 100;
var od_used = 0;
function check_slot (slot,info) {
    if (slot=='weapon1') {
        if (info[2]=='') { s = '<img src="/images/slots/pob3.gif" width=62 height=91 border="0" />' }
        else { s = '<img src="/images/weapons/'+info[3]+'.png" width=62 height=91 border=0>' }
    }
    else if (slot=='weapon2') {
        if (info[2]=='') { s = '<img src="/images/slots/pob11.gif" width=62 height=91 border="0" />' }
        else { s = '<img src="/images/weapons/'+info[3]+'.png" width=62 height=91 border=0>' }
    }
    else if (slot=='ring1' || slot=='ring2') {
        if (info[2]=='') { s = '<img src="/images/slots/pob12.gif" width=31 height=31 border="0" />' }
        else { s = '<img src="/images/weapons/'+info[3]+'.png" width=31 height=31 border=0>' }
    }
    else if (slot=='amulet') {
        if (info[2]=='') { s = '<img src="/images/slots/pob2.gif" width=62 height=35 border="0" />' }
        else { s = '<img src="/images/weapons/'+info[3]+'.png" width=62 height=35 border=0>' }
    }
    else if (slot=='helmet') {
        if (info[2]=='') { s = '<img src="/images/slots/pob1.gif" width=62 height=65 border="0" />' }
        else { s = '<img src="/images/weapons/'+info[3]+'.png" width=62 height=65 border=0>' }
    }
    else if (slot=='body') {
        if (info[2]=='') { s = '<img src="/images/slots/pob14.gif" width=62 height=90 border="0" />' }
        else { s = '<img src="/images/weapons/'+info[3]+'.png" width=62 height=90 border=0>' }
    }
    else if (slot=='belt') {
        if (info[2]=='') { s = '<img src="/images/slots/pob4.gif" width=62 height=30 border="0" />' }
        else { s = '<img src="/images/weapons/'+info[3]+'.png" width=62 height=30 border=0>' }
    }
    else if (slot=='arms') {
        if (info[2]=='') { s = '<img src="/images/slots/pob9.gif" width=62 height=40 border="0" />' }
        else { s = '<img src="/images/weapons/'+info[3]+'.png" width=62 height=40 border=0>' }
    }
    else if (slot=='gloves') {
        if (info[2]=='') { s = '<img src="/images/slots/pob10.gif" width=62 height=40 border="0" />' }
        else { s = '<img src="/images/weapons/'+info[3]+'.png" width=62 height=40 border=0>' }
    }
    else if (slot=='foots') {
        if (info[2]=='') { s = '<img src="/images/slots/pob8.gif" width=62 height=60 border="0" />' }
        else { s = '<img src="/images/weapons/'+info[3]+'.png" width=62 height=60 border=0>' }
    }
    return s;
}
function character (info,hp,type) {
    out =   '<table cellpadding="0" cellspacing="0" border="0"><tr><td colspan=3 align=center><strong>'+hp[0]+' ['+hp[1]+']</strong><br>[<strong><font color="#CC0000">'+hp[2]+'/'+hp[3]+'</font> <font color="#0000CC">'+hp[4]+'/'+hp[5]+'</font> <font color="#00CC00">'+hp[6]+'/'+hp[7]+'</font></strong>]</td></tr><tr><td>' +
            '<table border="0" cellpadding="0" cellspacing="0">' +
            '<tr><td><img src="/images/slots/slot1.gif" border="0" /></td></tr>' +
            '<tr><td>'+check_slot('arms',info[8])+'</td></tr>' +
            '<tr><td>'+check_slot('gloves',info[9])+'</td></tr>' +
            '<tr><td>'+check_slot('weapon1',info[0])+'</td></tr>' +
            '<tr><td>'+check_slot('body',info[6])+'</td></tr>' +
            '<tr><td><img src="/images/slots/pob15.gif" border="0" /><img src="/images/slots/pob15.gif" border="0" /></td></tr>' +
            '</table></td><td valign="bottom" align=center>' +
            '<table border="0" cellpadding="0" cellspacing="0" width=115><tr height="280"><td valign="middle" align=center style="padding:2px;">' +
            '<img src="/images/obrazy/human_mage_male.png" border="0" />' +
            '</td></tr><tr height="31"><td align="center">'+check_slot('ring1',info[2])+''+check_slot('ring2',info[3])+'</td></tr>' +
            '</table></td><td>' +
            '<table border="0" cellpadding="0" cellspacing="0">' +
            '<tr><td>'+check_slot('helmet',info[5])+'</td></tr>' +
            '<tr><td>'+check_slot('amulet',info[4])+'</td></tr>' +
            '<tr><td>'+check_slot('weapon2',info[1])+'</td></tr>' +
            '<tr><td>'+check_slot('belt',info[7])+'</td></tr>' +
            '<tr><td>'+check_slot('foots',info[10])+'</td></tr>' +
            '<tr><td><img src="/images/slots/pob15.gif" border="0" /><img src="/images/slots/pob15.gif" border="0" /></td></tr>' +
            '</table></td></tr></table>';
    d(type).innerHTML = out;
}
function fight_interface(info) {
    if (info=='') {
        out = '<form id="fight_form"><table border="0" cellpadding="1"><tr><td colspan=2 id="pers_od"></td></tr><tr><th>левая рука</th><th>правая рука</th></tr><tr>'+
        '<td><select id="l_1" onchange="count_od();"><option value="none" selected="selected">[действие не выбрано]</option><option value="hit_1">Удар [голова]</option><option value="block_1">Блок [голова]</option></select></td>'+
        '<td><select id="r_1" onchange="count_od();"><option value="none" selected="selected">[действие не выбрано]</option><option value="hit_1">Удар [голова]</option><option value="block_1">Блок [голова+торс]</option></select></td>'+
        '</tr><tr>'+
        '<td><select id="l_2" onchange="count_od();"><option value="none" selected="selected">[действие не выбрано]</option><option value="hit_1">Удар [торс]</option><option value="block_1">Блок [торс]</option></select></td>'+
        '<td><select id="r_2" onchange="count_od();"><option value="none" selected="selected">[действие не выбрано]</option><option value="hit_1">Удар [торс]</option><option value="block_1">Блок [торс+живот]</option></select></td>'+
        '</tr><tr>'+
        '<td><select id="l_3" onchange="count_od();"><option value="none" selected="selected">[действие не выбрано]</option><option value="hit_1">Удар [живот]</option><option value="block_1">Блок [живот]</option></select></td>'+
        '<td><select id="r_3" onchange="count_od();"><option value="none" selected="selected">[действие не выбрано]</option><option value="hit_1">Удар [живот]</option><option value="block_1">Блок [живот+ноги]</option></select></td>'+
        '</tr><tr>'+
        '<td><select id="l_4" onchange="count_od();"><option value="none" selected="selected">[действие не выбрано]</option><option value="hit_1">Удар [ноги]</option><option value="block_1">Блок [ноги]</option></select></td>'+
        '<td><select id="r_4" onchange="count_od();"><option value="none" selected="selected">[действие не выбрано]</option><option value="hit_1">Удар [ноги]</option><option value="block_1">Блок [ноги]</option></select></td>'+
        '</tr><tr><td align="center" colspan="2"><input type="button" value="ход" id="act_but" onclick="act();" /> <input type="button" value="сброс"  onclick="act_reset();" /></td></tr></table></form>';
        d("fight").innerHTML = out;
        my_od();
    } else {
        if (info.indexOf('preend')>=0) {
            render_preend(info);
        }
        else if (info=='finished') {
            render_just_finish();
        }
        else if (info=='wait') {
            d("fight").innerHTML = '<b>Ожидаем ход противника</b><br><a href="/main.php">обновить</a>';
        }
    }
}
function my_od() {
    if (od_used<=od_is) {
        out = '<font style="font-size:12px;"><b>Использовано: '+od_used+'/'+od_is+'</b></font>';
        d("act_but").disabled = false;
    }
    else {
        out = '<font style="font-size:12px; color: #990000"><b>Использовано: '+od_used+'/'+od_is+'</b></font>';
        d("act_but").disabled = true;
    }
    d("pers_od").innerHTML = out;
}
function count_od() {
    used = 0;
    if (d("l_1").value=='hit_1') {used = used + OD[0][1]} else if (d("l_1").value=='block_1') {used = used + OD[0][2]}
    if (d("l_2").value=='hit_1') {used = used + OD[0][1]} else if (d("l_2").value=='block_1') {used = used + OD[0][2]}
    if (d("l_3").value=='hit_1') {used = used + OD[0][1]} else if (d("l_3").value=='block_1') {used = used + OD[0][2]}
    if (d("l_4").value=='hit_1') {used = used + OD[0][1]} else if (d("l_4").value=='block_1') {used = used + OD[0][2]}
    
    if (d("r_1").value=='hit_1') {used = used + OD[1][1]} else if (d("r_1").value=='block_1') {used = used + OD[1][2]}
    if (d("r_2").value=='hit_1') {used = used + OD[1][1]} else if (d("r_2").value=='block_1') {used = used + OD[1][2]}
    if (d("r_3").value=='hit_1') {used = used + OD[1][1]} else if (d("r_3").value=='block_1') {used = used + OD[1][2]}
    if (d("r_4").value=='hit_1') {used = used + OD[1][1]} else if (d("r_4").value=='block_1') {used = used + OD[1][2]}
    od_used = used;
    my_od();
}
function act_reset () {
    d("fight_form").reset();
    od_used = 0;
    count_od();
}
function act() {
    if (od_used<=od_is) {
        info = d("l_1").value+'|'+d("l_2").value+'|'+d("l_3").value+'|'+d("l_4").value+'@'+d("r_1").value+'|'+d("r_2").value+'|'+d("r_3").value+'|'+d("r_4").value;
        query = 'act=hode&info='+info+'&vcode='+vk;
        act_reset();
        ajax_query ('fight',query,'after_act');
    }
}
function render_preend(info) {
    info = info.split('|');
    info = info[1].split('&');
    if (info.length==1) {
        info1 = info[0].split(':');
        d("fight").innerHTML = '<table width=400 border=1><tr><th>участники</th><th>опыт</th></tr><tr><td>'+info1[0]+' ['+info1[1]+']</td><td align=right>'+info1[2]+'</td></tr><tr><td colspan=2 align=center><input type="button" value="Завершить бой" onclick="fight_finish();"></td></tr></table>';
    }
    else if (info.length==2) {
        info1 = info[0].split(':');
        info2 = info[1].split(':');
        d("fight").innerHTML = '<table width=400 border=1><tr><th>участники</th><th>опыт</th></tr><tr><td>'+info1[0]+' ['+info1[1]+']</td><td align=right>'+info1[2]+'</td></tr><tr><td>'+info2[0]+' ['+info2[1]+']</td><td align=right>'+info2[2]+'</td></tr><tr><td colspan=2 align=center><input type="button" value="Завершить бой" onclick="fight_finish();"></td></tr></table>';
    }
}
function render_just_finish() {
    d("fight").innerHTML = '<input type="button" value="Завершить" onclick="fight_finish();">';
}
function after_act(info) {
    if (info!='ERROR' && info!='WAIT') {
        info = info.split('{log}');
        f_log = info[1];
        info = info[0].split('@');
        vk = info[4];
        pers_wears = info[0].split('&');
        pers_wears[0] = pers_wears[0].split('|');
        pers_wears[1] = pers_wears[1].split('|');
        pers_wears[2] = pers_wears[2].split('|');
        pers_wears[3] = pers_wears[3].split('|');
        pers_wears[4] = pers_wears[4].split('|');
        pers_wears[5] = pers_wears[5].split('|');
        pers_wears[6] = pers_wears[6].split('|');
        pers_wears[7] = pers_wears[7].split('|');
        pers_wears[8] = pers_wears[8].split('|');
        pers_wears[9] = pers_wears[9].split('|');
        pers_wears[10] = pers_wears[10].split('|');
        pers_hp = info[1].split('|');
        enemy_wears = info[2].split('&');
        enemy_wears[0] = enemy_wears[0].split('|');
        enemy_wears[1] = enemy_wears[1].split('|');
        enemy_wears[2] = enemy_wears[2].split('|');
        enemy_wears[3] = enemy_wears[3].split('|');
        enemy_wears[4] = enemy_wears[4].split('|');
        enemy_wears[5] = enemy_wears[5].split('|');
        enemy_wears[6] = enemy_wears[6].split('|');
        enemy_wears[7] = enemy_wears[7].split('|');
        enemy_wears[8] = enemy_wears[8].split('|');
        enemy_wears[9] = enemy_wears[9].split('|');
        enemy_wears[10] = enemy_wears[10].split('|');
        enemy_hp = info[3].split('|');
        
        character([pers_wears[0],pers_wears[1],pers_wears[2],pers_wears[3],pers_wears[4],pers_wears[5],pers_wears[6],pers_wears[7],pers_wears[8],pers_wears[9],pers_wears[10]],pers_hp,'pers');
        character([enemy_wears[0],enemy_wears[1],enemy_wears[2],enemy_wears[3],enemy_wears[4],enemy_wears[5],enemy_wears[6],enemy_wears[7],enemy_wears[8],enemy_wears[9],enemy_wears[10]],enemy_hp,'enemy');
        if (f_log!='' && f_log!='@'){
            fight_log(f_log);
        }
        if (info[5].indexOf('preend')==0) {
            render_preend(info[5]);
        }
        else if (info[5].indexOf('finished')==0) {
            render_just_finish();
        }
    }
    else if (info=='WAIT') {
        d("fight").innerHTML = '<b>Ожидаем ход противника</b><br><a href="/main.php">обновить</a>';
    }
    else {
        location.href = '/main.php';
    }
}
function fight_finish() {
    query = 'act=finish&vcode='+vk;
    ajax_query ('fight',query,'after_finish');
}
function after_finish(info) {
    if (info!='ERROR') {
        location.href = '/main.php';
    }
}
?>