function renderReqKillOrCast($text, $ReqCreatureOrGOId, $ReqCreatureOrGOCount, $ReqSpellCast, $count)
{
    global $lang;
    if ($ReqCreatureOrGOId > 0) {
        echo "<tr><td><a style='float: right;' href=\"?map&npc={$ReqCreatureOrGOId}\">{$lang['map']}</a>&nbsp;&nbsp;";
        if ($ReqSpellCast == 0) {
            if ($text) {
                echo "<a href=\"?npc={$ReqCreatureOrGOId}\">{$text}</a>";
            } else {
                echo $lang['kill'] . '&nbsp;' . getCreatureName($ReqCreatureOrGOId);
            }
        } else {
            //    $spell_name=getSpellName($ReqSpellCast);
            if (!$text) {
                $text = $lang['cast'];
            }
            echo "<a href=\"?spell={$ReqSpellCast}\">{$text}</a>&nbsp;{$lang['cast_on']}&nbsp;" . getCreatureName($ReqCreatureOrGOId);
        }
        echo ":&nbsp;{$count}/{$ReqCreatureOrGOCount}</td></tr>";
    } else {
        if ($ReqCreatureOrGOId < 0) {
            $ReqCreatureOrGOId = -$ReqCreatureOrGOId;
            echo "<tr><td><a style='float: right;' href=\"?map&obj={$ReqCreatureOrGOId}\">{$lang['map']}</a>&nbsp;&nbsp;";
            if ($ReqSpellCast == 0) {
                if ($text) {
                    echo "<a href=\"?object={$ReqCreatureOrGOId}\">{$text}</a>";
                } else {
                    echo $lang['use'] . '&nbsp;' . getGameobjectName($ReqCreatureOrGOId);
                }
            } else {
                if (!$text) {
                    $text = $lang['cast'];
                }
                //    $spell_name=getSpellName($ReqSpellCast);
                echo "<a href=\"?spell={$ReqSpellCast}\">{$text}</a> {$lang['cast_on']}&nbsp;" . getGameobjectName($ReqCreatureOrGOId);
            }
            echo ":&nbsp;{$count}/{$ReqCreatureOrGOCount}</td></tr>";
        }
    }
}
function getPointData($area_id, &$data, $x, $y)
{
    global $gZoneToAreaImage, $lang;
    $area = getAreaIdFromPoint($data['map'], $data['position_x'], $data['position_y'], $data['position_z']);
    $area_data = getArea($area);
    if (!$area_data) {
        return 0;
    }
    $zone = @$area_data['zone_id'] ? $area_data['zone_id'] : $area;
    $areaname = $area_data['zone_id'] ? getAreaName($zone) . " (" . $area_data['name'] . ")" : $area_data['name'];
    $img = 'images/map_points/';
    $img .= $gZoneToAreaImage[$zone] == $area_id ? 'gps_icon.png' : 'gps_icon1.png';
    $imgX = 16;
    $imgY = 16;
    $name = '';
    if (@$data['type'] == 'n') {
        $text = getCreatureName($data['id'], 0) . "&nbsp;({$data['guid']})<br>{$areaname}<br>{$lang['respawn']}&nbsp;" . getTimeText($data['spawntimesecs']);
        if (getCreatureEvent($data['guid']) > 0) {
            $text = substr_replace("<br>{$lang['spawn_at_event']}&nbsp;-&nbsp;" . getGameEventName(getCreatureEvent($data['guid'])), $text, 0, 0);
        }
        if (getCreatureEvent($data['guid']) < 0) {
            $text = substr_replace("<br>{$lang['despawn_at_event']}&nbsp;-&nbsp;" . getGameEventName(abs(getCreatureEvent($data['guid']))), $text, 0, 0);
        }
        if (getCreaturePool($data['guid'])) {
            $text = substr_replace("<br>{$lang['pool']}&nbsp;(" . getCreaturePool($data['guid']) . ")", $text, 0, 0);
        }
        if (getCreaturePoolTemplate($data['id'])) {
            $text = substr_replace("<br>{$lang['pool']}&nbsp;(" . getCreaturePoolTemplate($data['id']) . ")", $text, 0, 0);
        }
    }
    if (@$data['type'] == 'o') {
        $text = getGameobjectName($data['id'], 0) . "&nbsp;({$data['guid']})<br>{$areaname}<br>{$lang['respawn']}&nbsp;" . getTimeText($data['spawntimesecs']);
        if (getGameobjectEvent($data['guid']) > 0) {
            $text = substr_replace("<br>{$lang['spawn_at_event']}&nbsp;-&nbsp;" . getGameEventName(getGameobjectEvent($data['guid'])), $text, 0, 0);
        }
        if (getGameobjectEvent($data['guid']) < 0) {
            $text = substr_replace("<br>{$lang['despawn_at_event']}&nbsp;-&nbsp;" . getGameEventName(abs(getGameobjectEvent($data['guid']))), $text, 0, 0);
        }
        if (getGameobjectPool($data['guid'])) {
            $text = substr_replace("<br>{$lang['pool']}&nbsp;(" . getGameobjectPool($data['guid']) . ")", $text, 0, 0);
        }
        if (getGameobjectPoolTemplate($data['id'])) {
            $text = substr_replace("<br>{$lang['pool']}&nbsp;(" . getGameobjectPoolTemplate($data['id']) . ")", $text, 0, 0);
        }
    }
    return array('id' => $data['id'], 'x' => $y, 'y' => $x, 'imgX' => $imgX, 'imgY' => $imgY, 'image' => $img, 'href' => "", 'tooltip' => $text);
}
Exemple #3
0
$ajaxptr = '';
$map = @$_REQUEST['map'] == '' ? -1 : intval(@$_REQUEST['map']);
$area = intval(@$_REQUEST['area']);
$width = intval(@$_REQUEST['width']) ? intval(@$_REQUEST['width']) : 900;
if ($area) {
    $a = getRenderAreaData($area);
    $map = $a[0];
}
//*****************************************************************************
// Create points list
//*****************************************************************************
$pointsList = new mapPoints();
if ($npc_id = intval(@$_REQUEST['npc'])) {
    $ajaxptr .= "&npc={$npc_id}";
    $pointsList->addNpc($npc_id, $map);
    $text = '<center>' . getCreatureName($npc_id) . '</center>';
}
if ($obj_id = intval(@$_REQUEST['obj'])) {
    $ajaxptr .= "&obj={$obj_id}";
    $pointsList->addGo($obj_id, $map);
    $text = '<center>' . getGameobjectName($obj_id) . '</center>';
}
if ($point = @$_REQUEST['point']) {
    $ajaxptr .= '&point=' . $point;
    $p = split(':', $point);
    $pointsList->addPoint(@$p[0], @$p[1], @$p[2], @$p[3]);
    $text = '<br>';
    //'<center>Point: map='.@$p[0].' x='.@$p[1].' y='.@$p[2].' z='.@$p[3].'</center>';
}
if ($waypoint = @$_REQUEST['waypoint']) {
    $ajaxptr .= '&waypoint=' . $waypoint;
function showEffectInfo($spell, $effect, $eff_id)
{
    global $lang;
    $misc = $spell['EffectMiscValue_' . $effect];
    switch ($eff_id) {
        // школа
        case 2:
            echo ' (' . getSpellSchool($spell['SchoolMask']) . ')';
            break;
            // Misc - тип энергии
        // Misc - тип энергии
        case 8:
            // SPELL_EFFECT_POWER_DRAIN
        // SPELL_EFFECT_POWER_DRAIN
        case 30:
            // SPELL_EFFECT_ENERGIZE
        // SPELL_EFFECT_ENERGIZE
        case 62:
            echo ' (' . getPowerTypeName($misc) . ')';
            break;
        case 16:
            // SPELL_EFFECT_QUEST_COMPLETE
        // SPELL_EFFECT_QUEST_COMPLETE
        case 147:
            // SPELL_EFFECT_QUEST_FAIL
        // SPELL_EFFECT_QUEST_FAIL
        case 139:
            echo ' (' . getQuestName($misc) . ')';
            break;
        case 28:
            // SPELL_EFFECT_SUMMON
        // SPELL_EFFECT_SUMMON
        case 56:
            // SPELL_EFFECT_SUMMON_PET
        // SPELL_EFFECT_SUMMON_PET
        case 90:
            // Kill Credit
        // Kill Credit
        case 134:
            echo ' (' . getCreatureName($misc) . ')';
            break;
        case 50:
            // SPELL_EFFECT_SUMMON_OBJECT
        // SPELL_EFFECT_SUMMON_OBJECT
        case 76:
            // SPELL_EFFECT_SUMMON_OBJECT_WILD
        // SPELL_EFFECT_SUMMON_OBJECT_WILD
        case 104:
        case 105:
        case 106:
        case 107:
            echo ' (' . getGameobjectName($misc) . ')';
            break;
        case 53:
            // SPELL_EFFECT_ENCHANT_ITEM
        // SPELL_EFFECT_ENCHANT_ITEM
        case 54:
            // SPELL_EFFECT_ENCHANT_ITEM_TEMPORARY
        // SPELL_EFFECT_ENCHANT_ITEM_TEMPORARY
        case 92:
            echo ' (' . getEnchantmentDesc($misc) . ')';
            break;
        case 39:
            echo ' (' . getLaungageName($misc) . ')';
            break;
        case 44:
            // SPELL_EFFECT_SKILL_STEP
        // SPELL_EFFECT_SKILL_STEP
        case 118:
            echo ' (' . getSkillName($misc) . ')';
            break;
            // Misc - тип рейтинга
        // Misc - тип рейтинга
        case 189:
            echo ' (' . getRatingList($misc) . ')';
            break;
            // Misc - тип диспелла
        // Misc - тип диспелла
        case 38:
            // SPELL_EFFECT_DISPEL
        // SPELL_EFFECT_DISPEL
        case 126:
            echo ' (' . getDispelName(abs($misc)) . ')';
            break;
            // Misc - тип механики
        // Misc - тип механики
        case 108:
            echo ' (' . getMechanicName($misc) . ')';
            break;
        case 94:
            // SPELL_EFFECT_SELF_RESURRECT
        // SPELL_EFFECT_SELF_RESURRECT
        case 113:
            echo ' (Restore ' . $misc . ' power)';
            break;
        case 103:
            echo ' (' . getFactionName($misc) . ')';
            break;
        case 33:
            echo ' (' . getLockType($misc, 2) . ')';
            break;
        case 146:
            echo ' (' . getRuneName($misc) . ')';
            break;
        case 74:
            echo ' (' . getGlyphName($misc) . ')';
            break;
        default:
            if ($misc) {
                echo ' (' . $misc . ')';
            }
            break;
    }
    if ($effect == 1) {
        // Spell target position on map
        if ($t = getSpellTargetPosition($spell['id'])) {
            echo '<a style="float: right;" href="?map&point=' . $t['target_map'] . ':' . $t['target_position_x'] . ':' . $t['target_position_y'] . ':' . $t['target_position_z'] . '">' . $lang['map'] . '</a>';
        }
        // Spell target
        if ($s = getSpellScriptTarget($spell['id'])) {
            foreach ($s as $s1) {
                if ($s1['type'] == 0) {
                    echo '<br><a style="float: right;" href="?object=' . $s1['targetEntry'] . '">' . getGameobjectName($s1['targetEntry'], 0) . '</a>';
                } else {
                    if ($s1['type'] == 1) {
                        echo '<br><a style="float: right;" href="?npc=' . $s1['targetEntry'] . '">' . getCreatureName($s1['targetEntry'], 0) . '</a>';
                    } else {
                        if ($s1['type'] == 2) {
                            echo '<br><a style="float: right;" href="?npc=' . $s1['targetEntry'] . '">' . getCreatureName($s1['targetEntry'], 0) . '</a>';
                        }
                    }
                }
            }
        }
    }
}