PDA

Просмотр полной версии : Lucera 2 Legacy & FIXME


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


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

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

*Immortal Pony*
24.06.2015, 00:58
Но без смайлов эта тема была бы не такая прикольная..))

гавнокод - рулез...

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

Код:



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

LoginserverThread

Код:


[CODE]
// 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 не смог выдержать этого, и завершил работу в штатном режиме.