GithubHelp home page GithubHelp logo

l2jorg's Introduction

l2jorg's People

Contributors

joealisson avatar kiqaps avatar leonancarvalho avatar majr-dp avatar thossine avatar vicochips avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

l2jorg's Issues

Monsters has wrong P/M attack/def stats

Some monsters has overpowered stats, when test on mage class can't kill mob in DV, because deal only about 15-20 dmg per skill, for example to another mob can deal about 3000-4000 dmg per skill, and mob can kill character by one hit with patk 10k+

Bug with moving/swiming, when click point to far objects

When u try go up swiming in water from catacomb swiming pool, character stuck if u click in some up point(roof, sky).
Test with geodata/and without.

i think there has some range limit if u click to far objects and character not moving, need fix.

Imposition of effects on passing players from the NPC

is it possible to implement? the specified NPC that would impose (buff) effect on the players running alongside. would be useful for the upcoming holidays

in the early chronicles there was such an NPC that applied effects to players in the village.

Silence not interrupt cast skill bug

When monster casting some magic skill and u put him in Silence effect - it's not interrupt casting skill, mob can finish cast, under abnormal.

Dimensional Merchant

I always try to explain what the problem is, but I think the video will make everything clearer.

After a while, it is no longer possible to use the functions of the manager. only after re-entering the game for a short period of time you can press the buttons

https://youtu.be/a24CQxtDq5c

ai + geodata

image
The mob ceases to pursue the goal if it blocks the geodata. The mob does not bypass the barrier even if it is 1 die, removes aggression and does not always return to the spot

Class transfer

https://l2wiki.com/classic/Class_Transfer

1st class transfer:
Scroll: 10,000 SP  — 2 pcs. 
Spirit Ore  — 100 pcs.

2nd class transfer:
Scroll: 100,000 SP  — 10 pcs.
A Spellbook Chest depending on the race:
Human -  Einhasad's Spellbook Chest
Elf -  Eva's Spellbook Chest
Dark Elf -  Shilen's Spellbook Chest
Orc -  Pa'agrio's Spellbook Chest
Dwarf -  Maphr's Spellbook Chest

dont give

Melee range attacking bug

Character can run around a target when try an attack in melee range:
You and the monster just run through each other and then turn around to attacking, instead of stopping at close range in front and attack target. In some cases you(with monster) can enter in loop and run around each other endlessly, without attacks.

Keep the code clean

I'm trying to get on the L2jOrg train as it walks, but I confess it is very difficult.

The code lacks comments and referential documentation,
we should keep the code cleaner, and it is easy just applying a few principles of clean code. So I'm opening this issue to discuss our most important principles to keep their code clean, and I decided to share the best ones with the world, from my point-of-view

Bad code works until it's the year 2,000. Bad code is difficult to understand, more complex than it should be, not easy to test, and it makes other developers seethe with frustration. While it might take longer to write clean code in the short term, it's beyond established that writing clean code will save everyone time, effort.

But there's always room to learn. No one writes clean code from the beginning.

Clean Code Principles

Clean code doesn't rely on language-specific rules. Instead, it relies on language-agnostic principles agreed upon by the developer community. The Clean Code should be present at Datapack or Java Codes, all assets should implement it.

KISS: Keep It Simple Stupid. A design principle originating from the U.S. Navy that goes back to 1960 already. It states that most systems should be kept as simple as possible (but not simpler, as Einstein would have said). Unnecessary complexity should be avoided. The question to ask when you're writing code is "can this be written in a simpler way?"

DRY: Don't Repeat Yourself. Closely related to KISS and the minimalist design philosophy. It states that every piece of knowledge (code, in this case) must have a single, unambiguous, authoritative representation within a system (codebase). Violations of DRY are referred to as WET: We Enjoy Typing, Write Everything Twice, Waste Everyone's Time.

YAGNI: You Aren't Gonna Need It. A developer should not add functionality unless deemed necessary. YAGNI is part of the Extreme Programming (XP) methodology, which wants to improve software quality and increase responsiveness to customer requirements. YAGNI should be used in conjunction with continuous refactoring, unit testing, and integration.

