Пример #1
0
    public static string GetShieldPath(int id, int job, int sex)
    {
        if (id == 0)
        {
            return(null);
        }

        // Dual weapon (based on range id)
        if (id > 500 && (id < 2100 || id > 2200))
        {
            return(GetWeaponPath(id, job, sex));
        }

        var baseJob   = (int)JobHelper.GetBaseClass((ushort)job, sex);
        var path      = BodyPath[baseJob] == null ? BodyPath[0] : BodyPath[baseJob];
        var baseClass = path.KoreanTo1252();

        // ItemID to View Id
        var ViewID = id;

        if ((ItemDB.ContainsKey(id)) && (ItemDB[id].ClassNum >= 0))
        {
            ViewID = ItemDB[id].ClassNum;
        }

        ItemTable.Shields.TryGetValue(ViewID, out var shield);
        return($"data/sprite/\xb9\xe6\xc6\xd0/{baseClass}/{baseClass}_{SexTable[sex]}_{shield ?? ItemTable.Shields[1]}");
    }
Пример #2
0
    public static string GetWeaponPath(int id, int job, int sex)
    {
        if (id == 0)
        {
            return(null);
        }

        var baseJob   = (int)JobHelper.GetBaseClass((ushort)job, sex);
        var path      = BodyPath[baseJob] == null ? BodyPath[0] : BodyPath[baseJob];
        var baseClass = path.KoreanTo1252();

        // ItemID to View Id
        var ViewID = id;

        if ((ItemDB.ContainsKey(id)) && (ItemDB[id].ClassNum >= 0))
        {
            ViewID = ItemDB[id].ClassNum;
        }

        ItemTable.Weapons.TryGetValue((WeaponType)ViewID, out var weapon);

        return($"data/sprite/\xc0\xce\xb0\xa3\xc1\xb7/{baseClass}/{baseClass}_{SexTable[sex]}{weapon.KoreanTo1252() ?? $"_{ViewID}"}");
    }