ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Общие вопросы программирования (https://forum.antichat.xyz/forumdisplay.php?f=206)
-   -   Lucera 2 Legacy & FIXME (https://forum.antichat.xyz/showthread.php?t=763668)

zcxv 23.06.2015 23:12

В этой теме буду выкладывать говнокод только из люцеры2, большая часть которого легаси, хотя бывают и исключения.

BeastFeed, скилл хандлер, с логикой?.. скорее без логики

Код:


Код:

//FIXME PointerRage WTF?
public class BeastFeed extends SkillHandler {
  private static final L2SkillType[]  SKILL_IDS  = { L2SkillType.BEAST_FEED };

  @Override
  public void invoke(L2Character activeChar, L2Skill skill, L2Character... targets) {
    if (!(activeChar.isPlayer()))
      return;
  }

  @Override
  public L2SkillType[] getKeys() {
    return SKILL_IDS;
  }
}

Динамика так и прет

Код:


Код:

/**
 * FIXME PointerRage: я хочу сломать руки М-095. увести в датапак
 * @author M-095
 * @for L2CatsSoftware
 */
public class AdditionalSkillTable {
  @Getter(lazy=true) private final static AdditionalSkillTable instance = new AdditionalSkillTable();
  // Список ID скилов принадлежащих к сабовым скилам
  // Список скилов исключений
  private static int[] exludeSkills = {
    194, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609,
    610, 617, 618, 619, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674
  };

  private AdditionalSkillTable() {
    log.info("ExtraSkillTable: Loaded {} skills.", exludeSkills.length);
  }

  public boolean isExSkill(int skillId) {
    return ArrayUtils.contains(exludeSkills, skillId);
  }
}

Код:


Код:

//FIXME PointerRage: это б***ь что такое? х**** оно захадкожено?
public final class CrownTable
{
  public static boolean giveCrown = false;
  private static final int[] CROWN_IDS = {
    6841, // Crown of the lord
    6834, // Innadril
    6835, // Dion
    6836, // Goddard
    6837, // Oren
    6838, // Gludio
    6839, // Giran
    6840, // Aden
    8182, // Rune
    8183, // Schuttgart
  };

  public static int[] getCrownIds() {
    return CROWN_IDS;
  }

  public static int getCrownId(int castleId) {
    switch (castleId) {
      case 1:// Gludio
        return 6838;
      case 2: // Dion
        return 6835;
      case 3: // Giran
        return 6839;
      case 4: // Oren
        return 6837;
      case 5: // Aden
        return 6840;
      case 6: // Innadril
        return 6834;
      case 7: // Goddard
        return 6836;
      case 8:// Rune
        return 8182;
      case 9: // Schuttgart
        return 8183;
    }
    return 0;
  }
}

Поиск объекта в пати, когда этого объекта вообще не существует в мире!

Action

Код:


Код:

// Get object from target
    if (activeChar.getTargetId() == _objectId)
      obj = activeChar.getTarget();
    else if(_objectId == activeChar.getObjectId())
      obj = activeChar;
    // Get object from world
    if (obj == null) {
      obj = L2World.getInstance().getObjectRef(_objectId).get();
      if(obj == null && activeChar.getParty()!=null) //FIXME Pointer если обьекта нет в мире, то искать в пати - нет смысла
        obj = activeChar.getParty().getMemberById(_objectId);
    }


Visor123 23.06.2015 23:30

Я всякое видел, но такую тему нет - это к чему? Все наверное знают, что код, пришедших со старых сборок (начала l2j) пестрит глупостями моделей, объявления массивов типа корон городов и прочего - чего не должно быть.

Но зачем вы то это написали?

zcxv 23.06.2015 23:41

Цитата:

Сообщение от Visor123

Я всякое видел, но такую тему нет - это к чему? Все наверное знают, что код, пришедших со старых сборок (начала l2j) пестрит глупостями моделей, объявления массивов типа корон городов и прочего - чего не должно быть.
Но зачем вы то это написали?

Потому-что такие моменты удобно собирать в одном месте, т.к. лично я, например, не могу сразу бросится и исправлять это, а оставлять весь этот говнокод в таком виде - непростительно.

К тому же, некоторые из них очень даже забавные

*Immortal Pony* 24.06.2015 00:58

[OFF]Но без смайлов эта тема была бы не такая прикольная..))

гавнокод - рулез...[/OFF]

zcxv 06.07.2015 21:28

Не говнокод, но все равно не слишком приятно.

FuncMAtkCritical


Код:


Код:

if (env.player.isPlayer() && env.player.getActiveWeaponInstance() != null) //XXX Pointer: бонус должен даваться всегда
      env.value *= Formulas.getParameterBonus(Parameter.WIT, env.player);
    else if (env.player instanceof L2Summon)
      env.value = 8; // TODO: needs retail value


zcxv 15.08.2015 15:15

BlowfishEngine

Код:


[CODE]
public static void prepareBlocks()
{
String str1="z6:;3

LoginserverThread

Код:


Код:

// send the blowfish key through the rsa encryption
  BlowfishEngine.prepareBlocks();

Не хилый такой буст-даун в логине, по причине file I/O, который нафиг не нужен вообще.

zcxv 19.11.2015 20:04

Код:


Код:

for (int i : moneys.keySet()) {
        if ((" " + moneys.get(i)).equals(mvar.substring(0, mvar.length() - 1))) {
          mvarId = i;
          break;
        }
      }

Вротмненоги!

mAnGoL 06.08.2016 17:42

Мой windows не смог выдержать этого, и завершил работу в штатном режиме.


Время: 09:35