Composition over inheritance: Not an acronym, sadly. It's a principle where you design your types over what they do instead of over what they are. It's explained in more detail in this video and few examples in java here

The composition is favoured over inheritance by many developers, because inheritance forces you to build a taxonomy of objects early on in a project, making your code inflexible for changes later on.

Favour readability: It's not because a machine can read your code that another human can. Particularly when working with multiple people on a project, always favour readability over conciseness. There's no point in having concise code if people don't understand it.

There are many ways to make your code more readable. Two examples are placing common numbers into well-named constants (e.g. const CACHE_TIME = 200;) and creating long names instead of shorter ones (e.g. calculateDestinationTime over calcDestTime, which doesn't tell as much, for example, I don't know if in fact is a method to calculate destination time.

Practice consistency: This is arguably the overarching principle of all clean code principles. If you decide to do something a certain way, stick to it throughout the entire project. If you have no choice but to move away from your original choice, explain why in the comments.

Boy Scout Rule : Leave the campground better than you found it. This last one is about my perception, when you touch someone else's code you should let it better than you found it.

Conclusion

Code is clean if it can be understood easily – by everyone on the team. Clean code can be read and enhanced by a developer other than its original author. With understandability comes readability, changeability, extensibility and maintainability.

What I am proposing is not just to take everything that has been done so far and start to tweak it, but whenever you tweak something new, try adding comments, refactoring method and variable names so that they are self-explanatory.

This will certainly make the code easier and more attractive to contribute.

Confusion Skill Bugged

Confusion Skill (on Phantom Ranger and others) is bugged, when u use this skill against monsters, they not switching target and just stop moving and keep attack u from distance.

Fix Critical Damage related stats.

Describe the bug
There are code where the critical damage defense increase the damage received.
For instance, on calcBlowDamage :

`
final var criticalAddMod = attacker.getStats().getValue(Stat.CRITICAL_DAMAGE_ADD, 0);
final var criticalAddVuln = target.getStats().getValue(Stat.DEFENCE_CRITICAL_DAMAGE_ADD, 0);

final var cdPatk = criticalAddMod + criticalAddVuln;

final var baseMod = (77 * (((power + attacker.getPAtk()) * 0.666) + (positionMod * (power + attacker.getPAtk()) * randomMod) + (6 * cdPatk))) / defence;
`

Limited hunting zone problem

You can re enter hunting zone after 1 hour...

Here is the bug : endTime = _player.getHuntingZoneResetTime(2);

Rework WaterTask

WaterTask should be should be started and stopped inside the WaterZone.

clan hall

mp, hp recovery more than 1% ; 4% not work but XP 50% can be set......... list of buffs limited? only stage 3 ?

image

image

Rework Stats Calculation

Describe the bug
Every time that any stats changes all the stats are recalculate.

Expected behavior
Only the changed stats should be recalculate.

Wrong cursor marker on click to Players

When u target any player, then click to player to follow him, u can see sword cursor marker(like attack state) or chat dialog cursor marker(like when click on NPC).

Improve all Rankers

The result must be cached for a few moment to not stress the database server returning the same result over and over.

Ignis Petram Procella Nebula

  1. When you enter the instance, the buff falls off.
  2. Ignis Petram Procella Nebula dont use skill. Only hit with auto attack.
  3. When the first wave of statues appears on Petram. We kill statues, and Petram cannot be killed.
  4. Procella dont have 3 mini rb.

ChefMonkeyEvent

hello, the herb does not fall from the ChefMonkeyEvent.

<drop>
	<item id="90167" min="1" max="1" chance="100" /> <!-- Chef Monkeys' Banana Herb -->
</drop>

or tried like this

<drop>
	<item id="90167" min="1" max="1" chance="10000000" /> <!-- Chef Monkeys' Banana Herb -->
</drop>

The herb itself does not fall, the NPC is in the city, but the feature itself is in the banana drop.
See what the problem might be

Frintezza

i go to frintezza. Kill all mobs in first room. Go to the second room. Kill all mobs. And then the 3rd door didn't open

Free teleport

In the book free teleport does not save teleport points, itemes are available
image

Client crashing after kill Goldberg Room Boss

I'm go to Goldberg Room from Aden square NPC, then after kill Goldberg Boss, my client is crash immediately, and after restart client i can't login, i have this crash report:

Error: Assertion failed: Delta==Delta [File:UnPhysic.cpp] [Line: 1303]

Protocol: S_ACQUIRE_SKILL_LIST(440, 0) <= S_SKILL_LIST(1379, 0) <= S_EX_MERCENARY_CASTLEWAR_CASTLE(21, 0) <= S_EX_MERCENARY_CASTLEWAR_CASTLE(21, 0) <= S_EX_MERCENARY_CASTLEWAR_CASTLE(21, 0) <= S_EX_MERCENARY_CASTLEWAR_CASTLE(21, 0) <= S_EX_MERCENARY_CASTLEWAR_CASTLE(21, 0) <= S_EX_MERCENARY_CASTLEWAR_CASTLE(21, 0) <= S_EX_MERCENARY_CASTLEWAR_CASTLE(21, 0) <= S_EX_MERCENARY_CASTLEWAR_CASTLE(21, 0)

History: APawn::physWalking <+ mimic_even Transient.mimic_even Loc.X=11712.000000 Y=-87110.000000 Z=-10980.344727 Acc.X0.000000 Y=0.000000 Z=0.000000 Vel.X=-1.#IND00 Y=-1.#IND00 Z=-1.#IND00 Delta.X=-1.#IND00 Y=-1.#IND00 Z=0.000000 <- APawn::performPhysics <- AActor::Tick <+ Transient.mimic_even <- TickAllActors <- ULevel::Tick <+ (NetMode=0) <- UMasterLevel::Tick <- TickLevel <- UGameEngine::Tick <- UpdateWorld <- CMainLoop::UpdateTheWorld <- MainLoop

my client is CLIENT_HOMUNCULUS_KAMAEL_272PNA(22.05.2020)

Auto use item with multi buff

When a Item has a multi buff skill, the auto play engine can't check if the item still in use when the triggered skill is not a buff.

Implement Soulshots damage bonus

Need implement new stats and apply the bonus on soulshots damage

  • SOULSHOT_DAMAGE_BONUS
  • BLESSED_SOULSHOT_DAMAGE_BONUS
  • SPIRITSHOT_DAMAGE_BONUS
  • BLESSED_SPIRITSHOT_DAMAGE_BONUS
  • BEAST_SOULSHOT_DAMAGE_BONUS
    -BEAST_SPIRITSHOT_DAMAGE_BONUS

currently there are only general stats 'SOUL_SHOTS_BONUS' and 'SPIRIT_SHOTS_BONUS', but need to split up it into more specific stats to implement skills like:

<skill id="17814" name="Ruby" max-level="4"> <!-- level 1: Increases Soulshot Damage +2%. level 2: Soulshot damage +3%. level 3: Increases Blessed Soulshot's Damage 2%. level 4: Blessed Soulshot damage +3%. -->

Debuff effects(stun/para/fear/etc) shound not be reaplied on enemy

I think the debuff effects like stun/paralyse/fear/silence and some other should not be applied if debuff effect already exist on target with same debuff level.

Now in pvp you can win only spam with one debuff skill like Stun(cd around 2 sec., duration 7 sec.) and you don't let it out of stun effect , because in the classic, the chance of triggering the debuff is greatly increased.

Auto-hunting problems:

  1. When using more than 1 skill - it waits for the first to roll back, after which - uses the second skill - must use the second immediately - after casting the first.

  2. Does not change the target (when the target is not available or is too high / low / far away, bump into an obstacle and just stands.

  3. During an attack: When you click on any scroll (Teleport or buff) - the item disappears, but there is no effect (does not teleport and does not receive a buff)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.