Changeset 397 (2224)
Geoengine / Movement, Admin commands, Scripts, Bugfixes, OrganizationGeoengine / Movement
- Drop L2D concept. With years, it got less and less uses (was invalid for LoS, and can be calculated in another mean for geopath). L2OFF and L2J are, anew, fully supported.
- Fix Z being shifted too high, leading to Z layer misplacement (forts outside wood ladder). Ty Sahar.
- Fix geopath heuristics. Ty Hasha/Sahar.
- First iteration of multilayer geopath support (Barakiel column, fort stairs/plateforms, etc) using binary heap. Ty Hasha for the implementation.
- Fix the 2 IOOBEs related to canSee / canMove (since MoveDirectionType implementation). Ty Hasha.
- Fix swim movement issue. Ty Sahar.
- Remove the collision radius offset shrinker in order paths being properly executed (notably visible for Attackable stucking in corners). Introduce back some client<>server desync.
Admin commands
- Addition of AdminCommand model, storing parameters and description of the admin command.
- Addition of Pagination class, used to easily cut your data and format it under HTMs. Ty StinkyMadness.
- Addition of multiple useful methods into IAdminCommandHandler to cut some target selection redundancy. Ty StinkyMadness.
- activeChar > player rename.
- Delete all admin HTMs related to skills (data/html/admin/skills). Skills list is generated from //skill list.
- Move previous //help logic to new //link command.
- //announce without params properly calls the panel.
- //help is now generated using adminCommands.xml content. Previous static help system is deleted.
- AdminDoor //open_all and //close_all are deleted (no use).
- Merge //bkpage with //bk, //knownlist_page with //knownlist. A bookmark name can't be anymore a number.
- All related server admincommands are merged into //server param.
- All related siege commands are merged into //siege param castleName.
- All related castle commands are merged into //castle param castleName.
- All related zone commands are merged into //zone show "id"|all|clear, //zone calling the panel.
- All related geoengine commands are merged into //geo.
- All related pathfind commands are merged into //path.
- All related skills commands are merged into //skill and //clan_skill. Greatly improve //clan_skill, allowing to add, delete, add all and delete all skills of a Clan.
- All related summon commands are merged into //summon. Generate AdminSummon out of AdminRideWyvern/AdminEditChar content.
- All related effect commands are merged into //effect. Merge AdminBuffs with AdminEffects. //effect now handle set, remove and visual parameters. Edit admin panels accordingly.
- All related item creation commands are merged into //item. Generate AdminItem out of AdminCreateItem. //item coin can accept radius. Drop //reward_all.
- //info over Player got a new look, added collision radius/height infos over Npc.
- //runmod is deleted, //instant_move now accepts 0|1|2.
- //recall_party and //recall_clan are merged into //recall.
- //goto is deleted, //teleportto is used instead. All "goto" subcommands (ch, cw,...) are also renamed "teleportto".
- //tele_areas is deleted.
- //move_to is renamed //teleport. As L2OFF, it can accept only 2 parameters, being X and Y - Z being calculated based on X/Y coords and actual Player Z.
- //polymorph is now a toggle, merging the 4 previous admincommands to it. Delete the possibility to morph into an Item (too much bugged).
- //invul and //undying don't work anymore on other targets than yourself.
- //para becomes a toggle. Delete //para_all and //unpara_all (no use).
- Delete //special (not existing).
- Delete all redundant commands ending with "_menu".
- //abnormal and //social only affect your current target. There is no more player or radius check.
- //ban, //ban_acc, //ban_char and //ban_chat are all merged. Same for //unban.
- //kick, //kick_non_gm are merged. //character_disconnect is dropped.
- Merge //kill, //res, //heal to new AdminManage, which now use [name[radius]] parameters. Delete //res_monster. Delete AdminHeal and AdminRes. //areacancel is renamed //cancel and moved to AdminManage.
- Merge AdminGm with AdminAdmin. Rename //gm to //gmoff.
- //ch chId parameter is moved from first to second place (//ch param chId).
- Delete //cw "info". It is now part of regular //cw, similar to //siege, //zone, //ch...
- Heal/kill/res/cancel/open/close now accept parameters over //admin quickbox. Added a "Cancel" button upon //admin.
- Merge //find_character, //find_ip, //find_account and //find_dualbox into //find. //show_characters is renamed //list. Generate AdminFind for it.
- Delete //clan_info (collide with //pledge info), //st (collide with //effect visual), //get/reset_skills (you can't ninja anymore skills set of another Player).
- Generate AdminEditChar //remove out of //removereuse and //remove_clan_penalty. Add //remove death_penalty.
- Drop //forge and AdminForge. Move left //msg to AdminAdmin.
Scripts
- Optional item (e.g. fish) isn't considered as quest item anymore for 3rd class quest. Ty Hasha.
- Add Medusa and BrekaStronghold AIs. Ty Hasha.
Bugfixes
- Fix 2 NPEs due to AggroList rework. Ty Sahar for report.
- Fix AttackableAI NPE over thinkIdle. Ty Sahar for report.
- Fix CreatureCast/CreatureAttack NPEs (definitive edition). Ty Sahar.
- Fix Doors being non attackable during SiegableHall. Ty Sahar.
- Fix registration to SiegableHalls. Ty Sahar.
- Fix Devasted Castle guards. Ty Sahar.
- Fix BabyPet / Pet skill level. Ty Hasha.
- Fix RaidPointManager not being properly saved + few optimizations. Ty AshenOne for report.
- Validate teleport location if a random offset is used. Ty Hasha.
- Fix invalid PK check over gatekeepers. Ty Dimityr203.
- Add few more X/Y/Z check validation upons spawns (quest spawns, minion teleport, pet spawn). Ty Hasha.
- Servitors/pets now spawn heading towards the Player, and their distance is moved from 30 to 40. Both Pets and Servitors use the same spawn rules.
- Fix Buy shop showing wrong shop quantity. Ty StinkyMadness.
Organization
- FloodProtector is moved to its own enum, on enums folder.
- Add AggroList#getMostHatedCreature for easier usage.
PS : Since geoengine doesn't accept anymore L2D format, the exact same geodata is now shared under L2J format. See public sources topic to download it back.