Исходники серверов

Авторизация  

Исходники различных сборок

91 файл

  1. Бесплатный

    [Source] Sunshine Core (L2Phoenix)


     
    Долго не думая, наша команда решила выложить последний исходник с нашего SVN, который был основан на L2Phoenix.
    Работа была проделана не маленькая, но и её еще полным полно. Возможно, кто-то захочет продолжить, или взять на запчасти.
    Определенно что нибудь вкусное, но найти можно будет .
    Что касается самой команды, то мы перешли на дальнейшую разработку, вторую ветку, которая будет базироваться на более революционном и продвинутом исходном коде "Evermore" , который дорабатывался очень долгое время и по сей день. Разработку продолжаем в том же ключе, ориентировочный релиз будет в начале, или ближе к середине апреля.
     
    Спасибо за внимание

    496 раз скачали

    Отправлено

  2. Бесплатный

    [ШАРА] LUCERA 2 исходники

    С наступающим новым годом, давно хотели расшарить эту версию сурсов, да все не было повода.
     
    Версия исходников Release Candidate 7.4 .
     
    Скачать можно на RGHost, и с нашего хоста - http://lucera2.ru/lucera2-RC7.4(source).7z
     
    Защита снята.
     
    Писал Ro_0TT
     
    Взято с ЗГ

    513 раза скачали

    Обновлено

  3. Бесплатный

    [ШАРА] Исходники Aceworld.ru

    Сурсы ванильные, без фиксов, которые были на этапе продакшена.

    379 раз скачали

    Отправлено

  4. Бесплатный

    [ШАРА] Исходники EmuRT [Last]

    Покупал данный source из рук Deprecat, на тот момент он чистый, без каких либо вмешательств сторонних рук, пока существовал проект emurt. Да и уже много где гуляет. Выкладываю его в связи не актуальностью, так как уже много работ проделано по данному сурсу. Если кому нужно забирайте.

    932 раза скачали

    Отправлено

  5. Бесплатный

    [ШАРА] Исходники Interlude.su

    Сурсы ванильные, без фиксов, которые были на этапе продакшена.

    1011 раз скачали

    Отправлено

  6. Бесплатный

    [Шара] Исходники Lucera 2 за 16.04.2015

    В связи с тем, что исходники мною больше не используются, а продавать их я не имею особого желания – было решено выложить их в общий доступ. Исходники актуальны на 16.04.2015, содержат в себе все изменения сделанные до текущего момента.
     
    После закрытия продаж была попытка создать небольшую группу-приват, для продолжения разработки, поддержки небольшой группы клиентов, ну и стабильной работы. В итоге собрав всего 3 человека, через пару недель работы, идея была забыта. Один из клиентов достаточно успешно стартовал на сборке, собрав при этом онлайн в 700 человек, с уверенностью могу сказать, что сборку можно ставить на лайв-проект, есть свои проблемы, но все решаемо.
     
     
    Ченджлог из приватки (950 - 1005)
     
     
     
     
    Основа: Lucera 1.7 (2012 год)
    Разработка: 2012-2014 (весна) – Ro0TT, 2014-2015 – Pointer*Rage

    3574 раза скачали

    Отправлено

  7. Бесплатный

    [Шара] Исходники и Сборка GvE сервера Альянс против Империи

    Полные исходники и сборка сервера Grand-Wars Interlude - Битва двух фракций: Альянс и Империя
     
    Основа на доработанной Lucera 1.7
    для работы нужна java 1.6u30
     
    * Реализована полноценная GvE система
    * Добыча ресурсов, с дальнейшей продажей в магазин
    * Ресурсы выпадают при смерти, таким образом возможны ограбления
    * Несколько фарм зон на выбор
    * Реализован захват зон и захват форта
    * Ивенты CTF, TvT адаптированные под фракции
    * Награда за убийство персонажей зависящая от вещей, уровня заточки, геройства, дворянства.
    * Рейд боссы и мини боссы адаптированные под противостояние
    и многое другое из дополнений
     
     
     
    В пак кроме сборки с исходниками включен патч.
     
    Основа сборки Lucera 1.7
     
    Автор шары: xevilx (Archon Server)
    ICQ: 575688299
    VK: https://vk.com/grand_wars
     
    Протестировать сборку вы можете на нашем сервере: http://grand-wars.ru
     
    База устанавливается через Navicat > backups > restore backup
     
    Зеркала архива:
    http://www.fayloobmennik.net/6845316
     
    https://cloud.mail.ru/public/7qdh/MpD5q2VRt

    149 раз скачали

    Отправлено

  8. Бесплатный

    [Шара] Исходники с4 festina-project

    Очень давно пылится на харде, возможно кто то продолжит разработку.
     
    Не забываем благодарить

    163 раза скачали

    Отправлено

  9. Бесплатный

    aCis [Diff File] 339 to 340

    Файл для обновления с версии 339 до 340
     
    Changeset 340
     
    Caches, Announcements, Misc
     
    Caches
    - Filters are moved back into classes.
     
    CrestCache
    - Drop of //admin_fix_cache_crest admincommand.
    - Drop of OLD_PLEDGE related stuff.
    - BMP filter edited for DDS one, crests are stored under .dds format file. Consider to CONVERT .bmp into .dds !
    - Crests are stored on a Map for an easier management.
     
    Announcements - Ty Sikken, xblx (&& me ofc).
    - Renamed Announcements > AnnouncementTable, moved into datatables. Addition of Announcement model. General cleanup and rework.
    - Addition of critical announcement type.
    - Addition of scheduled announcement ; you can schedule your announcement to happen X times, every Y times.
    - Saved under XML format instead of TXT.
    - Drop of //reload_announcements (handled directly by AdminAdmin //reload generic admincommand), //announce_menu (no use).
    - Merge of numerous announcements admincommands, now handled by //announce <list|all|add|add_auto|del>.
    - Addition of //say admincommand (critical counterpart for //ann).
    - Old //announce renamed for //ann.
     
    Misc
    - Little reorganization on Gameserver.java.
     
    PS : so basically, regarding Announcements admincommands, you only have :
    - //ann && //say for instant announcements type.
    - //announce <list|all|add|add_auto|del> for advanced mode.
    - //reload announcement.

    50 раз скачали

    Обновлено

  10. Бесплатный

    aCis [Diff File] 340 to 341

    Файл для обновления с версии 340 до 341
     
    Changeset 341
     
    MMOCore, Announcements, Eclipse settings, Scripts, Misc
     
    MMOCore - basic update to latest L2J version.
    - Add a try/catch to avoid core crashing.
    - Disable Nagle's algorithm (better latency, but bigger bandwitdh usage). It's a real time application, for love of goodness !
    - Client is setted on putPacketIntoWriteBuffer method.
     
    Announcements
    - Fix an issue regarding Announcement limit.
    - Add //announce all_auto, allowing to announce auto tasks. Add the appropriate button on Announcements admin panel.
     
    Eclipse settings
    - Added project based Java8 compliance on both projects.
    - Copied project settings from gameserver to datapack. It seems I was using workbench settings on datapack.
    - Fix few missing stuff on datapack, such as static keywords or nested return.
    - "Incomplete switch cases on enum option" is now setted to "Ignore".
     
    Scripts
    - addition of SecondClassChange script. I can't test all cases and HTMs, so please report any issue on forums.
    - addition of Q662. Ty RooT.
     
    Misc
    - numerous packets cleanups
    - clean one nested Item Class.
    - improve readability or performance.
    - reduce the amount or complexity of variables / parameters when not needed.
    - HennaInfo is fixed, the class level defines the number of henna slots. Ty RooT.
    - getItems() from Inventory returns a List, not an array anymore.
    - Fix possible double attacks issue, ty Hasha.
    - Decrease timer between multiple pickups.
    - Added a new multisell bypass, with a newbie check for L2Merchant exchange equipment. Ty ArhsGr.
    - Fix a NPE regarding CrestCache rework. Ty katara for report.

    86 раз скачали

    Обновлено

  11. Бесплатный

    aCis [Diff File] 341 to 342

    Файл для обновления с версии 341 до 342
     
    Changeset 342
     
    FloodProtectors, Scripts, Misc
     
    FloodProtectors
    - Simplified FP system (took L2JFree one). Timers are still configurable via config, all others configs are dropped (totally pointless).
    - A parameter setted to 0 means the action is always possible (you can enable/disable any FP that way).
    - Added new FPs - GLOBAL_CHAT, TRADE_CHAT, SOCIAL.
    - GLOBAL_CHAT && TRADE_CHAT FPs are desactivated by default. GLOBAL_CHAT handles "All" and "Shout" chats.
    - SOCIAL timer has been tweaked to handle animations at the most global running speeds. Edit if you don't like.
     
    Scripts
    - addition of Q224, Q228, Q663. Ty to roko91 and RooT.
     
    Misc
    - Fix, anew, the movement stuck issue.
    - Drop the empty folder in taskmanager.
    - You can use arrows UP and DOWN to move the character without making your client crashes. No configs.
    - Chats and RollDice handlers cleanup (nothing fantastic). Roll dice message is sent to anyone.
    - Complete StopRotation packet. Ty RooT.

    63 раза скачали

    Обновлено

  12. Бесплатный

    aCis [Diff File] 342 to 343

    Файл для обновления с версии 342 до 343
     
    Changeset 343
     
    Scripts, Inventories, Misc
     
    Scripts
    - Addition of Q220, Q226. Ty roko91.
     
    Inventories
    - Drop the unused "block" system on PcInventory.
    - Drop the "quests slots" system on PcInventory. Easier slots check.
     
    Misc
    - Fix Packet Forge tool. Ty roko91 for the fix.
    - Fix a NPE on ShortcutInit packet.
    - Fix a NPE on removeCrest().
    - Fix a NPE on calculateRewards(), overhit related. Ty SweeTs for the fix.
    - Added a missing check on pickup method, related to overweight. Now you can't be 110% full...
    - RequestDestroyItem got its checks edited, with the addition of CANNOT_DESTROY_NUMBER_INCORRECT message (for both < 1 and > max item number conditions).
    - Remove GMs priviledges on few packets, leading to a most appropriated casual player experience for : attack stance on restart/logout, slot/weight overbuy, outofcontrol Action.

    66 раз скачали

    Обновлено

  13. Бесплатный

    aCis [Diff File] 343 to 344

    Файл для обновления с версии 343 до 344
     
    Changeset 344
     
    Duels - part I
     
    I decide to commit first part of Duels, as there is already a lot of work.
    All is functional, and far better written than before. Part 2 will get few fixes && little tweaks for Party Duels, probably 10% of what I'm commiting now.
     
    - General cleanup : aCis code style, DuelState Enum creation, setIsInDuel > setInDuel rename. Numerous comments && Javadoc as documentation.
     
    DuelManager
    - Fix a ConcurrentException on DuelManager (couldn't handle simultaneous Duel creations).
    - Duel id is correctly calculated (it was probably very, very sad before).
     
    Fixes
    - Chaotic players (karma > 0) can't start or accept a duel request.
    - Fix a potential ConcurrentException on buff/debuff storing.
    - Fix a NPE with _playerConditions.
    - Fix few custom String for SystemMessage counterparts.
    - Fix the way duels handle disconnected players. It is considered as a surrender, as L2OFF. Ty sahar for report.
    - Fix an issue with surrender SystemMessage winner name.
    - Fix the max range for duel request && check task.
    - Fix the check task
    - It is fired once the duel is accepted (instead of after countdowns). A duel can now be disturbed during the countdown.
    - Added missing checks for party duels (zones, interrupted state, distance, pvpflag).
    - Fix RequestDuelAnswerStart checks, which are now exactly the same than RequestDuelStart packet.
    - Fix when a party in a command channel requests or accepts a party duel, that party is automatically withdrawn from the command channel.
    - Fix parties teleport, which are ported back to previous stored location no matter the duel end (in prevision to arena coordinates).
     
    Victory/lose animations
    - Fix an issue with kneel animation for 'B player/party winner' case.
    - Add Victory animation for winners.
    - Animations are sent even if one side is missing.
     
    Timers
    - Revert party duel timer to 120 seconds (retail time).
    - The 1vs1 countdown is setted to 5sec instead of 3sec + "void" 3sec. Messages for 5, 4, 3, 2, 1 cases.
    - The party countdown is setted to 30sec instead of 20sec, with messages for 30, 20, 15, 10 cases. It also uses 5, 4, 3, 2, 1 messages from 1vs1.
    - Drop the 5sec timer at the end of a duel.
    - The two left tasks, CheckTask && StartTask, use scheduleGeneralAtFixedRate to avoid to generate tasks every seconds.
     
    Misc
    - Rework PartyMatchList, ExListPartyMatchingWaitingRoom serverpackets.

    115 раз скачали

    Обновлено

  14. Бесплатный

    aCis [Full Source]

    Очередная ревизия от команды aCis. Хотелось бы напомнить, что сборка славится своей оптимизацией, что очень радует.
     
    Changeset 340
     
    Caches, Announcements, Misc
     
    Caches
    - Filters are moved back into classes.
     
    CrestCache
    - Drop of //admin_fix_cache_crest admincommand.
    - Drop of OLD_PLEDGE related stuff.
    - BMP filter edited for DDS one, crests are stored under .dds format file. Consider to CONVERT .bmp into .dds !
    - Crests are stored on a Map for an easier management.
     
    Announcements - Ty Sikken, xblx (&& me ofc).
    - Renamed Announcements > AnnouncementTable, moved into datatables. Addition of Announcement model. General cleanup and rework.
    - Addition of critical announcement type.
    - Addition of scheduled announcement ; you can schedule your announcement to happen X times, every Y times.
    - Saved under XML format instead of TXT.
    - Drop of //reload_announcements (handled directly by AdminAdmin //reload generic admincommand), //announce_menu (no use).
    - Merge of numerous announcements admincommands, now handled by //announce <list|all|add|add_auto|del>.
    - Addition of //say admincommand (critical counterpart for //ann).
    - Old //announce renamed for //ann.
     
    Misc
    - Little reorganization on Gameserver.java.
     
    PS : so basically, regarding Announcements admincommands, you only have :
    - //ann && //say for instant announcements type.
    - //announce <list|all|add|add_auto|del> for advanced mode.
    - //reload announcement.

    222 раза скачали

    Обновлено

  15. Бесплатный

    aCis 356 чистые

    356 Acis чистые сурсы, автор само собой не я но они новые ( перед новым годом)

    315 раз скачали

    Отправлено

  16. Бесплатный

    aCis 363 diff

    Диффка для исходников aCis, версия обновления 363
     
    [spoiler=Что нового в этой версии?]
    Benom, Castles, Castle Manor, Event listeners, Sieges, Seven Signs, Inventories, Misc
     
    Benom
    - Addition of Benom script.
     
    Castles
    - CastleManager cleanup by svipben. Castles are hold on a Map, the key being castleId.
    - Castle doormen "busy" HTM is shared among all instances (39 HTMs dropped).
    - Drop _siegeRegistrationEndDate. The registration end time is now directly calculated from siege date (siege date - 1 day). It could generate issues if you didn't edit both times. regTimeEnd dissapears from castle.sql.
    - Static informations are now loaded from castles.xml (circlet id, related tickets, related NPCs, artifact id) and have been unhardcoded.
    - Create MercenaryTicket model, holding ticket infos. Each Castle got its own List of static tickets.
    - NPC getCastle() is entirely cleaned up and generated from castles.xml.
    - Castle model must be generated from a castle id and castle name.
    - Drop entirely castle index logic wherever it was used (replaced by castleId logic).
    - Move removeCirclet logic from CastleManager to Castle.
    - Avoid to generate pointless integers for each L2WyvernManager.
    - Add retail HTMs and core logic for Mercenary Managers. Introduce Seven Signs buylists (show different output depending who is currently owning the Seal of Strife).
    - Castle entity rework :
    - now holds Set<ItemInstance> _droppedTickets (before held by MercTicketManager).
    - now holds int _circletId (before held by CastleManager).
    - now holds List<Integer> _relatedNpcIds (before was generated on the fly using weird castle index and distance check).
    - now holds List<MercenaryTicket> _tickets (before held by MercTicketManager on multiple splitted static arrays ; which weren't even holding Seven Signs state).
    - now holds List<L2Npc> _siegeGuards (before held by MercTicketManager).
    - Artifact is now linked by id, and not by instance.
    - Dropped tickets are now processed by ItemsOnGroundTaskManager.
     
    Castle Manor
    - L2Manor (seeds.xml parsing) is merged with CastleManorManager. Castles related procure/crop lists are moved to CastleManorManager aswell (easier to handle database storage that way).
    - The different internal classes are now moved into model.manor package.
    - Addition of ManorMode enum.
    - CastleManorManager follows latest L2J for the writing style.
    - Complete ExShowCropInfo, ExShowCropSetting, ExShowManorDefaultInfo, ExShowSeedInfo, RequestSetSeed packets.
    - Delete 6 admincommands related to manor. Keep only //manor, based on latest L2J. Incorporate //manor into game_menu.htm.
    - Fix seed/harvest issues.
    - CastleUpdater is dropped. The automatic saving is now handled on CastleManorManager (save manor states every 2h). No more alternative saving Config.
     
    Event listeners
    - Addition of an event layer for sieges addSiegeNotify(castleId). Rework the system to handle siege status with an Enum, under SiegeStatus (which drops 2 booleans).
    - Item listener is now lazy initialized (as it was used for a single item until now, which avoid to generate 6k empty lists for nothing).
     
    Sieges
    - Teleport system during siege is entirely redone and fixed. All ppl are moved to second closest town, no matter what.
    - Drop SiegeManager and split content between castle entity initialization, Config, CastleManager. getSieges() method is dropped, use getCastles() / getSiege on a for loop to get them.
    - When a Life Control or Flame Control Tower is destroyed, a little, not-attackable version of it spawns.
    - Add 2 SystemMessage related to sieges (when all life controls are destroyed, and when you try to use L2Doormen open/close doors function when castle is being sieged).
    - Add Ressurection siege conditions (can't ress if not participant to a siege, if attacker hasn't a flag or if defender hasn't anymore Life Crystals).
     
    Seven Signs
    - Introduce following Enums : CabalType, SealType, PeriodType. Those enums are 'improved versions' and hold more infos (which avoid few static methods).
    - Due to previous change, all seven signs related tables must be edited.
    - Complete cleanup, which avoids sometimes 15-18 .get() calls and avoid String operations (notably on cabal type).
     
    Inventories
    - Drop Warehouse abstract layer, and slight cleanup on Inventories.
    - Creation of ItemState Enum to enforce item related modifications.
    - Replace ItemContainer CopyOnWriteArrayList for ConcurrentSkipListSet (because of terrible performance on write).
    - Order items (avoid the items jump on inventories), based on inventory's item addition (similar to L2OFF ; I didn't see other rule). We use an unused ItemInstance variable to store it, _time.
    - Edit items.sql to optimize datatypes. Drop useless column time_of_use.
    - Drop ItemInstance.changeCountWithoutTrace (single use).
    - Drop L2PcInstance._arrowItem (no uses).
    - Cleanup L2PcInstance.reduceArrowCount (probably can be replaced entirely by a simple destroyItem) && checkAndEquipArrows.
     
    Misc
    - Due to mercenary tickets handling edition, ItemsOnGroundTaskManager has to be mandatory, so SaveDroppedItem config is now dropped to avoid admin "lack of brain" issue. All timers and configs are still reachable.
    - Drop StartingAdena config (value was wrong, and it can be handle with another config).
    - Edit default GC type for CMS, which avoid lag spikes.
    - Fix pet gain system (wolf, sin eater, etc). Ty Erlandys for the complete fix.
    - Drop deprecated KnownListUpdateInterval config, ty SweeTs for reminder.
    - Cleanup L2PcInstance.storeEffect() - ty svipben.
    - getName() / getTitle()
    - Headquarters name/title follows L2OFF. Ty RooT for fix.
    - isCustomNpc() approach is given up. We rely on templates to feed name/title, but current name/title can be changed (which fixes changename admincommand).
    - changename is merged with setname. Both changename and changename_menu commands are dropped. You can now settitle on L2Npc (it is temporary, similar to setname).
    - HennaTable StatsSet is re-used (avoid to generate 180 HashMaps).
    - MapRegionTable uses getInstance() logic (that's the point of singleton).
    - Edit TownZone "taxById" variable to "castleId", which is friendlier to understand.
    - Merge summon conditions SiegeManager.checkIfOkToSummon && SevenSigns.checkSummonConditions in L2PcInstance.checkUseMagicConditions (single use).
    - L2PcInstance.isCastleLord is cleaned up (compare castle ids directly, not godamn Castle entities).
    - Cleanup GatekeeperSpirit script.
    - Fix NPE on ExListPartyMatchingWaitingRoom, ty sahar for report.
    - //create_set admincommand is extended :
    - armorsets.xml now hold set name. ArmorSetsTable use StatsSet to feed ArmorSet objects.
    - A new panel is generated with existing sets (because good luck to remember chestId).
    - ArmorSet model is cleaned up.
    - CastleManorManager seeds parsing is slightly edited (StatsSet is reused).
    - Clicking on "Item" button simply popup itemcreation.htm.
    - Duel system : partymatch system is ended for any players (was written as TODO since Duel rework).
    - Edit checkEffectRangeInsidePeaceZone x, y, z parameters for Location.
    - Move and cleanup signet cast condition from L2Character to L2PcInstance.checkDoCastConditions.
     
    PS : castle guards spawn (from neutral castle) system isn't yet processed. Don't report it.
    PS : due to heavy changes, it is STRONGLY adviced to make a clean installation of tables if you got no clue about what you are doing.
     
    Due to the HUGE amount of edited engines (Seven Signs, Manor, Castles, Sieges,...), consider it as a part I, even if it's not finalized. I need your reviews to complete the part II. This changeset, in term of coding, worth 3 to 4 regular revisions. Unfortunately, as everything depends of everything, it couldn't be done of another mean.
     
    Some things have been voluntarly broken - I think notably about NPC guards, but most shouldn't. Consider to report everything. Due to the amount of code, I couldn't test all, and didn't test Benom, Seven Signs && Manor.

     

    56 раз скачали

    Обновлено

  17. Бесплатный

    aCis 364 diff

    Диффка для исходников aCis, версия обновления 364
     
    [spoiler=Что нового в этой версии?]
    Scheme buffer v2, Auctioneer, Misc
     
    Tryskell, the scheme buffer v2 !
    - skill names and descriptions, hold by XML rather than Config.
    - less panels, easier to use.
    - paging system to avoid scrolling effect.
    - no "blinking" effect.
    - Drop of BufferMaxSkillsPerScheme config (now uses player max).
     
    Auctioneer instance is reworked :
    - bypasses work anew (caused by getCastle() refactor)
    - fix "Back" button on Bidders list (ty Anarchy)
    - Cleanup and more safety (ConcurrentHashMap, less calls of .get(), everything is try/catch, return is correctly used, paging system is refreshed).
     
    Misc
    - Fix Lucky skill acquisition. Ty Ailierynn for report.
    - Valakas doesn't use a dummy anymore which lighten the code and avoid to bug custom raidboss checkers showing wrong location.
    - Revert interaction range edit (100 is buggy, return back to 150) until someone decides to care about all types of range in one throw.
    - Fix Broadcasting Tower knownlist issue. Methods are sync-ed with observe olympiad. Drop _observerMode boolean (can be guessed with clever use of _savedLocation). inObserveMode() renamed for isInObserveMode().
    - Fix the "unhandled slot type" issue. Ty Sahar.
    - Addition of Flame/Control infos on castle admin panel.
    - Wrath skill enchant route fix. Ty Sahar.
    - Olympiads : No forced stand up on L2OFF.
    - Olympiads : You are teleported back to a random town location, not your saved location.
    - teachTo is slightly edited ; avoid to generate 6k empty ArrayList and drop most of getters. Ty katara.
    - Rework the NPC skills holding system, avoid to generate 28k empty ArrayList.
    - Rework L2TamedBeast (cleaner version).
    - Fix previous revision regarding GrandBoss using returnHome. Ty Sahar.
    - Fix social/abnormal admin panels/commands. Ty katara for report.
     
    Ty to SweeTs for buffer design and Sahar for XML definition.


     

    53 раза скачали

    Обновлено

  18. Бесплатный

    aCis 365 Build, Source, Diff

    Changeset 365 (652)
     
    Dimensional Rift, AbstractGroup / Party / CommandChannel, Scheme Buffer, Misc
     
    Dimensional Rift
    - cleaned up (delete _deadPlayers, unify writting style, delete single use methods).
    - Fix an issue with _isBossRoom not being fed.
    - L2 legacy website : "When the party changes (such as leaving or banning from party) in the Dimensional Rift, the party will be transported to the waiting room."
    - Remove all custom messages.
    - Fix a ConcurrentException on _revivedInWaitingRoom.
     
    AbstractGroup / Party / CommandChannel
    - cleaning
    - enum generation, enforce types.
    - party leader reference is stored and not retrieved from .get(0) - avoid a rare IOOBE (probably occuring during leader transfer ?).
    - remove L2 prefix to Party and CommandChannel classes.
    - generate a package model.group.
    - Both Party and CommandChannel use at least the 2 initial parameters (leader / invited member type).
    - creation of AbstractGroup class, a layer shared between Party and CommandChannel.
    - Modify Party creation to be handled by RequestAnswerJoinParty instead of RequestJoinParty, which was one big exploit (party leader being considered positive to isInParty() for the whole duration of invite request - while there is no party yet created).
    - Fix "The party has dispersed" bug issue, generated if you let the invite run off (due to Party object being created and immediately deleted - main reason of the above rework), ty Marcatu.
    - Party requestor is now checked regarding pending request (he wasn't before, so you could request a trade and a party invite).
    - Strategy Guide item is now consumed on CommandChannel creation, and not simply checked. Drop getPledgeClass() check (plain wrong) and item check (handled by creation) on CommandChannel invitation.
    - Addition of ONLY_A_PARTY_LEADER_CAN_TRANSFER_ONES_RIGHTS_TO_ANOTHER_PLAYER message.
    - Drop ALT_LEAVE_PARTY_LEADER config. Apply default party disband case to all scenarios.
     
    Scheme Buffer
    - Available buffs are ordered as listed on XML. Ty Sahar.
    - Fix a NumberFormatException on schemes restore. Ty Sahar.
     
    Misc
    - Fix a MysqlDataTruncation on punish_timer. Ty katara.
    - Fix TARGET_AREA_SUMMON skills type. Ty x-user.
    - Cleanup FishingSkill skillhandler, fix the penalty issue. Ty Ailierynn.
    - Introduce isUsingServerSideName / isUsingServerSideTitle to fix client/custom NPC names/titles.
    - Fix previous revision regarding AURA type skills registration on NPC templates. Ty Sahar.
    - Enforce "party size" (2/9 min/max) for Four Sepulcher and Festival of Darkness configs. Cleanup "beyond exotic" 1-man case Four Sepulcher.
    - Merchant mustn't have the option to trade Shadow Weapon coupons, only grand masters are. Refresh all Shadow Weapon related HTMs. Ty Anarchy for report.
    - Release transaction (requestor/onTransactionRequest) as fast as possible (before you were stucked in middle of a transaction on whatever returning check...). All cases are edited.
    - To keep an harmony, party duels are canceled if party is modified (added/removed member now cancels it, before only leader drop was leading to that scenario) - Dimensional Rift rule.
    - //party_info admincommand cleanup.
    - Cleanup Quest getPartyMembers / getPartyMembersState methods.

    285 раз скачали

    Обновлено

  19. Бесплатный

    aCis 366 Build, Source, Diff

    Changeset 366 (664)
     
    Castle, Siege part II, ZoneManager / zones, Clans, Misc
     
    Castle
    - Rename _zone > _siegeZone (getter included).
    - Move zones attributions to entity creation (instead of getters).
     
    Siege part II
    - Due to following ZoneManager and zones rework, we now support :
    - PKs are ported in the vicinity of second closest town (and not inside).
    - banished players are ported in the vicinity of the castle (and not on closest town).
    - Cleanup L2SiegeFlagInstance, it works even if clan parameter is broken.
    - Cleanup loadSiegeClan() uses, which were called on numerous useless places (called on startSiege(), approveSiegeDefenderClan(), removeSiegeClan(), startAutoTask()).
    - On castle siege end, if your clan is victorious versus former clan, you gain static 1K CRP instead of calculated amount based on former clan CRPs.
    - All CastleManager.getInstance().getCastle(player) used to only retrieve an ACTIVE siege are now replaced by CastleManager.getInstance().getSiege(player), as it is shorter and cleaner.
    - Drop SiegeClan layer. Siege flag is now registered on L2Clan.
    - Creation of SiegeSide enum. Store it under String format rather than int (similar to CabalType, SealType, etc).
    - CopyOnWriteArrayLists about attackers / defenders / pending defenders are replaced by a single ConcurrentHashMap (better performance and avoid heavy lists manipulations).
    - Creation of checkSide(L2Clan), checkSide(L2Clan, SiegeSide), checkSides(L2Clan, SiegeSide...) methods, which is now the center of sides checks (instead of getAttackerClan / getDefenderClan).
    - Drop the possiblity for a clan to hold numerous headquarters flags (it was producing a IOOBE when the first flag of the list was destroyed anyway).
    - L2Clan.isRegisteredOnSiege() method simply checks memory content rather than making a SQL query.
    - Fix following checks :
    - dissolve alliance now checks if ANY allied clans is registered on a active siege (before was only checking your clan status).
    - create alliance now checks if your clan is registered into an ACTIVE siege (avoid to stuck creation if you're castle lord).
    - join alliance now checks if the invited clan is registered as an opposite clan, on any active siege. The previous check checking both characters are on siege zone is dropped (pointless).
     
    ZoneManager / zones
    - Little cleanup of ZoneManager (drop of getArena(L2PcInstance), getOlympiadStadium(L2PcInstance), checkId(int) and getClosestZone(L2Object, Class<T>) methods).
    - L2SiegeZone zones are now considered L2SpawnZone, and hold following L2OFF lists : other_restart_village_list && chao_restart_point_list. Drop the isGM() exception from banishForeigners. Zones shape match with retail values.
    - L2CastleZone zones now hold banish_point_list. chao_restart_point_list is moved to L2SiegeZone, but still hold owner_restart_point_list. We drop _castle variable, which is pointless. Zones shape match with retail values.
    - L2CastleTeleportZone cleanup (isOnline() check is wrong, it basically means a offline shop can stay here).
    - L2ZoneType _characterList is edited from CopyOnWriteArrayList to ConcurrentHashMap (performance boost). The class is cleaned up (javadocs, comments, organization).
    - ZoneManager _debugItems is edited from List to ConcurrentHashMap (performance boost).
    - L2DynamicZone is deleted (no purpose).
    - //zone_visual adena drop count reflects zone id (for an instant overview). Their step spawn is also cutted by 2.5 (from 20 to 50) to faster the generation process.
     
    Clans
    - clans are registered into a ConcurrentHashMap to avoid ConcurrentException. Drop synchronized keywords. getClans() returns a Collection instead of array.
    - destroyClan() is reworked ; parameter is now a L2Clan, the clan is removed of ANY siege (before : only if you had a castle)
    - getClanAllies() returns a Collections.emptyList() if no alliance is found.
    - checkAllyJoinCondition is now static (as variables are setted up as parameters).
     
    Misc
    - RequestRestartPoint packet is cleaned up, jail location is now static.
    - Drop ALT_GAME_FREE_TELEPORT config, as HTMs can't scale with that config (were still displaying adena cost).
    - Fix L2TeleportLocation isForNoble() item consumption, ty Heinsenberg.
    - Fix skillId 1402 enchantlevel, ty Anarchy.
    - Fix TownPet instance task. Ty TreasureHuman for report.
    - Fix the merchant NPE due to Castle rework.
    - Random cleanup
    - MapRegionTable.getTeleToLocation renamed getLocationToTeleport (english plz). Method is cleaned up, MDT location is now static.
    - FIXED revive option uses player.getPosition() rather than generating a new Location object based on x/y/z.
    - RequestAnswerJoinAlly packet is secured (transaction is correctly cleaned up).
     
    PS : due to Sieges part II, sieges_clans is edited. I invite you to either drop the whole table and add the new one asking your players to register anew on sieges (castle owners are automatically registered), or you can query it to edit all int values to String values.

    48 раз скачали

    Обновлено

  20. Бесплатный

    aCis 367 Build, Source, Diff

    Changeset 367 (668)
     
    Reorganization ! You will hate me.
     
    Edit all instance types.
     
    All instances types are shortcuted as following : L2PetInstance > Pet (remove "L2" and "Instance" from naming convention, to shortcut checks and writing style).
    Mother classes simply lose the "L2" prefix (L2Attackable, L2Character, L2Playable,...).
     
    The previous rule doesn't apply exactly on following cases :
     
    - L2BufferInstance > SchemeBuffer (fits better with the role).
    - L2PcInstance > Player (I guess Pc stands for 'player character', so make it more intuitive).
    - L2SummonInstance > Servitor (to avoid confusion between L2Summon and L2SummonInstance ; the first being mother class of all summons and second being summoners servitors).
    - L2XMassTreeInstance > ChristmasTree (because we aren't #1337 #YOLO #Swag #doge).
    - L2WarehouseInstance > WarehouseKeeper (conflict with Warehouse, part of Inventory).
    - L2CastleWarehouseInstance > CastleWarehouseKeeper (to fit with above).
    - L2CabaleBufferInstance > CabalBuffer (cabal in english, not cabale).
    - L2ArtefactInstance > HolyThing (L2OFF naming).
    - L2ObservationInstance > BroadcastingTower (more proper name).
    - L2NpcInstance > Folk (because those are considered as non attackable targets).
    - L2MutedNpcInstance > MutedFolk (because they are based on Folk).
    - L2FriendlyMobInstance > FriendlyMonster (Monster not Mob).
    - L2NpcWalkerInstance > Walker (drop of Npc).
    - L2TeleporterInstance > Gatekeeper (fits better with the role).
    - L2DoormenInstance > Doorman (not plural).
    - L2CastleDoormenInstance > CastleDoorman (not plural).
    - L2ClanHallDoormenInstance > ClanHallDoorman (not plural).
    - L2GoldenRamInstance > GoldenRamMercenary (more informative).
    - L2CastleTeleporterInstance > CastleGatekeeper.
     
    - All "Manager" ending NPC types are followed by "Npc" to avoid any conflict with instancemanager (ex : L2ClanHallManagerInstance > ClanHallManagerNpc), even if there isn't any conflict (just respect same rule everytime).
     
    - Rename StaticObject serverpacket to StaticObjectInfo (after all we got CharInfo, PetInfo, UserInfo,...), to avoid conflict with StaticObject instance type.
     
    Misc
    - Fix //removecastle admincommand (owner was still listed).
    - Fix Christmas Trees (and cleanup the instance). Ty Azik for report.
    - Deletion of GNU headers. Reasons :
    - aCis uses its own licence.
    - There is more licence than actual code characters in 80% of classes (notably packets).
    - Faster search tool, lighweight-ier sources when distributed.
    - Edit of licence.htm with latest aCis ToA.
     
    PS : Since it's a complete mess, I will share, exceptionally, the complete pack on rev 367. For people who already owns a server, may Elmoroden gods pity you. I'm the best troll ever.

    45 раз скачали

    Обновлено

  21. Бесплатный

    aCis 368 Build, Source, Diff

    Changeset 368 (712)
     
    Chamberlain Manor's Certificates feature, Cleanup Config, Login, MMOCore, Instance rename && reorganization part II, Logging rework, Misc
     
    Chamberlain Manor's Certificates
    - Implement a missing castle chamberlain feature, the possibility to buy Manor's Certificates. HTMs and behavior is OFF-like.
    - Added "//reset_certificates castleName" admincommand. Integrate it on the castle panel (had to reorganize it a little).
     
    Cleanup Config
    - Drop DATABASE_MAX_IDLE_TIME time (set to 0 by default).
    - Re-order login/server .properties
    - Drop ACCEPT_ALTERNATE_ID / REQUEST_ID from login on Config.java (weren't existing on .properties, not used by login)
     
    Login
    - Drop external/internal hostnames system ; only one hostname is allowed.
    - LoginServerThread cleanup :
    - Drop _waitingClients (synchronized, check logic already handled by the other CHMap).
    - Drop some variables (7 were calling Config), some unused methods. Some rename are made.
    - Move some of the security check logic here and there to make it cleaner.
    - ServerStatus content is reorganized in both LS and GS sides. Addition of age limit / pvp server tags.
    - FloodProtectedListener connections are registered on a ConcurrentHashMap.
    - Creation of ServerData class (was part of ServerList packet). Cleanup of ServerList for easier proxy handler implementation.
    - Creation of GameServerInfo class (was part of GameServerTable).
     
    MMOCore
    - Avoid to crash on packet read buffer underflow (client connection is dropped instead).
    - Tweak MMOCore values to process packets x4 faster (5k packets = from 16s to 4s).
    - Tweak CLIENT_PACKET_QUEUE_MAX_PACKETS_PER_SECOND && CLIENT_PACKET_QUEUE_MAX_AVERAGE_PACKETS_PER_SECOND default values (x2 now).
     
    Instance rename && reorganization part II
    - L2Object is renamed WorldObject.
    - Character (previously L2Character) is renamed Creature due to class already defined on JDK (and making imports complicated).
    - AI models are renamed to fit with new naming convention (PlayerAI, PlayableAI, CreatureAI, etc).
    - The package gameserver.ai is now moved on gameserver.model.actor.ai (best location). ai.model is renamed ai.type (because gameserver.model.actor.ai.model was redundant).
    - Templates, Stat && Status models are renamed to fit with new naming convention.
     
    Logging rework
    - log.cfg is renamed logging.properties.
    - Drop 'audit' layer && associated IllegalPlayerAction system (all punishements are deleted, DefaultPunish && DefaultPunishParam configs are dropped). Reason : that's the point you write integrity checks.
    - Drop GMAudit, uses the default formatter/handler/filter (all GMs are written on the same file).
    - Whole logging system is moved into commons. Create 'filter', 'formatter' && 'handler' packages on log. Rename package 'log' to 'logging'.
    - All handlers got a limit and a count to avoid to flood server with logs. The log limit is set to 1mo instead of 500ko. The count is setted to 5 files.
    - All logs are now moved in their own folders (those folders are created by default).
    - Logs name pattern has been edited (typeName_count.txt), the extension is now .txt.
    - All formatters are based on same writting style.
     
    Misc
    - Merge math methods from Util with MathUtil. Delete Util.
    - banned_ip.cfg is renamed banned_ips.properties.
    - FloodProtectors class is moved from gameserver.util to gameserver.network.
    - Addition of SysUtil, holding system related methods.
    - L2Bookmark > Bookmark + basic cleanup of BookmarkTable.
    - Minor cleanup of GameServer and L2LoginServer (don't keep references when not needed, drop of "L2" > LoginServer).
    - MinionList cleanup, replace the CopyOnWriteArrayList (poor performance).
    - Minor cleanup of RaidBoss (drop a double isMovementDisabled() check).
    - Fix a typo error on query prior to sieges rework, ty HaddWik for report. Minor Siege class cleanup.
    - SevenSigns minor cleanup (drop 3 redundant static variables and one method).
    - Slight cleanup of RecipeShopSellList packet (avoid .get on a for loop).
    - villagemaster/30594.htm edit.
     
    PS: if you got better log writting style, I would eventually integrate it.
    PS2: build.xml is edited, some .properties are edited.

    126 раз скачали

    Обновлено

  22. Бесплатный

    aCis 369 Build, Source, Diff

    Changeset 369 (762)
     
    Datatype reorganization, HTMs / NPCs behavior, Misc
     
    Datatype reorganization
    - "datatables" package is renamed "data". Creation of subpackages "xml", "sql" && "manager" inside it.
    - All tables are renamed/cleaned up
    - XML loading/storing data ends with "Data".
    - SQL loading/storing data keeps old "Table" denomination.
    - Tables using both types (xml/sql) or temporary data (such as fences) are stored as "Manager".
    - All XMLs are renamed and edited to follow new conventions.
    - XMLDocumentFactory is replace by XMLDocument, a light abstract layer enforcing writting style (parseDocument, loadDocument, load).
    - Biggest edits are following :
    AccessLevels / AdminCommandAccessRight / GmListTable > AdminData
    - AccessLevel uses a StatsSet to feed data, AdminCommandAccessRight model is entirely dropped.
    - All "datatables" are merged under AdminData.
    - All ranks are provided inside the XML (no more hardcoded rank). XML format has been modified.
    - Child access has been simplified (a unique child, instead of a array).
    - Default max rank is now 8, commands are set to 7 (Admin rank) ; all associated configs have been dropped. Colors have been edited to be unique (SweeTs will do a good Support GM ! :kappapride:)
    - A new Config has been added, DefaultAccessLevel, allowing you to set a unique access level to everyone (before, that config was a boolean and could only reward Master rank).
    - //reload acar is edited for //reload admin, which reloads accesses in same time than commands rights.
    TeleportLocationTable > TeleportLocationData
    - TeleportLocation is edited : drop L2 prefix, use a StatsSet to feed infos and extends Location. It doesn't hold anymore id (can be retrieved using the Map).
    FishTable > FishData
    - FishData is renamed Fish, while FishTable is renamed FishData. Use a StatsSet. XML edited.
    SoulCrystalsTable > SoulCrystalData
    - SoulCrystalData is renamed SoulCrystal, while SoulCrystalsTable is renamed SoulCrystalData.
    - Rework successs/fail rates using L2OFF, all chances are now using a base 1000 instead of 100. Ty Marcatu.
    - Data formatting has been edited.
    StaticObjects > StaticObjectData
    - System uses a getInstance(), like his brothers.
    - Store content back in a public List.
    HennaTable > HennaData
    - Edit XML name/parameters.
    - Handle getAvailableHennasFor/canBeUsedBy (previously getAvailableHenna/isForThisClass) differently (no more _hennaTrees).
    - Move the parsing from Characters to Items tab on server loading.
    - Cleanup + Javadoc. getAmountDyeRequire() > getRequiredDyeAmount() - still static.
    HelperBuffTable > NewbieBuffData
    - Edit XML and classes names (NewbieBuff, NewbieBuffData, newbieBuffs.xml).
     
    HTMs / NPCs behavior
    - Karma players can't speak to NPC anymore (default behavior). They STILL can speak when such NPC doesn't have an associated -pk HTM.
    - Add and fix all merchant HTMs (addition of all -pk, -bought, -sold, -empty : something like 300 HTMs). Implemented -empty (when your inventory is empty) and -bought (you just bought an item from a merchant).
    - Fix fisherman -sold behavior (was implemented but dysfunctional).
    - Addition of npcId 31075 HTMs and 5 buylists related to that NPC. Folk > Merchant edition.
    - Toma (the guard) got its real name, Thoma, set on XML.
     
    Misc
    - Edit respawn delay / respawn random formulas to avoid warning messages.
    - Rework the Optional uses for better performance, ty Sdw to pointing it out.
    - You can't pickup or use Intention.PICKUP during an attack. Ty IpotoniC.
    - Fix NPE on checkSide / checkSides.
    - Drop fake skills integrity checks. Ty Copyleft.
    - Fix ItemFilter, due to previous logger refactor. Ty Mellion.
    - Fix tax rate on multisell system. Ty vampir.
    - Fix a HTM typo on Q105. Ty Ipotonic.
    - Merge ALT_PARTY_RANGE && ALT_PARTY_RANGE2 configs for PARTY_RANGE. Value is set to 1500 by default (like all checks found on L2OFF AI scripts).
    - Addition of StatsSet.getDoubleArray.
    - Hotfix for skills resistance calculation. Ty Erlandys.
     
     
     
    Examples of skills calculation, before / after.
    The point is, the accumulation of different similar effects don't impact as much as before (not proportional anymore, follow what could be called a logarithmic curve : "more you got, less you get").
     
    Sleep effect :
    NM Set : 16.85% / 16.31%
    - : 54.91% / 54.37%
    Mental shield : 27.73% / 27.18%
    NM Set + Mental shield : 1% / 8.16%
     
    Fire damage :
    Elemental resist (20) : 566 / 566
    surrender fire (-30) : 920 / 1011
    - : 707
    surrender fire + elemental resist (-10) : 778 / 808
    resist fire + elemental resist (+50) : 353 / 396
    valakas passive resist + resist fire + elemental resist (+65) : 240 / 327
     
    PS : most of this patch is part 1 of... 3-4. It's simply too long to make all changes in a single revision. Probably the SpawnManager will be delayed to, at least, the end of the cycle.

    407 раз скачали

    Обновлено

  23. Бесплатный

    aCis 370 Build, Source, Diff

    Changeset 370 (782)
     
    Datatype reorganization, Summon stuff, Skills edit, Revert, Misc
     
    Datatype reorganization
    - Creation of model.pledge package. Move ClanInfo, Clan (renamed from L2Clan) and ClanMember (renamed from L2ClanMember). Move ClanTable with really light edit to data.sql package.
    - Cleanup the Javadoc on all Table/Data types which have been already cleaned up. In the future, I will try to keep using {@link}, which I find useful.
    - BuyListTable > BuyListManager
    - Creation of BuyListTaskManager, a global task for all Products (avoid 1500+ running tasks, if all Products are under restock timer).
    - Javadoc + Reorganization (use of XMLDocument, Product uses a StatsSet, writting style, etc).
    - SQL data is removed on restock timer completion, not simply saved with 0 lenght.
    - decreaseCount result impacts on task schedule (negative result = no task launched).
    - NpcWalkerRoutesTable > WalkerRouteData
    - npcwalker_routes.xml > walkerRoutes.xml. The content is edited, to put content of a node on a single line.
    - Extends XMLDocument, proper Javadoc.
    - WalkerAI is fully rewrote to use generic AI logic (MOVE_TO intention, then we use onEvtArrived() to call the next point).
    - L2NpcWalkerNode > WalkerLocation, cleanup and extends Location (which is handy).
    - Addition of WalkerTaskManager, a global task handling WalkerNode delays.
    - Location
    - Location and all classes extending Location are moved to model.location package.
    - VehiclePathPoint > VehicleLocation, TowerSpawn > TowerSpawnLocation and both now extends (Spawn)Location.
     
    Summon stuff
    - The attack stance is activated even when a player hits the summon (not only Attackable). Attack stance doesn't work for Folk only.
    - Avoid behavior is reworked and implemented in an elegant and retail way. Ty RooT/Enyrgus for tests.
    - PetStatus is dropped (unused).
    - Summon attack damage is correctly shown (different messages for Pet/Servitor). Hitting a summon also fires the EVT_ATTACKED event.
     
    Skills edit - ty Sahar
    - Angelic Icon duration decreased from 120 seconds to 60 seconds. It has cAtk instead of cAtkAdd effect.
    - Archery range bonus reduced from 300 to 100.
    - Force Barrier reuse delay increased from 10 minutes to 15 minutes.
    - Mirage reuse delay increased from 5 minutes to 10 minutes.
    - Honor of Pa'agrio skill radius increased from 400 to 900.
    - Vortexes now use multi_debuff stackType instead of multi_debuff_x.
    - Chant of Victory stackOrder changed from 1 to 2.
    - Victories of Pa'agrio stackOrder changed from 1 to 2.
    - Whiplash reuse delay increased from 8 seconds to 30 seconds.
    - Tidal Wave power decreased from 228 to 81.
    - Salvation duration increased from 20 minutes to 1 hour.
    - Added missing SA effects to Shining Bows.
    - Blinding Blow lethal1 chance reduced from 5 to 4.
    - Blinding Blow lethal2 chance reduced from 2 to 0-1 (depending on skill level).
    - Hotfix for EffectBluff.
     
    Revert parts of rev 361 (changeset 562):
    - Toggle can be used while attacking.
    - You don't stop moving if skill is under reuse and you try to use it.
     
    Misc
    - Register a missing admin command, admin_knownlist_page. No clue why it was missing the whole time.
    - Delete admin_mons, which was MDT launch admincommand (no use).
    - Rework PlaySound packet, listing correct parameters and introduce new constructors (notably one with WorldObject). Ty RooT.
    - Fix the stuck behavior after requesting a movement when you're actually isMovementDisabled(). Ty Ipotonic.

    366 раз скачали

    Обновлено

  24. Бесплатный

    aCis 371 Build, Source, Diff

    Changeset 371 (821)
    Datatype reorganization, Skill stuff, Misc
    Datatype reorganization
       - MapRegionTable > MapRegionData
          - Javadoc, extends XMLDocument, moved to data.xml, edit for mapRegions.xml. Drop useless methods.
       - PlayerNameTable > PlayerInfoTable
          - Javadoc, moved to data.sql, DataHolder > PlayerInfo.
       - DoorTable > DoorData
          - Javadoc, extends XMLDocument, moved to data.xml, StatsSet reuse, writting style.
       - RecipeTable > RecipeData
          - Javadoc, extends XMLDocument, moved to data.xml, StatsSet used for Recipe, RecipeList > Recipe. Extract RecipeItemMaker from RecipeData, and create model.craft package to store it.
          - The data is reparsed using L2OFF data.
          - Fix an issue with recipe name when destroying such recipe from book (was the case for Orcish Poleaxe for example).
          - Rework character_recipebook table, dropping one column. Datatypes are tweaked.
          - Fix an issue on complete recipe book destroy ; the deleted stuff wasn't saved on database.
          - Rework RecipeBookItemList packet. Add a missing use of it on Recipes itemhandler (refresh book or open it on recipe addition).
       - CharTemplateTable > PlayerData
          - Skill trees are now stored directly into player templates under a List, rather than SkillTreeTable. Most methods are moved into Player, since its a generic needed parameter.
          - We don't store anymore Item template list (for character creation items generation), but int array (since storing Item templates was pointless and not even used correctly).
          - All methods got a "single" and "all" versions to avoid to loop for nothing on all skills.
       - SkillTreeTable > SkillTreeData
          - Rework all skills holders, and move them on model.skillnode
          - All methods got a "single" and "all" versions to avoid to loop for nothing on all skills.
       - BufferTable > BufferManager
          - Use XMLDocument, move to data package, rename/cleanup. Data is edited to reflect changes.
          - Add an integrity check for available skills on player schemes loading to avoid NPE. Ty katara.
    Skill stuff
       - Drop getSkillLearningClassId / setSkillLearningClassId concept.
       - Drop _expertiseIndex. It is now directly calculated from skill 239 level, and can be found using getSkillLevel().
       - Rework subclass skills addition. We only storeSkill the final List, leading to a massive drop of mid-operations. Ty vladalien for the initial workbench.
       - Cleanup removeSkill() / storeSkill().
       - autoGet skills are handled by PlayerTemplate data (skills with getSpCost == 0), the stuff isn't hardcoded anymore.
       - getSkillLevel returns 0 instead of -1 if no skill is found, making checks easier to write.
       - hasSkill is used instead of getSkillLevel when skill existence is needed, but we don't specifically need the level.
       - Skill enchantable routes now handle level 79 and 80. Each route can be manually edited.
       - Fix a visual issue about shortcut refresh on failed enchant skill.
       
    Misc
       - Drop RATE_CONSUMABLE_COST && ALT_GAME_SHIELD_BLOCKS configs. Rename some players.properties configs.
       - Addition of StatsSet getIntIntHolder, getIntIntHolderList && getDoubleArray.
       - Fix an issue using a toggle when you run to a target with ATTACK intention. Ty Sahar.
       - getCurrentFolkNPC() -> getCurrentFolk(). The value retained is now a Folk, not a Npc.
       - Fix an issue on RequestAnswerJoinAlly introduced on rev 366, ty sahar.
       - Region size decreases from 4096 to 2048 (x4 WorldRegion amount, vision is reduced from 6k to 3k max). It now fits retail knownlist range.
       - Fist Weapon is moved from Player to PlayerTemplate (no calculation needed anymore on player login).
       - Formatting rule for lambdas && try-with-ressources. Use lambda writting style for all Runnable.
       - Cleanup L2Request > Request, keep a reference of the task to cancel it on onRequestResponse().
       - RequestRestartPoint doesn't use anymore a Runnable for instant use.
       - Drop door onEvtAttacked behavior, which was adding a ridiculous amount of operations for nothing.
       - RequestCrystallizeItem packet is cleaned up (avoid getItemByObjectId x2, World.getInstance().removeObject is already handled).

    96 раз скачали

    Отправлено

  25. Бесплатный

    aCis 372[Soruce] + CatsGuard

    Changeset 372 (846) Datatype organization,  Recommendation system, Sahar fixes, AdminCommands, Misc

    Datatype organization
       DuelManager
          - Moved to data.manager, we use IdFactory to get a fresh id, Javadoc.
       CursedWeaponManager
          - Moved to data.manager, rename it, use of StatsSet. Data is edited to reflect changes. Javadoc addition.
       Lottery > LotteryManager
          - Moved to data.manager, renamed LotteryManager, basic cleanup.
          - Initialization is made on Gameserver (before it was a lazy initialization).
       MonsterRace > DerbyTrackManager
          - Moved to data.manager, renamed MonsterRace > DerbyTrackManager, generic cleanup.
          - HistoryInfo is moved into model package.
          - RaceManagerNpc is renamed DerbyTrackManagerNpc.
       CoupleManager
          - moved to data.manager, cleanup.
          - IdFactory id is correctly released on couple deletion.
       Skill datatype part II
          - Pet weight system (not overload, only the lower levels handled by weight penalty) is "desactivated" time I find a workaround to avoid a NPE.
          - Merge addSkill / removeSkill methods on Player, since it's the only place it is used. There is only one way to addSkill / removeSkill for now.
          - getAvailableAutoGetSkills() / getAllAvailableSkills() don't filter skills based on current player skills (skills correctly delevel back).
          - addSkill got a check to avoid to add a skill you already own (for now it uses equals, not sure if correctly working)
          - Don't save/restore autoGet skills since they're rewarded on player restore, saving 10+ skills per character. When an autoGet skill becomes a regular skill (cf. Wind Strike), it is stored into db.

    Recommendation system
       - The task runs at 13:00 and not 06:30 (was a postIL date).
       - The task both handles online and offline players. Recommendations are normally correctly calculated for everyone.
       - The saving process has been entirely reworked ; _lastRecomUpdate is dropped.

    Sahar fixes
       - Fix many Item Skills.
       - Fix Focus Death / Focus Power.
       - Fix Special Ability: Mighty Mortal.
       - Fix Special Ability: Infinity Scepter.
       - Fix Frenzy.
       - Fix Mystic Immunity.
       - Provide enchant routes for Rain of Fire.
       - Fix SystemMessage in CombatPointHeal.
       - isDebuff is initialized before isOffensive, since it is used by isOffensive.
       - Make use of IS_CRAFTING_ENABLED config in Recipes.
       - StatsSet: getList/getMap now return generic List/Map.
       - Added missing items to Blacksmith of Mammon SA removal multisell.
       - Added packet: ExServerPrimitive.
       - Added getters for custom use: BufferTable#getAvailableBuffs, MultisellData#getList, Hero#getAllHeroes.
       - Added abnormal="changetexture" to Zaken skill id 4223.
       - Fix summons stucking in walls on summon process.
       - Fix basemul wasn't working at all for MCritRate stat.
       - Drop z1 parameter from 2d MathUtil#calculateDistance method.
       - Fix the movement issue when you run near a NPC and interact with it (initial movement intention was kept).
       - Fix missing skills from previous resist rework. NPC resists should work anew correctly.
       - Fix OlympiadManager message.
       - Fix stuck character if new target is null (case of targeting high altitude wyvern users), and drop the Z check.
       
    AdminCommands
       - Fix all occurences of -100 > -1 for character ban process, prior to AdminData cleanup. Ty hqsly for report.
       - //invul command is deleted. //setinvul now work on any Creature type.
       - Fix //heal radius attribute.

    Misc
       - ServerRestart / ServerShutdown tasks are by default done on WEEKLY time rather than DAILY (still commented by default).
       - Delete unused "char_slot" tag on characters.sql
       - Few rename/edits regarding CharSelectInfo packet and associated content.
       - Pet instance entire cleanup (rework and String-ify queries, drop _isRespawned tag and updateRefOwner() method).
       - Fix a NPE on siege zone ressurection for clanless people.
       - Added retail implementation of shift click (interact/attack without moving). GMs can still use GM panel, but it will be replaced in case of a successful NPC interaction by regular showChatWindow.
       - Edit doormen/busy.htm.
       - Create a new instance type, BorderGuard, for "Guardian of Border" NPCs (those NPCs aren't Gatekeeper anymore, since they weren't using any functionalities of this instance). Move related bypasses and showChatWindow behaviors from Npc to it.
       - Add/edit/drop some javadoc.
       - CastleManager#getSiege() is renamed getActiveSiege() because it only shows sieges in progress (reflect better the result).
       - showPkDenyChatWindow uses are now made on both onBypassFeedback and showChatWindow, on the correct instances (to avoid instanceof checks).
       - Drop Gatekeeper validateCondition system (not retail and was using HTMs which weren't existing). The "siege in progress" check on teleport location is still correctly handled.
       - Edit SystemMessageId NO_PORT_THAT_IS_IN_SIGE for CANNOT_PORT_VILLAGE_IN_SIEGE.
       - Delete PartyMatchRoom creation/edition logs.

    PS : characters.sql loses "last_recom_date" and "char_slot" parameters.

    551 раз скачали

    Обновлено

Авторизация